فهرست مطالب:

LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1): 6 مرحله (همراه با تصاویر)
LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1): 6 مرحله (همراه با تصاویر)

تصویری: LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1): 6 مرحله (همراه با تصاویر)

تصویری: LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1): 6 مرحله (همراه با تصاویر)
تصویری: جلسه اول آموزش کاربردی آردوینو – ورودی و خروجی دیجیتال - حامد حقیقی 2024, جولای
Anonim
LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1)
LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1)
LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1)
LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1)
LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1)
LTE Arduino GPS Tracker + IoT Dashboard (قسمت 1)

معرفی

چه خبر بچه ها! این دستورالعمل پیگیری اولین دستورالعمل من در مورد استفاده از سپر Botletics LTE/NB-IoT برای آردوینو است ، بنابراین اگر قبلاً این کار را نکرده اید ، لطفاً آن را بخوانید تا نمای خوبی از نحوه استفاده از سپر و همه چیز درباره آن بدست آورید. به در این آموزش من روی ثبت اطلاعات اینترنت اشیا و به طور خاص ، GPS و ردیابی دما تمرکز می کنم و تمام کد و راهنمایی های لازم برای راه اندازی و آزمایش آن را در اختیار شما قرار می دهم!

این دستورالعمل عمدتا بر سپر LTE که من شخصاً طراحی و ساختم متمرکز شده است ، اما همه چیز در اینجا (از جمله کتابخانه Github Arduino) باید روی ماژول های 2G و 3G SIMCom مانند SIM800/808/900/5320 کار کند ، زیرا این فقط یک به روز است نسخه کتابخانه Adafruit FONA. صرف نظر از سخت افزار ، مفهوم دقیقاً یکسان است و می توانید کارهای جالبی را انجام دهید ، از جمله ثبت اطلاعات سنسور ، نظارت بر آب و هوا از راه دور ، ردیابی GPS کارما سرقت خودرو ، و غیره … بنابراین ادامه مطلب را بخوانید!

مرحله 1: جمع آوری قطعات

جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات
جمع آوری قطعات

لیست همانند اولین آموزش من است و واقعاً ساده است!

  • آردوینو اونو ، مگا ، یا لئوناردو. متناوباً می توانید از هر میکروکنترلر 3.3V یا 5V دیگری استفاده کنید ، اما باید پین ها را از خارج سیم کشی کنید.
  • Botletics SIM7000 Shield Kit (همراه با سپر ، آنتن دوگانه LTE/GPS uFL و انباشته سرصفحه های زن). مطمئن شوید که این آموزش را برای انتخاب نسخه مناسب طی کرده اید!
  • سیم کارت هولوگرام. اولین سیم کارت (که سیم کارت "توسعه دهنده" نامیده می شود) کاملاً رایگان است و 1 مگابایت داده در ماه ارائه می دهد! اگر از سیم کارت هولوگرام استفاده می کنید ، در ایالات متحده به احتمال زیاد در شبکه Verizon خواهید بود. اگر راحت تر بودید می توانید آن را در کنار سپر Botletics بردارید.
  • باتری LiPo 3.7 ولت (ظرفیت 1000 میلی آمپر ساعت یا بیشتر توصیه می شود).
  • کابل USB برای برنامه نویسی آردوینو یا تغذیه آن.

برای آزمایش ردیابی GPS!

  • هنگام آزمایش سپر در جاده ، می توانید از آداپتور USB ماشین برای تغذیه Arduino خود استفاده کنید.
  • روش دیگر ، می توانید از یک باتری (7-12 ولت) برای تغذیه آردوینو از طریق پین های VIN و GND استفاده کنید.

مرحله 2: مونتاژ فیزیکی

مونتاژ فیزیکی
مونتاژ فیزیکی
مونتاژ فیزیکی
مونتاژ فیزیکی
مونتاژ فیزیکی
مونتاژ فیزیکی

اکنون که تمام قطعات خود را در اختیار دارید ، در اینجا خلاصه ای از آنچه باید برای راه اندازی سخت افزار خود انجام دهید آورده شده است:

  • هدرهای زنانه را روی سپر لحیم کنید. این آموزش نحوه انجام این کار را ببینید.
  • سپر را به آردوینو وصل کنید ، مطمئن شوید که همه پین ها را در یک خط قرار دهید تا به آنها آسیب نرسانید!
  • سیم کارت را مطابق تصویر وارد کنید. مخاطبین فلزی رو به پایین هستند و محل شکاف را در گوشه یادداشت می کنند.
  • باتری LiPo را به اتصال JST روی سپر وصل کنید
  • آردوینو خود را با استفاده از کابل USB به رایانه وصل کنید. ممکن است توجه داشته باشید که چراغ سبز قدرت سپر روشن نمی شود. این کاملاً طبیعی است زیرا پین PWRKEY سپر باید کمی روشن شود تا روشن شود. نمونه طرح آردوینو در بخش زیر این کار را برای شما انجام می دهد!
  • آنتن LTE/GPS دوگانه را به کانکتورهای uFL در لبه سمت راست سپر وصل کنید. توجه داشته باشید که سیم ها به هم متصل می شوند بنابراین سیمهای اشتباه را وصل نکنید!
  • همه چیز برای نرم افزار آماده است!

مرحله 3: راه اندازی و آزمایش دستگاه Arduino

راه اندازی و آزمایش دستگاه آردوینو
راه اندازی و آزمایش دستگاه آردوینو

راه اندازی IDE آردوینو

اگر قبلاً این کار را نکرده اید ، لطفاً مراحل "Arduino IDE Setup" و "Arduino Example" را در محصول اصلی Instructable ببینید تا مطمئن شوید که برد شما به درستی کار می کند. در این دستورالعمل ها باید کتابخانه را در صفحه Github بارگیری کرده و کد نمونه "LTE_Demo" را باز کنید. پس از پیروی از آن دستورالعمل ها ، باید اتصال شبکه ، GPS و ارسال داده ها به dweet.io را آزمایش کرده باشید.

IoT نمونه طرح

اکنون که ویژگی های اصلی سپر خود را آزمایش کرده اید ، طرح "IoT_Example" را در Arduino IDE بارگذاری کنید. همچنین می توانید آن را در اینجا در Github پیدا کنید. این کد را در Arduino خود بارگذاری کرده و مانیتور سریال را باز کنید و باید Arduino را مشاهده کنید که ماژول SIM7000 را پیدا کرده ، به شبکه تلفن همراه متصل شده ، GPS را فعال کرده و تلاش کنید تا زمانی که محل مورد نظر برطرف نشد و داده ها را به dweet.io ارسال کنید. با فرض استفاده از سپر LTE و سیم کارت هولوگرام ، همه اینها باید بدون تغییر خط کد اجرا شود.

به طور پیش فرض خط زیر را برای تعیین میزان نمونه گیری مشاهده خواهید کرد (خوب ، در واقع تأخیر بین پست ها).

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

اگر این خط بدون اظهار نظر باقی بماند ، Arduino داده ها را ارسال می کند ، 30 ثانیه ها را به تاخیر می اندازد ، داده ها را دوباره ارسال می کند ، تکرار می کند و غیره. در تاخیر 30s شما می توانید کارهایی مانند قرار دادن Arduino در حالت کم مصرف و موارد فانتزی مانند آن انجام دهید ، اما برای حفظ همه چیز ساده من فقط از تابع delay () برای توقف عملیات استفاده می کنم. اگر در این خط نظر دهید ، آردوینو داده ها را ارسال می کند و مستقیماً به حالت نامناسب در حالت قدرت کم می رود تا زمانی که دکمه تنظیم مجدد را بر روی آردوینو فشار دهید. اگر شما در حال آزمایش چیزی هستید و نمی خواهید اطلاعات رایگان گرانبها را بسوزانید (اگرچه صادقانه در هر پست عملاً از هیچ چیزی استفاده نمی شود) یا شاید مدارهای خارجی برای تنظیم مجدد Arduino (زمان سنج 555؟ وقفه RTC؟ وقفه شتاب سنج؟ سنسور دما) مفید است. قطع کنید؟ خارج از چارچوب فکر کنید!). در واقع در آموزش Burgalert 7000 نشان می دهم که چگونه می توانید از یک آشکارساز حرکت PIR برای بیدار کردن میکروکنترلر استفاده کنید.

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

//#define turnOffShield // پس از ارسال اطلاعات ، سپر را خاموش کنید

همچنین به خاطر داشته باشید که این مثال به طور خودکار شماره IMEI مربوط به ماژول و منحصر به فرد در سطح جهانی SIM7000 را دریافت می کند و از آن به عنوان شناسه دستگاه (یا "در صورت تمایل" نام) برای شناسایی دستگاه هنگام ارسال داده به dweet.io استفاده می کند. به در صورت تمایل می توانید این مورد را تغییر دهید ، بنابراین من فکر کردم که فقط به شما اطلاع می دهم:)

برای بررسی اینکه آیا داده های شما در واقع به dweet.io ارسال می شود ، کافی است اطلاعات مناسب را وارد کرده و آدرس اینترنتی را در هر مرورگری کپی/جایگذاری کنید:

dweet.io/get/latest/dweet/for/{deviceID}

جایی که {deviceID} باید با شماره IMEI جایگزین شود که در ابتدا در مانیتور سریال چاپ شده است ، درست بعد از اینکه آردوینو آن را پیدا کرد. پس از وارد کردن آن URL در مرورگر خود ، باید یک پاسخ JSON مانند زیر را مشاهده کنید:

با نگاه کردن به "محتوا" باید عرض جغرافیایی ، طول جغرافیایی ، سرعت (در کیلومتر در ساعت) ، جهت (درجه ، 0 درجه شمالی) ، ارتفاع (متر) ، دما (*C) را ببینید ، اما احساس کنید تبدیل رایگان در کد) و ولتاژ تغذیه بر حسب میلی ولت (که VBAT ، ولتاژ باتری است). برای اطلاعات بیشتر در مورد رشته داده NMEA می توانید به صفحه 149 دستورالعمل دستور SIM7000 AT نگاهی بیندازید.

پس از تأیید اینکه تنظیمات شما با موفقیت داده ها را به dweet ارسال می کند ، بیایید داشبورد را تنظیم کنیم تا همه داده های خود را در یک رابط کاربری زیبا مشاهده کنیم!

مرحله 4: راه اندازی Freeboard.io

راه اندازی Freeboard.io
راه اندازی Freeboard.io
راه اندازی Freeboard.io
راه اندازی Freeboard.io
راه اندازی Freeboard.io
راه اندازی Freeboard.io

برای این آموزش از freeboard.io استفاده می کنیم ، یک داشبورد واقعا جالب IoT که می تواند با سیستم عامل های ابری متعددی مانند PubNub و dweet و سایر ویژگی ها مانند JSON و MQTT متصل شود. همانطور که احتمالاً حدس زده اید ما از dweet.io نیز استفاده می کنیم که در کد مثال قسمت قبل استفاده شده است. به عنوان یک نکته مهم ، به نظر می رسد کشیدن پنجره ها در freeboard.io در Chrome کار نمی کند ، بنابراین به جای آن از Firebox یا Microsoft Edge استفاده کنید. اگر این کار را نکنید ، می توانید یک "پنجره" واقعی برای مرتب سازی مجدد موارد روی صفحه خود باشید!

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

  • اولین کاری که باید انجام دهید این است که با کلیک روی دکمه قرمز "START NOW" در صفحه اصلی freeboard.io یک حساب کاربری ایجاد کنید ، اعتبارنامه را وارد کرده و روی "ایجاد حساب من" کلیک کنید. سپس یک ایمیل با تأیید حساب جدید خود دریافت خواهید کرد.
  • اکنون روی "ورود" در بالا سمت راست صفحه اصلی کلیک کنید و پس از ورود به سیستم باید "تخته های رایگان" خود را مشاهده کنید ، که فقط داشبوردهایی هستند که از پروژه های خود تنظیم کرده اید. بدیهی است که اگر حساب جدید است در اینجا چیزی نمی بینید ، بنابراین فقط نام پروژه جدیدی را وارد کرده و روی "ایجاد جدید" در بالا سمت راست کلیک کنید. سپس شما را به یک داشبورد خالی می رساند که در آن می توانید رابط کاربری را همانطور که دوست دارید تنظیم کنید. در تخته آزاد می توانید "پنجره" های مختلف را تنظیم کنید ، و هر پنجره می تواند دارای یک یا چند "ویجت" باشد که مواردی مانند نمودارها ، نقشه ها ، اندازه گیری ها و غیره هستند که داده های شما را به نوعی نمایش می دهند.
  • اولین کاری که ما اکنون باید انجام دهیم این است که منبع واقعی داده را تنظیم کنیم ، که سپر Arduino + LTE شما است. برای انجام این کار ، روی "افزودن" در بالا سمت راست در بخش "منابع داده" کلیک کنید. در مرحله بعد ، "Dweet.io" را انتخاب کرده و نام مورد نظر خود را در قسمت "Name" وارد کنید. با این حال ، مطمئن شوید که در قسمت "Thing Name" شماره IMEI سپر را به جای هر نام دلخواه وارد کنید ، زیرا این همان چیزی است که freeboard برای کشیدن داده ها از dweet استفاده می کند.
  • پس از کلیک روی "ذخیره" ، باید دستگاه خود را در قسمت "Datasources" و همچنین آخرین باری که داده را به توییت ارسال کرده است مشاهده کنید. همچنین می توانید برای بررسی آخرین مقادیر روی دکمه بازخوانی کلیک کنید ، اما تخته آزاد به خودی خود به روز می شود ، بنابراین معمولاً مجبور نیستید از آن دکمه استفاده کنید.

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

