Arduino bietet seit längerer Zeit einen Clouddienst an, der eine niederschwellige – also ohne MQTT auskommende – Realisierung von Geräteverbünden erlaubt. Mit einer Erweiterung der Kommandozeilenutility Arduino-CLI wird die Provisionierung und Anmeldung von Geräten automatisierbar.
Was ist die Arduino Cloud?
IoT-Broker aller Herren Hersteller arbeiten normalerweise mit MQTT. Arduino entschied sich im hauseigenen Clouddienst Arduino Cloud für eine abstraktere Vorgehensweise, die auf Variablen und Geräten basiert. Unter https://www.mikrocontroller.net/topic/521135 findet sich eine detaillierte Beschreibung des Systems.
(Bildquelle: Autor)
arduino-cloud-cli installieren
Die Konfiguration von in der Cloud befindlichen Elementen erfolgte bisher ausschließlich unter Nutzung des Browserinterfaces. Neu ist nun die Möglichkeit, diese Einrichtung über ein Kommandozeilenwerkzeug durchzuführen. Spezifischerweise handelt es sich dabei um die unter https://github.com/arduino/arduino-cloud-cli bereitstehende Arduino-Cloud-Cli.
Interessant ist dabei, dass das Herunterladen des Repositoriums nur Go-Code zur Verfügung stellt:
2(base) tamhan@tamhan–thinkpad:~$ cd arduinocloudclitest/
3(base) tamhan@tamhan–thinkpad:~/arduinocloudclitest$ git clone https://github.com/arduino/arduino-cloud-cli
4Cloning into ‘arduino–cloud–cli‘…
5(base) tamhan@tamhan–thinkpad:~/arduinocloudclitest$
Das linux-übliche Makefile zur Kompilation sucht man indes vergeblich:
2(base) tamhan@tamhan–thinkpad:~/arduinocloudclitest$
Der korrekte Weg zum Ziel ist das Besuchen der URL https://github.com/arduino/arduino-cloud-cli/releases/tag/0.1.0, wo wir die Datei arduino-cloud-cli_0.1.0_Linux_64bit.tar.gz herunterladen. Extrahieren Sie das Archiv danach, und führen Sie die Datei nach folgendem Schema aus:
2Arduino Cloud Command Line Interface (arduino–cloud–cli).
3
4Usage:
5 arduino–cloud–cli [command]
6 . . .
Zur Fertigstellung ist dann noch ein Besuch bei der URL https://cloud.arduino.cc/home/api-keys erforderlich, wo sie einen neuen API-Key beantragen. Die eigentliche Anmeldung erfolgt dann über credentials init:
2To obtain your API credentials visit https://create.arduino.cc/iot/integrations
3✗ Please enter the Client ID: █
4. . .
Benutzer der kostenlosen Version des Cloud-Abonnements kommen an dieser Stelle übrigens an eine Grenze – nur Besitzer eines bezahlten Accounts dürfen die Konfiguration abschließen.
(Bildquelle: Screenshot)
Was kann man mit der Cloud CLI tun?
Die wichtigste Anwendung für die CLI dürfte das Provisioning von Geräten sein – je nachdem ob das Gerät einen LORA-Transmitter mitbringt oder nicht, stehen zwei unterschiedliche Befehle am Start:
2$ arduino–cloud–cli device create–lora —name <deviceName> —frequency–plan <freqID> —port <port> —fqbn <deviceFqbn>
Sonst beschränkt sich die CLI auf die Errichtung und Abtragung von Infrastruktur. So lassen sich beispielsweise Geräte löschen oder von zugewiesenen Tags befreien:
Auch für Things und Dashboards stehen analoge Werkzeuge zur Verfügung, die wir hier nur auszugsweise zeigen:
2$ arduino–cloud–cli dashboard list —show–widgets
Wichtig ist vor Allem, dass sich die CLI aus der eigentlichen Variablenverwaltung heraushält: das Eintragen oder Auslesen von Werten in den Variablen ist mit dem Kommandozeilenwerkzeug (noch nicht) möglich.
“Mehr” Kompilationszeit für Nutzer der Online-IDE
Arduino Cloud ist seit jeher auch Teil einer im Browser lebenden Arbeitsumgebung, die in der kostenlosen Basisversion bisher pro Tag 200 Sekunden Kompilationszeit für Sketches zur Verfügung stellte.
(Bildquelle beide: Screenshot)
Auch an dieser Stelle gibt es eine Änderung:
Interessant ist dabei, dass wegen Syntax- und sonstigen Fehlern fehlgeschlagene Kompilationen nach wie vor nicht von der Quote abgezogen werden. Begründet wird die Änderung übrigens damit, dass “modernere” Mikrocontroller mehr Kompilationszeit benötigen:
Zuerst erschienen bei Mikrocontroller.net News
Quelle: Read More