Isi kandungan:

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, Julai
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 ketika yang lalu, isteri saya meminta saya membuat sensor kebocoran air. Dia takut selang di bilik dandang itu bocor, dan air akan membanjiri lantai kayu yang baru diletakkan. Dan saya sebagai jurutera sejati melakukan sensor yang perlu dilakukan.

Dari pengalaman saya selama 15 tahun sebagai jurutera perubatan, saya tahu bahawa kaedah termudah untuk mengesan air adalah pin logam yang dipendekkan oleh air. Prinsip pengoperasian sensor paling sederhana adalah bahawa air harus memendekkan dua (atau lebih) pin logam, dan sebaik sahaja berlaku, penggera akan mencetuskan.

Langkah 1: Perkakasan

Perkakasan
Perkakasan

Untuk projek ini, kami memerlukan:

1. Modul ESP8266 - 01

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

Kami memerlukan modul ini untuk mengurangkan voltan dari bateri ke tahap yang boleh diterima untuk ESP8266. Menurut lembar data harus ada input 3V hingga 3.6V. Modul ini memberi kita 3.3V.

3. Bateri. Saya menggunakan bateri 3, 7V Li-ion 400mAh. Sebenarnya anda boleh menggunakan sumber kuasa lain yang sesuai. Bateri 18650 adalah pilihan yang baik juga. Semasa anda memilih bateri, ingatlah bahawa ESP "makan" kira-kira 200mA semasa menyambung ke rangkaian WiFi, dan kira-kira 60mA digunakan semasa papan memuat naik data ke pelayan.

4. Papan pengecasan bateri TP4056 Lipo.

5. Tombol Kuasa tekan pololu mini Papan kecil yang sangat menarik. Ini membolehkan kita menukar modul ESP hanya apabila air dikesan. Anda tidak perlu mengekalkan ESP. Jadi bagus untuk menjimatkan cas bateri.

6. Perumahan7. ON-OFF suis mikro berganda. Satu talian berfungsi untuk menghidupkan peranti. Baris kedua adalah untuk pengujian - litar pintas tanpa air, hanya untuk memberi tahu kami bahawa peranti berfungsi atau tidak.

8. Komputer mikro Raspberry Pi

Saya menggunakan Raspberry Pi Zero. Ia cukup kuat untuk menjalankan pelayan Domoticz.

Langkah 2: Perisian

Pada PC anda:

1. esptool dipasang, untuk memadam modul dan mem-flash firmware

2. Ampy dipasang, untuk mem-flash program anda

3 Python 3.6 atau lebih tinggi disyorkan

4. Mana-mana editor kod yang anda mahukan. Simplest - Python IDLE yang biasanya dipasang dengan Python. Saya menggunakan Pycharm / Atom atau Anaconda Spyder On raspberry Pi

5. Pelayan Domoticz dipasang pada Raspberry Pi (atau PC biasa di bawah Windows atau Linux)

Langkah 3: Sediakan Raspberry Pi - Pasang Domoticz

Oleh itu, ambil RPi anda dan pasang sistem operasi yang sesuai untuk menjalankan pelayan Domoticz.

Anda boleh mengikuti arahan ini.

Saya menggunakan Raspbian Stretch dengan Desktop dari sini:

Langkah seterusnya adalah memasang pelayan Domoticz pada PC anda. Anda boleh menggunakan arahan di sini atau di sini:). Jangan takut, ia tidak begitu sukar. Jelas anda perlu berlari di terminal anda:

curl -L install.domoticz.com | sudo bash

Dan begitulah:) lebih kurang. Persediaan Domoticz

Setelah pelayan kami siap, kami dapat mengaksesnya dari penyemak imbas web mana pun, termasuk dari tablet dengan memasukkan URL berikut: https:// IP_domoticz: 8080

Langkah 4: Persediaan Domoticz

Persediaan Domoticz
Persediaan Domoticz

Setelah pelayan kami siap, kami dapat mengaksesnya dari penyemak imbas web mana pun, termasuk dari tablet dengan memasukkan URL berikut: https:// IP_domoticz: 8080

Langkah 5: Laraskan Tetapan Aplikasi

Laraskan Tetapan Aplikasi
Laraskan Tetapan Aplikasi
Laraskan Tetapan Aplikasi
Laraskan Tetapan Aplikasi

Terdapat pelbagai tetapan aplikasi yang dapat disetel melalui Setup | Menu tetapan.

Menu Pengaturan dengan pelbagai tab membolehkan anda memasukkan parameter peribadi yang diperlukan agar sistem berfungsi dengan lebih baik. Setelah memasukkan data di ladang, Anda harus menyimpannya dengan menekan butang merah "Terapkan Tetapan". Selepas tindakan ini, semua medan Kata Laluan, yang kosong pada akses pertama, akan muncul dengan tali asterisk yang panjang, walaupun belum digunakan.

Setelah anda membuat persediaan utama di halaman "Sistem", klik "Pemberitahuan". Di sini kita perlu menyesuaikan jenis pemberitahuan yang akan kita gunakan.

Langkah 6: Siapkan Pemberitahuan

Persediaan Pemberitahuan
Persediaan Pemberitahuan

Pemberitahuan dapat dikirim misalnya ketika suis didorong, penggunaan elektrik terlalu tinggi, suhu hingga tinggi dan untuk banyak pilihan lagi.

Dalam kes kami, pemberitahuan harus dihantar sebaik sahaja air dikesan oleh sensor. Oleh itu, hidupkan sahaja yang anda mahu gunakan. Biasanya anda memerlukan kunci API agar notifikasi berfungsi. Berjalan sedikit, saya akan mengatakan bahawa saya mencuba Pushover, Pushsafer dan Pushbullet. Dan saya tinggal bersama Pushover. Saya akan memberitahu mengapa.

Beberapa perkataan mengenai cara pemberitahuan berfungsi. Anda perlu mempunyai akaun di Pushbullet, Pushover atau halaman lain yang ingin anda gunakan. Anda juga memerlukan aplikasi di telefon bimbit atau PC anda.

Dapatkan kunci API, dan masukkan pada halaman di atas. Anda boleh menguji pemberitahuan dengan mengklik "Uji". Sekiranya kunci API betul, anda harus mendapatkan pemberitahuan ujian ke telefon bimbit anda.

Sebaik sahaja sensor merasakan air, ESP menyala dan menghantar permintaan ke pelayan Domoticz dalam format JSON. Sekiranya syarat untuk mencetuskan peristiwa (menghantar pemberitahuan ke telefon bimbit anda) dipenuhi, Domoticz mengirimkan pemberitahuan tersebut.

Nanti saya akan kembali ke "acara".

Langkah 7: Siapkan Komunikasi ke Peranti Perkakasan

Siapkan Komunikasi ke Peranti Perkakasan
Siapkan Komunikasi ke Peranti Perkakasan
Siapkan Komunikasi ke Peranti Perkakasan
Siapkan Komunikasi ke Peranti Perkakasan
Siapkan Komunikasi ke Peranti Perkakasan
Siapkan Komunikasi ke Peranti Perkakasan

Sebelum anda dapat menggunakan aplikasi Domoticz untuk mengawal peranti atau membaca sensor, anda mesti mengatur komunikasi ke peranti perkakasan. Pilih Persediaan | Perkakasan untuk menambah perkakasan. Peranti tidak akan muncul sehingga perkakasan yang sesuai ditambahkan.

Aplikasi Domoticz menyokong banyak peranti perkakasan secara semula jadi. Dalam kes kami untuk membaca sensor banjir kami, kami perlu menambahkan perkakasan "Dummy" yang disebut dari senarai perkakasan.

Apabila perkakasan ditambahkan, gambaran keseluruhan semua perkakasan yang ditentukan akan ditunjukkan. Perkakasan boleh dilumpuhkan atau dihapuskan.

Perkakasan baru harus ada dalam senarai dan harus ada butang "Buat Sensor Maya".

Klik butang ini dan pilih Sensor Type "Alert". Sekarang kita harus menambah peranti di Domoticz untuk menjadi aktif.

Langkah 8: Tambahkan Peranti di Domoticz untuk Menjadi Aktif

Tambahkan Peranti di Domoticz untuk Menjadi A-t.webp
Tambahkan Peranti di Domoticz untuk Menjadi A-t.webp
Tambahkan Peranti di Domoticz untuk Menjadi A-t.webp
Tambahkan Peranti di Domoticz untuk Menjadi A-t.webp
Tambahkan Peranti di Domoticz untuk Menjadi A-t.webp
Tambahkan Peranti di Domoticz untuk Menjadi A-t.webp

Harap perhatikan nombor di bawah "IDX". Ini adalah rujukan unik untuk peranti ini dan kami memerlukannya kemudian dalam skrip Python kami untuk menangani pemberitahuan. Dalam kes ini, nombor IDX adalah 1.

Aktifkan peranti dengan mengklik anak panah hijau di sebelah kiri (pada gambar saya di bawahnya berwarna biru, kerana peranti diaktifkan).

Isi nama peranti, dan klik "tambah".

Navigasi ke menu "Utiliti" dan peranti anda harus disenaraikan di sana.

Sekarang kita perlu memprogramkan "acara" untuk sensor kita. Ini bermaksud, bahawa kita perlu memberitahu kepada pelayan, apa yang harus dilakukan sekiranya mendapat mesej dari sensor. Dan itu adalah tempat paling sukar bagi saya:).

