Vom Sensorsignal zur Visualisierung im Web Anwendung für das Internet der Dinge rasch realisieren 300823 | Rev.
Tutorial Das folgende Tutorial demonstriert Ihnen anhand des Beispiels eines "Wireless Thermometers" wie Sie mittels des CControl IoT-Starter Kit 10 eine Anwendung für das Internet der Dinge rasch realisieren.
Tutorial und deren Handhabung vertraut zu machen. Der erste Teil dieser Phase demonstriert wie die aktuellsten Messwerte der Batteriespannung, USB-Ladespannung und Temperatur über die API vom Server gelesen werden. In einem zweiten Schritt wird zunächst die komplette Konfiguration ausgelesen und anschließend ein einzelner Parameter - und zwar die Verbindungsart von "Online" auf "Wakeup" - geändert.
2.4 Dashboard "rapidM2M UAPI SAMPLE" Das Dashboard verfügt über zwei Ansichten, die im Folgenden als "Login-Page" und "Content-Page" bezeichnet werden. Nach dem Öffnen des Dashboards wird zunächst die "Login-Page", welche die Eingabe der User Credentials ermöglicht, angezeigt. Bei Eingabe gültiger Login-Daten wechselt die Ansicht zur "Content-Page".
Schritt-für-Schritt-Anleitung Schritt-für-Schritt-Anleitung 3.1 Phase 1: Festlegen des Connectors 1. Sollten Sie noch nicht über einen Account am C-Control-Server verfügen, können Sie über das Login Formular des Servers (https://c-control.elco-automation.de) gratis einen Account anlegen. 2. Loggen Sie sich am C-Control-Server (https://c-control.elco-automation.de) ein. Login des C-Control-Server 3. Sie befinden sich nun im Bereich "Messstellen / Applikationen" des C-Control-Servers.
4. Legen Sie eine Messstelle an. Anlegen der Messstelle 1 Symbol "Neue Messstelle / Applikation hinzufügen" 2 Feld zur Eingabe der Seriennummer 3 Eingabefenster für das Anlegen einer neuen Messstelle 4 Button "hinzufügen" Die Seriennummer entspricht der IMEI des C-Control IoT-Starter Kit 10 ergänzt durch eine abschließende Null. Sie finden die IMEI auf dem Modem des C-Control IoT-Starter Kit 10 .
Schritt-für-Schritt-Anleitung 5. In der Liste der Messstellen wird nun die neu hinzugefügte Messstelle angezeigt. Bereich "Messstellen / Applikationen", in dem alle zur Verfügung stehenden Messstellen angezeigt werden 1 öffnet die Eingabemaske zur Konfiguration der Messstelle 2 löscht die Messstelle / Applikation. 3 Seriennummer des mit der Messstelle verknüpften Geräts. Durch Klicken auf die Seriennummer wird die Eingabemaske zur Konfiguration des Geräts geöffnet . 4 Name der Messstelle / Applikation.
7. Klicken Sie in der Eingabemaske zur Konfiguration der Messstelle auf "Steuerung", um die Eingabefelder zum Hochladen eines kompilierten Scripts und zur Konfiguration der Datenstruktur (d.h. des Connectors) einzublenden. Setzen Sie die Parameter wie folgt: Eingabemaske zur Konfiguration der Messstelle / Applikation, Abschnitt "Steuerung" 1 Konfigurationsabschnitt "Steuerung" 2 Auswahl des Script-Typs Wählen Sie hier "Pawn".
Schritt-für-Schritt-Anleitung 8. Zunächst gilt es zu überlegen welche Konfigurationsparameter für die gewünschte Funktion erforderlich sind. Im konkreten Fall sind dies ein Parameter zur Auswahl des Übertragungsintervalls, einer zur Auswahl des Aufzeichnungsintervalls und einer zur Auswahl der Verbindungsart (Intervall, Wakeup oder Online).
9. Als nächstes muss festgelegt werden, wie viele und welche Messdatenkanäle des C-Control-Servers verwendet werden sollen. Das C-Control IoT-Starter Kit 10 kann Datensätze mit unterschiedlicher Länge und Struktur in seinem internen Speicher ablegen. Der C-Control-Server hingegen benötigt immer Datensätze mit gleichbleibendem Aufbau. Daher müssen die empfangenen Datensätze gemäß ihres Aufbaus auf die einzelnen Messdatenkanäle des CControl-Servers verteilt werden. Dies erfolgt mittels des "Split-tags".
Schritt-für-Schritt-Anleitung 10. Zuletzt muss noch definiert werden welche Messwerte durch die zu entwerfende Applikation erfasst werden. In diesem Beispiel sind das die Batteriespannung, die USB-Ladespannung und die Temperatur.
13. Klicken Sie in der Eingabemaske zur Konfiguration der Messstelle auf "Configuration", um die Eingabefelder für das Aufzeichnungsintervall, das Übertragungsintervall und die Verbindungsart einzublenden. Setzen Sie die Parameter wie folgt. Ändern Sie auch gleich den Namen der Messstelle um spätere Verwechlsungen zwischen Messtellenname und Seriennummer zu vermeiden. Verlassen Sie anschließend die Eingabemaske durch Klicken des Buttons "speichern".
Schritt-für-Schritt-Anleitung 3.2 Phase 2: Erstellen des Applikations-Scripts 1. Installieren Sie das rapidM2M Toolset . Es steht unter folgender Adresse gratis zum Download bereit: www.microtronics.at/Toolset. 2. Starten Sie das rapidM2M Toolset .
4. Verbinden Sie das U.FL Antennenkabel mit dem U.FL Antennenanschluss des C-Control IoT-Starter Kit 10 Antennenkabel mit dem C-Control IoT-Starter Kit 10 verbinden 1 U.FL Antennenkabel 2 U.FL Antennenanschluss des C-Control IoT-Starter Kit 10 5. Verbinden Sie den Akku mit dem Akku-Anschluss des C-Control IoT-Starter Kit 10 . Wurde noch kein Script in das CControl IoT-Starter Kit 10 geladen sollte daraufhin die LED grün zu flackern beginnen, um den Verbindungsaufbau zu signalisieren.
Schritt-für-Schritt-Anleitung 6. Verbinden Sie das C-Control IoT-Starter Kit 10 mit Hilfe eines USB-Kabels (A-Stecker auf Micro-B-Stecker) mit Ihrem PC und warten Sie bis die automatische Installation der für das C-Control IoT-Starter Kit 10 benötigten Treiber abgeschlossen ist. Über die USB-Schnittstelle wird auch der Li-Po Akku des C-Control IoT-Starter Kit 10 geladen. Hinweis: Bei der ersten Inbetriebnahme sollte der Li-Po Akku ca. 12h geladen werden.
9. Löschen Sie das im C-Control IoT-Starter Kit 10 installierte Script ( -Symbol). Die Anzeige des GSMVerbindungsstatus wechselt nach kurzem Blinken (Verbindung wird hergestellt) zunächst auf grün (verbunden) und schließlich auf das -Symbol (offline, Wakeup über den C-Control-Server möglich). Hinweis: Wenn Sie in Phase 1 bereits das Script Binary "Wireless_Thermometer.amx" auf den C-ControlServer geladen haben, d.h.
Schritt-für-Schritt-Anleitung 11. Wechseln Sie zurück zum Karteireiter "Script", erstellen Sie ein neues leeres Script ( es auf Ihrer Festplatte ( -Symbo) und speichern Sie -Symbol). Erstellen eines neuen Scripts 1 Dateiname des geöffneten Scripts. Wurde das Script geändert jedoch noch nicht gespeichert, wird dies durch "*" nach dem Dateinamen signalisiert.
14. Nun folgt die Erstellung der main-Funktion.
Schritt-für-Schritt-Anleitung 16. Jetzt muss die Funktion, die die Ansteuerung der LED übernimmt, erzeugt werden.
19. Anschließend erfolgt die Erstellung der Funktion, die beim Drücken und Loslassen der Taste durch das System aufgerufen wird und mittels jener das Auslösen einer Übertragung durch einen Tastendruck ermöglicht wird. /* Funktion, die das Auslösen einer Übertragung durch einen Tastendruck ermöglicht */ public KeyChanged(iKeyState) { printf("K:%d\r\n", iKeyState); // Aktion über die Console ausgeben (0=Loslassen, 1=Drücken) if(!iKeyState) // Wenn die Taste losgelassen wurde -> { /* Zählvariable der sec.
Schritt-für-Schritt-Anleitung 20. Zuletzt ist es noch erforderlich jene Funktion zu erzeugen, die bei jeder Änderung eines der Konfigblöcke durch das System aufgerufen wird und es somit ermöglicht auf eine vom Server empfangene, geänderte Konfiguration zu reagieren.
21. Kompilieren und Laden Sie das soeben erstellte Script mittels des -Sybols in das C-Control IoT-Starter Kit 10 . Die Status-LED des C-Control IoT-Starter Kit 10 beginnt nach dem Script-Download blau zu flackern, um den Verbindungsaufbau zu signalisieren. Karteireiter "Script" 1 kompiliert das geöffnete Script. Dabei wird es auch automatisch gespeichert. 2 überträgt das geöffnete Script in das Modul/Gerät. Dabei wird das Script zuerst gespeichert und dann kompiliert. Das kompilierte PAWN-Binary (*.
Schritt-für-Schritt-Anleitung 22. Wechseln Sie zum C-Control-Server und warten Sie bis in der Liste der Messstellen / Applikationen angezeigt wird, dass das C-Control IoT-Starter Kit 10 mit dem C-Control-Server verbunden ist (rotierende Pfeile). Dies kann bis zu 2 Minuten dauern. Liste der Messstellen / Applikationen 1 Zeigt an, dass das C-Control IoT-Starter Kit 10 mit dem Server verbunden ist und Daten überträgt. Dieses Symbol wird ausgeblendet, wenn die Verbindung getrennt wird.
3.3 Phase 3: Visualisieren der Daten am C-Control-Server 1. Legen Sie zur Darstellung der Messwerte eine Auswertung an. Bereich "Messstellen / Applikationen", in dem alle zur Verfügung stehenden Messstellen angezeigt werden 1 öffnet die Eingabemaske zum Erstellen einer neuen Auswertung 2 Liste der Auswertungen Bei "Auswertung erstellen" wählen Sie "Leere Auswertung".
Schritt-für-Schritt-Anleitung 2. Konfigurieren Sie die Anzeigeelemente "letzte Messwerte" wie folgt. Dadurch werden die letzten Messwerte der Messkanäle "Temperature", "Batery Voltage" und "USB Voltage" in der Liste der Auswertungen neben dem Namen der Auswertung angezeigt. Durch Klicken auf den Button "speichern" gelangen Sie wieder zum Bereich "Messstellen / Applikationen", in dem alle zur Verfügung stehenden Messstellen angezeigt werden.
3. Direkt neben dem Namen der Auswertung wird nun der aktuelle Messwert angezeigt. Die Messwerte werden im Aufzeichnungsintervall (10sec. wenn Sie den in diesem Tutorial empfohlenen Wert verwenden), welches Sie über den Konfigurationsabschnitt "Configuration" einstellen können, aktualisiert. Durch Änderung der Temperatur am Temperatursensor (z.B. mittels Kältespray) oder Herstellen bzw. Trennen der USB-Verbindung wird eine Veränderung der Messwerte erreicht.
Schritt-für-Schritt-Anleitung 4. Öffnen Sie die Eingabemaske zur Konfiguration und der Auswahl der Elemente durch Klicken auf den Namen der Auswertungen in der Liste der Auswertungen. 5. Klicken Sie auf das Symbol zum Hinzufügen eines neuen Elements zur aktuellen Auswertung und wählen Sie anschließend als Typ des Elements "Letzte Messwerte".
7. Fügen Sie ein weiteres Element zur aktuellen Auswertung hinzu. Wählen Sie dieses Mal als Typ "Grafik". 8. Konfigurieren Sie das Element "Grafik" wie folgt. Dadurch wird bei geöffneter Auswertung der Verlauf der Messwerte der Messkanäle "Temperature", "Batery Voltage" und "USB Voltage" während der letzten 30min. angezeigt. Durch Klicken auf den Button "speichern" gelangen Sie wieder zur Übersicht der Elemente der aktuell geöffneten Auswertung zurück.
Schritt-für-Schritt-Anleitung 9. Aufgrund der Verbindungsart „online“ werden die Messwerte sofort nach deren Ermittlung zum C-Control-Server übermittelt und können mittels der in den vorherigen Schritten erstellten Auswertung visualisiert werden. Die Anzeige des Elements "Letzte Messwerte" wird automatisch beim Empfang neuer Daten aktualisiert. Die Messwertgrafik des Elements "Grafik" erfordert hingegen eine Userinteraktion (z.B. Klicken oder Verschieben der Messwertgrafik).
3.4 Phase 4: Zugriff auf die Daten und Konfigurationen über die REST-API des C-Control-Servers mittels rapidM2M Playground Wichtiger Hinweis: Bei der API handelt es sich um ein kostenpflichtiges Feature. Pro Messstelle/Applikation entstehen dadurch monatliche Kosten. Der Betrag wird immer am Monatsletzten berechnet und vom Guthaben abgezogen. Diese Phase ist optional und dient dazu sich mit den durch die API des C-Control-Servers bereitgestellten Ressourcen und deren Handhabung vertraut zu machen. 1.
Schritt-für-Schritt-Anleitung 3. Geben Sie Ihre Zugangsdaten ein und wählen Sie das HTTP-Kommando "QUERY the youngest raw values" aus der Gruppe "Site's time series data". Dieses Kommando liefert den aktuellsten der gespeicherten Messdatensätze. Für den rapidM2M Playground können Sie die selben Zugangsdaten wie für den C-Control-Server verwenden. Auswahl des HTTP-Kommandos "QUERY the youngest raw values" 1 Eingabefeld für den Benutzernamen 2 Auflistung der zur Verfügung stehenden HTTP-Kommandos.
5. Um nun die Messdaten abrufen zu können, muss das HTTP-Kommando wie in der folgenden Abbildung dargestellt modifiziert werden. Für jeden Messwert, der gelesen werden soll, muss der im Schritt 10 der Phase 1 angegebene alternative Feldname (alias) verwendet werden. Achten Sie darauf, dass nach dem letzten Feldnamen kein Beistrich zu setzen ist. Klicken Sie danach auf den Button zum Ausführen des HTTP-Kommandos.
Schritt-für-Schritt-Anleitung 7. Für die Abfrage der Konfigurationen steht das HTTP-Kommando "QUERY a site's configuration" zur Verfügung. Da in Schritt 8 der Phase 1 die Entscheidung getroffen wurde, den Konfigurationsblock 0 (config0) zu verwenden, ist keine Modifikation des HTTP-Kommandos erforderlich. Klicken Sie also direkt nach der Auswahl des HTTPKommandos auf den Button zum Ausführen des HTTP-Kommandos.
9. Mittels des HTTP-Kommandos "MODIFY a site's configuration" können die Werte der Konfigurationsparameter angepasst werden. Im konkretem Beispiel soll die Verbindungsart von "Online" auf "Wakeup" geändert werden. Um einen Parameter modifizieren zu können muss dessen alternativer Feldname (alias) bekannt sein. Es ist sowohl möglich einen einzelnen als auch mehrere Konfigurationsparameter mit einem Aufruf des HTTP-Kommandos "MODIFY a site's configuration" zu verändern.
Schritt-für-Schritt-Anleitung 11. Aufgrund der Verbindungsart "online" wird die über das HTTP-Kommando "MODIFY a site's configuration" vorgenommene Konfigurationsänderung sofort zum C-Control IoT-Starter Kit 10 übermittelt. Im konkreten Fall bewirkt die Änderung, dass das Gerät in den Verbindungsmodus "Wakeup" übergeht. Erkennbar ist dies einerseits am Erlöschen der LED und andererseits daran, dass in der Liste der Messstellen / Applikationen die rotierenden Pfeile ausgeblendet werden.
14. Im Verbindungsmodus "Wakeup" besteht keine aktive Kommunikation zwischen dem C-Control-Server und dem CControl IoT-Starter Kit 10 . Die mittels des HTTP-Kommandos "MODIFY a site's configuration" vorgenommene Konfigurationsänderung wurde somit noch nicht zum Gerät übermittelt. Drücken Sie daher die Taste des C-Control IoT-Starter Kit 10 , um einen Verbindungsaufbau mit anschließender Synchronisation der Konfigurationen auszulösen. 15.
Schritt-für-Schritt-Anleitung 3.5 Phase 5: Erstellen eines eigenen Dashboards Hinweis: Manche der verwendeten Funktionen werden nicht von allen Browsern unterstützt. Daher wird die Verwendung von "Google Chrome" ab Version 58 empfohlen.
Der erste Schritt ist nur erforderlich, wenn Sie die Phase 4 dieses Tutorials übersprungen haben. 1. Wechseln Sie zum Bereich "Meine Daten" und aktivieren Sie im Konfigurationsabschnitt "Grundeinstellungen" die Checkbox "API Verfügbar". Beim Klicken des Buttons "speichern" werden Sie nochmals darauf hingewiesen, dass es sich bei der API um ein kostenpflichtiges Feature handelt.
Schritt-für-Schritt-Anleitung 3. Zunächst gilt es den Header der html-Datei zu erstellen. Neben dem Titel der Datei enthält er die Formatanweisungen für die Tags und Klassen.
4. Als nächstes ist das User-Interface des Dashboards zu erzeugen. Dieses befindet sich zusammen mit dem JavaScript-Code im Body-Abschnitt der html-Datei. Zur besseren Übersicht wurde die Erstellung des JavaScript-Codes auf die nächsten toto Schritte aufgeteilt. Der Code ist unter der Kommentarzeile "" einzufügen.
Schritt-für-Schritt-Anleitung 5. Nun sind einige Konstanten und globale Variablen sowie zwei einfache Funktionen für den Programmablauf zu definieren. "use strict"; // Der JavaScript-Code soll im "strict mode" ausgeführt werden. showpage( '#pg_login'); // Login-Page einblenden // Konstante, die die Web-Adresse des Servers enthält const MY_HOST = 'https://c-control.elco-automation.
6. Im Anschluss gilt es die Funktion, die im Sekundenintervall die Anzeige der letzten Messwerte aktualisiert, zu erstellen. /*======================================================================================== Aktualisiert den Bereich in dem die letzten Messwerte angezeigt werden Nach dem Absetzen der API-Abfrage setzt diese Funktion einen Timeout von 1sec. nach dessen Ablauf sie wieder aufgerufen wird.
Schritt-für-Schritt-Anleitung 7. Jetzt muss festgelegt werden welche Aktionen beim Klicken des Login-Buttons ausgeführt werden. /*======================================================================================== Beim Klicken auf den Login-Button werden zunächst die User Credentials geprüft und die erste Messstelle innerhalb des ersten Kunden für den der Benutzer die Zugriffsberechtigung besitzt ausgewählt.
8. Danach gilt es zu regeln in welcher Form die Eingabe eines geänderten Aufzeichnungsintervalls behandelt wird. /*======================================================================================== Steht der Cursor im Eingabefeld für das Aufzeichnungsintervall und wird die ENTER-Taste gedrückt, wird der in das Eingabefeld eingegebene Wert in die Konfig 0 übernommen und zum Server übermittelt. Dabei wird auch sichergestellt, das das Mindestintervall eingehalten wird.
Schritt-für-Schritt-Anleitung 11. Geben Sie Ihren Benutzername (E-Mail-Adresse) und Ihr Passwort in die dafür vorgesehenen Felder ein und klicken Sie auf den Login-Button. Login-Page des Dashboards 1 Eingabefeld für den Benutzernamen (E-Mail-Adresse) 3 Prüft die User Credentials und wechselt zur ContentPage 2 Eingabefeld für das Passwort 12. Die nun geöffnete Content-Page zeigt nun die zuletzt ermittelten Messwerte sowie den Zeitpunkt zu dem die Messwerte erzeugt wurden an.
13. Ändern Sie das Aufzeichnungsintervall auf 15 und verlassen Sie das Eingabefeld durch Drücken der ENTER-Taste. Die erfolgreiche Übernahme des neuen Aufzeichnungsintervalls lässt sich daran erkennen, dass nun der Zeitpunkt der Messung jeweils um 15sec. weiterspringt. Content-Page des Dashboards 1 46 Zeitstempel des Messdatensatzes 2 Eingabefeld für den zeitlichen Abstand der Messdatenaufzeichnungen (wird bei Drücken der "Enter"-Taste übernommen) Rev.
Kontaktinformationen Kontaktinformationen Elco Industrie Automation GmbH Benzenmühlstr. 9 71723 Großbottwar Germany, Europe Tel. +49 7148 154 99 90 info@elco-automation.de www.elco-automation.de Rev.