The summary.
ESTABLISH THE DATA REQUIREMENT BEFORE CHOOSING A TECHNOLOGY
How many bytes, how often. It eliminates most options immediately — and many projects find a few dozen bytes several times a day is enough, which opens years of battery life.
TEST COVERAGE AT THE ACTUAL SITES, WITH THE ACTUAL HARDWARE
Operator support for low-power cellular varies by operator and area, and specifications do not reflect deployment.
REPORT BY EXCEPTION, BUT ALWAYS SEND A HEARTBEAT
Without one, a dead device looks identical to a stable one.
Per-message overhead dominates on small payloads, so aggregate readings into fewer messages.
NEVER TIMESTAMP BUFFERED READINGS WITH THE TRANSMISSION TIME
It destroys the data's meaning entirely. Record the reading's time and the clock's confidence separately.
RANDOMISE RECONNECTION DELAY
Otherwise a fleet reconnecting after an outage floods the platform simultaneously.
DEFINE WHAT IS DISCARDED WHEN LOCAL STORAGE FILLS
Undefined behaviour loses the wrong data.