Konfigurasi pertama
Halaman ini mengurutkan pekerjaannya. Rujukan tiap key (tipe, rentang, bawaan) ada di Key konfigurasi.
Alur ringkas
Section titled “Alur ringkas”| # | Langkah | Cara | Selesai bila |
|---|---|---|---|
| 1 | Cek boot dan sensor | LCD atau USB serial status |
DS18B20 terdeteksi dan terikat ke t1 |
| 2 | Sambungkan ke jaringan | kabel PoE; mode gateway atau langsung | LCD ONLINE, LED hijau |
| 3 | Ganti password web, isi lokasi | antarmuka web | label tampil di LCD |
| 4 | Atur sensor suhu | config |
nama, label, dan batas sesuai |
| 5 | Atur input digital | config |
tiap input terpasang terbaca benar |
| 6 | Atur listrik | config |
nilai PZEM masuk akal |
| 7 | Atur alarm | config |
alarm uji berbunyi dan terkirim |
| 8 | Verifikasi akhir | config/reported |
cfg_ver sama dan rejected kosong |
Semua input digital dan output mati pada Sentinel baru; itu normal, Anda mengaturnya di langkah 5.
Tiga cara mengirim konfigurasi
Section titled “Tiga cara mengirim konfigurasi”Isinya sama: JSON dengan key dari referensi.
| Jalur | Kapan |
|---|---|
| Antarmuka web (tab Konfigurasi) | pengaturan di lokasi, atau memperbaiki koneksi yang tidak bisa diubah dari server karena node belum tersambung |
| USB serial | pertama kali di meja, atau saat jaringan belum ada |
Pesan retained ke …/<mac>/config (dari Celestian, atau celestianctl.py ke broker lokal gateway) |
pengaturan sehari-hari dari server |
Contoh dengan celestianctl.py (broker lokal gateway; --host = IP gateway):
python3 Tools/celestianctl.py --host 10.10.0.1 config a2cb8ff8768d cfg_ver=1 label=DC-A/R07 tz_offset_min=420Nilai key=nilai dibaca sebagai JSON bila bisa (true, 30000, -0.5), selain itu sebagai teks. Nama dan ROM yang bisa terbaca sebagai angka perlu tanda kutip JSON: t1_rom='"28a54dca18253061"'.
Aturan agar konfigurasi konsisten
Section titled “Aturan agar konfigurasi konsisten”- Sertakan
cfg_verdan naikkan setiap kali isi berubah. Itu satu-satunya bukti di server bahwa pesan itu yang diterapkan. - Key yang ditolak tidak membatalkan key lain. Node menerapkan yang valid dan melaporkan sisanya di
rejected. - Perubahan disimpan di node dan bertahan setelah restart.
- Dari server, kirim seluruh set key yang dikelola dalam satu pesan retained. Broker hanya menyimpan satu pesan retained per topik.
- Jangan menyalin
config/reportedmentah-mentah keconfig: laporan memuat field yang bukan key konfigurasi (device,model,discovered,rejected, …). - Key bertanda reboot di referensi membuat Sentinel restart sekitar 1 detik setelah diterapkan.
- Jangan menyertakan
tN_rombila tidak bermaksud mengubah ikatan sensor: pesan retained yang membawa"t2_rom":""melepas ikatan itu setiap kali node menerimanya ulang.
Memverifikasi
Section titled “Memverifikasi”Setiap kali node menerima config dan setiap kali tersambung ke broker, ia mengirim config/reported (retained):
{ "cfg_ver": 12, "rejected": {"alarm_delay_s": "di luar rentang 0..3600"}, "fw": "0.21.1", "model": "SNT-G1", "fw_status": "current", "device": "001a2b3c4d5e", "telemetry_interval_ms": 10000, "t1_rom": "28a54dca18253061", "discovered": []}Status di server:
| Kondisi | Arti |
|---|---|
cfg_ver sama dan rejected kosong |
tersinkron |
cfg_ver sama tetapi rejected berisi |
ditolak sebagian (lihat alasan per key) |
cfg_ver berbeda |
menunggu |
rejected berisi hasil pesan config terakhir saja. mqtt_pass tidak pernah dilaporkan.
Contoh lengkap
Section titled “Contoh lengkap”Lokasi dengan dua sensor suhu, satu pintu, sensor bocor air yang memicu alarm, dan batas listrik 220 V ±10%:
{ "cfg_ver": 3, "label": "DC-A/R07", "t1_name": "rack_top", "t1_label": "Atas", "t2_name": "rack_bottom", "t2_label": "Bawah", "t2_alarm_c": 30, "d1_name": "front_door", "d1_type": "door", "d1_label": "Pintu Depan", "d1_text_true": "Terbuka", "d1_text_false": "Tertutup", "d1_alarm": true, "d1_alarm_delay_s": 20, "d2_name": "leak", "d2_type": "water", "d2_label": "Bocor", "d2_alarm": true, "d2_alarm_delay_s": 0, "temp_warn_c": 28, "temp_alarm_c": 32, "volt_min_v": 198, "volt_max_v": 242, "current_max_a": 16}