Isi kandungan:

Sensor WIFI Air Banjir / Air MQTT / Google Dengan Langkah ESP-01: 7
Sensor WIFI Air Banjir / Air MQTT / Google Dengan Langkah ESP-01: 7

Video: Sensor WIFI Air Banjir / Air MQTT / Google Dengan Langkah ESP-01: 7

Video: Sensor WIFI Air Banjir / Air MQTT / Google Dengan Langkah ESP-01: 7
Video: ESP32 DHT Web Server Project 2024, Julai
Anonim
Sensor WIFI Air Banjir / Air MQTT / Google Dengan ESP-01
Sensor WIFI Air Banjir / Air MQTT / Google Dengan ESP-01

Dalam arahan ini, saya akan menunjukkan kepada anda cara membina sensor banjir / air wifi dengan kos minimum. Keseluruhan projek berharga saya kurang dari $ 8 untuk alat ganti yang saya perolehi dari ebay dan alat ganti yang ada.

Dalam projek ini, kami akan menggunakan ESP-01 untuk menyediakan klien Wifi dan MQTT untuk mengesan kehadiran air, dan secara opsional menggunakan pembesar suara / buzzer yang disambungkan secara langsung untuk memberikan penggera setempat.

Aplikasi khusus saya untuk projek ini adalah untuk mengesan banjir / air di dalam pompa bah saya, sekiranya berlaku kerosakan pam bah. Apabila air dikesan oleh 2 wayar terbuka, ia akan menghantar mesej kepada broker MQTT. Broker MQTT kemudian akan menyampaikan mesej ke NodeRED. Setelah menerima mesej MQTT, NodeRED akan menghantar pengumuman ke beberapa peranti rumah google dan juga secara pilihan menghantar mesej ke telefon bimbit / penyemak imbas melalui pushbullet

Sudah tentu projek ini hanya akan berfungsi sekiranya elektrik di rumah hidup. Pada arahan seterusnya saya akan mengintegrasikan litar sandaran bateri. Tetapi jika anda membuat bekalan kuasa dengan cara yang sama seperti yang anda lakukan, anda hanya boleh memasang bank kuasa USB untuk sandaran bateri. Sekiranya anda mempunyai power-bank yang membolehkan anda mengecas dan membekalkan kuasa pada masa yang sama, anda sudah bersedia.

Saya menggunakan RaspberryPi ZeroW untuk menghoskan pelayan Mosquitto MQTT dan NodeRED. Ia telah berjalan selama lebih dari setahun tanpa sebarang masalah.

Rujukan: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Pasang NodeRED pada Raspberry Pi:

Langkah 1: Bahagian Yang Anda Perlu

Bahagian Yang Anda Perlu
Bahagian Yang Anda Perlu
Bahagian Yang Anda Perlu
Bahagian Yang Anda Perlu
Bahagian Yang Anda Perlu
Bahagian Yang Anda Perlu

Senarai Bahagian:

(1) ESP-01

(2) Perintang 10K ohm

(1) transistor NPN generik isyarat kecil (saya menggunakan 2N3904)

(2) wayar panjang

(1) Bekalan kuasa generik 5V (litar ini memerlukan arus kurang dari 300mA)

(1) 3.3V modul pengatur AMS1117

(1) Kit Mikro-USB Ke DIP Adapter Perempuan Konektor PCB Penukar DIY

(1) Kabel USB-A ke MicroUSB.

(1) Soket IC 8-pin - boleh dihilangkan jika anda ingin menyolder ESP-01 terus ke papan litar. Potong jambatan plastik yang membuat jurang antara baris, dan kemudian lekatkan 2 baris bersama, lihat foto.

(1) Kandang kecil untuk projek

Berikut adalah bahagian pilihan jika anda memerlukan penggera setempat menggunakan pembesar suara / buzzer

(1) Transistor PNP Generik, pilih sesuai dengan keperluan pembesar suara / buzzer semasa / watt. Dalam kes saya, saya menggunakan 2N2907 kerana pembesar suara saya hanya 0.3W (8 ohm), ia akan memberikan kuasa yang cukup untuk menggerakkan pembesar suara. Anda boleh memilih transistor & pembesar suara yang lebih besar jika anda mahukan suara yang lebih kuat.

(1) Pembesar suara, lihat nota pada PNP Transistor di atas

(1) Perintang 100 - 110 ohm

Langkah 2: Rajah Litar

Rajah Litar
Rajah Litar

Langkah pertama ialah membuat litar yang ditunjukkan dalam rajah.

Saya membina bekalan kuasa 3.3VDC menggunakan pengecas telefon bimbit 5V lama yang digabungkan dengan pengawal selia 3.3VDC AMS1117. Untuk soket ESP-01, saya menggunakan soket IC standard 8-pin, dan memotong jambatan plastik yang mewujudkan jurang antara baris, dan kemudian melekatkan 2 baris bersama-sama.

Litar yang saya rancang adalah untuk merasakan kehadiran air di antara dua wayar. Apabila air mencapai hujung kedua wayar, ia akan menghasilkan ketahanan sekitar 10K hingga 20K ohm. Kemudian berturut-turut dengan 10K ohm R1, ia memberikan arus kecil ke dasar Q1 menyebabkan Q1 tepu, menjepit GPIO-2 ke tanah. R1 diperlukan untuk memberi perlindungan kepada Q1 sekiranya terdapat pendek pada kabel penderiaan secara tidak sengaja.

R2 adalah perintang penarik untuk membolehkan ESP-01 boot dari denyar.

Sekarang untuk pembesar suara / buzzer pilihan, jika anda hanya memerlukan ESP-01 untuk bercakap MQTT dan tidak mahu melaksanakan penggera setempat ini, anda boleh mengeluarkan R2, Q2, Speaker, dan meletakkan resistor penarik 10K antara GPIO-0 dan VCC.

Sekiranya anda tidak merasakan keperluan menggunakan penyesuai Mikro-USB ke DIP wanita, anda boleh menyolder wayar antara 5V PS ke modul pengatur 3.3V. Saya lebih suka menggunakan penyesuai MicroUSB wanita sehingga saya dapat menggunakan pengecas telefon bimbit generik dan kabel MicroUSB.

Langkah 3: Membina Litar

Membina Litar
Membina Litar
Membina Litar
Membina Litar
Membina Litar
Membina Litar

Memasukkan semua komponen dan bahagian ke dalam PCB mengikut gambarajah litar di halaman sebelumnya, dan potong ukuran PCB.

Letakkan PCB di dalam kandang yang sesuai dengan PCB dan pembesar suara pilihan. Dalam kes saya, semua bahagian akan sesuai di dalam kotak keluar telefon kecil, walaupun saya perlu memanaskan penutup sedikit untuk membuat bonjolan supaya modul ESP-01 sesuai.

Langkah 4: Memusingkan ESP-01

Pada langkah ini, kita akan memaparkan ESP-01 dengan lakaran arduino. Sekiranya anda tidak pernah memuat naik modul ESP-01, anda boleh mengikuti arahan saya untuk memulakan anda:

Anda boleh mendapatkan lakaran saya di halaman github saya:

Dalam lakaran, sekurang-kurangnya anda perlu mengubah maklumat berikut yang berkaitan dengan rangkaian / persediaan rumah anda:

#define MQTT_SERVER "10.0.0.30" const char * ssid1 = "SSID"; const char * password1 = "MYSSIDpassword"; const char * ssid2 = "SSID1"; const char * password2 = "MYSSIDpassword";

Di rangkaian rumah saya, saya mempunyai 2 titik akses yang berbeza yang menyiarkan 2 SSID yang berbeza, dan lakaran ini akan membenarkan kelebihan dengan menyambung ke SSID seterusnya jika komunikasi ke AP semasa hilang. Sekiranya anda hanya mempunyai satu SSID, isikan kedua ssid1 dan ssid2 dengan nilai yang sama.

Setelah anda membuat pengubahsuaian, muat naik lakaran ke dalam ESP-01, dan pasangkan ESP-01 ke papan antara muka.

Langkah 5: Jalankan Ujian

Untuk menguji apakah projek kami berfungsi, yang paling mudah adalah memantau mesej MQTT di rangkaian. Untuk melakukan itu, anda perlu membuka sesi SSH kepada broker nyamuk dan mengeluarkan arahan berikut:

mosquitto_sub -v -t '#'

Perintah di atas membolehkan kita melihat semua mesej MQTT masuk ke broker.

Sekarang hidupkan litar kami, dan jika semuanya berfungsi, dalam beberapa saat anda sekurang-kurangnya akan melihat mesej MQTT berikut:

stat / SumpWaterSensor / LWT Dalam Talian

Sekarang uji sensor air dengan mencelupkan 2 wayar penderia ke dalam secawan air, dan anda akan melihat mesej ini:

tele / SumpWaterSensor WET

Sekiranya anda mengeluarkan wayar dari air, anda akan melihat mesej ini:

tele / SumpWaterSensor KERING

Sekiranya anda melihat mesej tersebut, projek anda akan berjaya.

Saya juga memasukkan beberapa topik MQTT yang berguna dalam lakaran yang boleh anda gunakan:

"stat / SumpWaterSensorInfo": mesej ini dihantar setiap minit untuk memberi masa operasi dan maklumat lain.

"cmnd / SumpWaterSensorInfo": ESP-01 akan menghantar maklumat jika menerima topik ini dengan nilai '1' (ascii = 49)

"cmnd / SumpWaterSensorCPUrestart": ESP-01 akan dimulakan semula jika menerima topik ini dengan nilai '1' (ascii = 49)

"cmnd / SumpWaterSensorBeep": ESP-01 akan membunyikan pembesar suara jika menerima topik ini dengan nilai '1' (ascii = 49)

"cmnd / SumpWaterSensorBeepFreq": Menetapkan frekuensi penggera pembesar suara, lalai = 900 (Hz)

"cmnd / SumpWaterSensorDebug": Aktifkan dan tetapkan tahap debugging bersiri (lalai adalah 0 - tanpa debugging)

Langkah 6: Pasang Sensor

Pasang Sensor
Pasang Sensor
Pasang Sensor
Pasang Sensor

Dalam aplikasi saya, saya ingin memantau permukaan air di dalam pam bah saya dengan baik, dan memberitahu saya jika air mencapai di atas suis apungan pam bah, yang bermaksud bahawa pam bah saya tidak berfungsi. Saya memasang wayar dan menggunakan tali dawai untuk mengikatnya di sepanjang paip pembuangan.

Langkah 7: Sentuhan Akhir

Sentuhan Akhir
Sentuhan Akhir

Setelah projek ini berjaya dan dapat menerbitkan mesej MQTT kepada broker, langkah seterusnya adalah memikirkan idea apa yang harus dilakukan dengan itu.

Dalam projek saya, saya menggunakan Node-RED untuk mendengar / melanggan topik MQTT "tele / SumpWaterSensor" dan mengumumkan kepada beberapa pembesar suara rumah google jika air dikesan. Selain itu, saya juga menghubungkan aliran ke node pushbullet untuk menghantar pemberitahuan ke telefon android saya.

Saya juga membuat web front-end untuk melihat status sensor (on / offline, uptime, dll). Kadang-kadang saya melihat bahawa ia tidak berfungsi beberapa kali dalam masa 1 minggu, dari statistik, banyak kali kerana ESP-01 terputus dari wifi atau MQTT. Tetapi jangan terlalu risau, lakaran saya telah merangkumi rutin untuk memulakan semula ESP-01 jika terus gagal menyambung ke broker WIFI dan / atau MQTT.

Gambar pada langkah ini, menunjukkan aliran Node-RED untuk mencapainya. Anda juga boleh menampal aliran dari halaman github saya ke Node-RED anda:

Pengumuman rumah Google hanyalah satu contoh untuk projek ini, tetapi saya rasa ini adalah yang paling berguna dan praktikal. Anda sentiasa boleh bersambung ke pendengar MQTT lain, atau bahkan menggunakan IFTTT untuk menggerakkan peranti lain apabila air dikesan.

Berseronok…

Disyorkan: