ติดตั้งเซิร์ฟเวอร์ MQTT และ Node-RED บน Raspberry Pi สำหรับระบบอัตโนมัติภายในบ้าน

ติดตั้งเซิร์ฟเวอร์ MQTT และ Node-RED บน Raspberry Pi สำหรับระบบอัตโนมัติภายในบ้าน

Messaging Queuing Telemetry Protocol หรือ MQTT เป็นโปรโตคอลการส่งข้อความขนาดเล็กที่ออกแบบมาสำหรับอุปกรณ์และสภาพแวดล้อมที่มีแบนด์วิดท์ต่ำ เป็นโซลูชันที่รวดเร็ว ง่ายต่อการปรับใช้ และประหยัดพลังงานในการเชื่อมต่อและแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์ IoT หลายเครื่อง ต้องใช้นายหน้า/เซิร์ฟเวอร์ MQTT และหัวข้อที่ข้อความถูกเผยแพร่และสมัครรับข้อมูลจากอุปกรณ์หรือผู้ใช้เพื่อส่งหรือรับข้อมูล





ในคู่มือนี้ เราจะปรับใช้โบรกเกอร์ MQTT และเครื่องมือ Node-RED บน Raspberry Pi เพื่อเชื่อมต่ออุปกรณ์สมาร์ท IoT แบบ DIY ที่เปิดใช้งาน MQTT และใช้สำหรับระบบอัตโนมัติภายในบ้าน





สิ่งที่คุณต้องการ

ในการสร้างและปรับใช้เซิร์ฟเวอร์ MQTT ด้วย Node-RED คุณจะต้องมีสิ่งต่อไปนี้:





  • Raspberry Pi Zero W หรือดีกว่า เราแนะนำให้ใช้ Raspberry Pi 3 หรือ 4 (ถ้ามี)
  • การ์ด microSD (8GB หรือสูงกว่า)
  • เครื่องอ่านการ์ด microSD
  • พีซี Linux, Mac หรือ Windows PC
  • การเชื่อมต่ออินเทอร์เน็ต (Wi-Fi)

ขั้นตอนที่ 1: ติดตั้ง Raspberry Pi OS Lite (64 บิต)

คุณจะต้องใช้ Raspberry Pi OS รุ่น 64 บิต Lite ใน Raspberry Pi Imager เครื่องมือบนคอมพิวเตอร์เครื่องอื่น คลิก เลือก OS > Raspberry Pi OS (อื่นๆ) จากนั้นเลือก Raspberry Pi OS Lite (64 บิต) . นอกจากนี้ คุณจะต้องใช้การตั้งค่าขั้นสูงของ Imager เพื่อเปิดใช้งาน SSH (เราใช้ ปี่ และ ราสเบอร์รี่ เป็นชื่อผู้ใช้และรหัสผ่านสำหรับคู่มือนี้) และกำหนดค่าการเชื่อมต่อ Wi-Fi สำหรับรายละเอียดเพิ่มเติม โปรดดูคำแนะนำของเราที่ วิธีการติดตั้งระบบปฏิบัติการบน Raspberry Pi . หลังจากเขียน OS ลงในการ์ดแล้ว ให้ถอดออกแล้วใส่ลงใน Raspberry Pi

ขั้นตอนที่ 2: เชื่อมต่อผ่าน SSH และอัปเดตแพ็คเกจ

คุณสามารถเชื่อมต่อกับ Raspberry Pi ของคุณผ่าน SSH โดยใช้ PuTTY บน Windows หรือ Terminal บน macOS และ Linux อย่างไรก็ตาม คุณควรทราบ IP ของ Raspberry Pi เพื่อเชื่อมต่อผ่าน SSH หากต้องการทราบ คุณสามารถเปิดการตั้งค่า DHCP ของเราเตอร์แบบไร้สายหรือใช้ Fing แอพบนสมาร์ทโฟนของคุณ



วิธีสร้างม็อด minecraft ของคุณเอง
  ค้นหา IP ของราสเบอร์รี่ของคุณผ่านการตั้งค่าเราเตอร์ dhcp

ป้อนที่อยู่ IP ใน PuTTY และคลิก เชื่อมต่อ . พิมพ์ชื่อผู้ใช้และรหัสผ่านของคุณเพื่อเข้าสู่ระบบ

  เชื่อมต่อกับ raspberry pi ผ่าน ssh

บนเทอร์มินัล Linux หรือ macOS ให้พิมพ์ YourPiUsername@IPAddress จากนั้นพิมพ์รหัสผ่านเพื่อเข้าสู่ระบบ เมื่อเชื่อมต่อผ่าน SSH แล้ว ให้เรียกใช้คำสั่งต่อไปนี้เพื่ออัปเดตรายการแพ็กเกจและอัปเกรดแพ็กเกจ





sudo apt update && sudo apt upgrade y

ขั้นตอนที่ 3: ติดตั้งโบรกเกอร์ MQTT

ในการติดตั้งและเปิดใช้งานโบรกเกอร์ MQTT (Mosquitto) ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้ง Mosquitto โดยเรียกใช้คำสั่งต่อไปนี้ในหน้าต่าง Terminal
    sudo apt install mosquitto mosquitto-clients -y
      ติดตั้งเซิร์ฟเวอร์ mosquitto mqtt การดำเนินการนี้จะเริ่มติดตั้ง Mosquitto (โบรกเกอร์ MQTT) และบริการลูกค้า
  2. หลังการติดตั้ง เปิดใช้บริการ Mosquitto และตรวจสอบเวอร์ชัน MQTT โดยใช้คำสั่งต่อไปนี้.
    sudo systemctl enable mosquitto.service 
    mosquitto -v
      เปิดใช้งานบริการยุง
  3. สร้างบัญชีผู้ใช้เพื่ออนุญาตการเข้าถึงระยะไกลที่รับรองความถูกต้องโดยใช้คำสั่งต่อไปนี้.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    ที่นี่ การรักษา คือชื่อผู้ใช้ (คุณสามารถใช้อะไรก็ได้ที่คุณต้องการ) ป้อนรหัสผ่านเมื่อได้รับแจ้ง จดชื่อผู้ใช้และรหัสผ่านนี้ไว้เพื่อใช้ในภายหลัง
  4. เปิด ยุงลาย.conf ในโปรแกรมแก้ไข nano โดยใช้คำสั่งต่อไปนี้
    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
      แก้ไขไฟล์กำหนดค่ายุง กด CTRL+X ติดตามโดย Y และ เข้า เพื่อบันทึกการเปลี่ยนแปลง
  5. รีสตาร์ทโบรกเกอร์ MQTT โดยรันคำสั่งต่อไปนี้
    sudo systemctl restart mosquitto
  6. ตรวจสอบสถานะนายหน้า MQTT เพื่อดูว่า MQTT กำลังทำงานอยู่หรือไม่
    sudo systemctl status mosquitto
      ตรวจสอบสถานะเซิร์ฟเวอร์ mqtt หากคุณเห็นผลลัพธ์ข้างต้น แสดงว่า MQTT กำลังทำงาน

ขั้นตอนที่ 4: ทดสอบโบรกเกอร์ MQTT

เพื่อทดสอบว่าโบรกเกอร์ MQTT ทำงานหรือไม่ ให้ติดตั้ง MQTTLens หรือแอป MQTT ที่คล้ายกันใน Chrome หรือเว็บเบราว์เซอร์อื่น ๆ แล้วเปิดใช้งาน ป้อนที่อยู่ IP ของ Raspberry Pi และชื่อผู้ใช้/รหัสผ่าน MQTT คลิก สร้างการเชื่อมต่อ .





  เชื่อมต่อกับเซิร์ฟเวอร์ mqtt และส่งข้อความไปยังหัวข้อทดสอบเพื่อตรวจสอบว่าโบรกเกอร์ mqtt ทำงานอยู่

ใส่หัวข้อใด ๆ ใน ติดตาม สนาม และหัวข้อเดียวกันใน เผยแพร่ สนาม. พิมพ์ 'Hi' หรืออะไรก็ได้ในช่องข้อความแล้วคลิก เผยแพร่ .

  ข้อความที่เผยแพร่สำเร็จระบุว่า mqtt ทำงานอยู่

หากคุณเห็นข้อความใต้การสมัคร แสดงว่านายหน้า MQTT ทำงานได้ดี

ขั้นตอนที่ 5: ติดตั้ง Node-RED

ด้วย Node-RED คุณสามารถเผยแพร่ข้อความหรือส่งและรับเพย์โหลดไปยังหรือจากอุปกรณ์สมาร์ทของคุณ เพย์โหลดนี้สามารถใช้เพื่อทริกเกอร์อุปกรณ์อัจฉริยะเพื่อเปิด/ปิดหรือรับข้อมูล (เช่น อุณหภูมิ) จากเซ็นเซอร์ คุณสามารถใช้เว็บเบราว์เซอร์ของคุณเพื่อสร้างโฟลว์ดังกล่าวใน Node-RED และควบคุมอุปกรณ์อัจฉริยะของคุณ

ในการติดตั้ง Node-RED ให้รันคำสั่งต่อไปนี้ในหน้าต่าง Terminal

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

จากนั้นทำตามขั้นตอนเหล่านี้:

แอพทำความสะอาดที่ดีที่สุดสำหรับ Android
  1. กด เข้า กุญแจ.
  2. คุณต้องการตั้งค่าความปลอดภัยของผู้ใช้หรือไม่? เลือก ใช่ . ป้อนชื่อผู้ใช้และรหัสผ่าน รักษาความปลอดภัยไว้ให้ดีเพราะจะใช้ในการเข้าสู่ระบบและจัดการ Node-RED ผ่านเว็บอินเทอร์เฟซ
  3. เลือก การเข้าถึงแบบเต็ม .
  4. คุณสามารถเพิ่มผู้ใช้รายอื่นหรือเลือก ไม่ เพื่อดำเนินการต่อ.
  5. เลือก ไม่ เมื่อถูกขอให้เปิดใช้งานคุณสมบัติโครงการ
  6. กด เข้า .
  7. พิมพ์ข้อความรหัสผ่านและเก็บไว้อย่างปลอดภัย
  8. เลือก ธีมเริ่มต้น > โมนาโก (ค่าเริ่มต้น) .
  9. เลือก ไม่ เมื่อถูกขอให้โหลดโหนดภายนอก
  กำหนดค่าการติดตั้งโหนดสีแดง

เมื่อเสร็จแล้ว ให้รีสตาร์ท Node-RED

node-red restart

สามารถเยี่ยมชมได้แล้ว คุณ-ราสเบอร์รี่-Pi-IP: 1880 ในเว็บเบราว์เซอร์เพื่อเปิดและลงชื่อเข้าใช้แผงผู้ดูแลระบบ Node-RED

  เข้าถึงโหนดสีแดงบนราสเบอร์รี่ pi ip ที่พอร์ต 1880

คุณสามารถสร้างโฟลว์ใน Node-RED ได้แล้ว ด้านล่างนี้คือตัวอย่างโฟลว์ Node-RED ที่เราใช้ในการเรียกใช้จอแสดงผลเมทริกซ์ WS2812B 8x32 ที่แสดงข้อมูลเซ็นเซอร์ต่างๆ ที่ติดตั้งในบ้านของเราแบบเรียลไทม์

  ตัวอย่างโหนดสีแดงไหลเพื่อแสดงค่าเซ็นเซอร์ต่างๆบนจอแสดงผลเมทริกซ์ 8x32

ในการเริ่มต้น คุณยังสามารถ สร้างนาฬิกาอัจฉริยะ DIY โดยใช้ MAX7219 dot matrix และเชื่อมต่อกับเซิร์ฟเวอร์ MQTT ของคุณเพื่อแสดงข้อความหรือข้อความ

เปิดใช้งานระบบอัตโนมัติภายในบ้านโดยใช้ MQTT และ Node-RED

คุณสามารถสร้างโฟลว์เพื่อควบคุมหรือตรวจสอบอุปกรณ์สมาร์ทโฮมที่เปิดใช้งาน MQTT ได้แล้ว คุณยังสามารถสร้างสวิตช์อัจฉริยะ DIY Tasmota หรือเซ็นเซอร์อัจฉริยะบน Arduino และอุปกรณ์อัจฉริยะอื่นๆ ที่มีการควบคุม MQTT และใช้กับเซิร์ฟเวอร์ MQTT และ Node-RED นี้ได้ คุณสามารถสร้างโฟลว์สำหรับระบบอัตโนมัติภายในบ้านตามเหตุการณ์ เวลา หรือเพย์โหลดที่ได้รับจากไคลเอ็นต์ MQTT ของสมาร์ทโฟนของคุณ

บนสมาร์ทโฟน Android ของคุณ คุณสามารถติดตั้ง MQTT Dash เพื่อเชื่อมต่อกับโบรกเกอร์ MQTT และส่งหรือรับเพย์โหลดไปยังหรือจากหัวข้อต่างๆ ที่อุปกรณ์สมาร์ทของคุณสมัครหรือเผยแพร่

หมวดหมู่ DIY