جدول المحتويات:

LTE Arduino GPS Tracker + IoT Dashboard (الجزء 2): 6 خطوات (بالصور)
LTE Arduino GPS Tracker + IoT Dashboard (الجزء 2): 6 خطوات (بالصور)

فيديو: LTE Arduino GPS Tracker + IoT Dashboard (الجزء 2): 6 خطوات (بالصور)

فيديو: LTE Arduino GPS Tracker + IoT Dashboard (الجزء 2): 6 خطوات (بالصور)
فيديو: #12 Real-Time LTE Arduino GPS Tracker (Part 2) 2024, يوليو
Anonim
Image
Image
إعداد ThingsBoard
إعداد ThingsBoard

ملخص مقدمة وجزء 1

نعم ، لقد حان الوقت للحصول على تعليمات أخرى على جهاز تعقب GPS SIM7000 مع Arduino و LTE! إذا لم تكن قد قمت بذلك بالفعل ، فالرجاء مراجعة البرنامج التعليمي للبدء الخاص بدرع Botletics SIM7000 CAT-M / NB-IoT ثم اقرأ الجزء الأول من البرنامج التعليمي لتتبع نظام تحديد المواقع العالمي (GPS). على هذا النحو ، سأفترض أن لديك جميع الأجهزة التي تم إعدادها وجاهزًا لنشر البيانات على السحابة ، كل ما نحتاجه حقًا في هذا البرنامج التعليمي هو التعرف على ThingsBoard وإجراء اختبار طريق آخر لرؤية البيانات المذهلة. عروض!

في الجزء الأول ، نجحنا في الحصول على متتبع GPS الأنيق الخاص بنا لإرسال البيانات إلى dweet.io وجلب البيانات على freeboard.io لتصور البيانات. ومع ذلك ، سرعان ما أدركت أن وظيفة الخريطة كانت ضعيفة تمامًا على اللوحة المجانية لأنها لا تسمح لك بتحريك المؤشر أو حتى تغيير حجم نافذة الأداة. قادني هذا إلى حل أفضل: ThingsBoard.io وهي لوحة تحكم إنترنت الأشياء رائعة جدًا (ومجانية!) تتيح لك تخزين بياناتك وتصورها وتخصيصها! يمكنك السحب لإعادة ترتيب الأدوات (وهي تعمل في Chrome على عكس freeboard) ، والجودة الإجمالية هي كريم المحصول. الأهم من ذلك ، تتيح لك أداة خرائط Google إمكانية التنقل بحرية ، والتكبير والتصغير ، وتحديد أنماط مختلفة (القمر الصناعي ، وعرض الطريق ، وما إلى ذلك) ، كما تتيح لك سحب وإسقاط الرجل الأصفر الصغير على الطريق لمشاهدة الشارع. !

الخطوة 1: إعداد ThingsBoard

إعداد ThingsBoard
إعداد ThingsBoard
إعداد ThingsBoard
إعداد ThingsBoard

حساب ThingsBoard وإعداد الجهاز

أول شيء يجب عليك فعله هو الانتقال إلى الصفحة الرئيسية لـ ThingsBoard ثم إنشاء حساب بالنقر فوق زر القائمة الأيمن العلوي واختيار "Live Demo". قم بإنشاء حساب ، وتحقق من حسابك في رسالة بريد إلكتروني يرسلونها إليك ، ثم قم بتسجيل الدخول مرة أخرى إلى الشاشة الرئيسية Live Demo. يجب أن ينقلك هذا إلى شاشة حيث يمكنك إدارة جميع أجهزتك وتعديل لوحات المعلومات وما إلى ذلك.

بعد ذلك ، حدد علامة التبويب "الأجهزة" على الجانب الأيسر. يجب أن يُظهر هذا مجموعة من الأجهزة التجريبية مثل ESP8266 و DHT22 و Arduino و Pi ، إلخ. أنشئ جهازًا جديدًا بالنقر فوق الزر الأحمر "+" في أسفل اليمين وأدخل اسمًا واختر "افتراضي" لنوع الجهاز. بعد النقر على "إضافة" ، سترى جهازك الجديد في علامة التبويب "الأجهزة". انقر فوق "إدارة بيانات الاعتماد" وستظهر لك نافذة صغيرة منبثقة تعرض رمز وصول الجهاز. هذا هو في الأساس معرف الجهاز وهو مشابه لمعرف الجهاز المستخدم لنشر البيانات على dweet.io. يمكنك تغيير معرف الجهاز هذا إلى رقم IMEI للدرع الخاص بك إذا كنت تريد ذلك ، ولكن يمكنك أيضًا استخدام الرمز المميز الذي تم إنشاؤه تلقائيًا. انسخ هذا الرمز كما ستحتاج إليه في رسم Arduino.

