جدول المحتويات:
- الخطوة 1: إعداد ThingsBoard
- الخطوة 2: تحقق من استلام البيانات
- الخطوة 3: إعداد لوحة القيادة
- الخطوة 4: إضافة خريطة
- الخطوة الخامسة: اختبار الطريق
- الخطوة 6: النتائج
فيديو: LTE Arduino GPS Tracker + IoT Dashboard (الجزء 2): 6 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
ملخص مقدمة وجزء 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 ثم إنشاء حساب بالنقر فوق زر القائمة الأيمن العلوي واختيار "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!
مع ذلك ، سأراك في المرة القادمة!
موصى به:
أجنحة تأثيري المنشّطة بالحركة باستخدام ساحة اللعب السريعة - الجزء 1: 7 خطوات (بالصور)
أجنحة الكوسبلاي المُنشّطة بالحركة باستخدام Circuit Playground Express - الجزء 1: هذا جزء واحد من مشروع من جزأين ، حيث سأريكم عمليتي لصنع زوج من الأجنحة الخيالية الآلية. الجزء الأول من المشروع هو الجزء الأول من المشروع. ميكانيكا الأجنحة والجزء الثاني هو جعلها قابلة للارتداء وإضافة الأجنحة
أتمتة الدفيئة مع LoRa! (الجزء الثاني) -- فتاحة النوافذ الآلية: 6 خطوات (بالصور)
أتمتة الدفيئة مع LoRa! (الجزء الثاني) || فتاحة النوافذ الآلية: في هذا المشروع ، سأوضح لك كيف أنشأت فتحت نافذة بمحرك للبيت الزجاجي الخاص بي. هذا يعني أنني سأوضح لك المحرك الذي استخدمته ، وكيف صممت النظام الميكانيكي الفعلي ، وكيف أقود المحرك ، وأخيرًا كيف استخدمت Arduino LoRa
Botletics LTE CAT-M / NB-IoT + GPS Shield لـ Arduino: 10 خطوات (بالصور)
Botletics LTE CAT-M / NB-IoT + GPS Shield for Arduino: نظرة عامة يستخدم درع Botletics SIM7000 LTE CAT-M / NB-IoT تقنية LTE CAT-M و NB-IoT الجديدة كما يحتوي أيضًا على نظام GNSS مدمج (GPS و GLONASS و BeiDou / معايير البوصلة ، غاليليو ، QZSS) لتتبع الموقع. هناك عدة وحدات نمطية من سلسلة SIM7000
LTE Arduino GPS Tracker + IoT Dashboard (الجزء 1): 6 خطوات (بالصور)
LTE Arduino GPS Tracker + IoT Dashboard (الجزء 1): مقدمة ما الأمر يا رفاق! هذا Instructable عبارة عن متابعة لأول Instructable لي حول استخدام درع Botletics LTE / NB-IoT لـ Arduino ، لذا إذا لم تكن قد قمت بذلك بالفعل ، فيرجى قراءته للحصول على نظرة عامة جيدة حول كيفية استخدام الدرع وما هو كل شيء
وحدة تحكم IoT الرئيسية. الجزء 9: إنترنت الأشياء ، أتمتة المنزل: 10 خطوات (بالصور)
وحدة تحكم IoT الرئيسية. الجزء 9: إنترنت الأشياء ، أتمتة المنزل: إخلاء المسئولية اقرأ هذا أولاً تفاصيل التعليمات الخاصة بمشروع يستخدم الطاقة الرئيسية (في هذا المثال UK 240VAC RMS) ، في حين تم اتخاذ كل الحرص لاستخدام الممارسة الآمنة ومبادئ التصميم الجيدة ، هناك دائمًا خطر قد يكون مميتًا انتخب