Isi kandungan:

Automasi Rumah Hijau: 11 Langkah
Automasi Rumah Hijau: 11 Langkah

Video: Automasi Rumah Hijau: 11 Langkah

Video: Automasi Rumah Hijau: 11 Langkah
Video: Membuat Hidroponik Online monitoring dan Kontrol Nutrisi Otomatis dari Aplikasi Android Mudah 2024, November
Anonim
Automasi Rumah Hijau
Automasi Rumah Hijau

Automasi rumah hijau adalah projek di mana tiga parameter rumah hijau, iaitu Kelembapan Tanah, Suhu & Kelembapan, dipantau oleh pengguna dari jarak jauh hanya dengan menggunakan penyemak imbas web.

Langkah 1: Komponen Diperlukan

Komponen Diperlukan
Komponen Diperlukan
Komponen Diperlukan
Komponen Diperlukan
Komponen Diperlukan
Komponen Diperlukan

Beberapa komponen penting yang diperlukan disenaraikan di bawah

1. Raspberry PI Model B

2. Lembaga Pembangunan NodeMCU

3. Modul Wifi ESP8266

4. Sensor Kelembapan

5. Sensor Suhu & Kelembapan DHT11

6. Relay Saluran Tunggal 5V

7. Pam Air Submersible 5V

8. Papan Roti

9. Modul Bekalan Kuasa Papan Roti

Langkah 2: Bahasa & Protokol

Bahasa & Protokol
Bahasa & Protokol
Bahasa & Protokol
Bahasa & Protokol
Bahasa & Protokol
Bahasa & Protokol
  • Bahasa C digunakan untuk pengawal mikro.
  • Pemesejan MQTT: MQTT bermaksud MQ Telemetry Transport. Ini adalah protokol pesanan yang diterbitkan / dilanggan, sangat mudah dan ringan, yang direka untuk peranti terhad dan lebar jalur rendah, latensi tinggi atau rangkaian yang tidak dipercayai. Prinsip rekaan adalah untuk meminimumkan lebar jalur rangkaian dan keperluan sumber peranti sementara juga berusaha untuk memastikan kebolehpercayaan dan beberapa tahap jaminan penyampaian. Prinsip-prinsip ini juga ternyata menjadikan protokol ideal dari dunia "mesin-ke-mesin" (M2M) atau "Internet of Things" yang muncul di dunia peranti bersambung, dan untuk aplikasi mudah alih di mana lebar jalur dan kuasa bateri berada pada premium.
  • Program Python digunakan untuk mengautomasikan aliran air dan penyambungan pangkalan data.

Langkah 3: Broker Eclipse Mosquitto MQTT

Broker Eclipse Mosquitto MQTT
Broker Eclipse Mosquitto MQTT

Di sini saya menggunakan Mosquitto MQTT Broker untuk komunikasi pesanan mudah antara nod.

Eclipse Mosquitto adalah broker mesej sumber terbuka (berlesen EPL / EDL) yang menerapkan protokol MQTT versi 5.0, 3.1.1 dan 3.1. Mosquitto ringan dan sesuai digunakan pada semua peranti dari komputer papan tunggal berkuasa rendah hingga pelayan penuh.

Protokol MQTT menyediakan kaedah ringan untuk melaksanakan pesanan menggunakan model penerbitan / langganan. Ini menjadikannya sesuai untuk pesanan Internet of Things seperti dengan sensor kuasa rendah atau peranti mudah alih seperti telefon, komputer tertanam atau pengawal mikro.

Projek Mosquitto juga menyediakan perpustakaan C untuk melaksanakan klien MQTT, dan pelanggan MQTT baris perintah mosquitto_pub dan mosquitto_sub yang sangat popular.

Langkah 4: Aliran Data dalam Projek Keseluruhan

Dalam gambar di atas, node berada

  1. NodeMCU
  2. Pai raspberi
  3. ESP8266

NodeMCU adalah bahagian pengesan Rumah Hijau & ESP8266 adalah bahagian penggerak yang membekalkan air apabila tanah memerlukan air mengikut sensor.

Raspberry PI mengandungi Mosquitto Broker dan klien Python yang melanggan mesej yang datang dari MQTT Broker dan menyimpan data ke pelayan SQL.

Langkah 5: Sambungan Sensor Dengan NodeMCU

Sambungan Sensor Dengan NodeMCU
Sambungan Sensor Dengan NodeMCU

Sensor suhu dan kelembapan DHT11 dan sensor kelembapan air mampu beroperasi pada 3.3 volt.

NodeMCU tidak dapat memberikan lebih daripada 3.3 volt. Oleh itu, sensor boleh dihubungkan secara langsung dengan papan mikrokontroler NodeMCU.

Langkah 6: Sambungan Pam Air Submersible Dengan ESP8266

Sambungan Pam Air Submersible Dengan ESP8266
Sambungan Pam Air Submersible Dengan ESP8266
Sambungan Pam Air Submersible Dengan ESP8266
Sambungan Pam Air Submersible Dengan ESP8266

Pam air tenggelam digunakan untuk membekalkan air bila diperlukan.

Pam air memerlukan bekalan kuasa 5 volt untuk pengoperasiannya.

Relay saluran tunggal diperlukan untuk menyambungkan motor. Apabila pin GPIO2 ESP8266 diaktifkan, relay dihidupkan dan secara automatik membekalkan air menggunakan pam air tenggelam.

Di sini bekalan kuasa luaran disediakan untuk papan ESP8266, Relay & pam air tenggelam.

Sambungan perkakasan lengkap saya terdapat dalam gambar di atas.

Langkah 7: Memasang Program Mosquitto Broker & Running Python di Raspberry Pi

Berikut adalah langkah-langkah untuk memasang broker Mosquitto di Raspberry PI

Buka terminal dan ketik arahan berikut

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

sudo apt-get kemas kini

sudo apt-get install mosquitto

sudo apt-get pasang mosquitto-klien

Ia secara automatik akan memulakan nyamuk.

Untuk menghentikan dan memulakan perkhidmatan yang perlu saya gunakan

perkhidmatan sudo hentikan mosquitto

perkhidmatan sudo mulakan mosquitto

Sebilangan besar laman web yang saya dapati menggunakan format.

sudo /etc/init.d/mosquitto berhenti

Langkah 8: Bagaimana MQTT Berfungsi?

Bagaimana MQTT Berfungsi?
Bagaimana MQTT Berfungsi?

MQTT adalah salah satu protokol yang paling biasa digunakan dalam projek IoT. Ia bermaksud Pengangkutan Telemetri Beratur Mesej.

Di samping itu, ia dirancang sebagai protokol pesanan ringan yang menggunakan operasi penerbitan / langganan untuk menukar data antara klien dan pelayan. Selain itu, ukurannya yang kecil, penggunaan daya yang rendah, paket data yang diminimumkan dan kemudahan pelaksanaan menjadikan protokol ideal dari dunia "mesin ke mesin" atau "Internet Perkara".

Seperti protokol internet lain, MQTT didasarkan pada klien dan pelayan. Begitu juga, pelayan adalah orang yang bertanggungjawab untuk menangani permintaan pelanggan untuk menerima atau menghantar data antara satu sama lain. PelayanQTT dipanggil broker dan pelanggan hanyalah peranti yang disambungkan. Oleh itu:

* Apabila peranti (klien) ingin mengirim data ke broker, kami menyebut operasi ini sebagai "penerbitan".

* Apabila peranti (pelanggan) ingin menerima data dari broker, kami menyebut operasi ini sebagai "langganan".

Langkah 9: Pengaturcaraan NodeMCU dan ESP8266

Berikut adalah kod sumber untuk papan Mikrokontroler NodeMCU dan ESP8266

Langkah 10: Merancang Laman Web dan Menyambung ke Pangkalan Data SQL

Halaman Web dirancang menggunakan bahasa HTML, CSS dan PHP.

PHP digunakan untuk mengekstrak bacaan sensor dari pangkalan data dan menunjukkannya ke halaman HTML.

Program python digunakan sebagai nadi projek ini.

Kerja-kerja yang dilakukan oleh program python adalah seperti berikut.

  1. Ini melanggan topik di mana sensor menghantar bacaan sensor.
  2. Ia menerbitkan perintah pam air / mati kepada broker MQTT.
  3. Ia menyimpan bacaan sensor ke dalam pangkalan data SQL.

Di sini dalam kes saya, program python dan pangkalan data SQL terdapat dalam komputer riba. Halaman web berjalan melalui Host tempatan.

Berikut adalah kod Sumber program python saya.

Langkah 11: Selesaikan Kerja

Kerja Lengkap
Kerja Lengkap

Berikut adalah langkah-langkah di mana proses itu berjalan.

  1. NodeMCU berfungsi sebagai bahagian penginderaan dan membaca Suhu, Kelembapan dan tahap kelembapan tanah.
  2. Ini mengirimkan bacaan kepada broker MQTT dengan topik "Topik 1"
  3. Dalam komputer riba, program python berjalan dan melanggan topik "Topik 1" dengan broker MQTT.
  4. Apabila NodeMCU menghantar bacaan maka Mosquitto MQTT Broker segera menghantar data ke program python.
  5. Program Python kemudian mengira sama ada terdapat air yang diperlukan di Green House. Kemudian menyimpan bacaan ke dalam Pangkalan Data SQL.
  6. Sekiranya air diperlukan di Rumah Hijau, maka program python menerbitkan mesej hidup / mati pam air kepada broker Mosquitto MQTT dengan topik "Topik 2"
  7. ESP8266 berfungsi sebagai penggerak. Ini berlangganan dalam topik "Topik 2" di mana topik program python menerbitkan mesej. Apabila program python menerbitkan sebarang mesej maka mesej itu segera dipindahkan ke ESP8266. Menurut pesan hidup / mati, ia menghidupkan / mematikan pam air tenggelam.
  8. Fasa terakhir untuk memaparkan bacaan langsung di laman web. Halaman web mengambil data dari pangkalan data SQL di mana program python menyimpan data secara langsung dan memaparkan pembacaan di halaman.

Disyorkan: