Milesight EM400-MUD: LoRaWAN-Ultraschall-Distanzsensor

Milesight EM400-MUD LoRaWAN-Ultraschall-Distanzsensor: eigener ChirpStack/ThingsBoard-Decoder, dekodiertes Beispiel, Füllstandsalarme, Smart Waste.

Milesight EM400-MUD
EM400-MUDSensor
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
Messgrößen

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.

Daten ins Dashboard

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.

ChirpStack v4 · decodeUplink
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)

0175640367EA000482B400050000

Decoded JSON

{ "battery": 100, "temperature": 23.4, "distance": 180, "position": "normal" }
Aus der Praxis

Konfiguration & 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.

Dein Partner

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

Ja. Es ist ein Standard-LoRaWAN-Gerät, kein Milesight-Gateway oder Cloud erforderlich. Sie hinterlegen den Codec im Device-Profil und provisionieren das Gerät per OTAA.
Ja, für ChirpStack und ThingsBoard, implementiert nach der veröffentlichten Milesight-Byte-Spezifikation. Dieselbe Kanallogik kommt in einen ThingsBoard-Uplink-Converter.
Ultraschall-Distanz bzw. Füllstand in Millimetern, dazu eine integrierte NTC-Temperatur und eine 3-Achsen-Neigungsposition. Die Temperatur unterstützt zudem die Branderkennung in Abfallbehältern.
Es ist ein Class-A-Gerät auf LoRaWAN-Port 85. Distanz und Temperatur stecken in jedem Uplink, der Batteriestand wird als Prozentwert gemeldet.
Sie wird mit austauschbaren Batterien geliefert, die im Standard- und Behältermodus bis zu 10 Jahre und im Parkmodus rund 5 Jahre halten, je nach konfiguriertem Sendeintervall.
Ja. Distanz- und Temperaturschwellen werden per NFC gesetzt und sofort auf den Alarmkanälen gesendet, außerhalb des regulären Sendeintervalls, daher sollten Dashboard-Regeln Alarm-Uplinks als priorisierte Ereignisse behandeln.
Aus derselben Serie

Verwandte Geräte

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.

Timo Wevelsiep

Ihr Ansprechpartner

Timo Wevelsiep

Gründer, merkaio

15 Minuten, unverbindlich, direkt mit Timo.

Mit dem Absenden stimmen Sie unserer Datenschutzerklärung zu.

Decoder für ChirpStack v4. merkaio ist unabhängiger Integrator und nicht mit Milesight affiliiert.