
LoRa sensors in the field — an alarm on the phone before damage is done
A platform that watches sensors across sites, measures temperature and battery state, and sends a push notification to the phone as soon as something goes out of range.
Context
The client maintains equipment spread across sites that are not always staffed — cold rooms, plant rooms, remote facilities. Until then a fault was found when someone arrived and looked, which often meant the next morning.
Wi-Fi on those sites either does not exist or is unreliable, and pulling a network to every room did not make economic sense. That is why LoRa was chosen — a wireless technology for a small volume of data over a long distance, with a battery that lasts months.
The brief
Sensors had to be visible in one place, and a person had to learn about a problem immediately, not when they reached the site. Specifically:
- Which sensor is which — every device must be recognized by its unique number and given a readable name
- Grouping by location — ten sites must not become one list of a hundred devices
- Battery monitoring — a sensor that has gone silent is worse than a sensor reporting an error, because it stays quiet
- A notification on the phone — without opening an app and without waiting for someone to look at a screen
How we solved it
We built a platform that keeps a record of devices and their readings. Each device is identified by its devEUI, gets a name, belongs to a group and carries the last known state — temperature and battery level.
When a reading leaves the allowed range or a device stops reporting, the system sends a push notification to the mobile phone through Firebase Cloud Messaging, plus email if the phone is not at hand. The message arrives even when the app is closed — which was the whole point.
Access is split by user, so each person sees their own devices and groups. Everything is also exposed as a REST service, so the data can be pulled into other systems without extra development.
Technologies
- Spring Boot and Spring Data JPA — services, REST endpoints and data access
- MySQL — devices, groups, users and readings
- Firebase Cloud Messaging — push notifications to Android devices
- JavaMail — email notifications as a fallback
- Log4j — system logging
What this means today
IoT monitoring is still the same problem in a different package: a sensor measures something, someone has to know when it goes wrong, and they have to know before damage is done. We still build these systems — from ingesting device data, through alarm rules, to the app and the notifications.
If you have equipment that someone still walks around just to check that it works, that walk is something software can take over.