4G IoT SIM til gateway: 1NCE, dataforbrug og 10-årsplan
Hvordan fungerer IoT SIM-kortet i en M-Bus gateway? 1NCE 500 MB/10 år, dataoptimering med MessagePack + zlib, og hvad der sker når simkortet løber tør.
Af M-Bus Gateway Team
En wM-Bus gateway til ejendomme sender data én gang om dagen via 4G. Det lyder simpelt — og det er det heller ikke, hvis man optimerer korrekt. Denne artikel forklarer hvad IoT SIM-kortet gør, hvorfor vi valgte 1NCE, og hvordan 500 MB rækker til 10 år.
Hvad er et IoT SIM-kort?
Et IoT SIM (Machine-to-Machine SIM) er designet til lav-frekvens datatransmission med lang levetid. I modsætning til forbrugerkort er de optimeret til:
- Lange batterilevetider (gateway kører på strøm, men SIM-modulet bruger mål)
- Lave transmissionsvolumener (ingen streaming)
- Robust forbindelsesstyring (automatisk reconnect, lav overhead)
- Multi-operatør roaming (bruger det stærkeste signal i stedet for et fast netværk)
Hvorfor 1NCE?
1NCE er en IoT-connectivity-udbyder der tilbyder 500 MB / 10 år for én fast engangspris pr. SIM. Det passer perfekt til vores use case:
| Parameter | 1NCE |
|---|---|
| Volumen | 500 MB over 10 år |
| Gyldighed | 10 år fra aktivering |
| Netværk | Multi-operatør (Roaming) |
| Pris | Éngangsbeløb (inkluderet i gateway) |
| Protokoller | 2G/3G/4G/LTE-M/NB-IoT |
| SIM-form | 1.8V nano SIM |
Alternativerne (Onomondo, Eseye, Tele2 IoT) er dyrere og kræver løbende fakturering — unødvendigt komplekst til et system der sender 25 KB om dagen.
Dataforbrug: regner vi rigtigt?
Payload-optimering
Rå wM-Bus aflæsningsdata fra 50 målere pr. ejendom er typisk 10–30 KB JSON pr. dag. Vi komprimerer på to niveauer:
- MessagePack — binær JSON-erstatning, ca. 30–40% komprimering
- zlib (deflate) — yderligere 50–70% på repetitiv data
Resultat: en typisk ejendom med 50 målere genererer ~10–25 KB/dag inkl. MQTT-overhead.
10-årsbudget
Daglig payload: ~20 KB
Årsligt forbrug: 20 KB × 365 = 7.3 MB/år
10-årsbudget: 73 MB (dataforbrug)
1NCE budget: 500 MB
Buffer: 427 MB (~85% ubrugt)
Det vil sige: Selv med 3× så store ejendomme eller 2× daglig afsendelse er vi langt inden for SIM-budgettet.
MQTT overhead
MQTT-protokol (TLS 1.3) tilføjer ca. 100–200 bytes overhead pr. besked. Med én besked pr. dag er dette ubetydeligt.
Cloudflare Tunnel (on-demand)
Remote technician-adgang via Cloudflare Tunnel er on-demand og lukker automatisk efter 30 minutter. Vi estimerer 4–8 sessions/måned = ca. 50 MB/år ekstra ved hyppig brug. Inkluderet i buffer.
Hvad sker der hvis SIM løber tør?
1NCE-kontrakten udløber efter 10 år ELLER 500 MB — det der indtræffer først.
Vores dataestimater viser at vi bruger 73–200 MB over 10 år, så volumen er ikke begrænsende. Efter 10 år:
- Gateway fortsætter med at samle lokale aflæsninger i SQLite
- Data sendes ikke til cloud
- Udlejer modtager alarm via portal (gateway offline)
- Nyt SIM kan rekonfigureres via lokal gateway-UI
Vi anbefaler at planlægge SIM-fornyelse ved år 9 som en del af normal hardware-service.
Teknisk setup: SIM7080G HAT
Gatewayen bruger en Waveshare SIM7080G HAT — et 4G modem der sidder som HAT (Hardware Attached on Top) på Raspberry Pi 4:
Pi 4 GPIO → SIM7080G HAT (UART over GPIO18/19)
↓
1NCE nano SIM
↓
LTE-M / 4G netværk
↓
MQTT broker (Hetzner, TLS 8883)
PPP (Point-to-Point Protocol) bruges til at oprette en dedikeret IP-forbindelse. Vores cellular/manager.py håndterer:
- Automatisk opkobling ved boot
- Reconnect ved nedbrud (eksponentiel backoff)
- Data-volumen tracking (logger antal bytes pr. dag)
- Modem-init med AT-kommandoer
Driftsstrategi: minimal SIM-aktivitet
For at spare SIM-data følger vi disse principper:
- 1 sending/dag — kl. 06:00 UTC. Gateway samler hele dagen i RAM/SQLite
- Komprimeret payload — MessagePack + zlib
- Cloudflare Tunnel kun on-demand — aldrig persistent
- OTA kun via MQTT — ikke via HTTP pull
Disse valg er bevidste og låste i arkitekturen. De sikrer at SIM-budgettet holder i 10 år uden manuel indgriben.
Fallback: hvad sker der ved 4G-nedbrud?
Gateway'en lokale SQLite-database gemmer alle aflæsninger med timestamp. Ved 4G-nedbrud:
- Data samles lokalt (WAL-mode SQLite, ingen datatab)
- Næste succesfulde sending inkluderer back-fill data for de manglende dage
- Platform modtager historiske data og rekonstruerer tidsserien
Den maksimale datamage er derfor proportional med nedbrudets varighed, ikke total datatab.
Har du spørgsmål om connectivity-opsætningen for en specifik ejendom? Kontakt os.