فهرست مطالب:

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 مرحله (همراه با تصاویر)
تصویری: جلسه اول آموزش کاربردی آردوینو – ورودی و خروجی دیجیتال - حامد حقیقی 2024, جولای
Anonim
Image
Image
راه اندازی ThingsBoard
راه اندازی ThingsBoard

معرفی و قسمت 1 خلاصه

بله ، نوبت به یک دستورالعمل دیگر در ردیاب GPS SIM7000 با آردوینو و LTE می رسد! اگر قبلاً این کار را نکرده اید ، لطفاً آموزش شروع به کار سپر Botletics SIM7000 CAT-M/NB-IoT را مطالعه کرده و سپس قسمت 1 آموزش ردیابی GPS را مطالعه کنید. به این ترتیب ، من فرض می کنم که شما تمام سخت افزار را آماده کرده اید و آماده ارسال داده ها به ابر هستید ، تنها کاری که ما در این آموزش باید انجام دهیم این است که با ThingsBoard آشنا شوید و یک آزمایش جاده ای دیگر انجام دهید تا داده های شگفت انگیز را مشاهده کنید. نشان می دهد!

در قسمت 1 ما با موفقیت GPS tracker ماهر خود را برای ارسال داده به dweet.io دریافت کردیم و داده ها را در freeboard.io برای تجسم داده ها جمع آوری کردیم. با این حال ، من به زودی متوجه شدم که عملکرد نقشه در تخته آزاد کاملاً لنگ است زیرا به شما اجازه نمی دهد مکان نما را در اطراف یا حتی اندازه پنجره ویجت تغییر دهید. این من را به راه حل بهتری سوق داد: ThingsBoard.io که یک داشبورد فوق العاده IoT (و رایگان است) است که به شما امکان می دهد داده های خود را ذخیره ، تجسم و سفارشی کنید! شما می توانید برای مرتب سازی ویدجت ها بکشید (و بر خلاف تخته آزاد در Chrome کار می کند) ، و کیفیت کلی آن کرم محصول است. از همه مهمتر ، ویجت نقشه گوگل به شما امکان می دهد آزادانه در اطراف حرکت کرده ، بزرگنمایی و کوچک نمایی کنید و سبک های مختلف (ماهواره ، نمای جاده و غیره) را انتخاب کنید و حتی به شما این امکان را می دهد که بچه زرد رنگ را برای مشاهده خیابان به جاده بکشید و رها کنید. !

مرحله 1: راه اندازی ThingsBoard

راه اندازی ThingsBoard
راه اندازی ThingsBoard
راه اندازی ThingsBoard
راه اندازی ThingsBoard

راه اندازی حساب و دستگاه ThingsBoard

اولین کاری که باید انجام دهید این است که به صفحه اصلی ThingsBoard بروید و سپس با کلیک روی دکمه منوی بالا سمت راست و انتخاب "Live Demo" یک حساب کاربری ایجاد کنید. یک حساب ایجاد کنید ، حساب خود را در ایمیلی که برای شما ارسال می کنند تأیید کنید ، سپس دوباره وارد صفحه اصلی نمایشی زنده شوید. این باید شما را به صفحه ای برساند که در آن می توانید همه دستگاه های خود را مدیریت کنید ، داشبوردها را ویرایش کنید و غیره.

در مرحله بعد ، برگه "Devices" را در سمت چپ انتخاب کنید. این باید تعدادی از دستگاه های نمایشی مانند ESP8266 ، DHT22 ، Arduino و Pi demos را به نمایش بگذارد و غیره. با کلیک روی دکمه قرمز "+" در سمت چپ پایین یک نام جدید ایجاد کرده و نامی را وارد کرده و "نوع پیش فرض" را برای نوع دستگاه انتخاب کنید. پس از کلیک روی "افزودن" ، باید دستگاه جدید خود را در برگه "دستگاه ها" مشاهده کنید. روی "مدیریت اعتبارنامه" کلیک کنید و باید پنجره کوچکی را مشاهده کنید که نشانگر دسترسی دستگاه را نشان می دهد. این در اصل شناسه دستگاه است و مشابه شناسه دستگاهی است که برای ارسال اطلاعات به dweet.io استفاده می شود. در صورت تمایل می توانید این شناسه دستگاه را به شماره IMEI سپر خود تغییر دهید ، اما می توانید فقط از توکن تولید شده خودکار استفاده کنید. این توکن را همانطور که در طرح آردوینو به آن نیاز دارید کپی کنید.

