Document toolboxDocument toolbox

RevolutionPi Release Notes Stretch 06/2020

für RevPi Core, RevPi Connect und RevPi Compact

Kernel 4.19 statt 4.9

Der Kernel wurde von Version 4.9.76-rt60 auf Version 4.19.95-rt38 aktualisiert. 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. Mit Stretch 03/2019 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. Du kannst den Bildschirmschoner wieder aktivieren, indem Du in der Datei /boot/cmdline.txt den Parameter consoleblank=600 ergänzt (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 Dir 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öchtest Du verhindern, dass Pakete automatisch aus "stretch-backports" aktualisiert werden, kannst Du in /etc/apt/preferences.d/ eine Datei mit folgendem Inhalt anlegen:

Package: * Pin: release a=stretch-backports Pin-Priority: 100

Anschließend kannst Du manuell einzelne Pakete aktualisieren:

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 kannst Du die Einstellungen auf das bisherige Niveau reduzieren, indem Du in /etc/ssl/openssl.cnf einträgst:

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 Du Node-RED benutzen kannst, musst Du 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 Du Node-RED im "Services" Reiter eingeschaltet und seinen Startvorgang abgewartet hast, kannst Du über einen Button im "Apps" Reiter darauf zugreifen. Der Startvorgang dauert etwa 5 Sekunden.

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. Verwende es nur in einer geschützten Umgebung ohne Internet-Zugang. 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. Hast Du den Server irrtümlich ohne PiCtory Konfiguration gestartet, musst Du ihn manuell neu starten mit:

Die RevPi Nodes sind leider inkompatibel mit dem vorinstallierten epiphany-browser. Möchtest Du vom Revolution Pi auf Node-RED zugreifen, musst Du Epiphany durch Chromium ersetzen. Dadurch werden allerdings etwa 270 MByte zusätzlich auf dem eMMC belegt:

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.

Du kannst RevPiPyLoad über einen Button im "Services" Reiter von Web-Status einschalten. Beim Booten startet 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, kannst Du 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, musst Du auf dem Revolution Pi den Assistenten "sudo revpipyload_secure_installation" ausführen. 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:

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.