Testbericht – Controllino (Teil 2)

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. 1 Oliver

    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

  2. 2 ArduinoPraxis

    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.

  1. 1 CONTROLLINO Testberichte | ck blog


Leave a Reply



Kategorien