راه اندازی مثال Arduino

در این آموزش ما از همان طرح اولیه آردوینو استفاده می کنیم ، همانطور که در آموزش اول بود ، اما این بار من این طرح را به روز کرده ام که شامل کد برای ارسال مستقیم داده ها به جای dweet.io در ThingsBoard.io در قسمت 1 است. ، کد نمونه را می توانید در اینجا در Github بیابید.

اولین کاری که باید انجام دهید این است که خطوط ایجاد کننده پست را در dweet.io کامنت کنید:

// GET request/* // اگر نیازی به موارد خاصی مانند سرعت ، ارتفاع و غیره ندارید (URL ، "https://dweet.io/dweet/for/٪s) می توانید محتویات درخواست را تنظیم کنید. ؟ lat =٪ s & long =٪ s & speed =٪ s & head =٪ s & alt=٪ s & temp =٪ s & batt =٪ s "، imei، latBuff، longBuff، speedBuff، headBuff، altBuff، tempBuff ، battBuff) ؛

int counter = 0؛ // این تعداد تلاش ناموفق را می شمارد

// اگر پست ناموفق بود در مجموع سه بار امتحان کنید (2 بار دیگر امتحان کنید) در حالی که (counter <3 &&! fona.postData ("GET"، URL، "")) {// نقل قول ها "" را به عنوان سوم اضافه کنید ورودی زیرا برای درخواست GET هیچ "بدنه" Serial.println (F ("ارسال داده ها ناموفق بود ، دوباره امتحان می شود …")) وجود ندارد. شمارنده ++؛ // افزایش تاخیر شمارنده (1000) ؛ } */

در مرحله بعد ، خطوطی را که در thingsboard.io ارسال می شود ، کامنت نکنید.

// بیایید یک درخواست POST به thingsboard.io const char* token = "YOUR_DEVICE_TOKEN" امتحان کنیم؛ // از دستگاه thingsboard.io 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، battBuff)؛ // sprintf (body، "{" lat / ":٪ s، \" long / ":٪ s}"، latBuff، longBuff)؛ // اگر تنها چیزی که می خواهید lat/long است

int counter = 0؛

while (! fona.postData ("POST" ، URL ، بدنه)) {Serial.println (F ("HTTP POST کامل نشد …")) ؛ شمارنده ++؛ تاخیر (1000) ؛ }

کد را در آردوینو خود بارگذاری کنید ، مطمئن شوید سیم کارت و آنتن متصل شده است و قبل از ادامه کار ، بررسی کنید که سپر کد را به ابر ارسال می کند!

توجه: Arduino Uno حافظه بسیار کمی دارد (RAM) و ارسال در Thingsboard می تواند باعث خرابی Arduino شود. اگر با شروع مجدد طرح تقریباً در محل عملکرد () postData یا سایر رفتارهای عجیب مواجه شدید ، به احتمال زیاد این همان چیزی است که در حال رخ دادن است. راه حل ساده این است که Uno را با Arduino Mega یا برد با RAM بیشتر عوض کنید. همچنین می توانید اندازه آرایه ها را به حداقل برسانید و داده ها را به چند پست تقسیم کنید.

مرحله 2: تأیید دریافت داده ها

تأیید دریافت داده ها
تأیید دریافت داده ها

به منظور تأیید صحت اینکه داده ها به درستی به ThingsBoard ارسال می شوند ، به همان صفحه جزئیات دستگاه بروید (روی کاشی دستگاه GPS Tracker در صفحه "دستگاه ها" کلیک کنید) سپس برگه "آخرین تله متری" را کلیک کنید. اگر ردیاب GPS شما مقادیری را به ThingsBoard ارسال می کند ، باید آخرین مقادیر را در اینجا مشاهده کنید و به محض ورود به روز می شوند.

اکنون که تأیید کرده اید که ThingsBoard در حال دریافت داده ها است ، وقت آن است که داشبورد را راه اندازی کنید تا بتوانیم داده های خود را هنگام جمع آوری تجسم کنیم! (یا بعد از واقعیت)

مرحله 3: راه اندازی داشبورد

راه اندازی داشبورد
راه اندازی داشبورد
راه اندازی داشبورد
راه اندازی داشبورد
راه اندازی داشبورد
راه اندازی داشبورد

حالا وقت قسمت سرگرم کننده است! اکنون روی برگه "Dashboard" در سمت چپ کلیک کنید و دستگاه ردیاب GPS خود را انتخاب کنید. این باید یک صفحه جدید ایجاد کند که از شما می خواهد ابزارک ها را اضافه کنید. روی دکمه "+" پایین سمت راست و "ایجاد ویجت جدید" کلیک کنید تا منوی کشویی ویجت ها برای انتخاب ظاهر شود. در حال حاضر بیایید یک "سنج دیجیتال" را اضافه کنیم. با انتخاب این گزینه باید تعدادی پیش نمایش برای انواع مختلف اندازه گیری های دیجیتالی که می توانید انتخاب کنید بارگذاری شود. وقتی روی یکی کلیک می کنید ، صفحه دیگری برای شما ظاهر می شود تا پارامترهای ویجت را تنظیم کنید. اولین چیزی که باید اضافه کنید منبع داده است (دستگاه ردیاب GPS شما که داده ها را به ThingsBoard ارسال می کند). دکمه "+ ADD" را فشار داده و دستگاه "GPS Tracker" خود را انتخاب کرده و متغیر مناسب را که می خواهید ویجت نمایش داده شود ، انتخاب کنید. در این مورد ، بیایید متغیر "temp" (دما) را انتخاب کنیم.

حال اگر می خواهید مواردی مانند عنوان برای ویجت اضافه کنید ، به زبانه "Settings" بروید ، "Display title" را علامت زده و عنوان را وارد کنید. کارهای زیادی وجود دارد که می توانید در برگه "Advanced" انجام دهید ، اما من به شما اجازه می دهم خودتان آنها را بررسی کنید! از تغییر محدوده ارزش ، متن برچسب ، رنگ و موارد دیگر لذت ببرید! پس از افزودن ویجت ، در پایین سمت چپ داشبورد شما ظاهر می شود (در صورت داشتن چندین ویجت که صفحه را پر می کنند ، ممکن است مجبور شوید به پایین بروید). اگر در حال حاضر در حالت ویرایش داشبورد هستید ، می توانید ویجت را در هر زمان با فشردن دکمه ویجت ویرایش کنید ، یا با فشار دادن دکمه مداد در سمت راست پایین کل صفحه ابتدا وارد حالت ویرایش شوید تا به شما اجازه ویرایش را بدهد. ویجت ها کاملا مستقیم!

مرحله 4: اضافه کردن نقشه

افزودن نقشه!
افزودن نقشه!
افزودن نقشه!
افزودن نقشه!
افزودن نقشه!
افزودن نقشه!
افزودن نقشه!
افزودن نقشه!

در حال حاضر برای ردیاب GPS یک نقشه ضروری است! بیایید با ایجاد یک ویجت جدید (دوباره دکمه "+" سمت راست پایین) یکی را اضافه کنید و این بار به پایین بروید و "Maps" را انتخاب کنید. پیش بروید و روی یکی کلیک کنید تا گزینه های مربوط به آن ظاهر شود. منبع داده را به طور معمول اضافه کنید اما این بار ، هر دو متغیر "lat" و "long" را انتخاب کنید ، زیرا برای بدست آوردن مکان به هر دوی این موارد نیاز دارد. سپس ، به برگه "تنظیمات" بروید و در اینجا می توانید پنجره زمانی داده ها را برای نمایش روی نقشه تنظیم کنید. به عنوان مثال ، شما ممکن است فقط بخواهید 2 دقیقه آخر داده ظاهر شود ، یا ممکن است همه داده ها از دیروز بخواهید ، یا شاید فقط یک پنجره ثابت در زمان (مانند ساعت 2 بعد از ظهر دیروز تا 10 صبح امروز) بخواهید.

در صورت تمایل می توانید به برگه "Advanced" رفته و نوع نقشه (نقشه راه ، ماهواره ، ترکیبی یا زمین) را انتخاب کنید. شاید مهمترین بخش همه اینها بررسی نامهای کلیدی عرض و طول جغرافیایی باشد. مطمئن شوید که این اسامی دقیقاً با نام متغیری که در واقع به ThingsBoard ارسال می کنید مطابقت داشته باشد. به عنوان مثال ، اگر طرح آردوینو شما می گوید متغیرهای "lat" و "long" (که به طور پیش فرض ارسال می شود) ارسال می شود ، باید نامهای کلیدی را به "lat" و "long" و با استفاده از "عرض جغرافیایی" و "طول جغرافیایی" تغییر دهید. داده های شما را واکشی نمی کند!

