
Suatu kali saya bosan mengambil pembacaan meter air. Itu mungkin untuk menyelesaikan magnet di dekat konter dan menenangkan ini, tetapi saya menemukan jalan ini tidak sportif.
Jalan saya sulit dan penuh hiasan. Tetapi hasilnya adalah perangkat yang mentransmisikan pembacaan air melalui Wi-Fi ke telepon. Sederhana dan intuitif untuk digunakan dan dikonfigurasi untuk setidaknya seorang siswa sekolah, setidaknya
untuk warga negara senior. Dan akrab dengan kata "Arduino" - juga mudah dibuat. Perangkat ini dapat berjalan dengan baterai selama empat tahun (lebih lama dari hubungan dengan mantan Anda bertahan). Ini juga merupakan proyek terbuka pertama dengan karakteristik seperti itu.
Saya menulis analog pabrik, mereka sedikit, dan baik-baik saja dengan mereka.
Jadi, kita punya uang dan keinginan besar, tapi jujur untuk menyederhanakan hidup kita tanpa melanggar KUHP. Dan agar tidak ada satu pun dari 220V Anda, server dan banyak tombol! Kami melihat bacaan pada smartphone di aplikasi Blynk atau layanan serupa.
Sekarang duduklah di kursi, makan lebih banyak roti Prancis lembut ini dan minum teh. Lihat foto-foto indah dan dengarkan kisah saya tentang apa yang harus dipertimbangkan ketika membuat perangkat yang berdiri sendiri. Tapi pertama-tama, deskripsi singkat tentang Waterius.
Persyaratan
- counter dengan kawat (UPD2:
output "kontak kering" ) - Router Wi-Fi dengan internet
Karakteristik
- Daya: 3 baterai AA
- waktu kerja 4 tahun atau lebih
- 2 meter air
- satu tombol untuk mengkonfigurasi
- memori non-volatile untuk indikasi dan pengaturan jaringan
Transfer Harian Wi-Fi
- bacaan saat ini
- konsumsi air per hari
- tegangan suplai
- email huruf (isi dan judul dapat diubah)
Dukungan yang diimplementasikan untuk server TCP dan aplikasi Blynk. Tambahkan
HTTP ,
MQTT , Modbus TCP, Cayenne, IFTTT, dll. (Di sini diberikan tempat untuk manifestasi kejeniusan kreatif Anda).
UPD2: jenius kreatif belum meluncurkan HTTPS, MQTT
Kustomisasi
Ketika tombol Waterius diklik, tombol ini menghidupkan titik akses Wi-Fi. Hubungkan, isi formulir, membungkuk ke timur tiga kali dan ucapkan "terima kasih" kepada pengembang
WiFiManager . Anda bisa secara mental.

Menghibur Elektronik
Sebuah hamburan elemen radio untuk pertemuan Waterius

Satu-satunya cara untuk mencapai unit konsumsi mikro-ampere sambil menghitung pulsa adalah dengan menggunakan mikrokontroler ekonomis, bukan apa yang Anda pikirkan. Waterius heart - Attiny85 mikrokontroler (analog - MSP430, STM8L). Itu dijahit tanpa masalah dengan papan Arduino dengan tangan tumbuh di atas pinggang. Attiny85 beroperasi pada frekuensi 1 MHz dari generator internal dan menghitung pulsa, secara berkala memeriksa 2 input untuk hubungan pendek dan sebuah tombol. Tidur saat ini
4 μA pada 3V . Sebuah dongeng.
Sebagai Wi-Fi saya menggunakan ESP8266-01. Konsumsi selama operasi 75mA, pulsa hingga 250mA. Dua mikrokontroler berkomunikasi di bus i2c. Ketepatan pilihan dikonfirmasi oleh
proyek stasiun cuaca . ESP8266 selalu dalam mimpi: pin EN ditarik ke GND melalui resistor. Arus konsumsi kurang dari 10 μA (saya menemukan contoh dengan 0 μA). Sekali sehari, Attiny85 menghadirkan HIGH, ESP8266 bangun, menerima bacaan dari Attiny85, menghubungkan ke rumah Wi-Fi dan mengirimkan data dalam ~ 4 detik - yang, menurut penelitian oleh para ilmuwan Inggris, jauh lebih cepat daripada yang biasanya Anda dapatkan dengan alat penghitung ini secara manual.
Foto menunjukkan ESP yang baik, konsumsi melonjak 7-11μA. Biasanya angkanya 19-23μA.Jenis tidur lainnya tidak akan bekerja untuk Waterius, setidaknya taburkan dengan melatonin ke suara lagu pengantar tidur: Tidur nyenyak tak terbatas dengan wake-up instan pada reset eksternal menghabiskan 20 μA dan cocok untuk pengiriman data yang sering. Pilihan paling ekonomis: matikan ESP8266 sepenuhnya, tetapi Anda akan memerlukan transistor efek medan yang takut pada listrik statis, itu saja.
Tombol pengaturan terletak di jalur SCL. Semua pin Attiny85 sedang sibuk! Untuk alasan ini, Waterius tidak mendukung output meter Namur dan tidak memiliki sensor kebocoran.
LED terhubung ke pin TX dari ESP dan menyala ketika ESP sedang berjalan. Sambungkan adaptor TTL-USB untuk melihat log (meskipun menarik!). Pada awal pengembangan, saya berpikir bahwa untuk mengindikasikan kesalahan, Anda perlu mengedipkan LED, tetapi Anda akan mengaturnya - ini hanya akan memperumit kode.
Jika Anda berhasil terhubung ke router Wi-Fi setelah 3-10 detik, LED akan mati, dan jika terus menyala, sambungkan kembali ponsel Anda ke Waterius. Teknologi canggih, nanoteknologi, prestasi NASA, ajaran Cina kuno.
Kita masing-masing tahu: fitur perangkat berdaya rendah adalah kerentanannya terhadap interferensi elektromagnetik. Oleh karena itu, saya beralih ke insinyur elektronik yang akrab dan mempelajari
sastra (+ kursus
Murata yang paling indah). Semua pin pada ESP dan Attiny ditarik ke kekuasaan atau GND. Kapasitor daya terpasang. Tanah "kotor" meter terhubung ke "bersih" satu melalui resistor 300 ohm, dan output sendiri melalui resistor 3k3. Semua orang pasti begitu!
Perumahan
Kami mengambil botol plastik ... lelucon. Saya menggunakan kompartemen untuk 4 baterai AA. Sebuah lubang dipotong pada penutup untuk konektor, di samping untuk LED dan tombol.

Anda dapat menggunakan kotak persimpangan (dengan printer 3D dan perdukunan lainnya, coba sendiri jika tidak).
In
github adalah papan satu lapis untuk LUT dan papan dua lapis untuk produksi pabrik. Waterius dapat dibuat bahkan oleh anak sekolah! Benar, jika dia tidak memiliki hoverboard dan tidak pernah memutar spinner.
Papan ideal tidak langsung berfungsi. Prototipe pertama terlihat seperti ini:

Tetapi versi keempat, yang dibangun, hampir "sempurna":

Saya tidak bisa menolak dan memesan sebungkus papan di Resonite. Ini tinggi!

Nutrisi
Dalam Waterius ada
3V MCP1700 stabilizer dengan konsumsi minimum yang sangat rendah (beberapa μA). Tiga baterai alkaline AA 1.5V
akan dapat dilepaskan hampir sepenuhnya ke 3.2 V. Plus, Attiny85 akan memiliki tegangan yang stabil (dan
frekuensinya akan kurang
mengambang , yang berdengung, meskipun ini tidak penting dalam proyek ini).
Rangkaian ini akan bekerja tanpa stabilizer dari dua baterai AA. Attiny85 harus membeli versi V (daya hingga 1.8V). ESP bekerja "di Internet" hingga 2.5V. Kami akan dapat menggunakan 40% dari kapasitas baterai (jangan percaya - lihat pengujian
A. Nadezhin ). Jika Anda membeli dua baterai lithium AA 1.5V 3 Ah, Waterius akan bekerja hingga 10 tahun pada suhu rendah, dan di sana - Anda lihat - dan kami akan membangun komunisme.
Kurangnya alat tidak memungkinkan saya untuk mengukur konsumsi Waterius secara akurat. Dia telah bekerja di rumah selama 45 hari, mengirimkan bacaan setiap 30 menit (untuk mempercepat pembuangan). Tegangan suplai turun 0,17V dari 4,68V ke 4,51V (UPD: 100 hari 4,38V, UPD2: 313 hari 3,9V). Jika ini berlangsung, baterai akan bertahan selama 1,5 tahun. Mengirim bacaan sekali sehari 3 kali lebih ekonomis, jadi 4 tahun bekerja. Ya, saya tahu tentang baterai self-discharge.
Lembar data energizer dan umur simpan pada paket mengatakan itu tidak kuat.
Berikut ini adalah perhitungan konsumsi baterai dan biaya komponen untuk yang paling penasaran (
tabel Google ).
Detail programer (bagi mereka yang tidak lelah)
Implementasi penghitungan pulsa pada interupsi tidak cocok, karena air dapat dimatikan pada saat saklar buluh ditutup (zona ~ 3L), dan arus akan mengalir melalui resistor pull-up. Diperlukan perlindungan dari pantulan kontak: sirkuit mikro atau penundaan kode. Saya menerapkan jajak pendapat berkala setiap 250 ms dan nilai tambah (kata yang indah, kan?) Hanya dengan penutupan berulang. Tidak ada yang perlu disolder, meskipun jika Anda benar-benar ingin, maka Anda bisa.
Untuk melindungi dari pemuatan ulang Attiny, saya menyimpan semua nilai dalam memori EEPROM-nya. Untuk melampaui batas 100k entri, saya menulis
buffer cincin dengan tanda dering untuk sel saat ini. Sekarang saya tidur nyenyak, itulah yang saya inginkan untuk Anda. Kode menyediakan untuk masuknya logging untuk debugging. Hubungkan TTL-USB ke konektor meteran kedua.
Ekspor data
Awalnya saya menulis bot Telegram, tetapi Roskomnadzor memblokir Telegram. Saya harus meninggalkan keputusan ini agar tidak memulai server proxy dan tidak mengganggu. Menggunakan Blynk ternyata menjadi optimal (pengembang yang tak kenal takut berjuang dengan kunci). Ini adalah
kode QR proyek . Selain dia, proyek Cayenne memiliki aplikasi telepon.
Pengiriman otomatis ke Mosvodokanal tidak dilaksanakan, karena proyek nirlaba, tapi apa tahun-tahun kita. Atau punyamu. Saya tidak memiliki sarana untuk memelihara server saya dan "melegitimasi" prosedur pengiriman, tetapi Anda bertanya-tanya dari teman, tiba-tiba ... Saya akan senang atas bantuan dan pikiran bebas Anda.
Moskow mengirimkan kesaksian melalui SMS, yang berarti bahwa server web cukup untuk menerima data Waterius dan halaman dengan SMS (
github ). Pakar Moskow dari program Fiddler, yang menggunakan aplikasi layanan Negara Moskow, harus tertarik pada
skrip Python saya
untuk mengirimkan bacaan air.
Pengembangan
Salah satu rem utama ketika membuat produk baru adalah perfeksionisme, seperti yang Anda tahu. Tidak perlu membuat fungsi baru tanpa memeriksa apakah konsumen membutuhkannya. Kode sederhana lebih mudah untuk dikembangkan.
Jalan menuju perfeksionisme terletak melalui
- Memutakhirkan ESP dan Firmware Attiny melalui Internet
- UPD2:
dukungan untuk HTTPS atau enkripsi - server tempat pengguna dapat mengunduh skripnya untuk mengirim pembacaan air.
- menggunakan STM8L / MSP430 (mereka lebih ekonomis dan lebih banyak pin)
- UPD2:
pemeriksaan visual keberadaan kontak dengan meter ketika terhubung - indikasi periode pengiriman email surat
- UPD2:
dukungan balik untuk keluaran Namur - sensor kebocoran (UPD2: dilakukan saat reset)
- kontrol derek
- dukungan meteran listrik
Ucapan Terima Kasih
Terima kasih kepada
Ivan Kovalenko dan Ivan Ganzha untuk saran tentang teknik listrik, Aigul, E. Lapin untuk pendekatan yang tepat untuk kehidupan dan ayah untuk fakta bahwa saya tidak hanya dapat memprogram, tetapi juga solder, dan untuk Anda - atas perhatian Anda!

Saya akan senang dengan saran, kumpulan permintaan dan kritik!
Lakukan pemanasan pada solder!
Proyek GithubUPD2 05/07/2019: Terima kasih kepada semua orang yang membantu proyek ini!