فهرست مطالب:
- تدارکات
- مرحله 1: آشنایی با MQTT
- مرحله 2: آشنایی با بستر اینترنت اشیا
- مرحله 3: ناشر MQTT را آماده کنید
- مرحله 4: پی نوشت
- مرحله 5: اعتبار و پشتیبانی
تصویری: اصول اینترنت اشیا: اتصال اینترنت اشیاء خود به ابر با استفاده از سیستم عامل Mongoose: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
اگر شما فردی هستید که مشغول کار با وسایل الکترونیکی و وسایل الکترونیکی هستید ، بیشتر اوقات با عبارت اینترنت اشیاء روبرو می شوید که معمولاً به اختصار IoT نامیده می شود و به مجموعه ای از دستگاه ها اشاره می کند که می توانند به اینترنت متصل شوند! من خودم چنین شخصی بودم ، وقتی فهمیدم که چنین دستگاه های بزرگی به راحتی در دسترس من هستند ، مجذوب شدم. صرفاً تصور اینکه بتوانم پروژه های خود را با استفاده از یک قطعه سخت افزاری کوچک به اینترنت متصل کنم و فقط به فکر دروازه های بیشماری باشم که برای ایده های پروژه من باز می شود ، من را به خود جلب کرده است.
اما گفتن اینترنت اشیا برای اتصال به اینترنت به این سادگی نیست که فقط آن را از قفسه خریداری کرده و آن را تقویت کنید. و جدا از اتصال دستگاه به اینترنت ، ما همچنین باید برخی از اطلاعات مفید را به اینترنت منتقل کنیم. این دستورالعمل به روش مورد نیاز برای دستیابی به هدف فوق می پردازد و برای خوانندگان با هر سطح تجربه ، از مبتدیان تا جانبازان تازه کار در اینترنت اشیا در نظر گرفته شده است.
در این دستورالعمل ، به عنوان مثال ، من نحوه ترسیم نمودار قرائت های سنسور دمای داخلی صفحه توسعه ESP32 را نشان می دهم که باید ایده خوبی از این روند به خوانندگان بدهد.
اگرچه این دستورالعمل از ESP32 و سیستم عامل Mongoose استفاده می کند ، اما این روش را می توان به تمام IoT ها و سیستم عامل موجود گسترش داد!
تدارکات
برای اینکه بتوانید این دستورالعمل را خودتان پیاده سازی کنید ، فقط به حداقل مقدار سخت افزار نیاز دارید ، و آنها عبارتند از:
- اینترنت اشیاء (IoT): من از کلون برد هیئت مدیره ارزان ESP32 استفاده کرده ام. اگر قصد خرید برد جدید توسعه ESP32 را دارید ، باید برد ESP32 DFRobot را بررسی کنید.
- کابل داده: از کابل استفاده کنید که اینترنت اشیاء شما برای چشمک زدن و غیره نیاز دارد.
- یک باتری (اختیاری): این را فقط در صورتی بخرید که قصد دارید IoT خود را برای مدت طولانی تقویت کنید.
- یک تخته کوچک نان (اختیاری)
من به خواننده پیشنهاد می کنم از اینترنت اشیا متفاوت از ESP32 استفاده کند تا به جای تقلید از من ، واقعاً آنچه را که در اینجا انجام می شود بفهمد. به من اعتماد داشته باشید ، از اجرای این فرایند با استفاده از ذهن خود در برخی دیگر از اینترنت اشیا لذت خواهید برد ، به عنوان مثال ، ESP8266 انتخاب خوبی خواهد بود.
مرحله 1: آشنایی با MQTT
MQTT چیست؟
"MQTT یک پروتکل پیام رسانی ساده است که برای دستگاه های محدود با پهنای باند پایین طراحی شده است. بنابراین ، این راه حل مناسب برای برنامه های اینترنت اشیاء است. MQTT به شما امکان می دهد دستوراتی را برای کنترل خروجی ها ، خواندن و انتشار داده ها از گره های حسگر و موارد دیگر ارسال کنید. " (از RandomNerdTutorials)
MQTT چگونه کار می کند؟
قبل از انجام کارهای فنی ، بیایید ابتدا به دنیای واقعی خود فکر کنیم. فرض کنید شما علاقه مند به مجموعه کارتهایی هستید که متعلق به دوست دوست شماست ، مثلاً لورل ، که شخصاً او را نمی شناسید. از آنجا که شما در مورد آن مجموعه کارت بسیار علاقه دارید ، از دوست خود ، فرض کنید تام ، می پرسد که آیا لورل مایل به فروش آن است یا خیر. در حین انجام این کار ، از تام می خواهید اگر لورل مایل به فروش است ، مجموعه کارت را بخرد ، زیرا شما نمی خواهید شخص دیگری مجموعه ای را که مشتاقش هستید به دست او برساند! با گذشت زمان ، تام و لورل با یکدیگر ارتباط برقرار می کنند و با توافق متقابل ، لورل مجموعه کارت های خود را در ازای دریافت پول به تام می دهد. پس از این مبادله ، تام کارت ها را نزد خود نگه می دارد تا زمانی که دوباره با شما ملاقات کند ، یعنی زمانی که بالاخره مجموعه کارت ها را به شما می دهد. اینگونه است که یک مبادله معمولی در زندگی روزمره ما پیش می رود.
در MQTT ، عناصر اساسی در مبادله عبارتند از ناشر (Laurel) ، مشترک (You) و کارگزار (Tom). گردش کار آن نیز مشابه مثال فوق در دنیای واقعی است ، به جز یک تفاوت بزرگ! در MQTT ، مبادله توسط کارگزار آغاز می شود ، یعنی لورل اولین کسی است که به تام می رسد و می گوید که می خواهد مجموعه کارت خود را بفروشد. اگر کار MQTT را با مثال دنیای واقعی خود مقایسه کنیم ، به شرح زیر است:
- لورل به تام می گوید که می خواهد مجموعه کارت خود (داده یا بار) را بفروشد و کارت ها را به او می دهد.
- تام آن کارتها را در اختیار دارد و برای ارائه مجموعه کارت آماده است. وقتی شما و تام ملاقات می کنید و او متوجه می شود به کارت علاقه دارید (مشترک یک موضوع شوید). سپس تام کارت ها را به شما می دهد.
از آنجا که کل فرایند متکی به کارگزار است و هیچ گونه تعامل مستقیم بین مشترک و ناشر وجود ندارد ، MQTT زحمت همگام سازی ناشر و مشترک را برطرف می کند. وجود یک کارگزار واسطه برای دستگاه های محدود با منابع مانند اینترنت اشیاء و ریزپردازنده ها یک مزیت است زیرا قدرت پردازش آنها برای انتقال داده ها به روش عادی کافی نیست ، که هزینه های اضافی اضافی مانند احراز هویت ، رمزگذاری و غیره را شامل می شود. MQTT دارای بسیاری از ویژگی های دیگر مانند سبک بودن ، توزیع یک به چند و غیره است که آن را برای شبکه های محدود و سرویس گیرندگان ایده آل می کند.
مرحله 2: آشنایی با بستر اینترنت اشیا
بستر اینترنت اشیا چیست؟
"در سطح بالایی ، بستر اینترنت اشیاء (IoT) نرم افزاری است که سخت افزارهای حاشیه ای ، نقاط دسترسی و شبکه های داده را به سایر قسمت های زنجیره ارزش (که عموماً برنامه های کاربر نهایی هستند) متصل می کند. وظایف مدیریتی مداوم و تجسم داده ها را انجام دهید ، که به کاربران اجازه می دهد محیط خود را خودکار کنند. " (از Link-Labs)
به طور خلاصه ، یک بستر اینترنت اشیا به عنوان رسانه ای بین کاربر و عوامل جمع آوری اطلاعات عمل می کند که وظیفه نمایش داده های جمع آوری شده را بر عهده دارد.
در این دستورالعمل ، ما در حال برنامه ریزی برای قرائت درجه حرارت ESP32 خود به صورت آنلاین هستیم. ESP32 ما به عنوان ناشر MQTT عمل می کند و کارگزار MQTT یک پلت فرم IoT به انتخاب ما خواهد بود. توجه داشته باشید که در پروژه ما ، هیچ نقشی از مشترک MQTT وجود ندارد زیرا داده ها توسط خود پلتفرم به صورت مستقیم نمایش داده می شوند. پلتفرم اینترنت اشیا مسئول ذخیره اطلاعات منتشر شده ما و نمایش خوب آن در اینجا به عنوان نمودار خطی خواهد بود. من از Losant به عنوان بستر اینترنت اشیاء خود در اینجا استفاده می کنم ، زیرا استفاده از آن رایگان است و راه های خوبی برای نمایش داده ها ارائه می دهد. برخی دیگر از پلتفرم های اینترنت اشیا عبارتند از Google Cloud ، Amazon AWS و Adafruit ، Microsoft Azure و غیره. من می خواهم به خواننده توصیه کنم که به اسناد پلت فرم IoT انتخابی خود مراجعه کند.
راه اندازی Losant:
- وارد Losant شوید
- ایجاد دستگاه (نوع مستقل)
- چند نوع داده به دستگاه اضافه کنید 1. نام: دما ، نوع داده: شماره 2. نام: افست ، نوع داده: شماره 3. نام: واحد ، نوع داده: رشته
- یک کلید دسترسی ایجاد کنید و شناسه دستگاه و کلید دسترسی را یادداشت کنید
- ایجاد یک نمودار 1 ایجاد داشبورد.2. بلوک "نمودار سری زمانی" را با استفاده از متغیر دما و دستگاه ایجاد شده خود به آن اضافه کنید.
"شناسه دستگاه" به عنوان یک اثر انگشت منحصر به فرد برای یک دستگاه عمل می کند. "کلیدهای دسترسی" ، همانطور که از نامش پیداست ، به IoT اجازه می دهد تا تحت هویت دستگاه در Losant منتشر کند.
مرحله 3: ناشر MQTT را آماده کنید
اکنون که ما بستر اینترنت اشیا را برای دریافت و نمایش داده ها آماده کرده ایم ، باید یک ناشر MQTT تهیه کنیم که وظیفه جمع آوری و ارسال داده ها را به پلت فرم بر عهده دارد.
طرح کلی ناشر MQTT به شرح زیر است:
- کد را بنویسید: برای آموزش به ناشر (IoT) نحوه جمع آوری داده ها ، پردازش و ارسال آنها به پلت فرم IoT. دستورالعمل ها به زبانهای برنامه نویسی سطح بالا قابل خواندن برای انسان نوشته شده است که معمولاً به آن کد گفته می شود.
- سیستم عامل را فلش کنید: اینترنت اشیا به آسانی این دستورالعمل ها را درک نمی کند زیرا در ابتدا هیچ زبانی نمی داند. برای پل زدن این مانع زبانی بین انسان و ماشین ، کد به مجموعه ای خام از دستورالعمل ها ، اساساً مجموعه ای از مقادیر هگزا دسیمال یا باینری مخصوص مکان های حافظه در داخل اینترنت اشیا ، معروف به سیستم عامل که سپس به اینترنت اشیا نمایش داده می شود ، گردآوری می شود.
در این دستورالعمل ، از آنجا که من از ESP32 دستی خود استفاده می کنم ، سیستم عامل سیستم عامل Mongoose را روی آن فلش می کنم ، که برنامه های C و JavaScript را که هر دو نوشته شده است می پذیرد. جدا از سازگاری با JS ، سیستم عامل Mongoose هنوز چیزهای زیادی برای ارائه دارد ، مانند به روزرسانی های هوایی ، برای تغییر برنامه آنلاین شما و یک داشبورد اختصاصی برای دستگاه ها (mDash) و غیره.
من یک برنامه منبع باز برای سیستم عامل Mongoose برای این دستورالعمل ایجاد کرده ام. این یک برنامه ساده با نام losant-temp-sensor است که از MQTT برای ارسال قرائت تقریبی دمای محیط بر اساس قرائت دمای داخلی ESP32 به Losant (یک پلتفرم اینترنت اشیاء رایگان استفاده می کند) استفاده می کند. توصیه می شود برای درک بهتر کد برنامه را مرور کنید. ما این برنامه را برای این دستورالعمل چشمک می زنیم.
اگر از نوع ماجراجو هستید ، ممکن است با سیستم عامل Arduino-ESP32 که از ESP32 به عنوان Arduino (با قابلیت WiFi) استفاده می کند ، به همان هدف برسید.
خلاصه ای سریع برای چشمک زدن برنامه با سیستم عامل Mongoose:
- ابزار mos را برای سیستم عامل خود نصب کنید.
-
ابزار را باز کرده و دستورات زیر را اجرا کنید:
- mos clone
- cd losant-temp-sensor
- mos build --platform esp32
- فلاش mos
- mos wifi "wifi ssid" "password wifi شما" به عنوان مثال. mos wifi "Home" "home@123"
-
mos config-set temperature.basis =
temperature.unit ="
"به عنوان مثال mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
پس از چشمک زدن موفق ، اجازه دهید دستگاه راه اندازی مجدد شود و سپس دستورات زیر را اجرا کنید:
پس از اتمام صحیح تمام این مراحل ، با ESP32 مواجه می شوید که قرائت دما را به صورت دوره ای و پس از هر 10 دقیقه به Losant ارسال می کند. نشر موفقیت آمیز با LED آبی نشان داده شده است ، همانطور که در فیلم بالا نشان داده شده است.
مرحله 4: پی نوشت
اگر می توانید مراحل قبلی را به درستی تکرار کنید ، اکنون یک پروژه کاری دارید که به کمک آن می توانید روند دمای داخل اتاق خود و یا هر کجا که قصد دارید پروژه را قرار دهید مشاهده کنید. از آنجایی که من این دستورالعمل را تا آنجا که می توانستم آن را کلی نگه داشته ام ، بنابراین می توانید از اینترنت اشیاء خود برای جمع آوری داده های مختلف استفاده کنید و سعی کنید نتیجه مفیدی از آن به دست آورید ، یا می توانید این کار را فقط به منظور گمراه کردن انجام دهید. این دستورالعمل را به درستی درک کرده اید
برای من ، بهترین بخش در مورد اینترنت اشیا این واقعیت است که ما را قادر می سازد تا حجم عظیمی از داده ها را جمع آوری کنیم ، اگر به تنهایی جمع آوری نشده و آنها را به چیزی قطعی تبدیل کنیم. این واقعاً روح علم را به خانه می زند. برای من بسیار رضایت بخش و روشن کننده بود که متوجه شدم دما در اتاق من در ساعات بارانی از طریق نمودار من مشاهده می شود.
برنامه losant-temp-sensor-sensor برای مصرف برق بهینه شده است ، زیرا از ویژگی خواب عمیق ESP32 استفاده می کند ، بنابراین می توانید از آن برای مدت زمان طولانی بدون هیچ گونه نگرانی در مورد باتری استفاده کنید. با حذف LED روی برد توسعه می توانید بازدهی مصرف برق را افزایش دهید. نمودار فعلی کل تنظیمات در بالا نشان داده شده است.
هدف از این دستورالعمل ، از ابتدا این بود که شما را با دنیای IoT آشنا کند. پس از اتمام این دستورالعمل ، اصول اولیه ای را در اختیار خواهید داشت که می توانید از طریق سایر منابع آنلاین حتی بیشتر آنها را تقویت کنید.
اگرچه در این مرحله نمی توانید پروژه های پیچیده ای بسازید ، اما همیشه باید در نظر داشت که اگر آجر به اندازه کافی قوی دارید و راهی برای ترکیب آنها با یکدیگر وجود دارد ، می توانید هر ساختار قابل تصوری را از ساده بسازید. به پیچیده به طور مشابه ، درک خوب از اصول اولیه و دانستن نحوه استفاده صحیح از آنها به شما این امکان را می دهد که تعداد زیادی از موارد احتمالی را ارائه دهید. بنابراین برای برداشتن اولین قدم به خود پشت بزنید.
مرحله 5: اعتبار و پشتیبانی
این دستورالعمل شامل تصاویر است ، به عنوان مثال یکی که تبادل MQTT را توضیح می دهد ، که من شخصاً انجام داده ام. این تصاویر تنها به لطف بسته های SVG رایگان برای استفاده زیر امکان پذیر است:
- وکتور اینفوگرافیک ایجاد شده توسط freepik - www.freepik.com
- بردار اینفوگرافیک ایجاد شده توسط starline - www.freepik.com
- وکتور مردم ایجاد شده توسط pikisuperstar - www.freepik.com
- بردار انتزاعی ایجاد شده توسط ماکرووکتور - www.freepik.com
- بردار خلاصه ایجاد شده توسط ماکرووکتور - www.freepik.com
- وکتور اینفوگرافیک ایجاد شده توسط pikisuperstar - www.freepik.com
این دستورالعمل توسط DFRobot حمایت می شود. DFRobot دارای یک مجموعه الکترونیکی عالی است ، بنابراین حتماً آن را بررسی کنید.
اگر احساس می کنید که این دستورالعمل را دوست دارید و دستورالعمل های بیشتری مانند این را می خواهید ، می توانید از من در Patreon حمایت کنید. اگر نمی توانید آنقدر پیش بروید ، ممکن است مرا در اینجا در Instructables دنبال کنید.
توصیه شده:
سیستم پارکینگ هوشمند مبتنی بر اینترنت اشیا با استفاده از NodeMCU ESP8266: 5 مرحله
سیستم پارک هوشمند مبتنی بر اینترنت اشیا با استفاده از NodeMCU ESP8266: امروزه پیدا کردن پارکینگ در مناطق شلوغ بسیار دشوار است و هیچ سیستمی برای جزییات موجود بودن پارکینگ به صورت آنلاین وجود ندارد. تصور کنید اگر می توانید اطلاعات موجود بودن محل پارکینگ را در تلفن خود دریافت کنید و در اطراف خود رومینگ ندارید تا بررسی کنید
سیستم نظارت و کنترل رطوبت خاک مبتنی بر اینترنت اشیا با استفاده از NodeMCU: 6 مرحله
سیستم نظارت و کنترل رطوبت خاک مبتنی بر اینترنت اشیا با استفاده از NodeMCU: در این آموزش ما قصد داریم یک سیستم نظارت و کنترل رطوبت خاک مبتنی بر اینترنت اشیا را با استفاده از ماژول WiFi ESP8266 یعنی NodeMCU پیاده سازی کنیم. اجزای مورد نیاز برای این پروژه: ماژول WiFi ESP8266- آمازون (334/-- INR) ماژول رله- آمازون (130/- INR
ماژول قدرت اینترنت اشیا: افزودن ویژگی اندازه گیری توان اینترنت اشیا به کنترل کننده شارژ خورشیدی من: 19 مرحله (همراه با تصاویر)
ماژول IoT Power: افزودن ویژگی اندازه گیری توان اینترنت اشیا به کنترل کننده شارژ خورشیدی من: سلام به همه ، امیدوارم همه شما عالی باشید! در این مقاله آموزشی می خواهم به شما نشان دهم که چگونه یک ماژول اندازه گیری توان اینترنت اشیا را ایجاد کرده ام که مقدار توان تولید شده توسط پنل های خورشیدی من را که توسط کنترل کننده شارژ خورشیدی مورد استفاده قرار می گیرد ، محاسبه می کند
دکمه درب مجازی با استفاده از سیستم عامل Mongoose و XinaBox: 10 مرحله
دکمه درب مجازی با استفاده از سیستم عامل Mongoose و XinaBox: با استفاده از Mongoose و برخی از xChips ، یک دکمه درب مجازی ایجاد کردیم. به جای یک دکمه فیزیکی برای جاسازی کارکنان ، آنها اکنون می توانند خودشان این کار را انجام دهند
سیستم مانیتورینگ کارخانه اینترنت اشیا (با بستر اینترنت اشیا IBM): 11 مرحله (همراه با تصاویر)
سیستم نظارت بر کارخانه اینترنت اشیا (با پلتفرم IoM IoT): مروری سیستم نظارت بر کارخانه (PMS) یک برنامه کاربردی است که با افرادی که در طبقه کارگر هستند با انگشت شست سبز در نظر گرفته شده است. امروزه افراد شاغل بیش از هر زمان دیگری شلوغ هستند. پیشرفت شغلی و مدیریت امور مالی آنها