فهرست مطالب:
- مرحله 1: یک برد NodeMCU مبتنی بر ESP8266
- مرحله 2: پین نمودار
- مرحله 3: DHT11 - سنسور رطوبت و دما
- مرحله 4: آشنایی با سیستم عامل Mongoose
- مرحله 5: جادوگر راه اندازی Mongoose
- مرحله 6: وضعیت دستگاه - آنلاین
- مرحله 7: تهیه دستگاه در AWS IOT
- مرحله 8: بارگذاری نمونه کد در برد NodeMCU
- مرحله 9: شروع به کار با حساب AWS
- مرحله 10: ابزار خط فرمان AWS CLI (اختیاری)
- مرحله 11: خدمات وب آمازون (GUI)
- مرحله 12: AWS IOT Core
- مرحله 13: AWS IOT - مانیتور
- مرحله 14: AWS IOT - اشتراک
- مرحله 15: انتشار پیام پیش فرض
- مرحله 16: انتشار اطلاعات فشرده دکمه
- مرحله 17: مقادیر دما و رطوبت را در بستر AWS IOT منتشر کنید
- مرحله 18: وظیفه
تصویری: شروع به کار با Amazon AWS IoT و ESP8266: 21 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
این پروژه به شما نحوه گرفتن ماژول ESP8266 و اتصال مستقیم آن به AWS IOT با استفاده از سیستم عامل Mongoose را نشان می دهد. Mongoose OS یک سیستم عامل منبع باز برای میکروکنترلرها است که بر اتصال ابر تأکید می کند. این برنامه توسط Cesanta ، یک شرکت نرم افزاری تعبیه شده در دوبلین توسعه یافته است و در پایان پروژه ، شما باید بتوانید دما و مقادیر رطوبت را از سنسور دمای DHT11 اندازه گیری کرده و آن را بر روی سکوی AWS IOT منتشر کنید.
برای این پروژه ، ما نیاز داریم:
board یک برد NodeMCU مبتنی بر ESP8266
sensor سنسور دما DHT 11
flash ابزار چشمک زن سیستم عامل Mongoose
cable یک کابل USB برای اتصال برد NodeMCU به کامپیوتر
سیمهای Jumber
account حساب AWS که قصد استفاده از آن را دارید
مرحله 1: یک برد NodeMCU مبتنی بر ESP8266
ESP8266 نام یک میکرو کنترلر است که توسط Espressif Systems طراحی شده است. ESP8266 خود یک راه حل شبکه Wi-Fi مستقل است که به عنوان پلی از کنترلر کوچک موجود به Wi Fi ارائه می شود و همچنین قادر به اجرای برنامه های خودکار است. این ماژول دارای یک کانکتور USB داخلی و مجموعه ای غنی از پین های خروجی است. با استفاده از کابل میکرو USB ، می توانید NodeMCU devkit را به لپ تاپ خود متصل کرده و بدون مشکل مانند فلش آردوینو فلش کنید.
مشخصات
• ولتاژ: 3.3V.
• Wi-Fi Direct (P2P) ، soft-AP.
• مصرف فعلی: 10uA ~ 170mA.
• حافظه فلش قابل اتصال: حداکثر 16 مگابایت (512 هزار عادی).
• مجموعه پروتکل TCP/IP.
• پردازنده: Tensilica L106 32 بیتی.
• سرعت پردازنده: 80 ~ 160 مگاهرتز.
• RAM: 32K + 80K.
• GPIO ها: 17 (چند کاره با سایر توابع).
• آنالوگ به دیجیتال: 1 ورودی با وضوح 1024 مرحله.
• قدرت خروجی +19.5dBm در حالت 802.11b
• پشتیبانی 802.11: b/g/n.
• حداکثر اتصالات همزمان TCP: 5
مرحله 2: پین نمودار
مرحله 3: DHT11 - سنسور رطوبت و دما
DHT11 یک سنسور دیجیتال درجه حرارت و رطوبت کم هزینه است. این دستگاه از سنسور رطوبت خازنی و ترمیستور برای اندازه گیری هوای اطراف استفاده می کند و یک سیگنال دیجیتالی را روی پین داده (بدون نیاز به پین های ورودی آنالوگ) بیرون می ریزد. تنها نقطه ضعف واقعی این سنسور این است که فقط می توانید هر 2 ثانیه یکبار اطلاعات جدیدی از آن دریافت کنید
امکانات
temperature دمای کامل محدوده جبران می شود
humidity رطوبت نسبی و اندازه گیری دما
signal سیگنال دیجیتال کالیبره شده
stability ثبات برجسته بلند مدت
components اجزای اضافی مورد نیاز نیست
transmission فاصله انتقال طولانی
مصرف برق کم
فرایند ارتباطات (تک سیم دو طرفه)
نکته جالب در این ماژول پروتکلی است که برای انتقال داده ها استفاده می شود. تمام قرائت های سنسور با استفاده از یک باس تک سیم ارسال می شود که هزینه را کاهش می دهد و فاصله را افزایش می دهد. برای ارسال داده از طریق گذرگاه ، باید نحوه انتقال داده ها را توصیف کنید تا فرستنده و گیرنده بتوانند آنچه را که یکدیگر می گویند درک کنند. این کاری است که یک پروتکل انجام می دهد. این روش نحوه انتقال داده ها را توصیف می کند. در DHT-11 گذرگاه داده 1 سیم با مقاومت به VCC کشیده می شود. بنابراین اگر هیچ اتفاقی نیفتاد ولتاژ روی گذر برابر با VCC است. قالب ارتباط را می توان به سه مرحله تقسیم کرد
1) درخواست
2) پاسخ
3) خواندن اطلاعات
مرحله 4: آشنایی با سیستم عامل Mongoose
Mongoose OS یک سیستم عامل منبع باز برای سیستم های کوچک تعبیه شده است. این دستگاه به گونه ای طراحی شده است که بر روی دستگاه هایی مانند میکرو کنترلرها ، که اغلب دارای محدودیت حافظه دهها کیلوبایت هستند ، در حالی که یک رابط برنامه نویسی را که دسترسی به API های مدرن را که معمولاً در دستگاههای قوی تر یافت می شوند ، در معرض دید قرار می دهد. دستگاهی که سیستم عامل Mongoose را اجرا می کند به عملکرد سیستم عامل مانند سیستم فایل و شبکه ، به علاوه نرم افزارهای سطح بالاتر مانند موتور جاوا اسکریپت و API های دسترسی ابر دسترسی دارد.
ابزار چشمک زن سیستم عامل Mongoose
از ابزار فلش برای فلش سیستم عامل Mongoose در ESP8266 استفاده می شود. ابتدا ، یکی از بردهای پشتیبانی شده مانند ESP8266 NodeMCU را دریافت کرده و آن را به رایانه خود وصل کنید ، سپس این مراحل را دنبال کنید:
to به صفحه وب بارگیری سیستم عامل Mongoose بروید و ابزار Mos را بارگیری کنید. (اما در این پروژه ، ما قصد داریم از نسخه قدیمی سیستم عامل Mongoose استفاده کنیم)
file فایل راه اندازی Mos (Mongoose OS) را اجرا کرده و جادوگر راه اندازی را دنبال کنید:
مرحله 5: جادوگر راه اندازی Mongoose
مرحله 6: وضعیت دستگاه - آنلاین
پس از اتمام سه مرحله ، پیام زیر را دریافت خواهید کرد و وضعیت دستگاه آنلاین می شود. اکنون ماژول ESP8266 ما قادر است با هر دستگاه از راه دور ارتباط برقرار کند
مرحله 7: تهیه دستگاه در AWS IOT
قبل از اینکه بتوانیم رویدادها را به AWS ارسال کنیم ، باید بتوانیم یک اتصال ایمن به AWS IOT ایجاد کنیم. برای این کار باید گواهینامه های AWS را به ESP ارائه دهیم. در جادوگر راه اندازی سیستم عامل Mongoose منوی Device Config را انتخاب کرده و سپس منطقه AWS مناسب و خط مشی AWS را برای محیط AWS خود انتخاب کنید. روی دکمه Provision with AWS IOT کلیک کنید. دستگاه با اطلاعات صحیح برای اتصال به سرویس AWS راه اندازی می شود. گواهینامه ها به طور خودکار نصب می شوند.
توجه داشته باشید:
کاربر می تواند منطقه AWS مناسب و سیاست AWS را انتخاب کند. در سناریوی ما ، ما منطقه AWS را به عنوان ap-southeast-1 و سیاست AWS را به عنوان mos-default انتخاب کردیم
پس از اتمام دستگاه تأمین در AWS IOT ، اکنون ماژول Wi -Fi esp8266 می تواند با AWS -IOT ارتباط برقرار کند
مرحله 8: بارگذاری نمونه کد در برد NodeMCU
پس از اجرای جادوگر راه اندازی Mongoose ، اگر روی منوی فایل های دستگاه کلیک کنید ، فایلی به نام init.js وجود دارد. در داخل آن فایل نمونه کد وجود دارد. اگر روی دکمه Save +Reboot کلیک کنید ، کد نمونه بارگیری می شود و خروجی را می توان از Device Logs مشاهده کرد
مرحله 9: شروع به کار با حساب AWS
AWS چیست؟
خدمات وب آمازون (AWS) یک ارائه دهنده خدمات ابری از آمازون است که خدمات را در قالب بلوک های ساختمان ارائه می دهد ، از این بلوک های ساختمانی می توان برای ایجاد و استقرار هر نوع برنامه در ابر استفاده کرد. این خدمات یا اجزای سازنده برای کار با یکدیگر طراحی شده اند و منجر به برنامه های پیچیده و بسیار مقیاس پذیر می شوند.
چگونه تنظیم کنیم؟
دو راه برای راه اندازی خدمات AWS وجود دارد
استفاده از ابزار خط فرمان AWS CLI
استفاده از رابط کاربری AWS
مرحله 10: ابزار خط فرمان AWS CLI (اختیاری)
ابتدا باید AWS CLI را نصب کنیم. AWS CLI یک ابزار خط فرمان است که دستوراتی را برای تعامل با خدمات AWS ارائه می دهد. این به شما امکان می دهد از عملکرد ارائه شده توسط کنسول مدیریت AWS از ترمینال استفاده کنید. Mongoose از این ابزار برای تهیه دستگاه IOT در AWS IOT استفاده می کند. AWS CLI به اعتبار شما نیاز دارد تا بتواند به AWS متصل شود. برای راه اندازی aws را از خط فرمان پیکربندی کرده و اطلاعات دسترسی خود (اطلاعات کاربری خود) را وارد کنید. به عبارت ساده ، می توانید از طریق یک رابط کاربری ساده و بصری مبتنی بر وب ، به خدمات وب آمازون دسترسی پیدا کرده و آنها را مدیریت کنید. اگر نگرانی شما دسترسی به برخی از ویژگی ها با استفاده از تلفن همراه است ، برنامه تلفن همراه AWS Console به شما امکان می دهد منابع را در حال حرکت سریع مشاهده کنید.
مرحله 11: خدمات وب آمازون (GUI)
پس از ارائه AWS ، می توانیم وارد کنسول مدیریت AWS شویم ، در زیر برگه خدمات دسته های مختلفی داریم. قبل از شروع به بررسی ویژگی های این کنسول ، باید یک حساب کاربری در AWS ایجاد کنید. برای افرادی که حساب ندارند می توانند به وب سایت AWS مراجعه کرده و یک حساب کاربری رایگان ایجاد کنند. شما باید مشخصات کارت اعتباری/بدهی خود را وارد کنید. تا زمانی که از سرویس ها طبق محدودیت های تعیین شده استفاده می کنید ، AWS در طول اشتراک رایگان شما از شما هزینه ای دریافت نمی کند.
مرحله 12: AWS IOT Core
پس از ورود به سیستم ، به صفحه زیر هدایت می شوید و در اینترنت چیزها هسته IOT را انتخاب کنید
مرحله 13: AWS IOT - مانیتور
هنگامی که هسته IOT را انتخاب کردید صفحه بالا ظاهر می شود سپس منوی تست را انتخاب کنید
مرحله 14: AWS IOT - اشتراک
پس از انتخاب منوی Test به اشتراکات هدایت می شوید. در موضوع اشتراک موضوع مورد نظر خود را مشخص کرده و دکمه Subscribe to topic را کلیک کنید
مرحله 15: انتشار پیام پیش فرض
پس از آن به صفحه بالا هدایت می شوید. اگر روی انتشار روی موضوع کلیک کنید ، نمونه پیام را داریم که به طور پیش فرض در اینجا نمایش داده می شود
توجه: اگر می خواهید یک کد جدید بنویسید و در برد NodeMCU بارگذاری کنید (کدی که ما می نویسیم باید در فایل منیجر دستگاه> فایل init.js بارگذاری شود ، باید نام موضوع را در کد وارد کنید. پس از وارد کردن نام موضوع ، برای انتشار خروجی ، باید از نام موضوع مشابه در بخش اشتراک ها استفاده کنید
مرحله 16: انتشار اطلاعات فشرده دکمه
مرحله 17: مقادیر دما و رطوبت را در بستر AWS IOT منتشر کنید
مرحله 18: وظیفه
as مدار را مطابق شکل زیر وصل کنید
OS سیستم عامل مانگوس را روی ماژول ESP8266 فلش کنید
device ارائه دستگاه در AWS IOT
code کد برنامه نویسی را در برد NodeMCU بارگذاری کنید
خروجی را در سیاهههای مربوط به دستگاه بررسی کنید (شکل 9 را ببینید)
into وارد حساب AWS شوید
sub زیر منوی اصلی IOT را انتخاب کنید
the گزینه Test را از قسمت کلاینت MQTT انتخاب کنید
topic موضوع مربوطه را در اشتراک ها مشخص کنید
. روی دکمه انتشار به موضوع کلیک کنید
اطمینان حاصل کنید که هر زمان که دکمه فلش را فشار می دهید دما و رطوبت را به عنوان پیام دریافت می کنید
توصیه شده:
شروع کار با WeMos ESP8266: 6 مرحله
شروع کار با WeMos ESP8266: در این دستورالعمل ، ما قصد داریم مثال چشمک زن Led را بر روی WeMos ESP8266 اجرا کنیم
شروع به کار با پایتون برای ESP8266 و ESP32: 6 مرحله
شروع به کار با پایتون برای ESP8266 و ESP32: Bacground ESP8266 و برادر بزرگترش ESP32 ریزتراشه های کم هزینه Wi-Fi با پشته کامل TCP/IP و قابلیت کنترل میکرو هستند. تراشه ESP8266 اولین بار در سال 2014 مورد توجه جامعه سازندگان قرار گرفت. از آن زمان ، قیمت پایین (
شروع به کار با دوربین M5StickV AI + IOT: 6 مرحله (همراه با تصاویر)
شروع به کار با دوربین M5StickV AI + IOT: مرور مختصر M5StickV یک دوربین کوچک AI + IOT است که تقریباً به قطر 2 سکه است ، قیمت حدود 27.00 دلار است که برای برخی می تواند برای چنین دوربین کوچکی گران به نظر برسد اما برخی از آنها را بسته بندی می کند مشخصات مناسب منبع تغذیه دوربین فوق باورنکردنی
شروع به کار با AWS IoT با سنسور دمای بی سیم با استفاده از MQTT: 8 مرحله
شروع به کار با AWS IoT با سنسور دمای بی سیم با استفاده از MQTT: در دستورالعمل های قبلی ، ما از سیستم عامل های مختلف ابری مانند Azure ، Ubidots ، ThingSpeak ، Losant و غیره استفاده کرده ایم. تقریباً از پروتکل MQTT برای ارسال داده های حسگر به ابر تقریباً استفاده می کنیم. تمام پلت فرم ابر برای اطلاعات بیشتر
ورودی آنالوگ IoT - شروع به کار با اینترنت اشیا: 8 مرحله
ورودی آنالوگ IoT - شروع با اینترنت اشیا: درک ورودی های آنالوگ بخش مهمی از درک نحوه کارکردن چیزهای اطراف ما است ، اگر نه همه سنسورها سنسورهای آنالوگ هستند (گاهی اوقات این حسگرها به دیجیتال تبدیل می شوند). برخلاف ورودی های دیجیتالی که فقط می توانند روشن یا خاموش باشند ، ورودی آنالوگ