دوباره ، پس از افزودن نقشه ، در پایین داشبورد ظاهر می شود. کافی است آن را بکشید تا دوباره روی داشبورد قرار گیرد و روی لبه ها کلیک کرده و بکشید تا اندازه آن تغییر کند. اگر پنجره زمانی شما به درستی تنظیم شده است ، باید مکان فعلی خود را روی نقشه نشان دهید. فوق العاده مرتب است؟ اکنون ما آماده آزمایش واقعی هستیم!

مرحله 5: آزمایش جاده

تست جاده
تست جاده
تست جاده
تست جاده

آزمایش ردیاب GPS بسیار ساده است! فقط کافیست آردوینو را به آداپتور USB خودرو وصل کنید تا از برق استفاده کند ، مطمئن شوید که چراغ سبز روشن شده و ارسال داده شروع می شود! برای تغییر میزان نمونه گیری از ردیاب GPS ، مطمئن شوید که این خط کد را در طرح اصلی پیدا کرده اید:

#تعریف نمونه گیری رتبه 10 // زمان بین پست ها ، در ثانیه

و آن را روی هر چیزی که می خواهید تنظیم کنید. من دریافتم که 10s برای یک آزمایش جاده ای راحت بسیار خوب عمل می کند ، اما اگر سریع و خشمگین هستید شاید بخواهید میزان نمونه گیری حتی بیشتر باشد!

مرحله 6: نتایج

نتایج
نتایج
نتایج
نتایج
نتایج
نتایج

در تصاویر بالا می توانید تنظیمات داشبورد من را مشاهده کنید. من نمودارهایی را به نمودار داده های تاریخی برای مواردی مانند سرعت ، ارتفاع و دما اضافه کردم ، و همچنین اندازه گیرهای زمان واقعی را در صورتی که بخواهم آنها را در یک سفر جاده ای دیگر در زمان واقعی ببینم ، اضافه کردم (این را در RV تصویر کنید!).

نقشه بسیار کشنده ای بود و من توانستم داده های واقعاً دقیقی از مسیری که طی کردم جمع آوری کنم. همچنین ، داده های سرعت بسیار دقیق بود زیرا ما هرگز از حدود 40 مایل در ساعت (نمودار بر کیلومتر در ساعت) در جاده های شهر فراتر نرفت. بسیاری از نوسانات سرعت را می توان با چراغ راهنمایی توضیح داد. به طور کلی ، نتایج عالی است و فقط تصور کنید که برای چه چیز دیگری می توانیم از آن استفاده کنیم! شما می توانید این را روی RV ، موتور سیکلت ، ماشین و غیره نصب کنید و از آن بخواهید پیوسته پیگیری کند و نتایج را در ThingsBoard بالا ببرد!

به طور خلاصه ، در این آموزش ما ردیاب GPS خود را طوری برنامه ریزی کردیم که داده ها را مستقیماً از طریق درخواست های HTTP POST به ThingsBoard ارسال کند و داده ها را در یک داشبورد مدیریت کنیم. می توانید چندین دستگاه و داشبورد اضافه کنید ، هر کدام شامل چندین ویجت هستند که بسیار جالب به نظر می رسند و دارای گزینه های سفارشی سازی زیادی هستند! ThingsBoard ثابت کرده است که یک ابزار بسیار قدرتمند (و رایگان!) برای مشاهده داده های IoT است و حتی ویژگی های دیگری وجود دارد که من حتی آنها را خراش نداده ام. با خیال راحت با آن بازی کنید و ببینید چه چیزی پیدا می کنید.

  • اگر از این آموزش خوشتان آمد ، خودتان آن را ساختید یا س questionsالی داشتید ، لطفاً در زیر نظر دهید!
  • مطمئن باشید که به این دستورالعمل قلب داده اید و در اینجا و در کانال YouTube من مشترک شوید تا آموزشهای جذاب تر مربوط به آردوینو را ببینید!
  • اگر می خواهید از آنچه من انجام می دهم حمایت کنید ، لطفاً خرید سپر Botletics SIM7000 خود را در Amazon.com در نظر بگیرید!

با این اوصاف ، دفعه بعد می بینمت!

توصیه شده: