Starter-, Referenz-Kits Arduino als IoT-Maschine - Teil 3

Arduino als IoT-Maschine
Arduino als IoT-Maschine

Nachdem die Hardware untersucht wurde und die System-Software aufgespielt ist, geht es jetzt um die Anwendungen. Hier kann der UDOO dank seines Arduino-Teils Prozessdaten aufnehmen und mit dem Linux-Teil verarbeiten. Über Standard-Schnittstellen kann die Verarbeitung sogar in das Web und die Cloud ausgelagert werden.

Mit dem Programm cURL (client for URLs) können ohne Benutzerinteraktion Dateien von oder zu einem Server übertragen werden. cURL unterstützt eine Vielzahl von Netzwerkprotokollen wie HTTP, HTTPS, FTP, FTPS, Gopher, Telnet, DICT, File und LDAP. Die Steuerung erfolgt über Kommandozeilenparameter, die beim Programmaufruf angegeben werden [8][9]. Das Programm cURL ist normalerweise in einer Linux-Standardinstallation enthalten, kann aber ansonsten über das gleichnamige Paket nachinstalliert werden. Die zahlreichen Kommandozeilen-Optionen können hier nicht dargestellt werden. Stellvertretend soll hier nur das Versenden einer E-Mail mittels der Kommandozeile gezeigt werden, um die Möglichkeiten von cURL aufzeigen; siehe dazu Listing 1.

Eingeleitet durch das sogenannte „Shebang“, welches das Betriebssystem anweist, dieses Script mit der Bourne-Shell sh auszuführen, folgt eine Ausgabe mit echo. Dann schliesst sich der Aufruf von cURL mit einer langen Liste an Parametern an, die im Editor in einer Zeile notiert werden. Dabei bedeuten:

  • --url: Die URL des Google Mail Server inkl. Port
  • --ssl-regd: Verwendung von SSL/TLS für die Verbindung
  • --user: User und Password zur Einwahl in den Google Account
  • --insecure: Anweisung „unsichere“ SSL-Verbindung zur verwenden
  • --mail-from: E-Mail-Adresse des Absenders
  • --mail-rcpt: E-Mail-Adresse des Empfängers
  • --upload-file: E-Mail-Inhalt

Wie das kurze Listing zeigt, wurde der Google Mailserver für das Versenden der E-Mail verwendet. Google Username und -Passwort sowie die E-Mail-Adressen wurden hier durch xxxx unkenntlich gemacht und sind den eigenen Bedingungen anzupassen. In der Datei mail.txt befindet sich der Text der zu übermittelnden E-Mail. Den Abschluss des Scripts bildet wieder eine Ausgabe mit echo.

Nach Aufruf des Scripts über ./sendmail.sh erscheint die erste Ausgabe mit echo, bevor die Kommunikation über cURL protokolliert wird. Es werden 114 Bytes gesendet, was mit einer Übertragungsgeschwindigkeit von 63 Byte pro Sekunde erfolgt und damit ca. 2 s dauert. Den Abschluss des Scripts signalisiert die Ausgabe „Mail sent“. cURL bietet eine gute Voraussetzung, weitere Web Services zu nutzen, was im folgenden Abschnitt mit Temboo gezeigt wird

Temboo – Cloud-Dienst für viele Anwendungen

Temboo (www.temboo.com) hat sich zum Ziel gesetzt, den Zugriff auf verschiedene populäre Web Services zu vereinheitlichen und dafür ein eigenes Application Programming Interface (API) zur Verfügung zu stellen. Der Zugriff auf die Temboo Web Services erfolgt über sogenannte Choreos, Cloud-basierte, Task-spezifische Codekomponenten, die auf der Temboo-Webpräsenz im Browser getestet und schließlich in die eigene Entwicklungsumgebung kopiert werden können.

Immer dann, wenn ein Anwendungsprogramm ausgeführt wird, das Choreos enthält, ruft es die Temboo-Plattform auf und führt den hinter jedem Choreo befindlichen, wesentlich komplexeren Code aus. Durch diese Code-Virtualisierung erhält der Anwender einfachen und einheitlichen Zugriff auf mehr als 2000 Choreos aus den verschiedensten Bereichen, wie Werbung, Entwicklung, Gesundheit, Marketing, Produktivität, Suche, Speicherung, Wetter u.a.m. Es stehen Software Development Kits (SDK) für unterschiedliche Programmierumgebungen, wie iOS, Android, Java, PHP, Python, Ruby, Node.js und Arduino Yún zur Verfügung.

Bei Verwendung der REST-API kann die Temboo-Plattform ohne SDK über cURL-Kommandos genutzt werden. Um Informationen vom API, wie Choreo-IDs, abzurufen, werden HTTP GET Requests verwendet. HTTP POSTs werden zur Ausführung von Choreos eingesetzt. Alle API-Zugriffe liefern XML-Daten zurück.

Bevor Temboo genutzt werden kann, muss man unter https://temboo.com ein Benutzerkonto registrieren. Zu Testzwecken kann ein kostenloser Account eingerichtet werden, der die folgenden Leistungen bietet: 1000 Calls/Monat, 512 MB/Monat, 10 Credentials, 1 Application Key. Dieser Application Key ist der Eintrittspunkt für jeden API-Zugriff.

Für Google- und Twitter-Applikationen benötigt man auch bei diesen Diensten ein Benutzerkonto. Für viele anderen Choreos bzw. die dahinterliegenden Applikationen ist das vergleichbar. Anhand von Beispielen soll der Zugriff auf die Temboo-Cloud verdeutlicht werden. Im ersten Beispiel wird gezeigt, wie ein ausgewählter Choreo bereits in der Library getestet werden kann, bevor die Implementierung auf dem UDOO erfolgt.