
LoRa senzori na terenu — alarm na telefon pre nego što nastane šteta
Platforma koja prati senzore po objektima, meri temperaturu i stanje baterije i šalje push obaveštenje na telefon čim nešto izađe iz okvira.
Kontekst
Klijent održava opremu raspoređenu po objektima koji nisu stalno posednuti — hladnjače, tehničke prostorije, udaljeni pogoni. Kvar se do tada otkrivao kad neko dođe i vidi, što je često značilo sledeće jutro.
Wi-Fi po tim objektima ili ne postoji ili nije pouzdan, a povlačenje mreže do svake prostorije nije imalo ekonomskog smisla. Zato je izabran LoRa — bežična tehnologija za mali obim podataka na velikoj udaljenosti, sa baterijom koja traje mesecima.
Zadatak
Traženo je da se senzori vide na jednom mestu i da čovek sazna za problem odmah, a ne kad dođe do objekta. Konkretno:
- Ko je koji senzor — svaki uređaj mora da se prepozna po svom jedinstvenom broju i da dobije razumljivo ime
- Grupisanje po lokaciji — deset objekata ne sme da bude jedan spisak od sto uređaja
- Nadzor baterije — senzor koji se ugasio je gori od senzora koji javlja grešku, jer ćuti
- Obaveštenje na telefon — bez otvaranja aplikacije i bez čekanja da neko pogleda ekran
Kako smo rešili
Napravili smo platformu koja vodi evidenciju uređaja i njihovih očitavanja. Svaki uređaj se identifikuje svojim devEUI brojem, dobija ime, pripada grupi i nosi poslednje poznato stanje — temperaturu i nivo baterije.
Kad očitavanje izađe iz dozvoljenog okvira ili se uređaj ne javi, sistem šalje push obaveštenje na mobilni telefon kroz Firebase Cloud Messaging, uz mejl za slučaj da telefon nije pri ruci. Poruka stiže i kad aplikacija nije otvorena — što je i bio ceo smisao.
Pristup je odvojen po korisnicima, pa svako vidi svoje uređaje i svoje grupe. Sve je izloženo i kao REST servis, da bi podaci mogli da se povuku u druge sisteme bez dodatnog razvoja.
Tehnologije
- Spring Boot i Spring Data JPA — servisi, REST tačke i pristup podacima
- MySQL — uređaji, grupe, korisnici i očitavanja
- Firebase Cloud Messaging — push obaveštenja na Android uređaje
- JavaMail — mejl obaveštenja kao rezerva
- Log4j — praćenje rada sistema
Šta to znači danas
IoT nadzor je i danas isti problem u drugom pakovanju: senzor negde meri, neko mora da sazna kad nešto pođe naopako, i to pre nego što nastane šteta. Radimo takve sisteme i dalje — od prijema podataka sa uređaja, preko pravila za alarme, do aplikacije i obaveštenja.
Ako imate opremu koju danas neko obilazi da bi proverio da radi, taj obilazak je nešto što softver može da preuzme.