Daftar Isi:

Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz: 16 Langkah (dengan Gambar)
Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz: 16 Langkah (dengan Gambar)

Video: Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz: 16 Langkah (dengan Gambar)

Video: Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz: 16 Langkah (dengan Gambar)
Video: Tutorial Cara Membuat & Program Blynk Untuk Notifikasi Air Hujan Dengan ESP32 dan Raindrops Module 2024, November
Anonim
Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz
Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz
Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz
Sensor Kebocoran Air pada ESP8266 + Micropython + Domoticz

Beberapa waktu lalu, istri saya meminta saya untuk membuat sensor kebocoran air. Dia takut selang di ruang ketel bocor, dan air akan membanjiri lantai kayu yang baru diletakkan. Dan saya sebagai seorang insinyur sejati melakukan sensor seperti itu untuk dilakukan.

Dari pengalaman saya selama 15 tahun sebagai insinyur medis, saya tahu bahwa cara termudah untuk mendeteksi air adalah pin logam yang dikorsleting oleh air. Prinsip pengoperasian sensor paling sederhana adalah bahwa air harus menyingkat dua (atau lebih) pin logam, dan segera setelah itu terjadi, alarm akan berbunyi.

Langkah 1: Perangkat Keras

Perangkat keras
Perangkat keras

Untuk proyek ini kami membutuhkan:

1. ESP8266 - 01 modul

2. HT7333 3.3V MS Low Dropout Linear Regulator Power Supply modu

Kami membutuhkan modul ini untuk mengurangi tegangan dari baterai ke tingkat yang dapat diterima untuk ESP8266. Menurut datasheet harus ada input 3V hingga 3.6V. Modul ini memberi kita 3.3V.

3. Baterai. Saya menggunakan baterai 3, 7V Li-ion 400mAh. Sebenarnya Anda dapat menggunakan sumber daya lain yang sesuai. Baterai 18650 juga merupakan pilihan yang baik. Saat Anda memilih baterai, ingatlah bahwa ESP "memakan" sekitar 200mA saat terhubung ke jaringan WiFi, dan sekitar 60mA digunakan saat papan mengunggah data ke server.

4. Papan pengisian baterai TP4056 Lipo.

5. Pololu mini pushbutton Power Switch Papan kecil yang sangat menarik. Ini memungkinkan kami mengganti modul ESP hanya ketika air terdeteksi. Anda tidak perlu terus ESP ON. Jadi baik untuk menghemat biaya baterai.

6. Perumahan7. Saklar mikro ganda ON-OFF. Satu baris berfungsi untuk menghidupkan perangkat. Baris kedua adalah untuk pengujian - korsleting tanpa air, hanya untuk memberi tahu kami apakah perangkat berfungsi atau tidak.

8. Komputer mikro Raspberry Pi

Saya menggunakan Raspberry Pi Zero. Cukup kuat untuk menjalankan server Domoticz.

Langkah 2: Perangkat Lunak

Di PC Anda:

1. esptool terinstal, untuk menghapus modul dan mem-flash firmware

2. Ampy diinstal, untuk mem-flash program Anda

3 Python 3.6 atau lebih tinggi direkomendasikan

4. Editor kode apa pun yang Anda inginkan. Paling sederhana - Python IDLE yang biasanya diinstal dengan Python. Saya menggunakan Pycharm / Atom atau Anaconda Spyder Di raspberry Pi

5. Server Domoticz diinstal pada Raspberry Pi (atau PC umum di bawah Windows atau Linux)

Langkah 3: Siapkan Raspberry Pi - Instal Domoticz

Jadi, ambil RPi Anda dan instal sistem operasi yang cocok untuk menjalankan server Domoticz.

Anda dapat mengikuti petunjuk ini.

Saya menggunakan Raspbian Stretch dengan Desktop dari sini:

Langkah selanjutnya adalah menginstal server Domoticz di PC Anda. Anda dapat menggunakan instruksi di sini atau di sini:). Jangan takut, itu tidak begitu sulit. Jelas Anda perlu menjalankan di terminal Anda:

curl -L install.domoticz.com | sudo bash

Dan itu saja:) kurang lebih. Pengaturan Domoticz

Sekarang server kami siap, kami dapat mengaksesnya dari browser web apa pun, termasuk dari tablet dengan memasukkan URL berikut:

Langkah 4: Pengaturan Domoticz

Pengaturan Domoticz
Pengaturan Domoticz

Sekarang server kami siap, kami dapat mengaksesnya dari browser web apa pun, termasuk dari tablet dengan memasukkan URL berikut:

Langkah 5: Sesuaikan Pengaturan Aplikasi

Sesuaikan Pengaturan Aplikasi
Sesuaikan Pengaturan Aplikasi
Sesuaikan Pengaturan Aplikasi
Sesuaikan Pengaturan Aplikasi

Ada berbagai pengaturan aplikasi yang dapat diatur melalui Setup | Menu pengaturan.

Menu Pengaturan dengan berbagai tab memungkinkan Anda memasukkan parameter pribadi yang diperlukan untuk fungsi sistem yang lebih baik. Setelah memasukkan data di bidang, Anda harus menyimpannya dengan menekan tombol merah "Terapkan Pengaturan". Setelah tindakan ini, semua bidang Kata Sandi, yang kosong pada akses pertama, akan muncul dengan rangkaian tanda bintang yang panjang, meskipun belum digunakan.

Setelah Anda membuat pengaturan utama pada halaman "Sistem", klik "Pemberitahuan". Di sini kita perlu menyesuaikan notifikasi seperti apa yang akan kita gunakan.

Langkah 6: Pengaturan Notifikasi

Pengaturan Notifikasi
Pengaturan Notifikasi

Notifikasi dapat dikirimkan misalnya saat saklar ditekan, penggunaan listrik terlalu tinggi, suhu terlalu tinggi dan masih banyak pilihan lainnya.

Dalam kasus kami, pemberitahuan harus dikirim segera setelah air terdeteksi oleh sensor. Jadi aktifkan saja, yang ingin Anda gunakan. Juga biasanya Anda memerlukan kunci API agar notifikasi berfungsi. Berjalan ke depan sedikit, saya akan mengatakan bahwa saya mencoba Pushover, Pushsafer dan Pushbullet. Dan saya tinggal dengan Pushover. Nanti saya kasih tahu alasannya.

Beberapa kata tentang cara kerja notifikasi. Anda harus memiliki akun di Pushbullet, Pushover atau halaman lain yang ingin Anda gunakan. Anda juga akan memerlukan aplikasi di ponsel atau PC Anda.

Dapatkan kunci API, dan masukkan pada halaman di atas. Anda dapat menguji notifikasi dengan mengklik "Uji". Jika kunci API benar, Anda akan mendapatkan notifikasi pengujian ke ponsel Anda.

Segera setelah sensor mendeteksi air, ESP aktif dan mengirimkan permintaan ke server Domoticz dalam format JSON. Daripada jika kondisi untuk memicu suatu peristiwa (mengirim pemberitahuan ke ponsel Anda) terpenuhi, Domoticz mengirimkan pemberitahuan.

Nanti saya akan kembali ke "acara".

Langkah 7: Atur Komunikasi ke Perangkat Keras

Atur Komunikasi ke Perangkat Keras
Atur Komunikasi ke Perangkat Keras
Atur Komunikasi ke Perangkat Keras
Atur Komunikasi ke Perangkat Keras
Atur Komunikasi ke Perangkat Keras
Atur Komunikasi ke Perangkat Keras

Sebelum Anda dapat menggunakan aplikasi Domoticz untuk mengontrol perangkat atau membaca sensor, Anda harus mengatur komunikasi ke perangkat keras. Pilih Setup|Hardware untuk menambahkan perangkat keras. Perangkat tidak akan muncul sampai perangkat keras yang sesuai ditambahkan.

Aplikasi Domoticz mendukung banyak perangkat keras secara native. Dalam kasus kami untuk membaca sensor banjir kami, kami perlu menambahkan perangkat keras yang disebut "Dummy" dari daftar perangkat keras.

Ketika perangkat keras ditambahkan, gambaran umum dari semua perangkat keras yang ditentukan akan ditampilkan. Perangkat keras dapat dinonaktifkan atau dihapus.

Perangkat keras baru harus ada dalam daftar dan harus ada tombol "Buat Sensor Virtual".

Klik tombol ini dan pilih Sensor Type "Alert". Sekarang kita harus menambahkan perangkat di Domoticz untuk menjadi aktif.

Langkah 8: Tambahkan Perangkat di Domoticz Menjadi Aktif

Tambahkan Perangkat di Domoticz Menjadi A-t.webp
Tambahkan Perangkat di Domoticz Menjadi A-t.webp
Tambahkan Perangkat di Domoticz Menjadi A-t.webp
Tambahkan Perangkat di Domoticz Menjadi A-t.webp
Tambahkan Perangkat di Domoticz Menjadi A-t.webp
Tambahkan Perangkat di Domoticz Menjadi A-t.webp

Harap perhatikan nomor di bawah "BEI". Ini adalah referensi unik untuk perangkat ini dan kami membutuhkannya nanti di skrip Python kami untuk mengatasi pemberitahuan. Dalam hal ini nomor BEI adalah 1.

Aktifkan perangkat dengan mengklik panah hijau di sebelah kiri (pada gambar saya di bawah ini berwarna biru, karena perangkat diaktifkan).

Isi nama perangkat, dan klik "tambah".

Arahkan ke menu "Utilitas" dan perangkat Anda akan terdaftar di sana.

Sekarang kita perlu memprogram "event" untuk sensor kita. Artinya, kita perlu memberitahu ke server, apa yang harus dilakukan jika mendapat pesan dari sensor. Dan itu katakanlah tempat yang paling sulit bagi saya:).

Langkah 9: Ini Tidak Bekerja dengan Cara Ini…

Ini Tidak Bekerja dengan Cara Ini…
Ini Tidak Bekerja dengan Cara Ini…

Saya mulai dengan mencoba memprogram acara di halaman/perangkat/. Ini di bawah ini bukan milik saya, tapi tidak apa-apa untuk mengilustrasikannya.

Jika Anda yakin bahwa Anda akan mencentang beberapa kotak dan itu akan berhasil, Anda salah:) Ini tidak bekerja dengan cara ini. Saya kira fitur ini di sini belum selesai. Jangan lupa - ini adalah perangkat lunak open source. Oke, setelah beberapa jam saya menemukan solusinya. Kita perlu menggunakan "Acara" dari menu tarik-turun "Pengaturan".

Setelah mengklik "Acara" Anda dapat membuat acara Anda sendiri. Anda dapat melakukannya dengan membeli menulis kode dengan Python atau LUA, atau hanya dengan menggunakan sesuatu yang disebut "Blockly". Saya memilih untuk menggunakan Blockly. Ada dua cara untuk memaksa server melakukan apa yang Anda inginkan.

Langkah 10: Bangun Acara dengan Cara yang Benar 1

Bangun Acara dengan Cara yang Benar 1
Bangun Acara dengan Cara yang Benar 1

1. Jalankan file eksternal melalui "Events", dengan menggunakan pesan Blockly "Start script"

Ini bekerja untuk saya di mesin Windows dengan sempurna. Tapi saya tidak berhasil dengan ini di Raspbian di Raspberry Pi saya. Saya menduga ada masalah dengan izin.

Langkah 11: Bangun Acara dengan Cara yang Benar 2

Bangun Acara dengan Cara yang Benar 2
Bangun Acara dengan Cara yang Benar 2

2. Gunakan pesan "Kirim pemberitahuan dengan subjek". Ini bekerja pada Raspbian. Opsi ini mendukung pengiriman notifikasi ke Pushsafe dan Pushover.

Keuntungan menggunakan cara pertama, adalah lebih fleksibel. Anda dapat memilih ikon yang akan ditampilkan di layar, suara, dan sebagainya. "Acara" saya ditunjukkan pada gambar di atas.

Selanjutnya, mari kita program modul ESP.

Langkah 12: Pemrograman Modul ESP8266-01

Pemrograman ESP8266-01 Modul
Pemrograman ESP8266-01 Modul

Mari kita mulai dari mem-flash modul ESP8266 kita. Biasanya modul tersebut dilengkapi dengan firmware pabrik. dimungkinkan untuk berkomunikasi dengan modul dengan menggunakan apa yang disebut perintah AT. Dan juga perangkat lunak ini tidak memungkinkan untuk menggunakan modul seperti pengontrol mandiri. Untuk menggunakannya seperti pengontrol mandiri, kita perlu menghapus firmware pabrik dan menginstal yang baru.

Untuk melakukan ini kita akan menggunakan esptool. Daripada kita perlu menghubungkan modul kita ke PC untuk menghapus firmware. Untuk melakukan ini, Anda memerlukan konverter TTL + beberapa komponen tambahan. Tapi ada cara yang lebih mudah:). Beli saja di aliexpress atau ebay USB ke ESP8266 ESP-01 Modul Adaptor Wi-Fi dengan Driver CH340G.

Colokkan modul ESP8266 ke konverter TTL seperti pada gambar, dan sambungkan ke port USB.

Jika Anda memiliki konverter yang sama dengan saya, maka dengan sendirinya Anda perlu mengubah sakelar ke posisi "Prog". Temukan di mana esptool diinstal (biasanya di suatu tempat seperti C:\Program Files (x86)\Python36-32\Scripts. Buka folder ini, luncurkan command prompt di sana. Ketik: python esptool.exe --port COM5 erase_flash

Tentu saja pilih port yang benar. Dalam kasus saya ini adalah COM5. Anda dapat memeriksa port tempat ESP diinstal dari Control panel - System - Device manager.

Instal firmware (saya ambil dari sini: https://micropython.org/download#esp8266) dengan mengetik:

python esptool.exe --port COM5 --baud 460800 write_flash --flash_size=detect 0 C:\path_to_firmware\esp8266-20180511-v1.9.4.bin

Ok, sekarang kita siap untuk mengupload script micropython ke ESP8266.

Saya menggunakan Adafruit MicroPython Tool (ampy) untuk ini.

Namun saat ini ada pilihan lain yang disebut Esplorer. Ini adalah aplikasi dengan antarmuka pengguna, memungkinkan untuk mengunggah file ke modul ESP.

Anda dapat menemukan petunjuk cara menginstal ampy di sini. Jadi, letakkan sakelar pada konverter TTL ke posisi "UART". Kami perlu mengunggah file:

  • wifimgr.py - pengelola wifi untuk menghubungkan ke jaringan wifi
  • main.py - skrip utama kami

Di baris perintah ketik: ampy --port COM5 masukkan C:\path ke file Anda

Tekan "masuk". Setelah beberapa detik Anda akan melihat baris perintah kosong. Artinya file tersebut telah terupload. Anda dapat memeriksa daftar file di ESP dengan perintah ampy:

ampy --port COM5 ls

Dari pengalaman saya, lebih baik mengunggah main.py setelah Anda mengunggah semua file yang diperlukan. begitu, karena segera setelah Anda mengunggah main.py - modul ESP8266 akan reboot dan mulai mengeksekusi file main.py. Jadi dalam hal ini jika Anda mencoba mengupload file lain, terkadang proses upload akan gagal. Tapi bukan berarti semuanya hilang:), coba saja kedua kalinya, dan Anda akan berhasil (sekali lagi, dari pengalaman saya).

Semua file untuk proyek ini tersedia dari sini:

Langkah 13: Hubungkan ke Jaringan WiFi Anda. Dapatkan Pemberitahuan

Hubungkan ke Jaringan WiFi Anda. Dapatkan Pemberitahuan
Hubungkan ke Jaringan WiFi Anda. Dapatkan Pemberitahuan
Hubungkan ke Jaringan WiFi Anda. Dapatkan Pemberitahuan
Hubungkan ke Jaringan WiFi Anda. Dapatkan Pemberitahuan

jika semuanya baik-baik saja, restart modul, dengan memasukkan kembali konverter TTL ke port USB PC Anda.

Setelah ESP dimulai, cari jaringan WiFi baru bernama "Wifimanager". Hubungkan dengan PC atau telepon Anda, lalu pergi ke alamat IP 192.168.4.1.. Di sini Anda dapat menghubungkan ESP Anda ke jaringan WiFi lokal. Pilih jaringan WiFi yang akan Anda gunakan, ketik kata sandi, tekan "Kirim".

Jika semuanya benar, Anda akan melihat pesan " ESP berhasil terhubung ke jaringan XXXX". ESP Anda sekarang terhubung ke jaringan WiFi Anda dan siap. Segera setelah terhubung ke WiFi, itu akan terhubung ke server Domoticz. Shorty Anda harus menerima pemberitahuan di ponsel Anda.

Anda dapat melacak prosesnya di "Pengaturan"/"Log".

Yaa lia!:) Berhasil. Sekarang kita dapat melanjutkan untuk merakit semua bagian bersama-sama, sesuai dengan diagram blok di bawah ini.

Langkah 14: Blok Diagram

Diagram Blok
Diagram Blok

Tidak banyak yang bisa dikatakan tentang diagram ini. Sangat sederhana. Beralih daya dengan sakelar S1. Perangkat berdiri dalam keadaan mati hingga pin "Sensor air" mengalami korsleting air. Kemudian "Papan Pololu" menyala, dan memberikan daya ke konverter tegangan. Modul daya ini berdasarkan chip HT7333, mengubah tegangan menjadi 3.3V stabil untuk ESP8266. Selanjutnya ESP menyala, dan mengirim pesan ke server Domoticz.

Langkah 15: Hasil dan Kesimpulan

Hasil dan Kesimpulan
Hasil dan Kesimpulan
Hasil dan Kesimpulan
Hasil dan Kesimpulan
Hasil dan Kesimpulan
Hasil dan Kesimpulan
Hasil dan Kesimpulan
Hasil dan Kesimpulan

Berhasil. Mengirim notifikasi membutuhkan waktu hingga 10 detik: koneksi ke WiFi, mengirim notifikasi, menerima pesan alarm ke ponsel Anda.

Saya telah memprogram sensor untuk mengirim alarm setiap 30 detik, jika air terdeteksi. Sensor dapat mengirimkan hingga 5 - 6 notifikasi hingga baterai habis. Perangkat tersebut dapat digunakan juga untuk menentukan ketinggian air. Apa yang ingin saya tingkatkan.

1. Untuk membuatnya bekerja lebih cepat. Saya rasa saya akan mencoba menggunakan teknologi ESP-Now, yang memungkinkan saya menghubungkan beberapa ESP secara langsung. Dalam hal ini konsumsi daya selama koneksi sangat rendah dan lebih cepat. Jadi idenya adalah menggunakan satu ESP seperti hub untuk menghubungkan ESP lainnya.

2. Terapkan alarm level baterai. Sekarang Anda tidak dapat mengetahui apakah ada cukup daya untuk mengirim pesan alarm atau tidak. Saya pikir pada generasi berikutnya dari sensor ini akan ada tombol khusus untuk menguji pengisian daya baterai.

Pengguna harus menekan tombol, dan level baterai akan ditampilkan.

Direkomendasikan: