Zum Inhalt

Kommunikation - Installation

Die internetbasierte Kommunikation hat eine herausragende Bedeutung in IoT-Applikationen.

MQTT

Der Mosquitto-Broker ist einer besonders einfach zu nutzender MQTT-Broker für Windows und Linux.

Download (Eclipse-Foundation)

Zielverzeichnis sei emphohlen: c:\IoT

Dokumentation

>_
snap install mosquitto

>_
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
>_
sudo apt-get update

Konfiguration

Die Konfiguration wird mit der ASCII-Datei mosquitto.conf vorgenommen.

Die wichtigsten Konfigurationen sind

  • Bindung an eine IP-Adresse
  • Bindung an eine Ethernet-Schnittstelle

Die Konfiguration wird beim Start des Brokers aus der Datei ./mosquitto/mosquitto.conf gelesen. Diese ASCII-Text-Datei kann mit einem Texteditor, wie z.B. dem VSC, angepasst werden.

mosquitto.conf (Auszüge)
...
# listener port-number [ip address/host name/unix socket path]
#listener
#listener 172.18.45.149:1883
#listener 192.168.0.164:1883
...
# Example: bind_interface eth0
#bind_interface
...

Starten

Für Entwicklungsarbeiten sollte der Broker nicht als Windows-Dienst bzw. Linux-Service installiert werden. Man kann den Broker auch von der Kommandozeile aus starten:

>_
C:\IoT\mosquitto\mosquitto.exe
>_
sudo systemctl restart mosquitto

MQTT-Explorer

Ein besonders starkes Tool ist der MQTT-Explorer von Thomas Nordquist. Er stellt es frei zur Verfügung. Mit dem MQTT-Explorer lassen sich die Publish- und Subscribe-Aktivitäten des Brokers sehr gut beobachten. Die Bedienung ist intuitiv!

Hier Link stehen die Installationen für Windows, Linux etc. zur Verfügung.

OPC-UA

OPC-UA ist eine Client-Server-basierte Kommunikation, die über verschiedene Systeme bereit gestellt werden:

  1. Speicherprogrammierbare Steuerungen (SPS)
  2. Geräte der Feldebene (Antriebe, Sensoren, ...)
  3. Gerte der Bedienebene (HMI, ..)

Um die Kommunikation beobachten zu können, braucht es einen "Sample-Client". Ein frei verfügbarer Client ist der UaExpert von "Unifiend Automation". Um ihn gherunterladne zu können, muss man sich registrien.

Hier Link geht's zum Download für Windows und Linux.

Neben den Python-Clients (anonymous-Mode) kann auch mit dem aktuellen OPC-Server Version 4.4.x von Beckhoff gearbeitet werden. Dabei ist die Erzeugung eines Accounts für den Client zu beachten. Einfacher ist allerdings die Nutzung der TwinCAT-OPC-Servers mit der Version 4.1.x, da hier ein anonymer Zugang realisiert werden kann.

Eigene Clients und Server lassen sich mit Python realisieren. Dazu ist das Package asyncuazu installieren ( PYPI)

>_
    pip install asyncua

Info

Im Laborbetrieb kann innerhalb des Labornetzes auf den Server 172.18.45.5 zugegriffen werden. Er stellt mehrere OPC-UA-Server auf unterschiedlichen Ports zur Verfügung.

RestAPI

Die RestAPI (Rest=Representational State Transfer, API= Application Programming Interface) nutzt HTTP-Methoden, um Daten zwischen einem Server und einem Client-Gerät auszutauschen. Dabei können die Daten vom Client zum Server und vom Server zum Client in unterschiedlichen Formaten übertragen werden (json, xml, http,...). Wenn der Client im Browser luft, dann wird diese Schnittstelle mit Javascript realisiert. Der Server kann dann z.b. ein Python-Script sein, das spezielle Packages nutzt.

Auf der RestAPI basieren oft Web Services. Es lassen sich sehr universelle Schnittstellen zwischen verschiedenen Prozessen realisieren. Bei einer Umsetzung mit Python kann z.B. das Standard-Package requests genutzt werden oder ein Framework, wie z.B. FastApi, eingesetzt werden. Beispiele werden im Zusammenspiel mit Node-Red als Frontend und einem py-Backend zur Datenbank vorgestellt.

Link