Langkah 9: Tidak Berfungsi Dengan Cara ini …

Ia Tidak Berfungsi Dengan Cara ini …
Ia Tidak Berfungsi Dengan Cara ini …

Saya mulakan dengan mencuba program acara di / device / halaman. Perkara di bawah ini bukan milik saya, tetapi boleh digambarkan.

Sekiranya anda yakin bahawa anda akan memeriksa beberapa kotak centang dan ia akan berfungsi, anda salah:) Ia tidak berfungsi dengan cara ini. Saya rasa ciri ini di sini belum selesai. Jangan lupa - ia adalah perisian sumber terbuka. Baiklah, setelah beberapa jam saya menemui jalan penyelesaiannya. Kita perlu menggunakan "Acara" dari menu drop-down "Penyediaan".

Setelah mengklik "Acara" anda boleh membuat acara anda sendiri. Anda boleh melakukannya dengan menulis kod di Python atau LUA, atau hanya dengan menggunakan perkara yang disebut "Blockly". Saya memilih untuk menggunakan Blockly. Terdapat dua cara untuk memaksa pelayan melakukan apa yang anda mahukan.

Langkah 10: Bina Acara dengan Cara yang betul 1

Bina Acara dengan Cara yang betul 1
Bina Acara dengan Cara yang betul 1

1. Laksanakan fail luaran melalui "Acara", dengan menggunakan Blokir mesej "Mula skrip"

Ini berfungsi untuk saya di mesin Windows dengan sempurna. Tetapi saya tidak berjaya dengan Raspbian ini pada Raspberry Pi saya. Saya mengesyaki bahawa terdapat masalah dengan kebenaran.

Langkah 11: Bina Acara dengan Cara yang Betul 2

Bina Acara dengan Cara yang Betul 2
Bina Acara dengan Cara yang Betul 2

2. Gunakan "Kirim pemberitahuan dengan subjek". Ia berfungsi pada Raspbian. Pilihan ini menyokong penghantaran pemberitahuan ke Pushsafe dan Pushover.

Kelebihan menggunakan cara pertama adalah lebih fleksibel. Anda boleh memilih ikon yang akan ditunjukkan pada paparan, bunyi dan sebagainya. "Acara" saya ditunjukkan pada gambar di atas.

Seterusnya, mari kita atur modul ESP.

Langkah 12: Pengaturcaraan Modul ESP8266-01

Pengaturcaraan Modul ESP8266-01
Pengaturcaraan Modul ESP8266-01

Mari mulakan dengan memaparkan modul ESP8266 kami. Biasanya modul tersebut dilengkapi dengan firmware kilang. adalah mungkin untuk berkomunikasi dengan modul dengan menggunakan perintah AT yang disebut. Dan juga perisian ini tidak membenarkan penggunaan modul seperti pengawal yang berdiri sendiri. Untuk menggunakannya seperti pengawal mandiri, kita perlu memadam firmware kilang dan memasang yang baru.

Untuk melakukan ini, kita akan menggunakan esptool. Daripada kita perlu menyambungkan modul kita ke PC untuk menghapus firmware. Untuk melakukan ini, anda memerlukan penukar TTL + beberapa komponen tambahan. Tetapi ada cara yang lebih mudah:). Cukup beli pada aliexpress atau ebay USB ke ESP8266 ESP-01 Wi-Fi Adapter Module w / CH340G Driver.

Pasang modul ESP8266 ke penukar TTL seperti yang ditunjukkan pada gambar, dan sambungkan ke port USB.

Sekiranya anda mempunyai penukar yang sama dengan saya, maka dengan sendirinya anda perlu menukar suis ke kedudukan "Prog". Cari di mana esptool dipasang (biasanya di tempat seperti C: / Program Files (x86) Python36-32 / Skrip. Pergi ke folder ini, lancarkan command prompt di sana. Taip: python esptool.exe --port COM5 erase_flash

Sudah tentu memilih port yang betul. Dalam kes saya, ia adalah COM5. Anda boleh memeriksa port tempat ESP dipasang dari Panel kawalan - Sistem - Pengurus peranti.

Pasang firmware (saya mengambilnya dari sini: https://micropython.org/download#esp8266) dengan menaip:

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 sudah bersedia untuk memuat naik skrip mikropon ke ESP8266.

Saya menggunakan Adafruit MicroPython Tool (ampy) untuk ini.

Tetapi pada masa ini terdapat pilihan lain yang dipanggil Esplorer. Ini adalah aplikasi dengan antara muka pengguna, yang memungkinkan untuk memuat naik fail ke modul ESP.

Anda boleh mendapatkan arahan cara memasang ampy di sini. Jadi, pasangkan suis pada penukar TTL ke kedudukan "UART". Kami perlu memuat naik fail:

  • wifimgr.py - pengurus wifi untuk menyambung ke rangkaian wifi
  • main.py - skrip utama kami

Pada baris perintah jenis: ampy --port COM5 letakkan C: / path ke fail anda

Tekan "enter". Selepas beberapa saat, anda akan melihat baris arahan kosong. Ini bermaksud fail telah dimuat naik. Anda boleh menyemak senarai fail di ESP dengan perintah ampy:

ampy --port COM5 ls

Dari pengalaman saya, lebih baik memuat naik main.py setelah anda memuat naik semua fail yang diperlukan. begitu, kerana sebaik sahaja anda memuat naik modul main.py - ESP8266 akan reboot dan mula melaksanakan fail main.py. Oleh itu, sekiranya anda cuba memuat naik fail lain, kadangkala proses muat naik akan gagal. Tetapi itu tidak bermakna semuanya hilang:), cubalah kali kedua, dan anda akan berjaya (sekali lagi, dari pengalaman saya).

Semua fail untuk projek ini boleh didapati dari sini:

Langkah 13: Sambungkan ke Rangkaian WiFi Anda. Mendapat pemberitahuan

Sambungkan ke Rangkaian WiFi Anda. Mendapat pemberitahuan
Sambungkan ke Rangkaian WiFi Anda. Mendapat pemberitahuan
Sambungkan ke Rangkaian WiFi Anda. Mendapat pemberitahuan
Sambungkan ke Rangkaian WiFi Anda. Mendapat pemberitahuan

jika semuanya baik-baik saja, mulakan semula modul, dengan memasukkan semula penukar TTL ke port USB PC anda.

Selepas ESP bermula, cari rangkaian WiFi baru yang dipanggil "Wifimanager". Sambungkannya dengan PC atau telefon anda, kemudian pergi ke alamat IP 192.168.4.1.. Di sini anda boleh menyambungkan ESP anda ke rangkaian WiFi tempatan. Pilih rangkaian WiFi yang akan anda gunakan, ketik kata laluan, tekan "Kirim".

Sekiranya semuanya betul, anda akan melihat mesej "ESP berjaya disambungkan ke rangkaian XXXX". ESP anda sekarang disambungkan ke rangkaian WiFi anda dan siap. Sebaik sahaja disambungkan ke WiFi, ia akan disambungkan ke pelayan Domoticz. Singkatnya anda harus menerima pemberitahuan di telefon bimbit anda.

Anda boleh mengesan prosesnya di "Setup" / "Log".

Vua lia!:) Ianya berfungsi. Sekarang kita boleh memasang semua bahagian bersama-sama, mengikut rajah blok di bawah.

Langkah 14: Gambarajah Blok

Gambarajah blok
Gambarajah blok

Tidak banyak yang boleh dikatakan mengenai rajah ini. Sangat ringkas. Tukar kuasa dengan suis S1. Peranti dalam keadaan mati sehingga pin "Sensor air" mendekatkan air. Kemudian "Pololu board" dihidupkan, dan memberi kuasa kepada penukar voltan. Modul kuasa ini berdasarkan cip HT7333, menukar voltan kepada 3.3V stabil untuk ESP8266. ESP seterusnya dihidupkan, dan menghantar mesej ke pelayan 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

Ianya berfungsi. Mengirim pemberitahuan memakan waktu hingga 10 saat: sambungan ke WiFi, mengirim pemberitahuan, menerima pesan penggera ke telefon anda.

Saya telah memprogramkan sensor untuk menghantar penggera setiap 30an, jika air dikesan. Sensor dapat mengirim hingga 5 - 6 pemberitahuan sehingga bateri akan habis. Peranti sedemikian boleh digunakan juga untuk menentukan paras air. Apa yang ingin saya perbaiki.

1. Untuk menjadikannya berfungsi lebih pantas. Saya rasa saya akan cuba menggunakan teknologi ESP-Now, yang membolehkan saya menghubungkan beberapa ESP secara langsung. Dalam kes ini, penggunaan kuasa semasa sambungan sangat rendah dan lebih pantas. Jadi idenya adalah menggunakan satu ESP seperti hub untuk menghubungkan ESP lain.

2. Laksanakan penggera tahap bateri. Sekarang anda tidak tahu adakah kekuatan yang cukup untuk menghantar mesej penggera atau tidak. Saya rasa pada generasi berikutnya sensor ini akan ada butang khas untuk menguji cas bateri.

Pengguna perlu menekan butang, dan tahap bateri akan ditunjukkan.

Disyorkan: