für RevPi Core, RevPi Connect und RevPi Compact
Kernel 4.19 statt 4.9
Der Kernel wurde auf Version 4.19.95-rt38 aktualisiert (statt dem bisher verwendeten 4.9.76-rt60). Damit sind moderne Funktionen wie nftables nutzbar.
Geräte mit Compute Module 3 und 3+ booten etwas schneller, da der CPU-Takt gleich zu Beginn fest auf 1200 MHz eingestellt wird. Zuvor starteten die Geräte mit variablem Takt zwischen 600 und 1200 MHz (cpufreq governor ondemand) und wurden erst am Ende des Bootvorgangs fest auf 1200 MHz eingestellt (cpufreq governor performance).
Seit Kernel 4.12 ist auf der Text-Console standardmäßig kein Bildschirmschoner mehr aktiv. Um das alte Verhalten zurück zu bekommen muss man in /boot/cmdline.txt den Parameter consoleblank=600 ergänzen (600 s = 10 min).
Raspbian Stretch mit Backports
Das Image ist abgeleitet von Raspbian Stretch 2019-04-08. Es enthält alle Raspbian Stretch Paket-Updates, die bis Mitte Juni 2020 veröffentlicht wurden.
Zusätzlich haben wir ausgewählte Pakete aus Raspbian Buster zurückportiert auf Stretch, um aktuellere Software anzubieten und Sicherheitslücken zu beseitigen:
nodered 1.0.6 (statt 0.20.7)
nodejs 10.19.0 (statt 4.8.2)
npm 6.14.5 (statt 1.4.21)
libmodbus 3.1.6 (statt 3.0.6)
openssl 1.1.1d (statt 1.1.0l)
Auf dem Image sind diese Pakete bereits vorinstalliert. Sie sind außerdem in einem gesonderten APT-Repository namens "stretch-backports" zum Nachinstallieren verfügbar. Dadurch bieten wir Kunden einen "long-term support" für Stretch an. Pakete können auch auf Kundenwunsch zurückportiert werden.
Revolution Pi Geräte im Feld lernen vom "stretch-backports" Repository, sobald sie das "revpi-repo" Paket aktualisieren. Um das gesamte System anhand des Repositories zu aktualisieren, ist ein zweimaliger Aufruf von "sudo apt-get update && sudo apt-get upgrade" nötig: Der erste Aufruf installiert das geänderte "revpi-repo" Paket und der zweite Aufruf installiert die Pakete aus dem neuen Repository.
Möchte man verhindern, dass Pakete automatisch aus "stretch-backports" aktualisiert werden, kann man in /etc/apt/preferences.d/ eine Datei folgenden Inhalts anlegen:
Package: * Pin: release a=stretch-backports Pin-Priority: 100
Anschließend kann man manuell einzelne Pakete aktualisieren mit:
apt-get install -t stretch-backports <paketname>
OpenSSL
openssl forciert in der neuen Version mindestens TLSv1.2 (statt TLSv1) sowie TLS Security Level 2 (Schlüssellänge mindestens 2048 Bit RSA/DHE oder 224 Bit ECC, Hashfunktion mindestens SHA-2). Sollte dadurch der Verbindungsaufbau zu bestimmten Gegenstellen fehlschlagen, dann kann man die Einstellungen auf das bisherige Niveau reduzieren, indem man in /etc/ssl/openssl.cnf einträgt:
MinProtocol = None CipherString = DEFAULT
LibModbus
Bei libmodbus hat sich das API der Funktionen modbus_report_slave_id() und modbus_get/set_response/byte_timeout() geändert. Eigene Programme, die gegen libmodbus kompiliert sind, müssen gegebenenfalls angepasst werden. Details stehen in diesen Commits:
https://github.com/stephane/libmodbus/commit/ea80f74094e3
https://github.com/stephane/libmodbus/commit/52a82f8cfe90
Node-RED mit RevPi Nodes
Node-RED ist vorinstalliert und ermöglicht dank der mitgelieferten RevPi Nodes die spielend einfache Verwendung von Prozessabbild-Werten in Flows.
Bevor man Node-RED benutzen kann, muss man es im Web-Status einschalten. Hierfür wurden zwei Buttons im "Services" Reiter ergänzt: Einer zum Starten von Node-RED und einer zum Starten des Revpi Nodes Servers. Dieser fungiert als Brücke zwischen den RevPi Nodes und dem Prozessabbild von piControl. Sobald man Node-RED im "Services" Reiter eingeschaltet und seinen Startvorgang abgewartet hat, kann über einen Button im "Apps" Reiter darauf zugegriffen werden.
Achtung: Node-RED ist standardmäßig von jedem beliebigen Rechner auf Port 1880 des Revolution Pi erreichbar und verwendet weder eine Authentifikation noch Verschlüsselung. Daher sollte man es nur in einer geschützten Umgebung ohne Internet-Zugang einschalten. Anleitungen zur Einrichtung von Authentifikation und Verschlüsselung befinden sich hier:
https://nodered.org/docs/user-guide/runtime/securing-node-red
http://www.steves-internet-guide.com/securing-node-red-ssl/
Der RevPi Nodes Server startet nur, wenn vorher in PiCtory eine Konfiguration angelegt wurde. Hat man den Server irrtümlich ohne PiCtory Konfiguration gestartet, muss man ihn manuell neu starten mit:
sudo systemctl restart noderedrevpinodes-server
Die RevPi Nodes sind leider inkompatibel mit dem vorinstallierten epiphany-browser. Möchte man vom Revolution Pi auf Node-RED zugreifen, muss man Epiphany durch Chromium ersetzen. Dadurch werden allerdings etwa 270 MByte zusätzlich auf dem eMMC belegt:
sudo apt-get install chromium-browser sudo dpkg -r epiphany-browser epiphany-browser-data sudo apt-get clean
Die RevPi Nodes und der RevPi Nodes Server wurden zusammen mit der erminas GmbH entwickelt. Die oben genannten Punkte werden in zukünftigen Paket-Updates behoben.
RevPiModIO
Die bei Python-Entwicklern beliebten Pakete RevPiModIO, RevPiPyLoad und RevPiPyControl von Sven Sager sind nunmehr vorinstalliert.
RevPiPyLoad kann über einen Button im "Services" Reiter von Web-Status eingeschaltet werden. Es startet beim Booten ein mit RevPiModIO geschriebenes Python-Steuerungsprogramm, welches in /var/lib/revpipyload/ abgelegt werden muss, und überwacht es.
Außerdem stellt es die Schnittstelle für “revpipycontrol” zur Verfügung, einem grafischen Konfigurationsprogramm für das X Window System (“startx”). Damit können komfortabel die ersten Gehversuche unternommen und das Prozessabbild inspiziert werden. Und zwar auch über das Netzwerk von einem beliebigen Computer aus. Der Upload des Python-Programms und alle Einstellungen von RevPiPyLoad sind damit ebenfalls möglich.
Soll das Prozessabbild für Visualisierungen oder andere dezentrale Peripherie zur Verfügung gestellt werden, kann man den Prozessabbild-Server von RevPiPyLoad aktivieren. Damit können externe Systeme über RevPiNetIO in das Prozessabbild schreiben. Dies kann auch für die Entwicklung des Steuerungsprogramms auf dem eigenen Computer im Netzwerk verwendet werden. Es ist so als ob man direkt auf dem RevPi entwickelt.
Aus Sicherheitsgründen ist RevPiPyLoad standardmäßig nur auf der Loopback-Adresse 127.0.0.1 erreichbar, also nur von dem Revolution Pi selbst. Um es von anderen Computern im Netzwerk nutzen zu können führt man auf dem Revolution Pi den Assistenten "sudo revpipyload_secure_installation" aus. Dieser stellt ein, auf welcher IP-Adresse RevPiPyLoad erreichbar ist und welche IP-Adressen darauf zugreifen dürfen.
Weitergehende Informationen finden sich auf: https://revpimodio.org/revpipyplc/
Software von Drittanbietern
logi.RTS wurde auf Version 4.3.0 aktualisiert, TeamViewer auf Version 2.10.18.
PROCON-WEB IoT ist nicht mehr vorinstalliert, da die Partnerschaft mit Weidmüller GTI Software GmbH leider endete. Die letzte verfügbare Version 6.3.7.0 kann allerdings manuell nachinstalliert werden mit:
sudo apt-get install procon-web-iot
PiCtory
PiCtory unterstützt nun den RevPi Compact sowie ein neues "Virtual Device 32 Byte (Extended)" mit bis zu 64 Inputs und Outputs.
Beim Modbus Master wurde der Dialog "Extended Data" um zwei Features erweitert:
Mit der neuen Checkbox "disable action rows limitation" ist es möglich, mehr Action Rows als Modbus_Action_Status Werte zu definieren.
Und mit der Checkbox "disable -Device Value- conflict checking" wird die Prüfung abgeschaltet, dass neu eingefügte Rows nicht denselben Device Value wie vorhandene Rows beschreiben. Das verbessert die Performance von PiCtory, wenn viele Rows eingefügt werden sollen, allerdings liegt es dann in der Verantwortung des Anwenders, solche Konflikte zu verhindern.