2 คะแนน โดย GN⁺ 2024-11-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

คู่มือแฮ็กอุปกรณ์ Monty Home

คู่มือแฮ็กอุปกรณ์ Monty Home เป็นรีโพซิทอรีที่แนะนำวิธีขยายความสามารถของอุปกรณ์ BLE ของ Monty Home ด้วยการใช้ Raspberry Pi อุปกรณ์นี้เดิมถูกออกแบบมาสำหรับการติดตามการทำปุ๋ยหมัก และเก็บข้อมูลสภาพแวดล้อม เช่น อุณหภูมิและความชื้น ผ่านคู่มือนี้ คุณจะได้เรียนรู้วิธีดึงข้อมูล แสดงผล และทำระบบอัตโนมัติ

ภาพรวม

  • คู่มือนี้ออกแบบมาสำหรับผู้ที่สนใจอุปกรณ์ BLE, แอปพลิเคชัน IoT และการติดตามสภาพแวดล้อม
  • อุปกรณ์ Monty Home ให้ข้อมูลแบบเรียลไทม์ผ่าน BLE (เช่น อุณหภูมิ ความชื้น ระดับแบตเตอรี่ เป็นต้น)
  • มี 3 โปรเจ็กต์ที่ใช้ Python, BLE และ Raspberry Pi เพื่อโต้ตอบกับอุปกรณ์ Monty Home

โปรเจ็กต์

โปรเจ็กต์ 1: ควบคุม LED ตามอุณหภูมิ

  • วัตถุประสงค์: ใช้ข้อมูลอุณหภูมิจากอุปกรณ์ Monty Home เพื่อควบคุม LED ของ Raspberry Pi เมื่ออุณหภูมิสูงเกินค่าที่กำหนด LED จะแสดงการเตือน
  • ทักษะที่ได้เรียนรู้: การตั้งค่าควบคุม GPIO, การคิวรีข้อมูล BLE, การเขียนโปรแกรม Python พื้นฐาน และการจัดการเงื่อนไข
  • ฮาร์ดแวร์ที่ต้องใช้: Raspberry Pi ที่รองรับ BLE, LED และตัวต้านทาน 330 โอห์ม

โปรเจ็กต์ 2: แสดงอุณหภูมิและความชื้นบนจอ I2C

  • วัตถุประสงค์: แสดงข้อมูลอุณหภูมิและความชื้นแบบเรียลไทม์จากอุปกรณ์ Monty Home บนหน้าจอ OLED ที่เชื่อมต่อกับ Raspberry Pi
  • ทักษะที่ได้เรียนรู้: การใช้งานอุปกรณ์ I2C, การแสดงข้อมูลแบบไดนามิกด้วยจอ SSD1306 OLED, การดึงข้อมูล BLE และการอัปเดตการแสดงผล
  • ฮาร์ดแวร์ที่ต้องใช้: Raspberry Pi ที่รองรับ BLE, จอ SSD1306 OLED

โปรเจ็กต์ 3: การแจ้งเตือนอุณหภูมิผ่าน IFTTT

  • วัตถุประสงค์: ตั้งค่าให้ Raspberry Pi ส่งการแจ้งเตือนผ่าน IFTTT เมื่ออุณหภูมิของอุปกรณ์ Monty Home สูงเกินค่าที่กำหนด
  • ทักษะที่ได้เรียนรู้: การผสานระบบอัตโนมัติ IoT กับ IFTTT, การส่งคำขอ HTTP ด้วยไลบรารี requests, การผสานข้อมูล BLE กับการแจ้งเตือนบนคลาวด์
  • ฮาร์ดแวร์ที่ต้องใช้: Raspberry Pi ที่รองรับ Wi-Fi, บัญชี IFTTT

การตั้งค่า

ข้อกำหนดด้านฮาร์ดแวร์

  1. Raspberry Pi (Zero 2 หรือรุ่นที่รองรับ BLE)
  2. อุปกรณ์ BLE ของ Monty Home
  3. ฮาร์ดแวร์เพิ่มเติมที่จำเป็นสำหรับแต่ละโปรเจ็กต์ (เช่น LED, จอ OLED, บัญชี IFTTT เป็นต้น)

ข้อกำหนดด้านซอฟต์แวร์

  1. Raspberry Pi OS: ติดตั้ง Raspberry Pi OS Lite (headless) หรือ Raspberry Pi OS with Desktop (กราฟิกอินเทอร์เฟซ)
  2. Python 3: ติดตั้ง Python 3 และ pip
  3. ไลบรารี:
    • Bleak: สำหรับการสื่อสาร BLE
    • Requests: สำหรับการผสานกับ IFTTT
    • Adafruit CircuitPython SSD1306: สำหรับควบคุม OLED
    • Pillow: สำหรับจัดการภาพบน OLED

คำสั่ง BLE

  • เป็นคำสั่งที่ใช้เพื่อโต้ตอบกับอุปกรณ์ Monty Home โดยแต่ละคำสั่งจะใช้ขอข้อมูลเฉพาะหรือสั่งงานบางอย่าง
  • ตัวอย่าง: ;QT\r\n จะคืนค่าการอ่านอุณหภูมิจากเซนเซอร์ NTC

การรันโค้ด

  • แต่ละโปรเจ็กต์มีสคริปต์ Python สำหรับตั้งค่าการเชื่อมต่อ BLE ส่งคิวรี และประมวลผลข้อมูล
  • วิธีรันสคริปต์:
    1. เปิดเทอร์มินัลบน Raspberry Pi
    2. ย้ายไปยังโฟลเดอร์โปรเจ็กต์: cd /path/to/project
    3. รันสคริปต์: python3 project_script.py

การปรับแต่ง

ปรับคำสั่ง BLE

  • คุณสามารถแก้ไขคำสั่ง BLE ในโค้ดเพื่อดึงข้อมูลประเภทต่าง ๆ จากอุปกรณ์ Monty Home ได้

ขยาย notification handler

  • สามารถเพิ่มเงื่อนไขในฟังก์ชัน notification_handler เพื่อถอดรหัสและแสดงผลการอ่านค่าหลายประเภทได้

การผสานกับแพลตฟอร์มอื่น

  • คุณอาจพิจารณาผสานข้อมูลเข้ากับแพลตฟอร์ม IoT หรือแดชบอร์ด เพื่อการแสดงผลข้อมูลแบบเรียลไทม์ การบันทึกข้อมูล หรือระบบอัตโนมัติเพิ่มเติม

แหล่งข้อมูลเพิ่มเติม

  • Python บน Raspberry Pi
  • คู่มือ BLE บน Raspberry Pi
  • เอกสาร IFTTT Webhooks
  • คู่มือ Adafruit CircuitPython SSD1306

การมีส่วนร่วม

  • ยินดีรับ pull request, การรายงานปัญหา, ข้อเสนอฟีเจอร์ และการมีส่วนร่วมเพื่อปรับปรุงคู่มือนี้รวมถึงเพิ่มโปรเจ็กต์ใหม่ ๆ

1 ความคิดเห็น

 
GN⁺ 2024-11-23
ความคิดเห็นจาก Hacker News
  • ผู้ใช้คนหนึ่งแชร์ประสบการณ์ปลูกมันฝรั่งและแครอตบนกองปุ๋ยหมักจากคอกม้า โดยระบุว่ามันฝรั่งโตได้ดี แต่แครอตโตไม่ค่อยดีเพราะน้ำไม่พอ

    • อธิบายแผนที่จะใช้เซ็นเซอร์วัดอุณหภูมิที่ใช้ ESP8266 เพื่อติดตามอุณหภูมิของปุ๋ยหมัก
    • วางแผนจะใส่เซ็นเซอร์อุณหภูมิไว้ในกล่อง IP67 และติดตั้งไว้บนกองปุ๋ยหมักพร้อมแผงโซลาร์
  • ผู้ใช้อีกคนสงสัยว่าต้องทำในระดับขนาดไหนจึงจะสามารถปรับปรุงคุณภาพปุ๋ยหมักได้ผ่านการมอนิเตอร์แบบอิเล็กทรอนิกส์ และแสดงความเห็นว่าน่าจะต้องทำในขนาดใหญ่

    • กล่าวว่าชอบดีไซน์สำหรับใช้ในบ้านที่ให้ความรู้สึกเหมือนเห็ด
  • ผู้ใช้อีกคนแชร์ประสบการณ์การมอนิเตอร์สภาพแวดล้อมด้วยเซ็นเซอร์ราคาถูก โดยกล่าวถึงปัญหาด้านความสม่ำเสมอของเซ็นเซอร์และปัญหาความทนทานต่อสัญญาณรบกวนของเซ็นเซอร์ CO2

    • ระบุว่าอยากทำโปรเจ็กต์บนพื้นฐานของคอมโพเนนต์ที่เชื่อถือได้
  • ผู้ใช้คนหนึ่งยินดีกับความเป็นไปได้ในการขยายต่อของการมอนิเตอร์ปุ๋ยหมักขนาดเล็ก และกล่าวว่าอาจสนใจชุมชน Gathering for Open Ag Tech

  • ผู้ใช้อีกคนชอบวิธีวัดอุณหภูมิปุ๋ยหมักแบบง่าย ๆ และอธิบายว่าถ้าอุณหภูมิสูงกว่า 45 องศา แสดงว่าแบคทีเรียที่ชอบความร้อนกำลังทำงานอยู่

  • ผู้ใช้อีกคนแชร์ว่าอยากสร้างระบบมอนิเตอร์พืช และอยากได้คำแนะนำเกี่ยวกับเซ็นเซอร์ที่ใช้วัดองค์ประกอบของดิน ระดับธาตุอาหาร ความชื้น เป็นต้น

  • ผู้ใช้คนหนึ่งสงสัยถึงประโยชน์ใช้งานจริงของข้อมูลจากเซ็นเซอร์ที่ได้จากการมอนิเตอร์ปุ๋ยหมัก โดยถามว่านอกจากอุณหภูมิและความชื้นแล้ว จะดูได้หรือไม่ว่าองค์ประกอบของก๊าซส่งผลต่ออัตราส่วน C/N อย่างไร หรือปุ๋ยหมักกำลังเข้าสู่ภาวะไร้ออกซิเจนหรือไม่

    • ยังถามด้วยว่าจากประสบการณ์การมอนิเตอร์นั้น เจ้าของโปรเจ็กต์ได้เปลี่ยนวิธีจัดการปุ๋ยหมักของตัวเองหรือไม่
  • มีการเพิ่มข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์ Monty Monitor

  • ผู้ใช้คนหนึ่งกล่าวว่ากำลังมองหาเทอร์โมคัปเปิลสำหรับการมอนิเตอร์ปุ๋ยหมัก

  • มีผู้ใช้ที่สงสัยว่ากำลังมีการพัฒนางานสำหรับการเชื่อมต่อกับ HomeAssistant อยู่หรือไม่