خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

یک سرور MQTT و Node-RED را روی Raspberry Pi برای اتوماسیون خانگی نصب کنید

با نصب سرور MQTT و Node-RED، دستگاه های IoT هوشمند DIY را از Raspberry Pi خود کنترل کنید.

پروتکل تله متری صف پیام یا MQTT یک پروتکل پیام رسانی سبک است که برای دستگاه ها و محیط های با پهنای باند کم طراحی شده است. این یک راه حل سریع، آسان برای استقرار و کم مصرف برای اتصال و تبادل اطلاعات بین چندین دستگاه IoT است. برای ارسال یا دریافت اطلاعات، به یک کارگزار/سرور MQTT و موضوعی که پیام‌ها منتشر شده و توسط دستگاه‌ها یا کاربران مشترک شده‌اند، نیاز دارد.

در این راهنما، بروکر MQTT و ابزار Node-RED را بر روی Raspberry Pi برای اتصال دستگاه‌های IoT هوشمند DIY با قابلیت MQTT و استفاده از آنها برای اتوماسیون خانگی مستقر می‌کنیم.

چیزهایی که شما نیاز دارید

برای ساخت و استقرار یک سرور MQTT با Node-RED، به موارد زیر نیاز دارید:

  • Raspberry Pi Zero W یا بهتر. توصیه می کنیم از Raspberry Pi 3 یا 4 (در صورت موجود بودن) استفاده کنید.
  • کارت microSD (8 گیگابایت یا بالاتر).
  • کارت خوان microSD.
  • رایانه شخصی لینوکس، مک یا رایانه شخصی ویندوزی.
  • اتصال به اینترنت (Wi-Fi).

مرحله 1: Raspberry Pi OS Lite (64 بیتی) را نصب کنید

شما به نسخه 64 بیتی Lite Raspberry Pi OS نیاز دارید. در ابزار Raspberry Pi Imager در رایانه دیگری، روی Choose OS > Raspberry Pi OS (Other) کلیک کنید، سپس Raspberry Pi OS Lite (64 بیتی) را انتخاب کنید. علاوه بر این، باید از تنظیمات پیشرفته Imager برای فعال کردن SSH استفاده کنید (ما از pi و raspberry به عنوان نام کاربری و رمز عبور برای این راهنما استفاده کردیم) و اتصال Wi-Fi را پیکربندی کنید. برای جزئیات بیشتر، راهنمای ما در مورد نحوه نصب یک سیستم عامل بر روی Raspberry Pi را بررسی کنید. پس از نوشتن سیستم عامل روی کارت، آن را خارج کرده و در رزبری پای خود قرار دهید.

مرحله 2: از طریق SSH متصل شوید و بسته ها را به روز کنید

می توانید با استفاده از PuTTY در ویندوز یا ترمینال در macOS و Linux به Raspberry Pi خود از طریق SSH متصل شوید. با این حال، برای اتصال از طریق SSH باید IP Raspberry Pi را بدانید. برای فهمیدن این موضوع، می‌توانید تنظیمات DHCP روتر بی‌سیم خود را باز کنید یا از برنامه Fing در تلفن هوشمند خود استفاده کنید.

مطلب مرتبط:   آیا CPU Raspberry Pi 5 دارای یادگیری ماشینی داخلی خواهد بود؟

ip رزبری خود را از طریق تنظیمات روتر dhcp پیدا کنید

آدرس IP را در PuTTY وارد کرده و روی Connect کلیک کنید. برای ورود نام کاربری و رمز عبور خود را تایپ کنید.

از طریق ssh به رزبری پای متصل شوید

در ترمینال لینوکس یا macOS، YourPiUsername@IPAddress را تایپ کنید و سپس رمز عبور را تایپ کنید تا وارد شوید. پس از اتصال از طریق SSH، دستور زیر را برای به روز رسانی لیست بسته ها و ارتقاء بسته ها اجرا کنید.

sudo apt update && sudo apt upgrade –y

مرحله 3: MQTT Broker را نصب کنید

برای نصب و فعال کردن بروکر MQTT (Mosquitto) مراحل زیر را انجام دهید.

  1. Mosquitto را با اجرای دستور زیر در Terminal window.sudo apt install mosquitto mosquitto-clients -y نصب کنید این کار نصب Mosquitto (کارگزار MQTT) و خدمات مشتری را آغاز می کند.
  2. پس از نصب، سرویس Mosquitto را فعال کنید و نسخه MQTT را با استفاده از دستورات زیر بررسی کنید.sudo systemctl enable mosquitto.servicemosquitto -v
  3. یک حساب کاربری برای اجازه دسترسی از راه دور تأیید شده با استفاده از دستور زیر ایجاد کنید.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi در اینجا ravi نام کاربری است (شما می توانید از هر چیزی که دوست دارید استفاده کنید). وقتی از شما خواسته شد رمز عبور را وارد کنید. این نام کاربری و رمز عبور را برای استفاده بعدی یادداشت کنید.
  4. فایل mosquitto.conf را در ویرایشگر نانو با استفاده از دستور زیر باز کنید.sudo nano /etc/mosquitto.conf کد زیر را در nano editor.per_listener_settings truepid_file /run/mosquitto/mosquitto.pidpersistence truepersistence_location /var/lib/mosquit قرار دهید. log_dest file /var/log/mosquitto/mosquitto.loginclude_dir /etc/mosquitto/conf.dallow_anonymous falselistener 1883 password_file /etc/mosquitto/passwd CTRL+X و سپس Y را فشار داده و Enter را فشار دهید تا تغییرات ذخیره شود.
  5. کارگزار MQTT را با اجرای command.sudo systemctl restart mosquitto زیر راه اندازی مجدد کنید
  6. وضعیت کارگزار MQTT را بررسی کنید تا ببینید آیا MQTT در حال اجرا است. sudo systemctl status mosquitto اگر خروجی بالا را مشاهده کردید، MQTT در حال اجرا است.

sudo apt install mosquitto mosquitto-clients -y

سرور mosquitto mqtt را نصب کنید

sudo systemctl enable mosquitto.service
mosquitto -v

خدمات پشه را فعال کنید

sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi

sudo nano /etc/mosquitto.conf

per_listener_settings true

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d
allow_anonymous false
listener 1883
password_file /etc/mosquitto/passwd

فایل پیکربندی پشه را ویرایش کنید

sudo systemctl restart mosquitto

sudo systemctl status mosquitto

وضعیت سرور mqtt را بررسی کنید

مرحله 4: کارگزار MQTT را آزمایش کنید

برای آزمایش اینکه آیا کارگزار MQTT کار می کند یا خیر، MQTTLens یا یک برنامه مشابه MQTT را در کروم یا هر مرورگر وب دیگری نصب کنید و آن را راه اندازی کنید. آدرس IP Raspberry Pi و نام کاربری/رمز عبور MQTT را وارد کنید. روی Create Connection کلیک کنید.

مطلب مرتبط:   نحوه ساخت سوئیچ کم نور وای فای هوشمند DIY

به سرور mqtt متصل شوید و به موضوع تست پیام دهید تا بررسی شود که بروکر mqtt کار می کند

هر موضوعی را در قسمت Subscribe و همان موضوع را در قسمت Publish وارد کنید. “سلام” یا هر چیزی را در قسمت پیام تایپ کنید و روی انتشار کلیک کنید.

پیام های منتشر شده با موفقیت نشان می دهد mqtt کار می کند

اگر پیام زیر اشتراک ها را مشاهده کردید، کارگزار MQTT به خوبی کار می کند.

مرحله 5: Node-RED را نصب کنید

با Node-RED می‌توانید پیام‌ها را منتشر کنید یا محموله‌ها را به یا از دستگاه‌های هوشمند خود ارسال و دریافت کنید. از این محموله می‌توان برای فعال کردن دستگاه‌های هوشمند برای روشن/خاموش کردن یا دریافت داده‌ها (مانند دما) از یک حسگر استفاده کرد. می توانید از مرورگر وب خود برای ایجاد چنین جریان هایی در Node-RED و کنترل دستگاه های هوشمند خود استفاده کنید.

برای نصب Node-RED دستور زیر را در پنجره ترمینال اجرا کنید.

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

گره قرمز را نصب کنید

با این کار Node-RED روی Raspberry Pi دانلود و نصب می شود. ممکن است کمی طول بکشد تا تکمیل شود. پس از نصب Node-RED، باید با اجرای دستور زیر یک فایل تنظیمات Node-RED ایجاد کنید.

node-red admin init

سپس این مراحل را دنبال کنید:

  1. کلید Enter را فشار دهید.
  2. آیا می خواهید امنیت کاربر را تنظیم کنید؟ بله را انتخاب کنید. یک نام کاربری و یک رمز عبور وارد کنید. آن را ایمن نگه دارید زیرا برای ورود و مدیریت Node-RED از طریق یک رابط وب استفاده می شود.
  3. دسترسی کامل را انتخاب کنید.
  4. برای ادامه می توانید کاربر دیگری اضافه کنید یا خیر را انتخاب کنید.
  5. وقتی از شما خواسته شد تا ویژگی های پروژه را فعال کنید، No را انتخاب کنید.
  6. Enter را فشار دهید.
  7. یک عبارت عبور را تایپ کنید و آن را ایمن نگه دارید.
  8. موضوع پیش‌فرض > موناکو (پیش‌فرض) را انتخاب کنید.
  9. وقتی از شما خواسته شد تا گره های خارجی را بارگیری کنید، No را انتخاب کنید.
مطلب مرتبط:   Elegoo دستگاه جدید حکاکی لیزری Phecda را در Kickstarter راه اندازی کرد

نصب گره قرمز را پیکربندی کنید

پس از انجام این کار، Node-RED را مجددا راه اندازی کنید.

node-red restart

اکنون می توانید از Your-Raspberry-Pi-IP:1880 در یک مرورگر وب برای باز کردن و ورود به پنل مدیریت Node-RED بازدید کنید.

گره دسترسی به رنگ قرمز روی ip raspberry pi در پورت 1880

اکنون می توانید در Node-RED جریان ایجاد کنید. در زیر نمونه‌ای از جریان Node-RED وجود دارد که ما برای اجرای نمایشگر ماتریس WS2812B 8×32 خود استفاده می‌کنیم که اطلاعات حسگرهای مختلف نصب شده در خانه ما را در زمان واقعی نشان می‌دهد.

نمونه جریان قرمز گره برای نمایش مقادیر مختلف حسگر در صفحه نمایش ماتریسی 8x32

برای شروع، می‌توانید با استفاده از ماتریس نقطه‌ای MAX7219 یک ساعت هوشمند DIY بسازید و آن را به سرور MQTT خود متصل کنید تا متن یا پیام‌ها روی آن نمایش داده شود.

Home Automation با استفاده از MQTT و Node-RED را فعال کنید

اکنون می توانید جریان هایی را برای کنترل یا نظارت بر دستگاه های خانه هوشمند مجهز به MQTT ایجاد کنید. همچنین می‌توانید سوئیچ‌های هوشمند Tasmota یا حسگرهای هوشمند مبتنی بر آردوینو و سایر دستگاه‌های هوشمند با کنترل MQTT بسازید و با این سرور MQTT و Node-RED از آنها استفاده کنید. می‌توانید جریان‌هایی را برای اتوماسیون خانه بر اساس رویدادها، زمان یا بار دریافتی از مشتری MQTT گوشی هوشمند خود ایجاد کنید.

در تلفن هوشمند اندرویدی خود، می‌توانید MQTT Dash را نصب کنید تا به کارگزار MQTT خود متصل شوید و محموله‌هایی را به یا از موضوعات مختلفی که دستگاه‌های هوشمند شما مشترک یا منتشر می‌کنند ارسال یا دریافت کنید.