Heim Der Blog Blog Details

STM32 + LoRa Drahtloses Sensornetzwerk (WSN) — Komplettes Design

August 25 2025
Ampheo

Anfrage

Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.

SCHNELLE ANFRAGE
ZUR RFQ-LISTE HINZUFÜGEN
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.

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.

STM32 + LoRa Drahtloses Sensornetzwerk (WSN) — Komplettes Design

 
[Sensor-Knoten: STM32 + LoRa] --Funk--> [LoRa Gateway] --IP--> [LoRa Netzwerkserver] --> [MQTT/HTTP] --> [DB/Dashboard]

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

  • Sensoren: BME280, DS18B20, INA219, etc.

  • 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):

  1. Aufwachen via RTC

  2. Sensoren einschalten → Daten messen → Payload packen

  3. Funkchip aktivieren → senden → TxDone IRQ abwarten

  4. Alles schlafen legen (STOP2/SHUTDOWN)

Stacks:

  • LoRaWAN: ST Middleware (Cube) oder LoRaMac-node

  • P2P LoRa: RadioLib oder leichter Treiber


8) Payload-Design (kompakt)

 
Byte0:  Version
Byte1:  Sensor-Flags
Byte2-3: Temperatur *100 (int16)
Byte4:  Luftfeuchte (%)
Byte5-7: Druck (Pa/100)
Byte8-9: Batteriespannung (mV)

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

  1. Prototyp mit Nucleo-L072 + RFM95

  2. P2P TX/RX Beispiel → dann LoRaWAN Join via TTN

  3. Sensoren + Payload implementieren, RTC Sleep nutzen

  4. Gateway + Grafana-Backend aufsetzen

  5. Feldtests Reichweite + Batterielaufzeit

Ampheo