Der CONTROLLINO hat auf den Modellen MAXI und MEGA eine Ethernet-Schnittstelle integriert, die über einen standardmässigen RJ45-Anschluss mit dem internen Netzwerk verbunden werden kann.
Mit einer Ethernet-Schnittstelle bieten sich dem Anwender viele zusätzliche Möglichkeiten für den Einsatz des CONTROLLINO als webbasierte Steuerungseinheit. Der CONTROLLINO eignet sich somit ideal als Schnittstelle für Internet of Things (IoT)-Anwendungen und als Schaltzentrale für MQTT-Anwendungen.
Auf einen handelsüblichen Arduino-Board muss für einen Ethernet-Anschluss ein entsprechendes Ethernet-Shield und eine Ethernet-Library verwendet werden.
Auch auf dem CONTROLLINO kann die bekannte Ethernet-Library verwendet werden. Mit wenigen Schritten kann der CONTROLLINO mit dem Beispiel webclient zu einem Sensormodul, das Sensordaten ins Internet sendet, eingesetzt werden.
Als einfaches Sensormodul ist der CONTROLLINO aber eher unterfordert. Der CONTROLLINO eignet sich optimaler als webbasiertes Schaltelement, bei dem die Ausgangssignale und Relaisausgänge verwendet werden.
MQTT-Subscriber
Das MQTT-Protokoll, das zur Kommunikation zwischen Geräten oder Maschinen verwendet wird, ist momentan in aller Munde. Laufend werden Anwendungen und Beispiele für Arduino und Raspberry Pi publiziert und vorgestellt.
Arduino-Anwendungen mit MQTT nutzen oft die bekannte PubSubClient-Bibliothek. Diese Bibliothek erweitert das Arduino-Board, und somit auch einen CONTROLLINO, zu einem MQTT-Client, der Daten an einen MQTT-Topic sendet oder einen Topic abonniert.
MQTT-Subscriber für Aquarium-Lichtsteuerung
In diesem konkreten Anwendungsbeispiel wird der CONTROLLINO als MQTT-Subscriber verwendet. Der CONTROLLINO hat ein Topic Aqualight abonniert und wertet laufend die Meldungen aus. Als Meldungen werden die Werte 0 (Lampe Aus) und 1 (Lampe 1) gesendet.
Bei einem 0 wird der Relais-Ausgang R3 ausgeschaltet, bei einem 1 eingeschaltet.
Im seriellen Monitor können die empfangenen Daten überprüft werden.
Die MQTT-Meldungen werden in diesem Beispiel von einem lokalen MQTT-Broker, der auf einem Raspberry Pi läuft, geliefert. Zusätzlich wird auf diesem Raspberry Pi die Anwendung Node-Red betrieben, die die Verarbeitung der MQTT-Meldungen erlaubt.
Ich verwende bei meinen Raspberry Pi gerne das Paket The ThingBox, das sowohl Node-Red, wie auch einen MQTT-Broker integriert hat.
Die Ein-und Ausschaltzeiten des Aquarium-Lichtes werden über einen Scheduler in Node-Red gesteuert. Der Scheduler heisst Big Timer und kann als Node in die eigene Node-Red-Installation integriert werden.
Die Ein-und Ausschaltzeiten können nun über den Browser in der Node-Red-Anwendung eingetragen werden.
Im Beispiel für das Aquarium ist das Licht zwischen 8 und 21 Uhr eingeschaltet.
Die gesamte Lichtsteuerung des Aquariums inklusive Stromversorgung für den CONTROLLINO wird nun in ein stabiles und berührungssicheres Gehäuse verpackt. Über den Browser kann nun die Lichtsteuerung verwaltet werden.
Fazit
Der CONTROLLINO MAXI ist eine kompakte und stabile Kleinsteuerung für viele Anwendungen. Dank dem integrierten Arduino-Board eignet sich der CONTROLLINO auch sehr gut für die Ausbildung von Schülern und Studenten. Die vielen Ein-und Ausgänge, die Relais-Ausgänge, die stabile Anschlusstechnik und die Ethernet-Schnittstelle sind positive Punkte die es zu erwähnen gibt. Erweitungsmodule wie Bluetooth, RF-Module können zwar nicht direkt auf die Steuerung gesteckt werden. Der Hersteller hat aber fast alle Signale des Microcontrollers auf Stiftleisten geführt, über die externe Module angeschlossen werden können.
3 Responses to “Testbericht – Controllino (Teil 2)”
- 1 Pingback on Feb 20th, 2017 at 9:33
Leave a Reply
Suchen
Aktuelles
- Arduino Praxiseinstieg, 5. Auflage erschienen
- Arduino UNO R4 offiziell vorgestellt
- Review: PCB Service von WellPCB
- Review: SMD-Bestückungs-Service von JLCPCB
- Portable Power Supply – VoltBot
- Leiterplatten-Panel bei JLCPCB
- Arduino Praxiseinstieg, 4. Auflage erscheint am 29.04.2019
- Klein, kleiner, ganz klein – ATtiny10
- Review – Leiterplatten (PCB) von JLCPCB
- Arduino Day 2018
Kommentare
- Review: PCB Service von WellPCB 2
ArduinoPraxis [...] - Arduino UNO R4 offiziell vorgestellt 2
ArduinoPraxis [...] - Review - Leiterplatten (PCB) von JLCPCB 4
Werner Smidt [...] - Review: SMD-Bestückungs-Service von JLCPCB 2
ArduinoPraxis [...] - Projekt: drahtloses Display für Oregon Scientific Wetterstation 3
Oliver [...]
Kategorien
Archive
- Dezember 2023
- Juni 2023
- Juli 2020
- Dezember 2019
- Oktober 2019
- Juni 2019
- April 2019
- Juli 2018
- Mai 2018
- November 2017
- Oktober 2017
- September 2017
- Juli 2017
- April 2017
- März 2017
- Februar 2017
- Dezember 2016
- November 2016
- September 2016
- Mai 2016
- Januar 2016
- Dezember 2015
- August 2015
- Mai 2015
- März 2015
- Januar 2015
- Dezember 2014
- September 2014
- August 2014
- Juli 2014
- Juni 2014
- Mai 2014
- April 2014
- März 2014
- Februar 2014
- Januar 2014
- Dezember 2013
- Oktober 2013
- September 2013
- August 2013
- Juni 2013
- Mai 2013
- April 2013
- März 2013
- Februar 2013
- Januar 2013
- Dezember 2012
- November 2012
- Oktober 2012
- September 2012
- August 2012
- Juli 2012
- Juni 2012
- Mai 2012
- April 2012
- Februar 2012
- Januar 2012
- Dezember 2011
- November 2011
- Oktober 2011
- September 2011
- August 2011
- Juli 2011
- Juni 2011
- Mai 2011
- April 2011
- März 2011
- Januar 2011
- Dezember 2010
- November 2010
- Oktober 2010
- September 2010
- August 2010
- Juli 2010
- Juni 2010
- Mai 2010
Vielen Dank für den Bericht!
Ich frage mich, ob der Ethernetanschluss für folgende Konfiguration genutzt werden könnte:
Der Controllino fragt einen externen Webserver an. (Allenfalls übermittelt er auch noch Daten per GET oder POST – z.B. als Rückmeldung von Aktoren wie „Motor läuft“. Diese GET/POST Daten werden auf dem externen Webserver gespeichert und auf einer Website dargestellt).
Die Response des Webservers sind nun verschiedene Kommandos wie: „SM1=SLOW“, was z.B. heissen könnte: „Stepper Motor 1 Langsam fahren“.
Der Controllino wertet diese Antwort aus und führt die Anweisung(en) durch, in unserem Fall wird der Schrittmotor langsam fahren (möglicherweise war er ja schnell oder hat stillgestanden).
Das wäre eine einfache Möglichkeit einen z.B. Roboter über ein Webinterface zu steuern.
Frage 1: Wäre dies überhaupt möglich?
Frage 2: Was passiert wenn der Webserver nicht verfügbar ist? Bzw. eine lange Response Time hat? Würde dann der gesamte Programmablauf auf dem Controllino unterbrochen werden?
Für Antworten bin ich sehr dankbar!
Viele Grüsse,
Oliver
Zu deinen Fragen:
zu 1
Ich denke, dass ist mit dem Controllino oder einem Arduino mit Ethernet Shield möglich.
Ich würde den Datenaustausch via XML oder MQTT realisieren.
zu 2
Dass ein System nicht verfügbar ist, kann immer passieren. Dieser Fall muss natürlich bei der Programmierung beachtet werden.