حالا بیایید نگاهی به نحوه تنظیم زنگ ها و سوت های واقعی که می خواهید روی صفحه خود مشاهده کنید ، بیندازیم!

  • برای افزودن یک پنجره ، روی دکمه "افزودن صفحه" در بالا سمت چپ کلیک کنید و خواهید دید که یک پنجره کوچک روی صفحه شما اضافه می شود. با این حال ، هنوز چیزی در اینجا وجود ندارد زیرا ما هیچ ویدجتی اضافه نکرده ایم!
  • برای افزودن ویجت روی دکمه کوچک "+" در پنجره کلیک کنید. این یک منوی کشویی با گزینه های مختلف ویجت را نشان می دهد. از آنجا که ما قصد داریم برخی از ردیابی GPS را انجام دهیم ، بیایید ویجت "Google Map" را انتخاب کنیم. سپس باید دو فیلد ، طول و عرض جغرافیایی را مشاهده کنید. به منظور پر کردن صحیح این موارد ، دستگاه شما باید قبلاً برای ارسال پیام ارسال کرده باشد. با فرض وجود آن ، باید بتوانید روی "+ Datasource" کلیک کنید ، بر روی منبع داده ("SIM7000 GPS Tracker") کلیک کنید ، سپس روی "lat" ، که نام متغیری است که سپر هنگام ارسال به Dweet استفاده می کند ، کلیک کنید. اگر می خواهید نقشه خطوطی را بین نقاط داده ترسیم کند تا مکان موردنظر شما مشخص شود ، روش را برای قسمت طول جغرافیایی تکرار کنید.
  • اکنون باید یک نقشه کوچک از محل تقریبی خود را ببینید! برای آزمایش اینکه آیا نقشه کار می کند ، سعی کنید GPS جغرافیایی فعلی خود را با تغییر کمی تغییر دهید ، به عنوان مثال ، اولین رقم پس از اعشار از مقادیر lat/long در URL dweet که در مانیتور سریال چاپ شده است Arduino IDE هنگامی که سپر داده ها را ارسال کرد. پس از اصلاح آنها ، URL را کپی و جایگذاری کرده و در مرورگر خود اجرا کنید.

dweet.io/dweet/for/112233445566778؟lat=11.223344&long=-55.667788&speed=0&head=10&alt=324.8&temp=22.88&batt=3629

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

موارد اضافی

از آنجا که ردیاب کوچک GPS ما نه تنها داده های عرض/طولانی بلکه ارتفاع ، سرعت ، سرفصل و دما را ارسال می کند ، بیایید چند ویجت دیگر اضافه کنیم تا داشبورد ما رنگارنگ تر شود!

  • بیایید با افزودن یک پنجره جدید شروع کنیم و سپس برای اضافه کردن یک گیج در قسمت جدید روی دکمه "+" در پنجره کلیک کرده و "Gauge" را انتخاب کنید. درست مانند قبل ، از منبع داده استفاده کنید و "speed" را به عنوان داده هایی که علاقه مند هستیم برای این اندازه گیری واکشی کنیم ، انتخاب کنید. سپس باید یک سنج خوب در داشبورد خود مشاهده کنید!
  • این کار را برای مقادیر ارتفاع و دما تکرار کنید.
  • در حال حاضر برای عنوان اجازه دهید به جای آن یک "اشاره گر" اضافه کنیم. این در اصل یک قطب نما است زیرا از 0 (درجه شمالی) به سمت بالا شروع می شود و جهت جهت مثبت در جهت عقربه های ساعت می چرخد. Perfecto!
  • برای تغییر اندازه پنجره ، روی پنجره ای که شامل نقشه است حرکت کنید و باید نماد آچار کوچک را در بالا سمت راست مشاهده کنید. روی آن کلیک کنید و عنوان صفحه را وارد کنید و "2" را در زیر "Columns" وارد کنید تا عرض صفحه افزایش یابد.
  • برای تغییر مکان پنجره ها کافی است آنها را به اطراف بکشید! همچنین می توانید یک "Sparkline" را که اساساً فقط یک نمودار خطی است آزمایش کنید تا بتوانید نه تنها آخرین داده ها بلکه داده های تاریخی را نیز مشاهده کنید.

از آن لذت ببرید و همه چیز را به گونه ای تنظیم کنید که دوست دارید زیرا ما آماده رفتن به یک سفر میدانی هستیم!

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

Image
Image
آزمایش کردن
آزمایش کردن

برای آزمایش تنظیمات ، توصیه می کنم زمان نمونه برداری را روی مقدار کمتری مانند 10-20 ثانیه قرار دهید تا بتوانید سفر خود را با وضوح بالاتر ثبت کنید. من همچنین متغیر "turnOffShield" را کامنت می گذارم تا سپر به خواب نرود. این به آن امکان می دهد داده ها را پی در پی ارسال کند.

پس از بارگذاری کد در آردوینو ، یا یک باتری (7 تا 12 ولت) برای تغذیه آردوینو تهیه کنید یا به سادگی آردوینو را با استفاده از آداپتور USB خودرو وصل کنید. شما همچنین به باتری LiPo 3.7 ولت متصل به سپر احتیاج دارید. سپر نشان داده شده در تصویر بالا یک نسخه قدیمی است و از باتری LiPo پشتیبانی نمی کند اما اکنون در همه نسخه های جدیدتر مورد نیاز است.

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

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

نتایج
نتایج

برای انجام این آزمایش ، من و پدرم برای خرید چند طبل مرغ در Trader Joe's (omnomnomnom…) رفتیم و اطلاعات کاملاً دقیقی را جمع آوری کردیم. من دستگاه را هر 10 ثانیه ارسال می کردم و حداکثر سرعت سفر حدود 92 کیلومتر (حدود 57 مایل در ساعت) بود که کاملاً دقیق است زیرا ما در تمام مدت مراقب سرعت سنج بودیم. سپر LTE قطعاً کار خود را به خوبی انجام می دهد و داده ها را به سرعت به ابر ارسال می کند. تا کنون خیلی خوب!

با این حال ، شاید خبر نه چندان خوب این باشد که ویجت نقشه روی تخته آزاد به اندازه ای که در ابتدا فکر می کردم عالی نیست. به شما اجازه نمی دهد مکان ماوس خود را جابجا کنید و روی آخرین مکان متمرکز می شود ، بنابراین برای مواردی مانند ردیاب GPS خودرو عالی است ، اما اگر نمی خواهید یک سفر کامل را با تمام نقاط داده تجزیه و تحلیل کنید ، به ویژه اگر یک سفر طولانی بود

در این آموزش با نحوه استفاده از سپر LTE به عنوان ردیاب GPS و ثبت اطلاعات و نحوه مشاهده سریع داده ها در freeboard.io آشنا شدیم. اکنون از تخیل خود استفاده کنید و آن را در پروژه خود به کار بگیرید. شما حتی می توانید سپرهای بیشتری اضافه کنید و این مورد را به یک دیتا لاگر کم مصرف خورشیدی تبدیل کنید! (من واقعاً در حال برنامه ریزی برای آموزش در مورد آن در آینده هستم!). به دلیل محدودیت های نقشه freeboard ، من همچنین قصد دارم یک آموزش جدید در مورد نحوه ساخت برنامه Android خود ایجاد کنم که داده ها را از dweet دریافت می کند و به شما امکان می دهد مکان ردیاب را در ابتدا در Google Maps نمودار کنید ، مکث کنید ، و ویژگی های سفر خود را متوقف کنید! گوش به زنگ باشید!

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

توصیه شده: