Milesight EM400-MUD: LoRaWAN-Ultraschall-Distanzsensor
Milesight EM400-MUD LoRaWAN-Ultraschall-Distanzsensor: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel, Füllstandsalarme, Smart Waste.
- LoRaWAN
- Class A, OTAA
- Band / Port
- EU868 / Port 85
- Messbereich
- Ultraschall, ca. 7 cm bis 6 m
- Schutzart
- IP67, beschichtete Platine
- Modi
- Standard, Behälter, Parkplatz
- Extras
- NTC-Temperatur, 3-Achsen-Neigung
- Batterie
- Austauschbar, bis zu 10 Jahre
Was misst der EM400-MUD?
Distanz
Ultraschall-Distanz / Füllstand in mm, kleiner Totbereich für Behälter und Tanks.
Temperatur
Integrierter NTC-Thermistor in 0,1 °C, wird auch zur Branderkennung genutzt.
Neigung / Position
3-Achsen-Beschleunigungssensor meldet normal oder gekippt, nützlich für Deckel- und Umsturzstatus.
Batteriestand
Wird als Prozentwert gemeldet, mit lokaler Speicherung und Wiederholsendung.
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 === 0x82) { // distance (mm)
data.distance = readUInt16LE(bytes, i); i += 2;
} else if (channel === 0x05 && type === 0x00) { // position
data.position = bytes[i] === 1 ? "tilt" : "normal"; i += 1;
} else if (channel === 0x83 && type === 0x67) { // temperature with alarm
data.temperature = readInt16LE(bytes, i) / 10;
data.temperature_alarm = bytes[i + 2] === 1 ? "alarm" : "release"; i += 3;
} else if (channel === 0x84 && type === 0x82) { // distance with alarm
data.distance = readUInt16LE(bytes, i);
data.distance_alarm = bytes[i + 2] === 1 ? "alarm" : "release"; i += 3;
} else {
break;
}
}
return { data: data };
}
function readUInt16LE(b, i) {
return ((b[i + 1] << 8) | b[i]) & 0xffff;
}
function readInt16LE(b, i) {
var v = readUInt16LE(b, i);
return v > 0x7fff ? v - 0x10000 : v;
}
Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation (Communication Protocol / User Guide).
Kanalformat: 01 75 Batterie (%), 03 67 Temperatur (INT16 Little-Endian, /10), 04 82 Distanz (UINT16 Little-Endian, mm), 05 00 Position (0 normal, 1 gekippt). Schwellwertereignisse nutzen die Alarmkanäle 83 67 (Temperatur) und 84 82 (Distanz), die ein zusätzliches Alarm-Byte anhängen. Implementiert nach der veröffentlichten Milesight-Byte-Spezifikation. Für ThingsBoard kommt dieselbe Kanallogik in einen Uplink-Converter.
Uplink (hex)
0175640367EA000482B400050000Decoded JSON
{ "battery": 100, "temperature": 23.4, "distance": 180, "position": "normal" }Einsatzszenarien
Smart Waste & Behälterfüllstand
Füllstand und Deckelneigung von Containern, mit Überlauf- und Umsturzalarmen.
MehrParkplatzbelegung
Erkennt über den dedizierten Parkmodus, ob ein Stellplatz frei oder belegt ist.
Tank- & Silofüllstand
Berührungsloser Füllstand für Flüssigkeiten oder Schüttgut mit Schwellwertalarmen im Dashboard.
MehrKonfiguration & Stolpersteine
Den richtigen Modus wählen
Standard-, Behälter- und Parkmodus nutzen unterschiedliche Erfassungs- und Sendeintervalle. Der Behältermodus schont die Batterie, der Parkmodus reagiert schneller, verbraucht aber mehr Energie.
Einbauhöhe & Totbereich
Über dem maximalen Füllstand montieren und den Totbereich von ca. 7 cm beachten. Die Einbauhöhe so setzen, dass das Gerät den Füllstand statt der Rohdistanz meldet.
Schwellwertalarme
Distanz- und Temperaturschwellen werden per NFC gesetzt. Alarm-Uplinks kommen auf den Kanälen 83/84 mit Alarm-Flag, daher sollten Dashboard-Regeln sie als priorisierte Ereignisse behandeln.
Oberfläche & Winkel
Ultraschall-Echos streuen an Schaum, schrägen oder sehr weichen Oberflächen. Den Sensor senkrecht zur Zieloberfläche montieren und vor dem Rollout gegen einen bekannten Füllstand prüfen.
So unterstützt dich merkaio beim EM400-MUD
Von der Beschaffung bis zum laufenden Betrieb, alles aus einer Hand und auf eigener europäischer Infrastruktur.
Pre-Staging & Provisioning
Wir konfigurieren den EM400-MUD, 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.