Unser WLAN Funkmodul für Messuhren und andere Handmessmittel wie Bügelmessschraube oder Messschieber kann mit dem Funkmodul M8 für Verbindungen über WebSockets verwendet werden. Meist werden unsere Datenübertragungsmodule im MQTT Modus eingesetzt. Es gibt jedoch Anwendungsfälle, in denen eine Verbindung über Websockets zweckmäßiger ist. Z.B. wenn aus einer Web-Anwendung oder einem Web-Browser heraus direkt auf ein einzelnes Messgerät zugegriffen werden soll.

Dieses Praxisbeispiel soll zeigen, wie eine WebSocket-Verbindung zum Messgerät hergestellt werden kann.

Das Beispiel besteht aus einer einfachen Webseite / Webanwendung in HTML und Javascript. Über diese einfachen Techniken ist es möglich, direkt auf das Funkmodul zuzugreifen und den aktuellen Messwert sowie Statusinformationen aus der Funk-Messuhr auszulesen. Dies ist im Vergleich zu MQTT ohne zusätzliche Infrastruktur eines Brokers möglich und somit vor allem für kleine, lokale Anwendungen eventuell einfacher umzusetzen als eine MQTT Abfrage.

Web-Oberfläche der Beispielanwendung

Der Quelltext der einfachen Anwendung:

<!DOCTYPE HTML>
<html>
<head>
  <meta name="websocket_test">
  <meta charset="UTF-8"/>
  <style>button{width:140px;height:50px}body{background: #f48f0d;}</style>
  <style>table, th, td { border-collapse: collapse;}</style>
<title>websocket to iot test</title>
</head>
<body style="font-family: arial, sans-serif;">
    <div style="width:500px;border:1px solid black;align:left">
        <form onsubmit="return false">
            Client name (informal): <input type="text" id="txtName" value="Client_1"><br>
            Server: <input type="text" id="txtServer" value="192.168.1.119">
        </form>
        <form onsubmit="return false">
            <button type="submit" id="btnConnect">Connect to IoT device</button>
            <input type="checkbox" id="cbxSsl" name="ssl" checked>
            <label for="cbxSsl">SSL</label>
            <input type="checkbox" id="cbxRaw" name="raw" checked>
            <label for="cbxRaw">Raw</label>
        </form>
        <form onsubmit="return false">
            <button type="submit" id="btnConfigSet" disabled>Set configuration</button>
        </form>
        <form onsubmit="return false">
        <table>
        <tr><td>
            <button type="submit" id="btnRequestMeas" disabled>Request measurements</button>
            </td><td>
            Repeat count:<input style="width:80px;" size="3" type="number" id="txtRepCnt" value="3"><br>
            Interval:<input style="width:80px;" size="6" type="number" id="txtRepMs" value="200">
            </td>
        </tr></table>
        </form>
        <form onsubmit="return false">
            <button type="submit" id="btnRequestMeta" disabled>Request device info</button>
        </form>
        <!-- output form -->
        <form onsubmit="return false">
            <div style="overflow:scroll;height:400px;word-break:break-all" id="divOut">Not connected...</div>
        </form>
        <!-- clear -->
        <form onsubmit="return false">
            <button type="submit" id="btnClear">Clear</button>
        </form>
    </div>
    <script type="text/javascript">
        const elem = id => document.getElementById(id);
        const txtName = elem("txtName");
        const txtServer = elem("txtServer");
        const txtRepCnt = elem("txtRepCnt");
        const txtRepMs = elem("txtRepMs");
        const btnConnect = elem("btnConnect");
        const cbxSsl = elem("cbxSsl");
        const cbxRaw = elem("cbxRaw");
        const btnConfigSet = elem("btnConfigSet");
        const btnRequestMeas = elem("btnRequestMeas");
        const btnRequestMeta = elem("btnRequestMeta");
        const btnClear = elem("btnClear");
        const divOut = elem("divOut");

        class Mdevice {
            constructor() {
                this.connecting = false;
                this.connected = false;
                this.name = "";
                this.ws = null;
            }
            connect() {
                if (this.ws === null) {
                    this.connecting = true;
                    txtName.disabled = true;
                    this.name = txtName.value;
                    btnConnect.innerHTML = "Connecting...<br>"+txtServer.value+"<br>ssl "+
                      cbxSsl.value+": "+(cbxSsl.checked?"on":"off");
                    this.ws = new WebSocket("ws"+(cbxSsl.checked?"s":"")+"://"+txtServer.value+"/"+(cbxRaw.checked?"raw1":"dev1"));
//                    this.ws = new WebSocket("wss://192.168.1.119/dev1");
                    this.ws.onopen = e => {
                        this.connecting = false;
                        this.connected = true;
                        divOut.innerHTML += "<br><p>Connected.</p>";
                        btnConnect.innerHTML = "Disconnect";
                        btnConfigSet.disabled=false;
                        btnRequestMeas.disabled=false;
                        btnRequestMeta.disabled=false;
                        // optional: send something through the websocket 
                        // this.ws.send(this.name + " connected!");
                    };
                    this.ws.onmessage = e => {
                        divOut.innerHTML+="<p>"+e.data+"</p>";
                        divOut.scrollTo(0,divOut.scrollHeight);
                    }
                    this.ws.onclose = e => {
                        this.disconnect();
                    }
                }
            }
            disconnect() {
                if (this.ws !== null) {
                    // optional: send something through the websocket 
                    // this.ws.send(this.name + " disconnect!");
                    this.ws.close();
                    this.ws = null;
                }
                if (this.connected) {
                    this.connected = false;
                    btnConfigSet.disabled=true;
                    btnRequestMeas.disabled=true;
                    btnRequestMeta.disabled=true;
                    txtName.disabled = false;
                    divOut.innerHTML+="<p>Disconnected.</p>";
                    btnConnect.innerHTML = "Connect";
                }
            }
            sendMessage(msg) {
                if (this.ws !== null) {
                    this.ws.send(msg);
                }
            }
        };
        let mdevice = new Mdevice();
        btnClear.onclick = () => {
            divOut.innerHTML ="";
        }
        btnConnect.onclick = () => {
            if (mdevice.connected) {
                mdevice.disconnect();
            } else if (!mdevice.connected && !mdevice.connecting) {
                mdevice.connect();
            }
        }
        btnConfigSet.onclick = () => {
            mdevice.sendMessage("{\"cmd\":\"config\",\"sleep_sec\":13698,\"display_text\":\"MESSAGE\"}");
            divOut.focus();
        }
        btnRequestMeas.onclick = () => {
            if (cbxRaw.checked) {
               mdevice.sendMessage("meas"); // -- opt: csv instead json
            } else {
              mdevice.sendMessage("{\"client\":\""+this.name+"\",\"cmd\":\"meas\",\"rep_cnt\":"+
                txtRepCnt.value+",\"rep_ms\":"+txtRepMs.value+"}");
            }
            divOut.focus();
        }
        btnRequestMeta.onclick = () => {
            // mdevice.sendMessage("1|info|*");
            mdevice.sendMessage("{\"client\":\""+this.name+"\",\"cmd\":\"info\"}");
            divOut.focus();
        }
    </script>
</body>
</html>

Der Quellcode dieses Programmbeispiels kann hier heruntergeladen werden. Dieser Quelltext kann gerne frei verwendet werden (Freeware, OpenSource, Public domain) – allerdings übernehmen wir keine Haftung für die Fehlerfreiheit des Quellcodes oder der Software.

Wir mussten schon erfahren, dass unsere IoT Funkmodule von Interessenten begeistert begutachtet werden – dann aber im Unternehmen nicht eingesetzt werden dürfen, da die lokale IT nur (noch) WLAN mit 5GHz (IEEE 802.11ac) zulässt.

Dies ist ein K.O. Kriterium nicht nur für unsere Module, sondern für die gesamte Digitalisierung im Unternehmen. Entsprechend ist es eine falsche Entscheidung.
Denn: Entweder es wird ein WLAN im 2.4 GHz Bereich betrieben oder es wird nichts mit Industrie 4.0 und IIoT.

Warum diese drastische Einschätzung?

Ganz einfach: Es gibt aktuell noch keine integrierte MCU / SoC mit WLAN auf dem Markt welche 5GHz bedienen kann (Stand August 2021).

Es gibt einige reine Funkmodule mit 5GHz, diese benötigen jedoch eine externe CPU um angesteuert zu werden.
Diese Module sind als Funkmodule in Notebooks und Smartphones vorgesehen, nicht jedoch für den Einbau in kleinste Sensoren für die Messtechnik.
Für einen Betrieb als per Akku betriebene IoT Device sind diese Module nicht nur nicht geeignet sondern praktisch einfach nicht möglich.

Nun könnte man sagen, dass die Hersteller von Modulen vielleicht ja die nächsten Jahre ein 5GHz IoT Modul auf den Markt bringen.
Dies könnte sein. Eventuell werden in einem Zeitraum von 2-5 Jahren sogar mehrere solcher Module erscheinen.
Dies eröffnet das nächste Problem: Soll man gleich auf das erste Modul setzen? Oder kommt in einem halben Jahr vielleicht ein viel besseres?
Und wenn ein besseres kommt: Wie schnell wird das Alte abgekündigt?
Und kommen dann vielleicht die ersten OFDM 5G Module?
Wir haben nun ein „Frosch im heissen Wasser“ Problem.
Es wird nicht möglich sein, den richtigen Moment zum Springen zu finden.
Selbst wenn dann das nächste „perfekte“ Funk-Modul auf den Markt kommt wird es einige Jahre dauern bis die wichtigsten Softwarebibliotheken auf dieses Modul portiert sind und stabil funktionieren. Das Warten auf die 5GHz Technik im IoT Bereich bedeutet also auf jeden Fall ein langes Warten. Dieses Warten ist dabei noch von vielen Unsicherheitsfaktoren umgeben. Es geht bei der Digitalisierung in der Fertigung nicht darum zu warten bis das perfekte System zu 100% verfügbar ist. Es geht viel mehr darum, zu beginnen. Diese Dinge zu digitalisieren die den größten Nutzen in Bezug auf Qualität und Effizienz bieten. In diesem Prozess ist der einzige richtige Moment „jetzt“. Mit den maximalen Möglichkeiten die der Markt zum Zeitpunkt „jetzt“ bietet. In der Form, dass der Prozess gestartet und stetig optimiert und fortgeführt wird.

Ein weiterer Aspekt ist die Sicherheit der Module.
Die kleinen IoT Devices unterstützen „nur“ WPA2/PSK als Basis-Authentifizierung.
Ein aktives Zertifikatshandling kann keines der bekannten MCU Devices.
Auch auf diesem Gebiet muss die Unternehmens-IT also umdenken:
Für die IoT Devices muss eine geeignete Infrastruktur bereitgestellt werden, wenn der Weg in die Digitalisierung in den nächsten Jahren gemeistert werden soll.

Zusammenfassend kann man also sagen:

  • Entweder Papier und ablesen (Stand 19. Jahrhundert),
  • Kabel- oder Bluetooth-Lösung (Stand 20. Jahrhundert und nicht besonders praktikabel),
  • oder eben WLAN mit 2.4GHz Funktechnik (Stand heute).

Die 2.4 GHz Technik ist etabliert, jeder vernünftige Router kann neben 5 GHz auch noch 2.4 GHz.
Hier ein eigenes IoT-WLAN mit einem entsprechenden Gateway zu betreiben kann kein wirkliches Problem darstellen. Im Gegenteil: Ein reines 2.4 GHz WLAN für Messtechnik und Prozesstechnik und ein separates WLAN für Office, ERP und MES sollte in Bezug auf Eigenständigkeit und Übersichtlichkeit eher ein Vorteil darstellen.

Die 2.4GHz Funktechnik wird noch viele Jahre bestehen und ermöglicht Industrie 4.0 jetzt.
Die Alternative bedeutet bestimmt 5-10 Jahre warten – und sich nicht sicher sein, was dann eben kommt.
Diese Zeit hat kein Unternehmen.

Eine geeignetes Sicherheitskonzept für das Netzwerkes mit seinen Teilnehmern bereitzustellen ist eine Herausforderung. Diese Herausforderung kann aber geleistet werden und ist unabhängig von der verwendeten Sendefrequenz der Module.

Aktuell ist es schlicht die Aufgabe der Unternehmens-IT für IIoT mindestens ein 2.4 GHz WLAN Netzwerk mit einfacher WPA2/PSK bereitzustellen.

Sobald ein Bauteil verfügbar ist welches die geforderte Leistung bei 5 GHz bereitstellt werden wir unsere Module natürlich auch gerne auf dieser Technik anpassen und liefern.

Anhang:

Marktübersicht vorhandener WIFI Module:

  • texas instruments (ti) mit CC3200
  • microchip mit SAMW25
  • espressiv mit ESP32/ESP8266

Alle diese Module arbeiten ausschließlich mit 2.4GHz. Viel mehr gibt es leider nicht.
Auch OEM Module wie z.B. das „Würth Calypso WIFI module“ haben einen der oben genannten Chips verbaut.

Unsere Messablauf Software Newim dient zur Verwaltung von Prüfplänen und zum Abarbeiten von Messabläufen in einer Industrie 4.0 Infrastruktur. Die Messmittel können über Module angebunden werden. Werte noch nicht digitalisierter Messmittel können als Handeingabe hinzugefügt werden.

Die Software richtet sich an professionelle Benutzer.

Features

  • Skalierbare Mehrbenutzer Anwendung in einer Client-/Server Architektur.
  • Serverseitige Cloud-Option.
  • MQTT Client zur Ankopplung an MQTT fähige Messgeräte.
  • REST Client zur Automatisierung über ein MES System.
  • Datenhaltung in einer SQL Datenbank.
  • Rich Client auf Windows Betriebssystem.
  • Prüfplanverwaltung mit Import-/Export zu QStat/QDas.
  • Visuelle Prüfablaufmodellierung.
  • Werkerführung zur Prüfplan-Abarbeitung.
  • Stammdatenverwaltung aller relevanter Stammdaten.
  • Schnittstelle zu SAP Stücklisten.
  • Internationalisierte Oberfläche für unterschiedliche Landessprachen und Zahlenformaten.
  • Optionale Versionierung von Prüfplänen.
Beispiel einer visuellen Modellierung eines Prüfablaufs

Die Software mqtt2file ist die Basissoftware zum Betrieb unserer Funkmodule.

Die Software soll 2 Aufgaben erfüllen:

  • Das MQTT Funkmodul bei der ersten Inbetriebnahme zu konfigurieren.
  • Messwerte welche über das WLAN Funkmodul gesendet wurden anzuzeigen und bei Bedarf in eine Datei zu schreiben.

Diese beiden Aufgaben decken den Mindestbedarf an Software ab, um mit einem MQTT Modul zu arbeiten.

Die beiden Aufgaben sind prinzipiell unabhängig. Da MQTT Funkmodule oft in einer übergeordneten und externen MQTT Infrastruktur betrieben werden, wird die Software häufig nur dazu verwendet um die MQTT Module zu konfigurieren und Tests für den Datenempfang mit den Modulen durchzuführen.

Die Software ist kostenlos und lauffähig unter MS Windows und Android. Das Installationspaket bzw. die ausführbare Datei kann auf unserer Service/Downloadseite heruntergeladen werden.

Nach dem Start der Sofware wird die Hauptauswahl zur Konfiguration angezeigt.

Wenn beim Start der Anwendung bereits eine gültige Konfiguration gefunden wird, wird nach einer kurzen Pause direkt in den Mess-Modus geschaltet. Ist noch kein Modul konfiguriert bleibt der Startbildschirm stehen. Die einzelnen Menüpunkt zeigen durch einen grünen Haken dass dieser Punkt bereits konfiguriert und betriebsbereit ist.

Durch Klick auf ein Menüpunkt wird dieser Bereich geöffnet und die darunter enthaltenen Einstellungspunkte werden sichtbar.

Der Menüpunkt „MQTT“

Im Menüpunkt MQTT kann die Verbindung zu einem MQTT Broker eingestellt werden. MQTT kommuniziert über das Internet. Entsprechend wird unter „Server“ die IP Adresse des MQTT Servers eingetragen. Der verwendete Port ist normalerweise 1883. Optional können zur Absicherung der Verbindung die im MQTT Broker vergebenen Zugangsdaten (Benutzername und Passwort) eingegeben werden. In optionalen Firmware-Varianten ist eine zusätzliche Absicherung durch SSL möglich.

Basis Topic definiert den Basis-MQTT-Topic welcher für die Erfassung von Messwerten verwendet wird. Dies ist normalerweise der Topic einer zuvor konfigurierten Messuhr oder anderen IoT-Device.

Der Abschnitt „Messuhr Einrichten“

Eine fabrikneue Messuhr oder anderes MQTT-Funkmodul muss vor der ersten Verwendung dahingehend konfiguriert werden, dass es sich mit einem vorhandenen WLAN Netzwerk und einem vorhandenen MQTT Broker verbinden kann.

Ist diese Verbindung einmal hergestellt, kann jeder Client in dieser MQTT Infrastruktur – auch gleichzeitig – auf die Ergebnisse und Messwerte des Messgerätes zugreifen.

Ebenso über MQTT werden Konfigurationsparameter wie Standby-Zeit oder die Warnmeldung bei niedrigem Batteriestand eingestellt.

Das Handbuch zum Betrieb und zur Konfiguration der MQTT Funkmodule kann hier als PDF Datei heruntergeladen werden.

Problemlösungen

Android: WLAN Verbindung mit dem Modul kann nicht hergestellt werden

Problem: Ein rAAAreware MQTT Modul soll mit dem Programm mqtt2file neu konfiguriert werden. Das Modul wurde bereits in den Konfigurationsmodus versetzt und öffnet nach dem Einschalten einen Access-Point.
Im Programm mqtt2file erscheint die SSID des Netzwerkes nicht in der Liste der erkannten zu konfigurierenden Devices. In der Statusleiste des Smartphones erscheint eine Meldung „Android-System:“ „In WLAN-Netzwerk anmelden“, gefolgt von der SSID der Device zu der verbunden werden soll.

Situation: Das Android Betriebssystem ist schon mit dem WLAN Netzwerk des IoT Device verbunden, jedoch kann das Programm mqtt2file das verbundene Netzwerk nicht abrufen. Damit das Programm die Netzwerke abrufen kann müssen dem Programm die notwendigen Rechte gegeben werden.

Lösung: Gehen Sie im Android System zu „Einstellungen“ > „Apps“ > „mqtt2file“ > „Berechtigungen“. Die vom System gewährten und verweigerten Funktionen werden in einer Liste angezeigt. Erscheinen in der Liste „Zugriff abgelehnt“ Einträge: Tippen Sie auf diese Einträge und wählen Sie für den Eintrag „Immer zulassen“.

Starten Sie das Programm mqtt2file neu. Das verbundene Netzwerk sollte nun in der Konfiguration angezeigt werden, so dass die neue Konfiguration zur Device gesendet werden kann.

Android Installation

Detailinformationen zur Installation auf Android Systemen finden Sie hier.

Wir fertigen eine ganze Reihe von WLAN Modulen für die Industrielle Messtechnik. Die Modulserie M4 ist hier unser Massenmodell für den breiten Einsatz in Verbindung mit Messuhren von Mitutoyo, Mahr oder HELIOS-PREISSER. Die Modulserie ist modular aufgebaut. Zu dem eigentlichen WLAN Modul für das Handmessmittel gibt es weitere Module zur Erweiterung des Funkmoduls. Das WLAN Funkmodul ist fest an der Messuhr angebracht und besitzt einen 10 poligen Systemstecker. An diesen können verschiedene weitere Module angeschlossen werden. Das WLAN Funkmodul selbst ist in verschiedenen Ausführungen erhältlich. Identisch ist jedoch der Anschluss der externen Module über den universellen Systemstecker.

Das Übersichtsbild zeigt die Anschlussmöglichkeiten an das Funkmodul.

Das Display-Modul ist optional und dient dazu, Informationen des Funkmoduls anzuzeigen.
Alle notwendigen Bedienvorgänge können auch über die Servicetaste durchgeführt werden und alle wichtigen Statusinformationen können über Blinkcodes der Status-LED abgelesen werden. Weiter können alle Konfiguration auch per Funk über MQTT ausgelesen werden. Durch die Verwendung des Display-Moduls werden jedoch Service- oder Konfigurationsaufgaben erleichtert. Das Display-Modul ist mit einem USB-Kabel versehen und versorgt das Display als auch das WLAN Modul mit Strom.

Die weiteren Module dienen zur Stromversorgung des Moduls. Der M4 Akku ist ein Schnellwechsel-Akku welcher mit einer Hand einfach und schnell am WLAN Modul aufgesteckt und ausgetauscht werden kann. Der Akku selbst kann in einer Ladestation einfach aufgeladen werden. Die Ladestationen sind in verschiedenen Ausführungen für eine unterschiedliche Anzahl von gleichzeitig ladbaren Akkus verfügbar.

Der M4 Festspannungsanschluss ermöglicht den Anschluss einer externen Stromversorgung. Dies kann eine Spannungsquelle aus dem Prozess oder auch z.B. eine Powerbank als Sammelstromversorgung für mehrere Module auf einer Messvorrichtung sein.

Die Erfolgreiche M4 Reihe für Messuhren der Fa. Mitutoyo, Mahr und Helios-Preisser wurde erweitert auf Messschieber (M4MS), Innenmikrometer und Bügelmessschraube (Mikrometerschraube, M4BM). Das bedeutet, dass auch diese Handmessmittel mit einem Funkmodul der Reihe M4 und allem zugehörigen Zubehör ausgestattet werden können.

Download der Übersicht als PDF Datei.

Anleitung zur Installation unserer MQTT-Programme auf einem Android Smartphone.

Die Installation von Software auf Smartphones mit dem Android Betriebssystem geschieht meist über einen oft über einen Android App Store. Der Store hat die Berechtigungen die dort hinterlegten Anwendungen direkt auf das Smartphone zu laden und zu installieren.
Die Bereitstellung von Anwendungen für Stores wie Google Play sind mit etwas Aufwand verbunden. Zudem sind unsere Anwendungen nicht für einen breiten Markt gedacht, sondern lediglich für die professionellen Anwender unserer Module. Daher ist es für uns zweckmäßiger diese Anwendungen direkt über unsere Internetseite zu beziehen und direkt zu installieren. Dies ist sehr einfach und wird in dieser Anleitung genau gezeigt.

Zuerst wird das Programm in der gewünschten Version auf unserer Service-Seite ausgewählt und angeklickt.

Die Programmdatei (APK-Datei) wird dann vom Browser heruntergeladen.
Nachdem die Datei heruntergeladen wurde kann sie direkt geöffnet werden.
Abhängig vom verwendeten Browser (Crome, Firefox, Opera, Vivaldi,…) kann der Downloadbereich unterschiedlich angezeigt werden. Es ist in jedem Fall möglich, die heruntergeladene Datei zu öffnen.

Wenn von diesem Internetbrowser noch nie eine Anwendung installiert wurde, kann es sein, dass die Installation zunächst verhindert wird. Über die Einstellungen können diese Berechtigungen jedoch einfach vergeben werden.

Auf älteren Android Versionen wird diese Berechtigung pauschal für das gesamte Gerät gegeben (Bereich „Sicherheit“, „Anwendungen aus unbekannten Quellen installieren“). Bei neueren Android-Versionen wird diese Berechtigung nur für eine einzelne Anwendung gegeben.
Nachdem die Einstellung verändert wurde geht es über den „Zurück“ Pfeil oben links wieder zurück zur geplanten Installation.

Nun kann mit der eigentlichen Installation des Programms begonnen werden.

Abhängig von der Android-Version und den Systemeinstellungen kann es sein, dass eine erneute Bestätigung eingeholt wird, dass diese Datei wirklich installiert werden soll.

Zusätzlich kann zur Sicherheit die Datei zu Google zur Überprüfung gesendet werden.

Spätestens nun sollte die Anwendung installiert werden.

Der Installationsvorgang selbst dauert dann nur einige Sekunden.

Nach der Installation kann die WLAN-MQTT-Anwendung direkt geöffnet werden.

Download der Dokumentation und Software zu unseren WLAN MQTT Produkten sowie Links zu Support Informationen.

Erste Schritte

Dies ist zu tun, wenn eine Lieferung von rAAAreware angekommen ist.

Bevor ein Funkmodul eingeschaltet wird bitte zunächst das Messgerät einschalten. Zeigt dies nach dem Einschalten keine Funktion fehlt sicherlich noch die Batterie im Messgerät. Also zunächst bitte die Batterie in die Messuhr, den Messchieber oder allgemein „das Messgerät“ einlegen. Danach erst wie unten in der Schnellstartanleitung oder in der Dokumentation angegeben vorgehen.

Die von uns gelieferten Module M3, M4, M5 oder M6 sind bei der Auslieferung im „Konfigurationsmodus“.
Wenn ein Modul eingeschaltet wird öffnet das Modul einen Access-Point: Über diesen kann die Device dann konfiguriert werden.

WLAN MQTT Module

(M3 und M4 WLAN Messuhr, M5 WLAN Messsschieber, M6 WLAN Bügelmessschraube)

Schnellstartanleitung und Kurzreferenz

Download als PDF Datei:

https://dl.raaareware.de/messuhr/Messuhr_Modul_QuickStart_and_Cheatsheet.pdf

WLAN Modul Dokumentationen

Module M3,M4,M5,M6:

https://dl.raaareware.de/messuhr/Messuhr_Modul_Doku_Benutzer.pdf
https://dl.raaareware.de/messuhr/Messuhr_Modul_Doku_Technik.pdf

M7 – Mqtt Remote Control / WLAN MQTT Fernbedienung: Dokumentation

Module M8, M9, M10 / Firmware2 (HTTP,WebSocket,MQTT):

Dokumentation Deutsch

Anleitung Firmware Update

WLAN module documentation in english

https://dl.raaareware.de/messuhr/EN_Wlan_Mqtt_Module_Doc_Technical.pdf

Messuhr Anheber

Messuhr Anheber mit eigener Steuerung (WLAN, Signalleitung, Taster) – Handbuch (PDF, Deutsch)

Display Module

Display280, Messwert Fernanzeige / Remote Display Module

Dokumentation (PDF, Deutsch)

Firmware 1.0.3

Anleitung Firmware Update (PDF, Deutsch)

Produkt-Videos

Der rAAAreware Video-Kanal bei YouTube

Service-Videos

Durchführen eines Werksreset an einem MQTT WLAN Funkmodul: YouTube Video

Software

MQTT 2 File

Test- und Konfigurationssoftware für unsere MQTT WLAN Module.


mqtt2file – Dokumentation Deutsch (pdf)

mqtt2file – Dokumentation Englisch (pdf)

Version / BetriebssystemMS WindowsAndroid 32BitAndroid 64 Bit
1.4 (current version)Deutsch
Englisch
Deutsch
Englisch
Englisch
1.3 (Support Android 11)APKAPK
1.2 (Support Fix-IP Config)ZIPAPK
1.1 (Initial Version)ZIPAPK

Installation des Programms Mqtt2file:
Unter Windows: Einfach in ein beliebiges Verzeichnis entpacken und exe Datei ausführen.
Unter Android: Die apk-Datei wird auf dem Android Smartphone ausgeführt und dadurch installiert. Eventuell muss die Einschränkung zur Ausführung externer Anwendungen deaktiviert werden. Eine genaue Anleitung zur Installation ist hier zu finden.

MQTT 2 Key

Die Software MQTT2Key ermöglicht die Übernahme von MQTT Daten in eine nicht-MQTT-Windows Anwendung wie z.B. LibreOffice oder Excel.

Download der Windows Software

Pressematerial

Firmenlogo rAAAreware GmbH als PNG, TIFF, EPS und JPG.
Das Logo besteht aus 4 Farben:

Rand: Orange = 0xf48f0d (r=244,g=143,b=13)
Schrift: schwarz = 0x0
AAA: Grau = 0x808080
Hintergrund: Weiß = 0xffffff

Für unseren Kunden capricorn group entwickelten wir Komponenten für eine Mess- & Prüfaufnahme.

Prüfaufnahme für ein Carbon Bauteil mit Messuhr und elektrischem Anheber der Messuhr.
Bedienteil der Messuhr-Anheber sowie Messwert-Anzeige der Mitutoyo-Messuhren

Das Projektbeispiel zeigt die Vorrichtung einer Mess- & Prüfaufnahme für ein Carbon Dach.
Die elektrisch gesteuerte Anhebung und Absenkung der Messuhren stellt eine schnelle und exakte Positionierung der Dächer in Fahrzeuglängsrichtung auf der Vorrichtung sicher.
Gegenüber einem manuellen Einmessen ergibt sich dadurch bei jedem Bauteil eine deutliche Zeitersparnis und Fehler werden sofort erkannt.
Die digital erfassten Daten lassen sich in nachgelagerten Systemen zur Qualitätssicherung protokollieren und archivieren.

Über Capricorn

Die capricorn GROUP ist ein Entwicklungsdienstleister mit dem Schwerpunkt Automobilindustrie und Motorsport.

Copyright Hinweise

Für die 4 gezeigten Bilder der Vorrichtung gilt: Diese unterliegen dem Copyright © capricorn. Eine Reproduktion oder Wiedergabe des Ganzen oder von Teilen ist ohne die schriftliche Genehmigung capricorns nicht gestattet.

Einleitung

Das Programm mqtt2key (für „MQTT to Keyboard“ oder „MQTT zu Tastatur“) dient zur Datenübertragung von MQTT Messwerten in eine beliebige Anwendung.
Werte, welche über MQTT empfangen werden können damit direkt über die Tastaturschnittstelle an ein beliebiges Programm weitergegeben werden. Damit eignet sich das Programm zur Übertragung von Messwerten oder Eingabedaten an praktisch jede Anwendung zur Messdatenverarbeitung.

In IIoT Anwendungen, also industriellen Anwendungen für IoT, wird bevorzugt das MQTT Protokoll eingesetzt. Normalerweise „sprechen“ dann alle verbundenen Programme MQTT. Die Werte können von jedem Programm direkt und einfach verarbeitet werden.

Es sind verschiedene Szenarien denkbar und in unserer Erfahrung schon aufgetreten, in welchen ein Programm MQTT Messwerte verarbeiten soll, jedoch nicht direkt auf einen MQTT Server zugreifen kann.

MS Excel

In sehr einfachen Szenarien kann es sein, dass der Messwert nur in einem Tabellenkalkulationsprogramm wie LibreOffice oder Excel gespeichert werden soll. Zwar wäre es prinzipiell sicherlich möglich, auch hier eine MQTT Ankopplung zu realisieren – ein sehr einfacher Weg ist es jedoch, einfach die Werte direkt in eine Tabellenzelle einzutragen.
Der Vorteil gegenüber einer manuellen Eingabe liegt auf der Hand: Durch die automatisierte Übertragung ist sichergestellt, dass der Wert auch korrekt übernommen wurde. Die Prozesssicherheit und Qualität der Messwerte steigt, da ein Ablesefehler oder Eintragefehler (z.B. Zahlendreher) sicher vermieden wird.

Ein weiterer Vorteil ist, dass die Übertragung deutlich schneller geht, als den Wert manuell abzulesen und einzutippen.

WEB Anwendungen

Eine weitere Anwendung ist die Verarbeitung der Daten durch ein Programm welches in einem Web-Browser betrieben wird.

Zwar kann ein Web-Browser einfach und direkt über eine Ajax-Web-Schnittstelle auf einen MQTT Broker zugreifen, jedoch ist es nicht immer möglich, das verwendete Programm dahingehend zu erweitern oder zu verändern, dass die Messwerte direkt eingetragen werden.

Auch hier kann über das einschleusen der MQTT Werte in die Tastaturschnittstelle einfach eine automatische Übernahme der Messwerte umgesetzt werden.

Sonstige Anwendungsbereiche

Weitere Anwendungsfälle sind unendlich verfügbar. Jedes Programm, egal ob Konsolenprogramm, Browserprogramm oder Windows-Programm, welches Tastatureingaben entgegennimmt kann mit dem MQTT Hilfsprogramm mqtt2file als Empfänger von MQTT Messwerten verwendet werden.

Die weitere Verwendung von MQTT ist hierbei nicht relevant. Es ist gut vorstellbar, über das Programm schlicht und einfach eine Messuhr, ein Messschieber oder eine Bügelmessschraube per WLAN drahtlos mit dem Computer zu verbinden um die Werte dann direkt in einem beliebigen Programm weiter zu verarbeiten.

Das Programm ist vorkonfiguriert um MQTT Messwerte unserer WLAN Funkmodule zu empfangen und als Tastenfolge weiterzugeben. Kontaktieren Sie uns wenn Sie andere MQTT Werte verarbeiten möchten: Durch entsprechende Anpassungen kann das Programm auf beliebige MQTT Botschaften konfiguriert werden.

Funktionsweise

Das Programm läuft normalerweise im Hintergrund. Es verbindet sich mit dem konfigurierten MQTT Broker und nimmt die Messwerte des konfigurierten Messmittels entgegen. Diese Werte werden dann direkt an die Tastaturschnittstelle weitergegeben.

Optional kann ein systemweiter Hotkey oder Shortcut („Direkttaste“) definiert werden: Über diesen lässt sich dann eine Messung oder ein Messwert direkt vom PC aus über MQTT anfordern.

Konfiguration

Das Programm muss nicht installiert werden. Es wird einfach an einem beliebigen Ort auf der Festplatte (oder auch einem USB-Stick) abgelegt und kann direkt ausgeführt werden.

Der Hauptbildschirm der Anwendung

Nach dem Start des Programms erscheint der Hauptbildschirm der Anwendung.

Die Einstellungen sind selbsterklärend und werden beim Beenden des Programms gespeichert.

Die Messwerte werden wie von z.B. der Messuhr geliefert weitergegeben. Z.B. „-12.34“. Wenn ein Programm die Werte in einer anderen numerischen Notation erwartet kann der Wert in die Notation des Landes anpassen, auf welchem das Programm aktuell ausgeführt wird. Auf einem Computer mit deutschem Gebietsschema würde dann z.B. „-12,34“ an die Tasttatur ausgegeben werden.

Beim schließen des Programms wird das Programm lediglich in die TNA (Taskbar Notification Area) minimiert. Dort ist es dann weiter als kleines Symbol sichtbar und läuft im Hintergrund.

Wenn ein Messwert übertragen wird blinkt dieses Symbol kurz auf.

Durch klick auf das Symbol wird der Hauptbildschirm wieder dargestellt.

Durch klick mit der rechten Maustaste kann das Programm endgültig geschlossen werden.

Auf der 2. Registerseite der Anwendung sind Details zu MQTT zu sehen.

Die Einstellungen des Programms werden in der Datei
C:\Users\Public\Documents\rAAAreware\mqtt2key\mqtt2key.ini
gespeichert und können auch direkt mit einem Texteditor geändert werden.

Download und Installation

Das Programm ist Freeware und kann kostenlos hier heruntergeladen werden. Das Programm sollte auf jedem neueren Windows Rechner problemlos laufen. Wir übernehmen hierbei keine Garantie für die Funktion – siehe auch unten unter „Rechtliches“. Das Programm muss nicht installiert werden. Entpacken Sie die Dateien einfach in ein beliebiges Verzeichnis. Zum Starten rufen Sie das Programm „mqtt2key.exe“ auf.

Versionshistorie / Changelog

V1001
Bugfix für „Disconnected. Unexpectedly.“: Bei mehreren Instanzen der Software kann es vorkommen, dass der MQTT Broker dieselbe ClientID erneut registriert und den ursprünglichen Client entfernt. Durch eine bessere Vergabe der ClientID wird dieses Problem behoben.

V1000 Initiale Version.

Rechtliches

© rAAAreware GmbH

Diese Software wird zur Verfügung gestellt, so wie sie ist, ohne ausdrückliche oder implizite Garantie.
Keinesfalls ist der Autor verantwortlich für etwaigen Schaden, der durch die Verwendung dieser Software auftritt.

Es wird allen Nutzern des Programms bewilligt, diese Software für jeden möglichen Zweck einzusetzen, kommerzielle Nutzung inbegriffen, solange folgende Bedingungen erfüllt werden:

  1. Jegliche Weitergabe des Pakets muss alle Angaben obiger Copyright Nennung und die Webadresse beinhalten.
  2. Die Herkunft der Software darf nicht falsch dargestellt werden, es darf also nicht fälschlicherweise behauptet werden, der Autor dieser Software zu sein.
  3. Veränderte Versionen müssen als solche deklariert und nicht als Originalsoftware dargestellt werden.
  4. Jegliche Weitergabe des Pakets hat unentgeltlich zu erfolgen. Eine kommerzielle Weitergabe ist nicht ausgeschlossen, bedarf jedoch einer Rückfrage bei uns.

Auf dieser Seite möchten wir es ermöglichen, dass Interessenten mit anderen Landessprachen Informationen zu unseren Produkten erhalten können.

Über die entsprechenden Links wird die rAAAreware Seite in der jeweiligen Landessprache online übersetzt.

Für die Übersetzung übernehmen wir keine Gewähr. Weiter gelten auf diesen Seiten ergänzend zu unserer Datenschutzerklärung auch die Datenschutzerklärung von unserem Übersetzungsdienstleister Google. Praktisch gesagt: Sie sehen noch unsere Inhalte, haben jedoch unser Angebot verlassen und sind nun in den Händen von Google.

Our page in english language

           Our product WLAN MQTT Module for dial gauge in english language.

Notre site en français

Il nostro sito in italiano

Nuestro sitio web en español

Nosso site em português