إعداد مثال اردوينو

في هذا البرنامج التعليمي ، سنستخدم نفس المثال الدقيق لرسم Arduino كما هو الحال في البرنامج التعليمي الأول ولكن هذه المرة قمت بتحديث المخطط لتضمين رمز لإرسال البيانات مباشرة إلى ThingsBoard.io بدلاً من dweet.io في الجزء 1. كما هو الحال دائمًا ، يمكنك العثور على رمز المثال هنا على جيثب.

أول شيء عليك القيام به هو التعليق على الأسطر التي تجعل منشور الدرع dweet.io:

// GET request / * // يمكنك ضبط محتويات الطلب إذا لم تكن بحاجة إلى أشياء معينة مثل السرعة والارتفاع وما إلى ذلك. sprintf (URL ، "https://dweet.io/dweet/for/٪s ؟ lat =٪ s & long =٪ s & speed =٪ s & head =٪ s & alt=٪ s & temp =٪ s & Bat =٪ s "، imei، latBuff، longBuff، speedBuff، headBuff، altBuff، tempBuff، battleBuff) ؛

عداد int = 0 ؛ // يحسب هذا عدد المحاولات الفاشلة

// جرب ما مجموعه ثلاث مرات إذا كانت المشاركة غير ناجحة (حاول مرتين إضافيتين) بينما (عداد <3 &&! fona.postData ("GET"، URL، "")) {// أضف علامات الاقتباس "" كثالث الإدخال لأنه بالنسبة لطلب GET لا يوجد "body" Serial.println (F ("فشل نشر البيانات ، إعادة المحاولة …")) ؛ عداد ++ ؛ // تأخير عداد الزيادة (1000) ؛ } * /

بعد ذلك ، ألغِ التعليق على الأسطر التي تنشر على Thingsboard.io:

// لنجرب طلب POST إلى thingsboard.io const char * token = "YOUR_DEVICE_TOKEN" ؛ // من thingsboard.io device sprintf (URL ، "https://demo.thingsboard.io/api/v1/٪s/telemetry" ، الرمز المميز) ؛ sprintf (الجسم ، "{" خط العرض / ":٪ s ، \" خط الطول / ":٪ s ، \" السرعة / ":٪ s ، \" الرأس / ":٪ s ، \" alt / ":٪ s ، / "temp \":٪ s، / "batt \":٪ s} "، latBuff، longBuff، speedBuff، headBuff، altBuff، tempBuff، battleBuff)؛ // sprintf (body، "{" lat / ":٪ s، \" long / ":٪ s}"، latBuff، longBuff) ؛ // إذا كان كل ما تريده هو خطوط الطول / العرض

عداد int = 0 ؛

while (! fona.postData ("POST"، URL، body)) {Serial.println (F ("فشل إكمال HTTP POST …"))؛ عداد ++ ؛ تأخير (1000) ؛ }

قم بتحميل الكود إلى Arduino الخاص بك ، وتأكد من توصيل بطاقة SIM والهوائي ، وتحقق من أن الدرع يرسل رمزًا إلى السحابة قبل المتابعة!

ملاحظة: يحتوي Arduino Uno على ذاكرة قليلة جدًا (RAM) ويمكن أن يتسبب النشر على لوحة الأشياء في تعطل Arduino. إذا واجهت إعادة تشغيل الرسم في موقع وظيفة postData () تقريبًا أو أي سلوك غريب آخر ، فهذا على الأرجح ما يحدث. الحل السهل لذلك هو استبدال Uno بـ Arduino Mega أو لوحة بها ذاكرة وصول عشوائي أكبر. يمكنك أيضًا محاولة تصغير حجم المصفوفات وتقسيم البيانات إلى مشاركات متعددة.

الخطوة 2: تحقق من استلام البيانات

تحقق من استلام البيانات
تحقق من استلام البيانات

من أجل التحقق فعليًا من إرسال البيانات إلى ThingsBoard بشكل صحيح ، انتقل إلى صفحة تفاصيل الجهاز نفسها (انقر فوق لوحة جهاز GPS Tracker في صفحة "الأجهزة") ثم انقر فوق علامة التبويب "أحدث تتبع عن بُعد". إذا كان متتبع GPS الخاص بك يرسل قيمًا إلى ThingsBoard ، فيجب أن ترى أحدث القيم هنا وسيتم تحديثها في الوقت الفعلي فور ورودها.

الآن بعد أن تحققت من أن ThingsBoard تحصل فعليًا على البيانات ، فقد حان الوقت لإعداد لوحة القيادة حتى نتمكن من تصور بياناتنا عندما نجمعها! (أو بعد الحقيقة)

الخطوة 3: إعداد لوحة القيادة

إعداد لوحة القيادة
إعداد لوحة القيادة
إعداد لوحة القيادة
إعداد لوحة القيادة
إعداد لوحة القيادة
إعداد لوحة القيادة

حان الوقت الآن للجزء الممتع! الآن انقر فوق علامة التبويب "Dashboards" على اليسار وحدد جهاز تعقب GPS الخاص بك. يجب أن يؤدي هذا إلى ظهور صفحة جديدة تطلب منك إضافة عناصر واجهة مستخدم. انقر فوق الزر "+" الأيمن السفلي و "إنشاء عنصر واجهة مستخدم جديد" لإظهار قائمة منسدلة من الأدوات للاختيار من بينها. الآن دعونا نضيف "مقياس رقمي". يجب أن يؤدي تحديد هذا إلى تحميل مجموعة من المعاينات لجميع أنواع المقاييس الرقمية المختلفة التي يمكنك الاختيار من بينها. عند النقر فوق أحدها ، ستظهر لك شاشة أخرى لإعداد معلمات عنصر واجهة المستخدم. أول شيء تحتاج إلى إضافته هو مصدر البيانات (جهاز تعقب GPS الخاص بك والذي يرسل البيانات إلى ThingsBoard). اضغط على الزر "+ ADD" وحدد جهاز "GPS Tracker" الخاص بك وحدد المتغير المناسب الذي تريد أن تعرضه الأداة. في هذه الحالة ، دعنا نختار المتغير "temp" (درجة الحرارة).

الآن إذا كنت تريد إضافة أشياء مثل عنوان الأداة ، فانتقل إلى علامة التبويب "الإعدادات" ، وحدد "عرض العنوان" ، وأدخل عنوانًا. هناك الكثير من الأشياء الأخرى التي يمكنك القيام بها ضمن علامة التبويب "خيارات متقدمة" ولكنني سأسمح لك بالتحقيق فيها بنفسك! استمتع بتغيير نطاقات القيم ونص التسمية والألوان والمزيد! بعد إضافة الأداة ، ستظهر في الجزء السفلي الأيسر من لوحة التحكم (قد تضطر إلى التمرير لأسفل إذا كان لديك العديد من الأدوات التي تملأ الشاشة). يمكنك تعديل الأداة في أي وقت عن طريق الضغط على الزر الموجود على الأداة إذا كنت بالفعل في وضع تحرير لوحة القيادة ، أو الدخول في وضع التحرير بالضغط على زر القلم الرصاص في أسفل يمين الشاشة بأكملها أولاً للسماح لك بالتحرير الحاجيات. واضحة ومباشرة جدا!

الخطوة 4: إضافة خريطة

إضافة خريطة!
إضافة خريطة!
إضافة خريطة!
إضافة خريطة!
إضافة خريطة!
إضافة خريطة!
إضافة خريطة!
إضافة خريطة!

الآن بالنسبة إلى جهاز تعقب GPS ، تعد الخريطة أمرًا ضروريًا! دعنا نضيف واحدة عن طريق إنشاء عنصر واجهة مستخدم جديد (الزر السفلي الأيمن "+" مرة أخرى) وهذه المرة مرر لأسفل وحدد "خرائط". انطلق وانقر على واحد وسيظهر لك الخيارات الخاصة به. أضف مصدر البيانات كالمعتاد ولكن هذه المرة ، حدد كلاً من متغيري "الطول" و "الطول" حيث سيحتاج كلاهما للحصول على الموقع. بعد ذلك ، انتقل إلى علامة التبويب "الإعدادات" وهنا يمكنك ضبط الإطار الزمني للبيانات لعرضه على الخريطة. على سبيل المثال ، قد ترغب فقط في ظهور آخر دقيقتين من البيانات ، أو قد تريد جميع البيانات منذ الأمس ، أو ربما تريد فقط نافذة ثابتة في الوقت المناسب (مثل 2 مساءً بالأمس حتى 10 صباحًا اليوم).

إذا كنت ترغب في ذلك ، يمكنك الانتقال إلى علامة التبويب "خيارات متقدمة" وتحديد نوع الخريطة (خارطة طريق أو قمر صناعي أو هجين أو تضاريس). ربما يكون أهم جزء في كل هذا هو التحقق من أسماء مفاتيح خطوط الطول والعرض. تأكد من أن هذه الأسماء تتوافق تمامًا مع أسماء المتغيرات التي ترسلها بالفعل إلى ThingsBoard. على سبيل المثال ، إذا قال رسم Arduino الخاص بك إنه يرسل متغيري "عرض" و "طويل" (وهو افتراضيًا) ، فأنت بحاجة إلى تغيير أسماء المفاتيح إلى "خطوط عرض" و "طويلة" واستخدام "خط العرض" و "خط الطول" لن يجلب بياناتك!

مرة أخرى ، بعد إضافة الخريطة ، ستظهر أسفل لوحة القيادة. ما عليك سوى سحبها لإعادة وضعها على لوحة القيادة والنقر على الحواف وسحبها لتغيير حجمها. إذا تم ضبط إطار الوقت الخاص بك بشكل صحيح ، يجب أن ترى موقعك الحالي يظهر على الخريطة. أنيق للغاية ، أليس كذلك؟ نحن الآن جاهزون لاختبار حقيقي!

الخطوة الخامسة: اختبار الطريق

اختبار الطريق
اختبار الطريق
اختبار الطريق
اختبار الطريق

اختبار تعقب GPS بسيط للغاية! فقط قم بتوصيل Arduino بمحول USB للسيارة لتشغيله ، وتأكد من تشغيل مؤشر LED الأخضر ، ويجب أن يبدأ في إرسال البيانات! لتغيير معدل أخذ العينات لجهاز تعقب GPS ، تأكد من العثور على هذا السطر من التعليمات البرمجية في مثال الرسم التخطيطي:

#define samplingRate 10 // الوقت بين المشاركات ، بالثواني

وضبطها على ما تريد. لقد وجدت أن 10s تعمل بشكل جيد لاختبار الطريق على مهل ، ولكن إذا كنت سريعًا وغاضبًا ، فقد ترغب في الحصول على معدل أعلى لأخذ العينات!

الخطوة 6: النتائج

نتائج
نتائج
نتائج
نتائج
نتائج
نتائج

في الصور أعلاه ، يمكنك رؤية إعداد لوحة القيادة الخاصة بي. لقد أضفت مخططات لرسم البيانات التاريخية لأشياء مثل السرعة والارتفاع ودرجة الحرارة ، وقمت أيضًا بتضمين مقاييس في الوقت الفعلي في حال أردت رؤيتها في الوقت الفعلي في رحلة برية أخرى (صورة هذا في عربة سكن متنقلة!).

كانت الخريطة رائعة للغاية وتمكنت من جمع بعض البيانات الدقيقة حقًا عن طريق سلكته. أيضًا ، كانت بيانات السرعة دقيقة للغاية لأننا لم نتجاوز أبدًا 40 ميلاً في الساعة (الرسم البياني بالكيلو متر في الساعة) على طرق المدينة. يمكن تفسير التقلبات العديدة في السرعة من خلال إشارات المرور. بشكل عام ، نتائج رائعة وتخيل فقط ما الذي يمكننا استخدامه من أجله! يمكنك تثبيت هذا على عربة سكن متنقلة ، ودراجة نارية ، وسيارة ، وما إلى ذلك ، وتتبعه طوال الوقت وعرض النتائج على ThingsBoard!

للتلخيص ، في هذا البرنامج التعليمي ، قمنا ببرمجة جهاز تعقب GPS الخاص بنا لإرسال البيانات مباشرة إلى ThingsBoard عبر طلبات HTTP POST وإدارة البيانات الموجودة على لوحة القيادة. يمكنك إضافة العديد من الأجهزة ولوحات المعلومات ، كل منها يحتوي على أدوات متعددة تبدو رائعة للغاية ولديها الكثير من خيارات التخصيص! لقد أثبتت ThingsBoard أنها أداة قوية جدًا (ومجانية!) لعرض بيانات إنترنت الأشياء وهناك ميزات أخرى لم أخدشها حتى الآن. لا تتردد في اللعب بها ومعرفة ما تجده.

  • إذا أعجبك هذا البرنامج التعليمي ، أو صنعته بنفسك ، أو كان لديك أي أسئلة ، فيرجى كتابة تعليق أدناه!
  • تأكد من إعطاء هذا Instructable قلبًا واشترك هنا وعلى قناتي على YouTube للحصول على المزيد من البرامج التعليمية الرائعة المتعلقة بـ Arduino!
  • إذا كنت ترغب في دعم ما أقوم به ، فيرجى التفكير في شراء درع Botletics SIM7000 الخاص بك على Amazon.com!

مع ذلك ، سأراك في المرة القادمة!

موصى به: