Saya bertanya-tanya - kemana arus dari kabel pergi? Sepertinya kita menenggelamkan rumah dengan gas, di rumah semua lampu dioda, kita menyalakan mesin cuci piring di malam hari, belum ada sauna dengan kompor listrik, dan listrik padam setiap saat. Kekacauan. Itu perlu untuk mengikutinya.
Selamat datang di kucing ...
Langkah pertama adalah pemantauan umum konsumsi
Tugasnya
Saya memutuskan untuk mulai berburu kawanan hares. Kelinci dipilih:
- Pemantauan listrik melalui Internet. Saya memiliki pemantauan instan parameter jaringan - di koridor, di panel ada monitor energi PZEM061, di layar Anda dapat melihat tegangan, arus, dan daya. Tetapi di tempat tampilan energi yang dikonsumsi - semacam abstraksi, terlalu sedikit debit. Tapi koridornya tidak nyaman. Saya mau di layar ponsel.
- Grafik konsumsi listrik. Saya ingin tahu kapan konsumsi berlebihan terjadi?
- Pembacaan meter melalui Internet. Rasa sakit ini adalah transfer pembacaan meter ke penjualan energi. Penting untuk memberikan bukti kepada mereka dari tanggal 15 hingga 25 bulan itu. Saya sering melupakannya dan mereka mulai memanggil robot dan menulis spam. Selain itu, ketika mereka mengingatkan diri mereka sendiri - saya biasanya di tempat kerja, dan saya memiliki counter di sebuah pos di jalan. Saya mau di layar ponsel.
- Monitor suhu stabilizer. Di desa kami di musim dingin tidak ada lebih dari 200v di pintu masuk rumah, mencapai 140v. Oleh karena itu, saya tidak memiliki stabilisator 12kW, tetapi dengan parameter ini dan beban panjang 2kW dan dengan mempertimbangkan lokasi stabilisator di ceruk dinding, stabilisator terlalu panas dan mati, saya harus menambahkan beberapa penggemar (dengan mereka suhu tetap dalam batas yang dapat diterima) - mereka sebelumnya dihidupkan terus-menerus, sekarang memijat - menempatkan termostat KSD9700 pada 65g, kami sedang menunggu musim dingin. Saya tidak ingin memonitor parameter ini, karena Saya tidak bisa mempengaruhinya. Tetapi setelah menambahkan termostat - Anda perlu mengontrol hasilnya.
Besi
Untuk menyelesaikan tugas itu dipilih:
- PZEM004T - monitor energi dengan UART. Ini memungkinkan Anda untuk mendapatkan parameter listrik - satu parameter setiap 0,6 detik: tegangan, arus, daya, energi yang dikonsumsi, serta frekuensi dan faktor daya yang tidak saya butuhkan. Digunakan dengan mengukur trafo 1: 1000.
- ESP8266 NodeMCU - mikrokontroler universal dengan WiFi, cocok dengan ukuran PZEM004T - dapat dihubungkan dengan rak menggunakan lubang yang tersedia di papan. Ada juga tombol Flash yang berguna pada papan NodeMCU (terhubung ke GPIO0) - lebih nyaman menggunakannya untuk mengontrol mode operasi - misalnya, untuk mengaktifkan SoftAP.
Mengingat bahwa perangkat akan ditempatkan di rumah logam stabilizer - menyolder antena eksternal ke ESP. Saya mencoba menyalakan ESP dari PZEM004T (menyolder kabel ke kapasitor bundar - sekitar 7V di atasnya) - itu tidak berfungsi, ketika saya menghubungkan ESP, tegangan turun menjadi 2V. Tetapi stabilizer sudah memiliki catu daya 5V - untuk penggemar, yang berarti akan digunakan (saya pikir itu 12v, jadi saya menderita untuk waktu yang lama untuk menghubungkan ESP ke itu) - itu tidak berhasil, saya mencoba sekelompok konverter DC-DC sampai saya membaliknya BP dan tidak membaca tulisan di atasnya).

Firmware
Tampak tersedia di jaringan. Seperti biasa, saya tidak menemukan yang cocok dan memutuskan untuk menulis sendiri.
Saya mengambil proyek saya sendiri untuk estafet Sonoff sebagai pangkalan (fungsi paling sederhana, dihidupkan dan dimatikan melalui HTTP dan dengan sebuah tombol, tidak dapat melakukan hal lain; digunakan bersama dengan
MacroDroid untuk
menghemat daya ponsel secara konstan di layar - baterai sebelumnya diledakkan oleh muatan konstan dan diperas keluar layar) ) Tetapi selain fungsi relai, majelis memiliki server http, WiFi, pengaturan NTP, bekerja dengan tombol GPIO0 - tindakan berbeda dari durasi menekan, berkedip dalam cahaya apa pun (misalnya, menghitung detik dari menekan tombol, mencerminkan keadaan relai dan WiFi) ...
Secara alami, saya sedikit mengubah pengaturan:

Saya melihat perpustakaan yang ada untuk bekerja dengan PZEM004T - Saya tidak menyukainya. Dia mengirim permintaan, dan kemudian dalam loop tertutup menunggu respons. Ini tidak benar. Saya menulis perpustakaan saya, asinkron - Saya katakan dari program utama parameter apa yang ingin saya dapatkan, dan kemudian secara berkala memeriksa apakah data yang diperlukan diterima:
Kodestatic PZEM004Tnb::flags flags = PZEM004Tnb::flags::all; static unsigned long lastReadEnergyTime = 0; if (Pzem004t.isDataUpdated()) { setLedState(3);
Saya memperhitungkan bahwa PZEM004T mempertimbangkan maksimum 9999 kW * h, kemudian diatur ulang - saya menerapkan akuntansi luapan. Menerapkan akun dua tingkat. Saya juga menerapkan penghitungan nilai rata-rata parameter - bacaan dibaca sekitar sekali setiap 2 detik, dan pada
Pemantauan Orang -
orang perlu mengirimkan data setiap 5 menit, secara alami rata-rata.
Ditambahkan ke sistem bekerja dengan berbagai sensor DS18B20. Data dibaca secara bergantian dengan periode 2 detik per sensor. Yaitu kami sedang mencari sensor, kami telah menemukan - kami menerima data, setelah 2 detik kami mencari berikutnya, dll. Sensor yang berakhir - mulai dari awal. Yaitu bila hanya menggunakan satu sensor, periode pemungutan suara adalah 4 detik. Untuk sensor ini, nilai rata-rata juga dihitung.
Data monitor energi saat ini dapat diperoleh melalui HTTP:

Semua data disimpan dalam bilangan bulat bila perlu (misalnya, ketika ditransfer ke
Pemantauan Orang ) - sebuah titik ditambahkan ke posisi yang diinginkan.
Menerapkan publikasi data menggunakan
protokol MQTT / UDP . Dukungan tambahan untuk protokol ini dan sensor PZEM004T ke
monitor saya:

Ini adalah proyek pengontrol suhu saya yang gagal (
Fiasco. Kisah satu produk buatan IoT ), yang saya putuskan untuk ditinggalkan hanya sebagai monitor.
Menerapkan publikasi data tentang
Pemantauan Orang :

Orang-orang dari
Pemantau Rakyat sangat menghormati! Mentransfer data ke layanan bersifat elementer, ada cara melihat data yang masuk untuk men-debug interaksi, Anda cukup mengelola data sensor.
Sistem dapat membuat grafik pengujian (di bawah ini adalah kekacauan dari grafik, hanya sebuah contoh):

Dimungkinkan juga untuk memberi tahu tentang status sensor (transmisi data yang dinonaktifkan sementara untuk pengujian):

Secara alami, saya menambahkan pengaturan penerbitan data:

Ringkasan
Sebagai hasil dari pemantauan waktu nyata, ia telah mematikan salah satu dari dua komputer yang terus-menerus dinyalakan, mengkonfigurasi hibernasi pada komputer bayi, dan mengatur ulang mode tidur pada pemutar BD (hanya digunakan untuk karaoke).
Ketika statistik dikumpulkan untuk grafik, saya akan mengambil langkah lebih lanjut.
Siapa yang ingin mendapatkan monitor energi seperti itu - dalam akun pribadi untuk firmware (Freebie, pak!).
PS
Ketika mengembangkan perangkat, saya mengalami mistisisme - ketika ESP diaktifkan dari komputer USB, dari biaya telepon apa pun, semuanya berfungsi. Ketika diberdayakan oleh PSU tertanam - tidak bekerja. Saya menggunakan penganalisa logika dan
simplescope untuk penyelidikan - kekuatan dari blok biru tampaknya dalam urutan, sinyal dari ESP benar, dan kembali diam. Catu daya lain - semuanya berfungsi dengan baik.
Dengan metode poking ilmiah, saya menyadari bahwa ketika saya menggunakan PSU built-in, saya menghubungkannya ke catu daya PZEM004T, yaitu, dalam hal ini dua perangkat mulai secara bersamaan (dengan PSU lain, menyalakan secara bersamaan tidak mungkin). Dan saya menggunakan perangkat keras UART untuk komunikasi, di mana ESP membuang banyak sampah saat startup. PZEM004T tidak dapat mencerna ini saat startup dan membeku. Jika PZEM004T sudah aktif, itu akan memulai ESP dan sampah di port tanpa masalah.
Solusinya adalah menggunakan SoftwareSerial, semuanya berfungsi dengan baik dengannya.
PPS
Bagi mereka yang ingin membuat sendiri alat semacam itu (dan ada pahlawan seperti itu!):
Deskripsi dalam katalog perangkat pemantauan Nasional