Daftar Isi:

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

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

Video: Sensor WIFI MQTT/Google Home Banjir/Air Dengan ESP-01: 7 Langkah
Video: IoT Learning - #Part1 Monitoring Nilai Suhu dan Kelembapan Pada Dashboard Menggunakan Protokol MQTT 2024, Juli
Anonim
Sensor WIFI MQTT/Google Home Banjir/Air Dengan ESP-01
Sensor WIFI MQTT/Google Home Banjir/Air Dengan ESP-01

Dalam instruksi ini, saya akan menunjukkan cara membangun sensor banjir/air wifi dengan biaya minimal. Seluruh proyek menghabiskan biaya kurang dari $8 untuk suku cadang yang saya peroleh dari ebay dan suku cadang saya yang ada.

Dalam proyek ini, kami akan menggunakan ESP-01 untuk menyediakan klien Wifi dan MQTT untuk mendeteksi keberadaan air, dan secara opsional menggunakan speaker/buzzer yang terhubung langsung untuk memberikan alarm lokal.

Aplikasi khusus saya untuk proyek ini adalah untuk mendeteksi banjir/air di dalam sumur pompa bah saya, dalam kasus kegagalan pompa bah. Ketika air terdeteksi oleh 2 kabel terbuka, itu akan mengirim pesan ke broker MQTT. Broker MQTT kemudian akan menyampaikan pesan tersebut ke NodeRED. Setelah menerima pesan MQTT, NodeRED akan mengirimkan pengumuman ke beberapa perangkat google home dan juga secara opsional mengirim pesan ke ponsel/browser melalui pushbullet

Sekarang tentu saja proyek ini hanya akan bekerja jika listrik rumah ON. Dalam instruksi berikutnya saya akan mengintegrasikan sirkuit cadangan baterai. Tetapi jika Anda membuat catu daya dengan cara yang sama seperti yang saya lakukan, Anda cukup mencolokkan bank daya USB untuk cadangan baterai. Jika Anda memiliki bank daya yang memungkinkan Anda mengisi daya dan memasok daya secara bersamaan, maka Anda sudah siap.

Saya menggunakan RaspberryPi ZeroW untuk meng-host server Mosquitto MQTT dan NodeRED. Sudah berjalan lebih dari setahun tanpa masalah.

Referensi: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi…Instal NodeRED di Raspberry Pi:

Langkah 1: Bagian yang Anda Butuhkan

Bagian Yang Anda Butuhkan
Bagian Yang Anda Butuhkan
Bagian Yang Anda Butuhkan
Bagian Yang Anda Butuhkan
Bagian Yang Anda Butuhkan
Bagian Yang Anda Butuhkan

Daftar Bagian:

(1) ESP-01

(2) Resistor 10K ohm

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

(2) kabel panjang

(1) Catu daya generik 5V (sirkuit ini membutuhkan arus kurang dari 300mA)

(1) modul regulator 3.3V AMS1117

(1) Micro-USB To DIP Adapter Female Connector PCB Converter DIY Kit

(1) kabel USB-A ke MicroUSB.

(1) Soket IC 8-pin - dapat dihilangkan jika Anda ingin menyolder ESP-01 langsung ke papan sirkuit. Potong jembatan plastik yang membuat celah di antara baris, lalu rekatkan 2 baris, lihat foto.

(1) Kandang kecil untuk proyek

Di bawah ini adalah bagian opsional jika Anda memerlukan alarm lokal menggunakan speaker/buzzer

(1) Transistor PNP Generik, pilih sesuai dengan kebutuhan arus/watt speaker/buzzer. Dalam kasus saya, saya menggunakan 2N2907 karena speaker saya hanya 0,3W (8 ohm), itu akan memberikan daya yang cukup untuk menggerakkan speaker. Anda dapat memilih transistor & speaker yang lebih besar jika Anda menginginkan suara yang lebih keras.

(1) Speaker, lihat catatan pada Transistor PNP di atas

(1) Resistor 100 - 110 ohm

Langkah 2: Diagram Sirkuit

Diagram Sirkuit
Diagram Sirkuit

Langkah pertama adalah membuat sirkuit yang ditunjukkan pada diagram.

Saya membangun catu daya 3.3VDC menggunakan charger ponsel 5V lama yang digabungkan dengan regulator AMS1117 3.3VDC. Untuk soket ESP-01, saya menggunakan soket IC standar 8-pin, dan memotong jembatan plastik yang membuat celah di antara baris, lalu merekatkan 2 baris menjadi satu.

Rangkaian yang saya rancang adalah untuk merasakan adanya air di antara dua kabel. Ketika air mencapai ujung kedua kabel, itu akan menciptakan hambatan sekitar 10K hingga 20K ohm. Kemudian secara seri dengan 10K ohm R1, ia memberikan arus kecil ke dasar Q1 yang menyebabkan Q1 jenuh, menjepit GPIO-2 ke ground. R1 diperlukan untuk memberikan perlindungan ke Q1 jika terjadi korsleting yang tidak disengaja pada kabel penginderaan.

R2 adalah resistor pull-up untuk memungkinkan ESP-01 melakukan booting dari flash.

Sekarang untuk speaker/buzzer opsional, jika Anda hanya membutuhkan ESP-01 untuk berbicara MQTT dan tidak ingin menerapkan alarm lokal ini, Anda dapat menghapus R2, Q2, Speaker, dan menempatkan resistor pull-up 10K antara GPIO-0 dan VCC.

Jika Anda tidak merasa perlu menggunakan adaptor Micro-USB ke DIP wanita, Anda dapat menyolder kabel antara 5V PS ke modul regulator 3.3V. Saya lebih suka menggunakan adaptor MicroUSB perempuan sehingga saya bisa menggunakan charger ponsel generik dan kabel MicroUSB.

Langkah 3: Membangun Sirkuit

Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit
Membangun Sirkuit

Solder semua komponen dan part ke dalam PCB sesuai dengan diagram rangkaian di halaman sebelumnya, dan potong PCB sesuai ukuran.

Tempatkan PCB di dalam wadah yang sesuai dengan PCB dan speaker opsional. Dalam kasus saya, semua bagian akan muat di dalam kotak outlet telepon kecil, meskipun saya harus memanaskan penutup sedikit untuk membuat tonjolan sehingga modul ESP-01 akan muat.

Langkah 4: Mem-flash ESP-01

Pada langkah ini, kita akan mem-flash ESP-01 dengan sketsa arduino. Jika Anda belum pernah menginstal modul ESP-01, Anda dapat mengikuti instruksi saya untuk memulai:

Anda dapat menemukan sketsa saya di halaman github saya:

Dalam sketsa, minimal Anda perlu mengubah informasi berikut yang berkaitan dengan jaringan/pengaturan 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 jaringan rumah saya, saya memiliki 2 titik akses berbeda yang menyiarkan 2 SSID berbeda, dan sketsa ini akan memungkinkan redundansi dengan menghubungkan ke SSID berikutnya jika komunikasi ke AP saat ini terputus. Jika Anda hanya memiliki satu SSID, isi ssid1 dan ssid2 dengan nilai yang sama.

Setelah Anda melakukan modifikasi, unggah sketsa ke ESP-01, dan colokkan ESP-01 ke papan antarmuka.

Langkah 5: Uji Coba

Untuk menguji apakah proyek kita berhasil, cara termudah adalah dengan memantau pesan MQTT di jaringan. Untuk melakukan itu, Anda perlu membuka sesi SSH ke broker nyamuk dan mengeluarkan perintah berikut:

mosquitto_sub -v -t '#'

Perintah di atas akan memungkinkan kita untuk melihat semua pesan MQTT yang masuk ke broker.

Sekarang nyalakan sirkuit kami, dan jika semuanya berfungsi, dalam beberapa detik Anda setidaknya akan melihat pesan MQTT berikut:

stat/SumpWaterSensor/LWT Online

Sekarang uji sensor air dengan mencelupkan 2 kabel penginderaan ke dalam secangkir air, dan Anda akan melihat pesan ini:

tele/SumpWaterSensor BASAH

Dan jika Anda mengeluarkan kabel dari air, Anda akan melihat pesan ini:

tele/SumpWaterSensor KERING

Jika Anda melihat pesan-pesan itu, proyek Anda berhasil.

Saya juga menyertakan beberapa topik MQTT yang berguna dalam sketsa yang dapat Anda gunakan:

"stat/SumpWaterSensorInfo": pesan ini dikirim setiap menit untuk memberikan waktu aktif dan info lainnya.

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

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

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

"cmnd/SumpWaterSensorBeepFreq": Mengatur frekuensi alarm speaker, default = 900 (Hz)

"cmnd/SumpWaterSensorDebug": Mengaktifkan dan mengatur level debugging serial (default adalah 0 - tidak ada debugging)

Langkah 6: Pasang Sensor

Pasang Sensor
Pasang Sensor
Pasang Sensor
Pasang Sensor

Dalam aplikasi saya, saya ingin memantau ketinggian air di dalam sumur pompa bah saya, dan memberi tahu saya jika air mencapai di atas sakelar pelampung pompa bah, yang berarti pompa bah saya tidak berfungsi. Saya menjalankan kabel dan menggunakan ikatan kawat untuk mengamankannya di sepanjang pipa pembuangan.

Langkah 7: Sentuhan Terakhir

Sentuhan Terakhir
Sentuhan Terakhir

Sekarang setelah proyek berjalan dan dapat mempublikasikan pesan MQTT ke broker, langkah selanjutnya adalah memikirkan ide apa yang harus dilakukan dengan itu.

Dalam proyek saya, saya menggunakan Node-RED untuk mendengarkan/berlangganan topik MQTT "tele/SumpWaterSensor" dan mengumumkan ke beberapa speaker rumah google jika air terdeteksi. Selain itu, saya juga menghubungkan aliran ke node pushbullet untuk mengirim pemberitahuan ke ponsel android saya.

Saya juga membuat web front-end untuk melihat status sensor (on/offline, uptime, dll). Terkadang saya melihat beberapa kali offline dalam waktu 1 minggu, dari statistik, sering kali karena ESP-01 terputus dari wifi atau MQTT. Tapi jangan khawatir, sketsa saya sudah termasuk rutin untuk me-restart ESP-01 jika terus gagal mencoba terhubung ke WIFI dan/atau broker MQTT.

Gambar pada langkah ini, menunjukkan aliran Node-RED untuk mencapai hal ini. Anda juga dapat menempelkan aliran dari halaman github saya ke Node-RED Anda:

Pengumuman beranda Google hanyalah salah satu contoh untuk proyek ini, tetapi menurut saya ini yang paling berguna dan praktis. Anda selalu dapat berinteraksi dengan pendengar MQTT lainnya, atau bahkan menggunakan IFTTT untuk menggerakkan perangkat lain saat air terdeteksi.

Selamat bersenang-senang…

Direkomendasikan: