Energi, panas, dan air: bagian dua

Pertimbangkan tahap selanjutnya dalam pengembangan skema rumah pintar dari cara improvisasi :) (lanjutan, artikel pertama di sini ).

Tugas yang harus diselesaikan:


  1. Perlindungan kebocoran

    + Remote control
    + Mengetahui keadaan input air (tersumbat atau terbuka)
  2. Ketahui tekanan dan suhu cairan pendingin di sirkuit pemanas
  3. Ketahui tekanan dalam sistem pasokan air

Pemantauan masih dalam tampilan antarmuka tunggal (Zabbix), pemberitahuan - melalui mekanisme peringatan tunggal. Tetapi manajemen adalah sesuatu yang baru. Tentang itu - selanjutnya.

1. Perlindungan kebocoran


Ya, ini adalah topik yang usang, perangkat - selusin sepeser pun! Semuanya bekerja di luar kotak!

Jadi saya berpikir dan salah lagi. Sebenarnya ada banyak solusi siap pakai, tetapi untuk menemukan solusi komprehensif dengan kemampuan untuk mengontrol dan memantau dari jarak jauh, tetapi tanpa menggunakan "cloud" / akun pribadi seseorang, ternyata menjadi tugas yang hampir mustahil. Baiklah, pertanian kolektif lagi, mari kita coba selesaikan masalah tanpa setrika dan pengkodean.

Total yang saya butuhkan:

  1. katup bola bermotor
  2. detektor kebocoran
  3. pengontrol tertentu dengan antarmuka pemantauan dan kontrol
  4. relay daya

Katup bola mencari kualitas yang lebih baik - bukan noname. Saya memilih solusi utama gidrolock berdasarkan bugatti 3/4 crane. Penggerak listrik bekerja dari 12V.

Apa yang bisa mengendalikan derek 12V? Ada beberapa opsi untuk pengendali yang menerapkan logika "Saya melihat sensor dipicu, saya melakukan tindakan." Pada prinsipnya, apa yang Anda butuhkan, tetapi alangkah baiknya memiliki semacam API untuk kendali jarak jauh. Pertama, ini akan memungkinkan untuk menggantung semua tempat yang mungkin dengan sensor kebocoran, dan memblokir air hanya di satu tempat (walaupun dengan beberapa penundaan untuk waktu mengumpulkan keadaan dan mengirim reaksi). Kedua, prosedur akan menjadi jauh, yang berarti bahwa akan mungkin mematikan air, misalnya, jika tidak ada pemilik rumah. Solusinya muncul tiba-tiba. Saya ingat bahwa bahkan sekali saya “merasakan” alat dengan logika yang sama dan semua jenis pegangan, yang disebut netping. Ternyata mereka bahkan memecahkan masalah yang sama. Tautan ke deskripsi howto ada di akhir artikel.

gambar

+ Anda memerlukan catu daya 0,5A lainnya untuk menghidupkan perangkat netping (tidak termasuk). Relay daya berfungsi untuk menutup / membuka kabel kontrol katup bola ke ground. Ketika kabel terhubung ke tanah, keran menutup, ketika terbuka, itu terbuka.

Kami menghubungkan semuanya sesuai dengan skema dari howto (misalnya, kami menempatkan relai pada garis netping pertama, dan sensor kebocoran pada baris keempat). Kami menerjemahkan baris pertama ke mode keluaran berdasarkan pada logika. Kami membuat ketergantungan dari baris pertama pada baris keempat. Kami memeriksa sensor, menurunkannya menjadi genangan air. Netping logika internal akan secara otomatis mematikan keran.

Bagaimana mengelola sekarang dari jarak jauh?

Netping memiliki server SNMP bawaan dengan kemampuan manajemen. Untuk mengelola netping, saya menerapkan OID saya sendiri, tabel MIB untuk masing-masing perangkat tersedia di situs pengembang. Ini juga memiliki server web dengan dukungan manajemen melalui perintah yang disandikan URL.

Pertimbangkan kedua opsi:

Periksa nilai logika untuk baris:

Status derek
snmpget -v 2c -c SWITCH 192.168.8.5 .1.3.6.1.4.1.25728.8900.1.1.3.1
SNMPv2-SMI::enterprises.25728.8900.1.1.3.1 = INTEGER: 1

curl http:///<_>:<>@192.168.8.5/io.cgi?io1


Tetapkan nilai logika ke 0 (berikan voltase, tutup relai - katup terbuka):

Derek sedang menutup
snmpset -v 2c -c SWITCH 192.168.8.5 .1.3.6.1.4.1.25728.8900.1.1.3.1 i 0

curl http:///<_>:<>@192.168.8.5/io.cgi?io1=0


Tetapkan nilai logika ke 1 (lepaskan tegangan, buka relai - katup terbuka):

Derek terbuka
snmpset -v 2c -c SWITCH 192.168.8.5 .1.3.6.1.4.1.25728.8900.1.1.3.1 i 1

curl http://<_>:<>@192.168.8.5/io.cgi?io1=1


Dalam OID .1.3.6.1.4.1.25728.8900.1.1.3.N, N adalah nomor baris (1-4).

Nuansa yang penting adalah bahwa peralihan hanya akan berfungsi jika saluran diatur ke mode "output". Jika saluran dikonfigurasi dalam mode "logika keluaran" (misalnya, untuk dengan cepat merespons deteksi kebocoran oleh sensor), netping tidak akan mengontrol sinyal pada saluran di luar logikanya (yaitu, ia tidak akan menanggapi perintah eksternal). Bagaimana menjadi? Anda cukup mengganti mode garis sebelum memulai perintah manual. Melalui HTTP, ini dilakukan seperti ini:


Bonus:

  • Bookmark yang bagus untuk masa depan adalah kemampuan untuk menghubungkan sebanyak mungkin sensor kebocoran jarak jauh aktif. Hal utama adalah mencari cara memasukkan mereka ke dalam topologi umum. Adalah mungkin untuk memblokir air lebih lanjut dengan logika pada openwrt yang sama.
  • Karena dengan adanya 4 jalur yang dapat dikontrol di netping, Anda dapat menambahkan beberapa ketukan pada sistem (juga melalui relai). Saya melakukan hal itu - saya membuat keran terpisah pada garis irigasi situs. Sekarang Anda dapat menghidupkan / mematikan penyiraman dari jarak jauh.
  • Netping memiliki template zabbix sendiri untuk semua perangkat. Tersedia di situs mereka, menggunakan SNMP.

2. Tekanan dan suhu pembawa panas di sirkuit pemanas


Tekanan - untuk mendeteksi kebocoran dengan cepat (termasuk sangat kecil / kumulatif).
Temperatur - sensor yang dipasang saat kembali. Menurut nilai-nilainya, misalnya, dapat ditarik kesimpulan tentang mode operasi saat ini dari boiler, pompa di sirkuit, dll.

Sensor-sensor tersebut dipesan di aliexpress, contoh nama: "DC 5V G1 / 4 Pressure Sensor." Ada rekan-rekan "non-Cina", tetapi jauh lebih mahal. Mereka yang tidak mau mengambil risiko, saya akan merekomendasikan mengambil Honeywell, ada beberapa model, misalnya MLH200PSL01A. Dalam kasus saya, seorang lelaki Cina telah hidup selama beberapa bulan di lingkungan dengan air di bawah tekanan 1 bar dengan suhu 20-60 celcius di sirkuit pemanas, dan bar 3-4 kedua di ceruk air (dingin). Sensornya analog. Sinyal dari itu masih perlu dikonversi. Sirkuit DS2438AZ hadir untuk menyelamatkan. Itu dapat mengkonversi sinyal analog ke sinyal digital dan mengirimkan bacaan menggunakan protokol 1wire. Intinya - ADC. Chip idealnya terintegrasi ke dalam topologi yang diterapkan pada artikel pertama. Selain itu, Anda perlu menghubungkan terminal VCC (+ 5V) dan GND langsung ke sensor. Tegangan muncul pada kabel ketiga sensor, yang dapat dikonversi menjadi tekanan sesuai dengan rumus - Vout = Vcc (0,8P + 0,1).

Bonus tambahan dari chip DS2438 adalah ia juga menampilkan tegangan input jaringan, yang dapat berguna untuk debugging dan pengembangan lebih lanjut dari jaringan. Juga, sensor suhu dibangun di dalamnya. Poin penting - dalam utilitas digitemp, Anda harus secara eksplisit menunjukkan keberadaan chip ini dalam topologi menggunakan flag tambahan "-A".

Dengan suhu, semuanya lebih sederhana. Ebay / aliexpress: 1 sensor ulir kawat. kami mendapatkan data di bus 1wire segera dalam bentuk yang tepat tanpa blackjack tambahan. Sebagai contoh, saya memesan sensor dengan pipa ledeng 1/2 inci dan probe baja 6mm mencuat.

Konstruktif:

gambar

Kami menghubungkan kedua sensor ke topologi umum dan menambahkan item tambahan ke zabbix.

Terbang di salep


Bahkan, semuanya tidak lepas landas sekaligus. Dengan diperkenalkannya kedua sensor ini, keajaiban mulai terjadi di seluruh topologi 1wire - mulai dari hilangnya sensor hingga pembacaan nilai batasnya. Asumsi pertama adalah bahwa tidak ada cukup stres. Mencoba mengganti hub USB, penggunaan hub aktif tidak berfungsi. Akibatnya - saya memesan "master jaringan" baru, sekarang berdasarkan FTDI FT232 - semuanya mulai bekerja secara stabil dengannya. Untuk bekerja dengan wizard semacam itu, Anda perlu menggunakan utilitas digitemp_DS9097U. Tapi saya memutuskan untuk beralih ke owfs dalam bekerja dengan sensor, mengabaikan panggilan titik digitemp menggunakan zabbix_agent pada setiap item. Ini mengurangi sakit kepala dari permintaan kompetitif, itulah sebabnya batas waktu diamati secara berkala. Jika saya tidak salah, burung hantu bahkan memiliki semacam mekanisme caching bawaan.

Di openwrt, paket owfs diinstal dan dipasang oleh perintah FS:

owfs --allow_other -d / dev / ttyUSB0 / root / 1wire

Mounting telah ditambahkan ke /etc/rc.local.

3. Tekanan dalam sistem pasokan air


Sekarang ini cukup sederhana - kami menduplikasi pendekatan yang dijelaskan dalam paragraf 1 untuk saluran air. Namun, saya tidak bisa memasang sensor di saluran air tempat jaringan 1wire lewat. Saya tidak menyeret kabel ke tempat baru, saya memutuskan untuk mencoba solusi pengambilan data jarak jauh menggunakan ADC dengan antarmuka wifi dari radioseti. Solusinya dapat terhubung ke titik akses wifi, memiliki server web built-in dan mampu mengirimkan nilai-nilai sensor yang terhubung melalui protokol http. Untuk perubahan - itu cocok. Sebagai bonus - Anda dapat mengambil sensor lain (termasuk 1wire lainnya) ke perangkat ini, mis. dalam teori, misalnya, mengatur segmen remote 1wire lain. Perangkat ini ternyata cukup intuitif, pada awalnya ia mulai dalam mode titik akses. Kami terhubung, masukkan pengaturan untuk menghubungkan ke wifi kami, lepaskan jumper dan letakkan di dalam jangkauan sinyal wifi. Kami mengambil informasi, misalnya, melalui curl -s sensor_ip / sensor atau langsung dengan polling HTTP di zabbix.

Konstruktif:

gambar

Komposisi kompleks saat ini:


Segmen Sensor 1wire:

FTDI FT232 master jaringan berbasis
3 chip sensor DS18B20
1 sensor probe untuk 1/2 DS18B20
1 ADC DS2438
1 sensor tekanan di bawah 1/2
1 penghitung pulsa DS2423
meteran air pulsa

Segmen sensor Wi-fi:

RS-20
1 sensor tekanan di bawah 1/2

Segmen netping (koneksi LAN):

netping i / o v2
1 sensor kelembaban kontak kering
2 crane gidrolock bugati ultimate + 2 relay BM8070D

Segmen UPS (koneksi USB):

PL2303
UPS Energy PN-750

Skema:


gambar

Bagan:


gambar
gambar
gambar
gambar

Referensi:


Source: https://habr.com/ru/post/id447572/


All Articles