สารบัญ:

ระบบอัตโนมัติของบ้านสีเขียว: 11 ขั้นตอน
ระบบอัตโนมัติของบ้านสีเขียว: 11 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติของบ้านสีเขียว: 11 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติของบ้านสีเขียว: 11 ขั้นตอน
วีดีโอ: #shorts #หินปูนเกาะหนามาก #scaling 2024, กรกฎาคม
Anonim
ระบบอัตโนมัติของบ้านสีเขียว
ระบบอัตโนมัติของบ้านสีเขียว

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

ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น

ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น

ส่วนประกอบที่จำเป็นบางอย่างที่จำเป็นต้องมีอยู่ด้านล่าง

1. Raspberry PI รุ่น B

2. คณะกรรมการพัฒนา NodeMCU

3. โมดูล ESP8266 Wifi

4. เซ็นเซอร์ความชื้น

5. DHT11 เซ็นเซอร์อุณหภูมิและความชื้น

6. 5V รีเลย์ช่องสัญญาณเดียว

7. 5V ปั้มน้ำใต้น้ำ

8. กระดานขนมปัง

9. โมดูลจ่ายไฟ Bread Board

ขั้นตอนที่ 2: ภาษาและโปรโตคอล

ภาษาและโปรโตคอล
ภาษาและโปรโตคอล
ภาษาและโปรโตคอล
ภาษาและโปรโตคอล
ภาษาและโปรโตคอล
ภาษาและโปรโตคอล
  • ภาษา C ใช้สำหรับไมโครคอนโทรลเลอร์
  • MQTT Messaging: MQTT ย่อมาจาก MQ Telemetry Transport เป็นโปรโตคอลการส่งข้อความแบบเผยแพร่/สมัครใช้งานที่ง่ายมากและน้ำหนักเบา ออกแบบมาสำหรับอุปกรณ์ที่มีข้อจำกัดและเครือข่ายแบนด์วิดธ์ต่ำ เวลาแฝงสูง หรือไม่น่าเชื่อถือ หลักการออกแบบคือการลดแบนด์วิดท์เครือข่ายและความต้องการทรัพยากรอุปกรณ์ในขณะที่พยายามทำให้มั่นใจถึงความน่าเชื่อถือและการรับประกันระดับหนึ่ง หลักการเหล่านี้ยังทำให้โปรโตคอลในอุดมคติของโลก "เครื่องต่อเครื่อง" (M2M) หรือ "อินเทอร์เน็ตของสิ่งต่างๆ" ที่เกิดขึ้นใหม่ของอุปกรณ์ที่เชื่อมต่อ และสำหรับแอปพลิเคชันมือถือที่มีแบนด์วิดท์และพลังงานแบตเตอรี่อยู่ในระดับสูง
  • โปรแกรม Python ใช้สำหรับทำให้การไหลของน้ำและการเชื่อมต่อฐานข้อมูลเป็นไปโดยอัตโนมัติ

ขั้นตอนที่ 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto โบรกเกอร์ MQTT
Eclipse Mosquitto โบรกเกอร์ MQTT

ที่นี่ฉันใช้ Mosquitto MQTT Broker เพื่อการสื่อสารข้อความที่ง่ายระหว่างโหนด

Eclipse Mosquitto เป็นโบรกเกอร์ข้อความโอเพ่นซอร์ส (ลิขสิทธิ์ EPL/EDL) ที่ใช้โปรโตคอล MQTT เวอร์ชัน 5.0, 3.1.1 และ 3.1 Mosquitto มีน้ำหนักเบาและเหมาะสำหรับใช้กับอุปกรณ์ทั้งหมดตั้งแต่คอมพิวเตอร์บอร์ดเดี่ยวที่ใช้พลังงานต่ำไปจนถึงเซิร์ฟเวอร์เต็มรูปแบบ

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

โปรเจ็กต์ Mosquitto ยังมีไลบรารี C สำหรับการใช้งานไคลเอนต์ MQTT และไคลเอนต์บรรทัดคำสั่ง mosquitto_pub และ mosquitto_sub ที่ได้รับความนิยมอย่างมาก

ขั้นตอนที่ 4: การไหลของข้อมูลในโครงการทั้งหมด

ในภาพด้านบนโหนดคือ

  1. NodeMCU
  2. ราสเบอร์รี่ PI
  3. ESP8266

NodeMCU เป็นส่วนตรวจจับของ Green House & ESP8266 เป็นส่วนกระตุ้นซึ่งจ่ายน้ำเมื่อพื้นดินต้องการน้ำตามเซ็นเซอร์

Raspberry PI ประกอบด้วย Mosquitto Broker และไคลเอนต์ Python ที่สมัครรับข้อความที่มาจาก MQTT Broker และจัดเก็บข้อมูลลงในเซิร์ฟเวอร์ SQL

ขั้นตอนที่ 5: การเชื่อมต่อเซ็นเซอร์กับ NodeMCU

การเชื่อมต่อเซ็นเซอร์กับ NodeMCU
การเชื่อมต่อเซ็นเซอร์กับ NodeMCU

เซ็นเซอร์อุณหภูมิและความชื้น DHT11 และเซ็นเซอร์ความชื้นในน้ำสามารถทำงานได้ที่ 3.3 โวลต์

NodeMCU ไม่สามารถจ่ายไฟเกิน 3.3 โวลต์ได้ ดังนั้นเซ็นเซอร์จึงสามารถเชื่อมต่อโดยตรงกับบอร์ดไมโครคอนโทรลเลอร์ NodeMCU

ขั้นตอนที่ 6: การเชื่อมต่อปั๊มน้ำใต้น้ำกับ ESP8266

การเชื่อมต่อปั๊มจุ่มน้ำกับ ESP8266
การเชื่อมต่อปั๊มจุ่มน้ำกับ ESP8266
การเชื่อมต่อปั๊มจุ่มน้ำกับ ESP8266
การเชื่อมต่อปั๊มจุ่มน้ำกับ ESP8266

ปั๊มน้ำใต้น้ำใช้เพื่อจ่ายน้ำเมื่อจำเป็น

ปั๊มน้ำต้องใช้ไฟ 5 โวลต์จึงจะใช้งานได้

จำเป็นต้องใช้รีเลย์ช่องสัญญาณเดียวเพื่อเชื่อมต่อมอเตอร์ เมื่อเปิดใช้งานพิน GPIO2 ของ ESP8266 รีเลย์จะเปิดขึ้นและจ่ายน้ำโดยอัตโนมัติโดยใช้ปั๊มน้ำใต้น้ำ

มีแหล่งจ่ายไฟภายนอกให้กับบอร์ด ESP8266, รีเลย์ & ปั้มน้ำใต้น้ำ

การเชื่อมต่อฮาร์ดแวร์ที่สมบูรณ์ของฉันอยู่ในภาพด้านบน

ขั้นตอนที่ 7: การติดตั้ง Mosquitto Broker & การรันโปรแกรม Python ใน Raspberry Pi

ต่อไปนี้เป็นขั้นตอนในการติดตั้งโบรกเกอร์ Mosquitto ใน Raspberry PI

เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

sudo apt-get update

sudo apt-get ติดตั้งยุง

sudo apt-get ติดตั้ง mosquitto-clients

มันควรจะเริ่มยุงโดยอัตโนมัติ

เพื่อหยุดและเริ่มบริการที่ฉันจำเป็นต้องใช้

sudo service stop ยุงลาย

บริการ sudo เริ่มยุง

ไซต์ส่วนใหญ่ที่ฉันค้นพบว่าใช้รูปแบบใด

sudo /etc/init.d/mosquitto หยุด

ขั้นตอนที่ 8: MQTT ทำงานอย่างไร

MQTT ทำงานอย่างไร?
MQTT ทำงานอย่างไร?

MQTT เป็นหนึ่งในโปรโตคอลที่ใช้บ่อยที่สุดในโครงการ IoT ย่อมาจาก Message Queuing Telemetry Transport

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

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

* เมื่ออุปกรณ์ (ลูกค้า) ต้องการส่งข้อมูลไปยังนายหน้า เราเรียกการดำเนินการนี้ว่า "เผยแพร่"

* เมื่ออุปกรณ์ (ลูกค้า) ต้องการรับข้อมูลจากนายหน้า เราเรียกการดำเนินการนี้ว่า "สมัครสมาชิก"

ขั้นตอนที่ 9: การเขียนโปรแกรม NodeMCU และ ESP8266

ต่อไปนี้เป็นซอร์สโค้ดสำหรับบอร์ดไมโครคอนโทรลเลอร์ NodeMCU และ ESP8266

ขั้นตอนที่ 10: การออกแบบเว็บเพจและการเชื่อมต่อกับฐานข้อมูล SQL

หน้าเว็บได้รับการออกแบบโดยใช้ภาษา HTML, CSS และ PHP

PHP ใช้เพื่อแยกการอ่านเซ็นเซอร์จากฐานข้อมูลและแสดงลงในหน้า HTML

โปรแกรมหลามถูกใช้เป็นหัวใจของโครงการนี้

ผลงานที่โปรแกรม python ทำมีดังนี้

  1. มันสมัครรับหัวข้อที่เซ็นเซอร์ส่งการอ่านเซ็นเซอร์
  2. มันเผยแพร่คำสั่งเปิด/ปิดปั๊มน้ำให้กับนายหน้า MQTT
  3. มันเก็บการอ่านเซ็นเซอร์ไว้ในฐานข้อมูล SQL

ในกรณีของฉันโปรแกรม python และฐานข้อมูล SQL มีอยู่ในแล็ปท็อป หน้าเว็บที่ทำงานผ่าน Local Host

ต่อไปนี้เป็นซอร์สโค้ดของโปรแกรม python ของฉัน

ขั้นตอนที่ 11: ทำงานให้เสร็จ

ทำงานเสร็จ
ทำงานเสร็จ

ต่อไปนี้เป็นขั้นตอนในการดำเนินการ

  1. NodeMCU ทำงานเป็นส่วนตรวจจับและอ่านค่าอุณหภูมิ ความชื้น และระดับความชื้นในดิน
  2. ส่งการอ่านไปยังโบรกเกอร์ MQTT ในหัวข้อ "หัวข้อที่ 1"
  3. ในแล็ปท็อป โปรแกรม python กำลังทำงานและสมัครรับข้อมูลหัวข้อ "หัวข้อ 1" กับโบรกเกอร์ MQTT
  4. เมื่อ NodeMCU ส่งการอ่านแล้ว Mosquitto MQTT Broker จะส่งข้อมูลไปยังโปรแกรม python ทันที
  5. โปรแกรม Python จะคำนวณว่าต้องการน้ำใน Green House หรือไม่ จากนั้นจะเก็บการอ่านไว้ในฐานข้อมูล SQL
  6. หากจำเป็นต้องใช้น้ำใน Green House โปรแกรม python จะเผยแพร่ข้อความเปิด/ปิดปั๊มน้ำถึงนายหน้า Mosquitto MQTT ในหัวข้อ "หัวข้อที่ 2"
  7. ESP8266 ทำงานเป็นตัวกระตุ้น มันสมัครรับข้อมูลในหัวข้อ "หัวข้อ 2" ซึ่งหัวข้อที่โปรแกรม python กำลังเผยแพร่ข้อความ เมื่อโปรแกรม python เผยแพร่ข้อความใด ๆ ข้อความนั้นจะถูกโอนไปยัง ESP8266 ทันที ตามข้อความเปิด/ปิด เครื่องจะเปิด/ปิดปั๊มน้ำแบบจุ่ม
  8. ขั้นตอนสุดท้ายเพื่อแสดงการอ่านสดในหน้าเว็บ หน้าเว็บดึงข้อมูลจากฐานข้อมูล SQL ซึ่งโปรแกรม python เก็บข้อมูลโดยตรงและแสดงการอ่านในหน้า

แนะนำ: