فهرست مطالب:
- مرحله 1: MQTT چیست؟
- مرحله 2: نصب MQTT Broker بر روی Raspberry Pi
- مرحله 3: اتصال IOT Cricket به RaspberryPi Over MQTT
- مرحله 4: پیامهای MQTT را بازرسی کنید
- مرحله 5: خلاصه
- مرحله 6: درباره ما
تصویری: سیستم اتوماسیون خانگی WiFi بسیار کم مصرف: 6 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
در این پروژه ما نشان می دهیم که چگونه می توانید در چند مرحله یک سیستم اصلی اتوماسیون خانگی محلی ایجاد کنید. ما قصد داریم از Raspberry Pi استفاده کنیم که به عنوان یک دستگاه WiFi اصلی عمل می کند. در حالی که برای گره های پایانی ما قصد داریم از IOT Cricket برای ساخت دستگاههای WiFi باتری استفاده کنیم ، به عنوان مثال سنسور دما و آن را بدون نوشتن یک خط کد به RPi وصل کنید.
سیستم ما بر اساس پروتکل ارتباطی MQTT است که در اکثر سیستم های اتوماسیون خانگی بسیار مورد استفاده قرار می گیرد. برای راه اندازی آن ، کارگزار Mosquitto MQTT (سرور) را انتخاب کرده و آن را بر روی Raspberry Pi (مرکز مرکزی ما) نصب می کنیم.
IOT Cricket همچنین از پروتکل های HTTP (S) و MQTT پشتیبانی می کند. ما آن را پیکربندی می کنیم تا از MQTT برای ارتباط مستقیم با کارگزار RPi MQTT استفاده کنیم.
این پروژه می تواند توسط سازندگان در تمام سطوح مهارت محقق شود. ممکن است به لحیم کاری اولیه نیاز داشته باشد ، اما نیازی به برنامه نویسی یا برنامه نویسی ندارد. در پایان این پروژه شما یک ایده محکم خواهید گرفت که چگونه می توانید به راحتی سیستم خود را بسازید و با افزودن گره های انتهایی IOT خود به سیستم به سرعت توسعه دهید.
تدارکات:
- Raspberry Pi (ما از ورژن 3 برای این پروژه استفاده کردیم)
- ماژول WiFi IOT Cricket
- نگهدارنده باتری 2xAAA
- باتری 2xAAA
مرحله 1: MQTT چیست؟
پروتکل MQTT یک روش سبک برای انجام پیام ها با استفاده از مدل انتشار/اشتراک ایجاد می کند. این امر آن را برای پیام های اینترنت اشیاء مانند سنسورهای کم مصرف یا دستگاه های تلفن همراه مانند تلفن ها ، رایانه های جاسازی شده یا میکروکنترلرها مناسب می کند. (منبع: mosquitto.org)
ما می توانیم از هر تعداد دستگاهی که می خواهیم برای مشترک شدن در موضوعات و گوش دادن به پیامها استفاده کنیم ، استفاده کنیم. اگر برخی از دستگاه ها پیام را در مورد آن موضوع منتشر می کنند ، همه دستگاه هایی که مشترک موضوع هستند ، آن پیام را فوراً دریافت می کنند. موضوع می تواند هر رشته دلخواهی باشد که معمولاً با / کاراکترها ترکیب شده است تا بتواند موضوعات سلسله مراتبی را ایجاد کند. معمول ترین کاربرد MQTT داشتن یک سرور مرکزی است که دستگاه ها می توانند مشترک شده و پیامها را منتشر کنند. همه ارتباطات بین دستگاههای متصل به آن سرور را تسهیل می کند. در این پروژه ما از RPi برای کارگزار مرکزی MQTT خود استفاده خواهیم کرد و سایر دستگاه ها از طریق این کارگزار پیام ارسال می کنند. بهترین راه برای یادگیری در مورد آن ، بدیهی است که آن را توسط خودمان انجام دهیم. منابع زیادی در اینترنت در MQTT موجود است. با این حال ، برای این پروژه باید با یک مقدمه اولیه ، که در بالا ارائه کردیم ، مشکلی نداشته باشید.
مرحله 2: نصب MQTT Broker بر روی Raspberry Pi
برای این پروژه از یک کارگزار منبع باز Mosquitto MQTT استفاده می کنیم. سبک است و برای استفاده در همه دستگاه ها از رایانه های تک برد کم مصرف تا سرورهای کامل مناسب است.
قبل از شروع نصب ، تمرین خوبی است که ابتدا اجزای سیستم را به روز کنید:
$ sudo apt-get بروزرسانی $ sudo apt-get ارتقا دهید
بروکر Mosquitto را نصب کنید. یک ترمینال را باز کرده و دستور زیر را تایپ کنید:
$ sudo apt -get mosquitto -y را نصب کنید
پیکربندی کارگزار Mosquitto. ویرایش فایل پیکربندی:
$ sudo vi /etc/mosquitto/mosquitto.conf
و خطوط زیر را در بالا اضافه کنید:
پورت 1883allow_anonymous درست است
راه اندازی مجدد RPi برای اعمال تغییرات:
راه اندازی مجدد $ sudo
خودشه! کارگزار MQTT ما اکنون راه اندازی شده است!
توجه: به خاطر سادگی این پروژه ، ما حساب ایجاد نمی کنیم. بنابراین هر کسی در شبکه محلی ما می تواند بدون اعتبار به این کارگزار MQTT متصل شود. اگر می خواهید احراز هویت کاربر را اضافه کنید و امنیت آن را افزایش دهید ، آموزشهای زیادی در اینترنت وجود دارد که چگونه این کار را انجام دهید.
اکنون ، ما فقط باید آدرس IP را بدست آوریم تا بتوانیم از سایر دستگاه های موجود در شبکه به کارگزار Mosquitto خود پیام ارسال کنیم:
دریافت آدرس IP:
$ hostname -I
your_RPi_IP_address (به عنوان مثال 192.168.1.10)
مرحله 3: اتصال IOT Cricket به RaspberryPi Over MQTT
در این پروژه ما از ماژول IOT Cricket WiFi برای یک سنسور ساده استفاده می کنیم تا دمای هر 30 ثانیه را به سیستم ما گزارش دهد. با باتری کار می کند تا بتوانیم آن را در هرجای خانه یا باغ بچسبانیم. بعداً می توانید از IOT Cricket برای ساخت سنسورهای مختلف باتری ، زنگ هشدار ، دکمه ها ، سوئیچ ها و اتصال آنها به دلال RPi MQTT خارج از جعبه استفاده کنید.
در مرحله اول باتری ها را به کریکت وصل کنید.
کریکت دارای سنسور دما است. ما فقط باید آن را پیکربندی کنیم تا با تنظیم آدرس IP RPi مقدار دما را به کارگزار MQTT ما ارسال کند. برای انجام این کار پنل پیکربندی Cricket را باز کنید (مراحل را اینجا ببینید) و تنظیمات زیر را اعمال کنید (همانطور که در تصویر زیر نشان داده شده است ، لطفا آدرس IP را در کادر "url" به RPi خود تنظیم کنید)
اکنون می توانیم از حالت پیکربندی خارج شویم. دستگاه آماده است! کریکت در حال ارسال داده ها به کارگزار MQTT ما هر 30 ثانیه است.
مرحله 4: پیامهای MQTT را بازرسی کنید
برای مشاهده / دریافت پیام های ارسال شده به کارگزار MQTT ما می توانیم از ابزارهای مختلف استفاده کنیم.
ساده ترین آنها ممکن است ابزار خط فرمان mosquitto_sub باشد. ما می توانیم آن را روی هر رایانه ای در شبکه خود یا روی RPi خود با این دستور نصب کنیم:
$ sudo apt-get install mosquitto-clients -y
اکنون می توانیم دستور زیر را برای گوش دادن به همه موضوعات و پیام های ارسال شده از طریق کارگزار MQTT خود اجرا کنیم:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / DEVICE_NAME MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / دمای 26.0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
موارد فوق یک نمونه خروجی از آنچه IOT Cricket برای کارگزار ما ارسال می کند ، است. در میان سایر داده هایی که می توانیم ببینیم دما وجود دارد:
/59A98F494C/دمای 26.0
زیبایی MQTT این است که به ما اجازه می دهد فقط در موضوعات مورد علاقه خود مشترک شویم. اگر می خواهیم فقط دما را دریافت کنیم ، می توانیم با استفاده از دستور زیر در موضوع /59A98F494C /temp مشترک شویم:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
مرحله 5: خلاصه
ما در این پروژه یک سخت افزار و نرم افزار ضروری را برای شروع ساخت سیستم های اتوماسیون خانگی کم مصرف ، کم مصرف و مبتنی بر WiFi نشان داده ایم. MQTT ذاتی است که باید برای سیستم های پیچیده تر مورد استفاده قرار گیرد.
اکوسیستم نرم افزار و خدمات قابل ادغام با MQTT بسیار بزرگ است! بسیاری از سیستم های عالی مانند Home Assistant ، Node RED ، Grafana و غیره وجود دارد که به شما امکان می دهد تجربه کاربری عالی از سیستم خود را بدست آورید. ما نه تنها می توانیم یک چاپ ساده از دما انجام دهیم ، بلکه می توانیم داشبورد های خوبی برای تجسم داده ها و مدیریت دستگاه های شما داشته باشیم.
اکنون که ما این زیرساخت اصلی سیستم را در اختیار داریم ، آسمان محدودیت ما در مورد سایر دستگاه های WiFi است که می توانیم با استفاده از ماژول های IOT Cricket بسازیم و به سیستم اتوماسیون خانگی خود اضافه کنیم.
ممنون که به اینجا رسیدی امیدواریم از این آموزش لذت برده باشید!
تیم Things On Edge
مرحله 6: درباره ما
Things On Edge یک شرکت مستقر در کمبریج انگلستان است. ما ماژول وای فای کریکت با باتری بسیار کم را طراحی می کنیم تا بتوانید دستگاه های الکترونیکی مختلف را به صورت واقعی در چند دقیقه به تلفن های هوشمند یا سایر خدمات اینترنتی متصل کنید. نیازی به برنامه نویسی و کد نویسی ندارد. این به شما امکان می دهد دستگاه های خود را در یک سرویس بزرگ اکوسیستم IOT روی MQTT و HTTP apis ادغام کنید.
توصیه شده:
اینترنت/سیستم کنترل اتوماسیون خانگی با استفاده از Esp8266 (aREST ، MQTT ، IoT): 7 مرحله (همراه با تصاویر)
اینترنت/ابر کنترل اتوماسیون خانگی با استفاده از Esp8266 (aREST ، MQTT ، IoT): همه اعتبارات به http://arest.io/ برای سرویس ابر !! اینترنت اشیا بحث برانگیزترین موضوع در حال حاضر در جهان است !! سرورها و سرویس های ابری که این امر را ممکن می سازد ، نقطه جاذبه دنیای امروز است
چگونه می توان مصرف برق ماژول های ارتباطات بی سیم را در دوران مصرف کم مصرف به درستی اندازه گیری کرد؟: 6 مرحله
چگونه می توان میزان مصرف برق ماژول های ارتباطات بی سیم را در دوران مصرف کم انرژی اندازه گیری کرد ؟: مصرف کم برق یک مفهوم بسیار مهم در اینترنت اشیا است. اکثر گره های اینترنت اشیا نیاز به تغذیه باتری دارند. تنها با اندازه گیری صحیح مصرف برق ماژول بی سیم ، می توان میزان باتری را به طور دقیق تخمین زد
DIY هک سیستم اتوماسیون خانگی خود: 7 مرحله (همراه با تصاویر)
DIY هک سیستم اتوماسیون خانگی خود: یک سیستم اتوماسیون خانگی باید بتواند وسایلی مانند چراغ ها ، پنکه ها ، سیستم های سرگرمی و غیره را روشن/خاموش کند. سیستمی که بی سیم و در عین حال مستقل از اینترنت ، اما مهمتر از همه ، DIY و باز است منبع -چون می خواهم بفهمم
سیستم قدرتمند اتوماسیون خانگی مستقل - Pi ، Sonoff ، ESP8266 و Node -Red: 9 مرحله (همراه با تصاویر)
سیستم قدرتمند اتوماسیون مستقل خانگی - Pi ، Sonoff ، ESP8266 و Node -Red: این راهنما باید شما را به اولین جایی برساند که می توانید چراغ یا دستگاهی را از طریق هر دستگاهی که می تواند به شبکه محلی شما متصل شود ، روشن یا خاموش کنید. رابط وب قابل شخصی سازی عالی دامنه افزودن/ افزودن ویژگی ها بسیار گسترده است ، از جمله
سیستم اتوماسیون خانگی با استفاده از ماژول بلوتوث آردوینو و HC-05: 5 مرحله (همراه با تصاویر)
سیستم اتوماسیون خانگی با استفاده از ماژول بلوتوث آردوینو و HC-05: سلام بچه ها حال شما چطور است! امروز من با دومین آردوینو آموزش پذیر هستم. این یک سیستم اتوماسیون خانگی کنترل شده با بلوتوث است. شما می توانید لوازم خانگی خود را فقط از طریق تلفن هوشمند خود کنترل کنید. همه همه چیز عالی کار می کند! همچنین من برنامه را طراحی کردم