Milesight EM320-TH: Outdoor-LoRaWAN-Temperatur- & Feuchtesensor
Milesight EM320-TH Outdoor-LoRaWAN-Sensor: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel, Schwellenalarme, Kühlketten-Integration.
- LoRaWAN
- Class A, OTAA
- Band / Port
- EU868 / Port 85
- Schutzart
- IP67
- Temperatur
- -30 bis +60 °C, ±0,3 °C (-30 bis 0 °C), ±0,2 °C (0 bis 60 °C)
- Feuchte
- 0 bis 100 % RH, ±2 % RH
- Batterie
- Wechselbar, bis zu 10 Jahre
- Konfiguration
- NFC (Milesight ToolBox)
Was misst der EM320-TH?
Temperatur
Integriertes Sensirion-SHT41-Element, -30 bis +60 °C mit 0,1 °C Auflösung, typische Genauigkeit ±0,3 °C unter 0 °C und ±0,2 °C von 0 bis 60 °C.
Feuchte
Relative Feuchte 0 bis 100 % RH, 0,5 % RH Auflösung, ±2 % RH Genauigkeit.
Batteriestand
Wird periodisch als Prozentwert gemeldet, mit Verlauf auf dem Gerät und Neuübertragung.
Verlaufsdaten
Speichert bis zu 3000 Datensätze mit Zeitstempel auf dem Gerät für lückenlose Protokolle.
Integration
Sensor / Controller
Misst oder steuert vor Ort und sendet LoRaWAN-Uplinks.
LoRaWAN-Gateway
Empfängt die Funkpakete und reicht sie an den Server weiter.
ChirpStack
Network-Server: verwaltet Sessions und decodiert das Payload.
ThingsBoard / Grafana
Dashboards, Alarme, Regeln und Reports.
function decodeUplink(input) {
var bytes = input.bytes;
var data = {};
for (var i = 0; i < bytes.length; ) {
var channel = bytes[i++];
var type = bytes[i++];
if (channel === 0x01 && type === 0x75) { // battery (%)
data.battery = bytes[i]; i += 1;
} else if (channel === 0x03 && type === 0x67) { // temperature (°C)
data.temperature = readInt16LE(bytes, i) / 10; i += 2;
} else if (channel === 0x04 && type === 0x68) { // humidity (%RH)
data.humidity = bytes[i] / 2; i += 1;
} else if (channel === 0x20 && type === 0xce) { // history record
data.history = data.history || [];
data.history.push({
timestamp: readUInt32LE(bytes, i),
temperature: readInt16LE(bytes, i + 4) / 10,
humidity: bytes[i + 6] / 2
});
i += 7;
} else {
break;
}
}
return { data: data };
}
function readInt16LE(b, i) {
var v = (b[i + 1] << 8) | b[i];
return v > 0x7fff ? v - 0x10000 : v;
}
function readUInt32LE(b, i) {
return ((b[i + 3] << 24) | (b[i + 2] << 16) | (b[i + 1] << 8) | b[i]) >>> 0;
}
Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation (Communication Protocol / User Guide).
Kanalformat: 01 75 Batterie (%), 03 67 Temperatur (INT16 Little-Endian, /10), 04 68 Feuchte (/2). Der Kanal 20 ce überträgt einen gespeicherten Verlaufsdatensatz (Zeitstempel, Temperatur, Feuchte), der nach einer Netzlücke nachgesendet wird. Uplinks ohne Batteriekanal sind normal. Für ThingsBoard kommt dieselbe Kanal-Logik in einen Uplink-Converter. Umgesetzt nach der veröffentlichten Milesight-Byte-Spezifikation.
Uplink (hex)
0175640367AC00046873Decoded JSON
{ "battery": 100, "temperature": 17.2, "humidity": 57.5 }Einsatzszenarien
Kühlketten-Überwachung
Lebensmittelechtes PC-+-ABS-Gehäuse und IP67 für HACCP-Temperaturprotokolle mit Schwellenalarmen.
MehrOutdoor- & Fassadenklima
Wetterfeste Außenüberwachung von Feuchte und Temperatur an Gebäuden und Höfen.
MehrServerraum & Archiv
Klimaüberwachung kritischer Räume mit sofortigen Alarm-Uplinks.
MehrKonfiguration & Stolpersteine
NFC-Einrichtung
Keys, Meldeintervall und Schwellenalarme werden vor dem Rollout per NFC mit der Milesight ToolBox gesetzt.
Schwellenalarme
Werden sofort gesendet, außerhalb des Meldeintervalls. Dashboard-Regeln sollten Alarm-Uplinks als Prioritäts-Events behandeln.
Verlauf & Neuübertragung
Das Gerät speichert bis zu 3000 Datensätze mit Zeitstempel und sendet sie nach einer Gateway-Lücke nach. Aktivieren Sie daher den Verlaufskanal 20 ce im Decoder, damit Protokolle lückenlos bleiben.
Kalibrier-Offset
Das Gerät addiert einen Kalibrier-Offset auf den Rohwert. Dokumentieren Sie den Offset, damit Dashboard-Werte nachvollziehbar bleiben.
So unterstützt dich merkaio beim EM320-TH
Von der Beschaffung bis zum laufenden Betrieb, alles aus einer Hand und auf eigener europäischer Infrastruktur.
Pre-Staging & Provisioning
Wir konfigurieren den EM320-TH, setzen Keys, Intervalle und Alarme und liefern einsatzbereit aus.
Eigener Decoder
Payload-Codec für ChirpStack v4 und ThingsBoard, nach der Milesight-Spezifikation implementiert.
Integration ins Dashboard
Die Daten landen in deinem ThingsBoard oder Grafana, inklusive Alarmen und Reports.
Betrieb & Monitoring
Wir betreiben LoRaWAN-Stack und Dashboards auf europäischer Infrastruktur, du nutzt nur die Daten.
Häufige Fragen
Sprechen wir über Ihre Infrastruktur. Digital und vor Ort.
Ob IoT-Plattformentwicklung, Hardwareauswahl, Managed Hosting für ChirpStack, ThingsBoard, Grafana oder NetBird VPN, oder Migration von einem Self-Hosted-Setup - wir finden die passende Lösung für Ihren Anwendungsfall. Buchen Sie ein kostenloses 30-Minuten-Gespräch, unverbindlich.
Ihr Ansprechpartner
Timo Wevelsiep
Gründer, merkaio
15 Minuten, unverbindlich, direkt mit Timo.
Decoder für ChirpStack v4. merkaio ist unabhängiger Integrator und nicht mit Milesight affiliiert.