STM32 + LoRa Drahtloses Sensornetzwerk (WSN) — Komplettes Design
blog_detail_desc
1) Was du baust
Ein stromsparender Sensorknoten (STM32), der periodisch Daten misst und diese über LoRa/LoRaWAN an ein Gateway → Netzwerkserver → Anwendungs-Dashboard (z. B. Grafana/Node-RED) sendet. Ausgelegt auf Monate bis Jahre Batterielaufzeit.
2) Topologie & Protokollwahl
Option A — LoRaWAN (empfohlen für Skalierung)
-
Vorteile: Roaming über öffentliche/community Netze, AES-128 Sicherheit, Adaptive Data Rate (ADR), Netzwerkmanagement
-
Einsatz: Viele Knoten, Stadt-/Landwirtschaftsnetz, Dashboards, Mehrbenutzer
-
Komponenten: Node (Class A), Gateway (≥8 Kanäle), Netzwerkserver (TTN/The Things Stack, ChirpStack)
Option B — LoRa P2P (Roh-LoRa)
-
Vorteile: Einfach, kein Server, minimale Overhead
-
Einsatz: Kleine private Systeme oder Punkt-zu-Punkt-Verbindungen
-
Nachteil: Adressierung/Retry/Krypto muss selbst implementiert werden
👉 Empfehlung: Zuerst P2P für Bring-up → später LoRaWAN.
3) Hardware-Auswahl
3.1 MCU + Funk-Architekturen
-
Diskret: STM32L0/L4/L5/U5 + SX1276/77/78/79 (RFM95/96 Module)
-
Moderner diskret: STM32 + SX1262/61 (geringerer Strom, BUSY/DIO1 Schnittstelle)
-
SoC: STM32WL (STM32 + LoRa Funk in einem Chip)
-
SiP Modul: Murata Type-ABZ (CMWX1ZZABZ)
3.2 Empfohlene Teile (Beispiel)
-
MCU: STM32L072KZT6 oder STM32L452RE
-
Funk: SX1276 (RFM95W-868/915) oder SX1262
-
Energie: Li-SOCl₂ 3,6 V AA oder 18650 + Buck
-
RTC: Interner + 32,768 kHz Quarz
-
Antenne: abgestimmte 868/915 MHz Antenne mit π-Abgleich
-
Schutz: TVS, Verpolschutz, LC-Filter
4) Pin-Zuordnung (SX1276 Beispiel)
Funktion | STM32 Pin | Funk-Pin |
---|---|---|
SPI_NSS | PA4 | NSS |
SPI_SCK | PA5 | SCK |
SPI_MISO | PA6 | MISO |
SPI_MOSI | PA7 | MOSI |
DIO0 | PB0 | DIO0 |
RESET | PB1 | RESET |
5) Energie-Budget (Beispiel)
-
Sendeintervall: alle 5 Minuten, +20 dBm TX, 1 s
-
Verbrauch ≈ 9,9 mAh/Tag
-
Laufzeit: ca. 8 Monate mit 2400 mAh Zelle
-
Optimierung: TX-Leistung senken, Intervall verlängern, STM32WL nutzen, STOP2/SHUTDOWN Modi.
6) Funk-Parameter
-
BW: 125 kHz
-
SF: SF7 Start (kurze Airtime), höher für Reichweite
-
CR: 4/5
-
TX: +14 … +20 dBm (lokale Limits beachten)
-
CRC: an
7) Firmware-Architektur
Ablauf (Node):
-
Aufwachen via RTC
-
Sensoren einschalten → Daten messen → Payload packen
-
Funkchip aktivieren → senden → TxDone IRQ abwarten
-
Alles schlafen legen (STOP2/SHUTDOWN)
Stacks:
-
LoRaWAN: ST Middleware (Cube) oder LoRaMac-node
-
P2P LoRa: RadioLib oder leichter Treiber
8) Payload-Design (kompakt)
9) Gateway & Backend
-
Gateway: Raspberry Pi + RAK2287 oder kommerziell (8-Kanal)
-
Server: TTN oder ChirpStack
-
App: MQTT → InfluxDB/TimescaleDB → Grafana
10) Low-Power Tricks
-
STOP2/SHUTDOWN + RTC
-
Sensor-Power über FET schalten
-
Busse deaktivieren, Debug aus im Sleep
-
DMA nutzen
11) Sicherheit
-
OTAA nutzen (dynamische Schlüssel)
-
Keys pro Gerät, Flash-Schutz aktivieren
-
Payload-Versionierung + optional CRC
12) Rechtliches
-
Regionale Frequenzpläne beachten (EU868, US915, AS923, …)
-
Duty Cycle (EU), Dwell-Time (US)
-
Vorzertifizierte Module für CE/FCC nutzen
13) Testplan
-
SPI/Funk Registertests
-
RF Linktests (RSSI, PER)
-
Strommessung (µA im Sleep)
-
7-Tage Dauerlauf-Test
14) Beispiel-Stückliste
Teil | Beispiel | Menge |
---|---|---|
MCU | STM32L072KZT6 | 1 |
LoRa Modul | RFM95W-868S2 / -915S2 | 1 |
Quarz | 32,768 kHz | 1 |
Antenne | 868/915 MHz SMA/u.FL | 1 |
π-Abgleich | C-L-C Netzwerk | 1 Satz |
Sensoren | BME280 / SHT31 etc. | n |
Batterie | Li-SOCl₂ 3,6 V AA oder 18650 | 1 |
15) Schnellstart
-
Prototyp mit Nucleo-L072 + RFM95
-
P2P TX/RX Beispiel → dann LoRaWAN Join via TTN
-
Sensoren + Payload implementieren, RTC Sleep nutzen
-
Gateway + Grafana-Backend aufsetzen
-
Feldtests Reichweite + Batterielaufzeit
Related_Articles
- ·Smart Socket basierend auf STM32
- ·Was ist der Unterschied zwischen Programmiermikrocontrollern und DSPs?
- ·Was sind die beliebtesten IoT Development Boards?
- ·Kinderalarmsystem gegen versehentliches Einschließen im Fahrzeug basierend auf STM32
- ·Wie lese ich Temperatur- und Luftfeuchtigkeitsdaten auf einem Mikrocontroller?
- ·Wie kann man einen Raspberry Pi für IoT-Projekte nutzen?
- ·Bodenqualitätsüberwachungssystem basierend auf STM32-Mikrocontroller
- ·Was sind die am häufigsten verwendeten Sensoren in Embedded-Systemen?
- ·Wie implementiert man DSP (digitale Signalverarbeitung) auf einem Mikrocontroller (MCU)?