Produktbeschreibung #
Der RevPi Flat S ist ein nicht-modularer 24-V-Industrie-PC für IIoT- und Automatisierungsprojekte auf Basis des Raspberry Pi Compute Module 4S. Aufgrund seiner flachen Bauform ist der RevPi Flat S für den Einbau in Unterverteilerschränken nach DIN EN 18012 geeignet.
Aufbau #
Note
|
RevPi Flat und RevPi Flat S sind gleich aufgebaut. |

Position | Komponente | Verwendung |
---|---|---|
1 |
6 × Status-LED |
|
2 |
Taster |
|
3 |
2 × Arretierklammer |
|
4 |
Micro-USB |
Nur für Variante RevPi Flat S: |
5 |
4 × RJ45 Ethernet |
Ethernet-Schnittstellen (RJ45), |
6 |
2 × USB A |
|
7 |
Digitaler Ausgang (Relais-Kontakt) |
|
8 |
POWER |
|
9 |
Analoger Eingang / |
|
10 |
RS485-0 |
|
11 |
RS485-1 |
|
12 |
RP-SMA-Buchse |
|
13 |
Lüftungsschlitze |
Kompatible RevPi Images für RevPi Flat S
-
RevPi Bookworm Image
-
RevPi Bullseye Image
Siehe RevPi Images.
Varianten #
RevPi Flat S #
Artikelnr. | RAM | eMMC | Micro-USB |
---|---|---|---|
100330 |
1 GB |
8 GB |
Ja |
RevPi Flat #
Artikelnr. | RAM | eMMC | Micro-USB |
---|---|---|---|
100371 |
1 GB |
32 GB |
Nein |
Verfügbare Varianten siehe Revolution Pi Shop.
Der RevPi Flat wurde als manipulationssicheres Gerät konzipiert. Deshalb ist es nicht vorgesehen, dass du das Image des Geräts flashen kannst (im Gegensatz zum Produktmodell RevPi Flat S).
Lieferumfang #
Im Lieferumfang enthalten sind
-
RevPi Flat S bzw. RevPi Flat (nicht-modulares Basismodul)
-
2-poliger Stecker POWER
-
5-poliger Stecker ANALOG
-
3-poliger Stecker RS-485-0
-
2-poliger Stecker für Relais-Kontakt
-
Beiblatt
Montage und Anschluss #
Der RevPi wurde für den Einsatz in einem Schaltschrank entwickelt. Beachte die Vorgaben für den bestimmungsgemäßen Gebrauch und alle Sicherheitshinweise.
Führe die Montage und den Anschluss in folgender Reihenfolge aus:
-
Montiere den RevPi auf einer Hutschiene.
-
Schließe alle sonstigen Geräte wie Sensoren und Aktoren an. Die Schnittstellen, die dir dafür zur Verfügung stehen, findest du im Abschnitt Aufbau.
-
Schließe zuletzt die Spannungsversorgung an.
Spannungsversorgung anschließen #
Warning
|
Lebensgefahr durch elektrischen Schlag
Bei Arbeiten an Geräten im Schaltschrank unter Beteiligung von 230-V-Netzspannung besteht tödliche Stromschlaggefahr. ▷ Arbeiten im Schaltschrank nur von Elektrofachkräften durchführen lassen. ▷ Vor allen Arbeiten im Schaltschrank die Spannungsversorgung ordnungsgemäß abschalten. |
Important
|
Beschädigung des Geräts durch unzulässige Spannungsversorgung
▷ Maximale Spannungsversorgung von 28,8 V DC beachten. ▷ Nur den mitgelieferten Stecker und ein geeignetes Netzteil verwenden. ▷ Beim Anschluss auf korrekte Polung achten. ▷ Eine stabile Spannungsversorgung sicherstellen. |
Important
|
Beschädigung des Geräts durch Montage unter Spannungsversorgung
Während das RevPi Gerät mit einer Spannungsquelle verbunden ist, dürfen keine anderen Geräte angeschlossen oder getrennt werden, da dies zu Schäden an den Geräten führen kann. ▷ Spannungsversorgung erst anschließen, wenn alle anderen Geräte korrekt verbunden sind. ▷ Spannungsversorgung abschalten, bevor ein Gerät vom System getrennt wird. |
Important
|
Beschädigung der Gerätesoftware durch Trennung von der Spannungsversorgung
Wenn das Gerät im Betrieb von der Spannungsversorgung getrennt wird, kann es zur Zerstörung des File‑Systems des eMMC-Speichers kommen. Das Gerät kann dann nicht mehr gebootet werden. ▷ Gerät ordnungsgemäß herunterfahren, bevor es von der Spannungsversorgung getrennt wird. |
Important
|
Beschädigung des Geräts durch unterschiedliche Erdungen
▷ Alle Anschlüsse auf den gleichen System-Ground beziehen. ▷ Externe Spannungseingänge oder -ausgänge mit unterschiedlichen Erdungen extern verbinden. |
Für die Spannungsversorgung ist eine Verkabelung über den POWER-Stecker notwendig.
Du benötigst außerdem:
✓ Ein Netzteil (min. 20 W, z. B. Hutschienen-Schaltnetzteil, Artikelnr. 200003)
✓ Ausreichend Kabel (Querschnitt 0,35 … max. 2,5 mm²)
✓ Abisolier- und Crimpzange
✓ Bei Verwendung von Litzen die zum Kabel passende Aderendhülsen
✓ Einen kleinen Schlitzschraubenzieher
▷ Trenne alle ggf. angeschlossenen Geräte von ihrer jeweiligen Spannungsversorgung.
▷ Schließe eine Einspeisung für die Spannungsversorgung zwischen 10,7 … 27,8 V an den mit 24 V markierten Pin des POWER-Steckers an.
▷ Schließe die 0-V-Einspeisung an den mit GND markierten Pin an.
Zugriff auf das Gerät #
Der Zugriff auf den RevPi erfolgt in zwei Schritten:
Installiere alle verfügbaren Updates, sobald der RevPi mit dem Internet verbunden ist, damit das System bei sicherheitsrelevanten Features immer auf dem aktuellen Stand ist.
Siehe auch:
Konfiguration #
Basiskonfiguration #
Ab dem RevPi Bookworm Image (10/2024) erfolgt die Basiskonfiguration der RevPi Geräte über die Web-Applikation Cockpit.
Bis zum RevPi Bullseye Image (04/2024) erfolgt die Basiskonfiguration der RevPi Geräte über die Web-Applikation RevPi Status.
Basismodul in PiCtory konfigurieren #
▷ Starte PiCtory.
▷ RevPi Basismodul aus dem Device Catalog wählen und per Drag-and-Drop auf den leeren Slot mit der Positionsnummer 0 ziehen.
❯ Im Value Editor erscheinen die konfigurierbaren Werte.
▷ Mit File > Save as Start-Config. die Konfiguration als Startkonfiguration speichern.
❯❯ Die Startkonfiguration wird direkt nach jedem Boot-Vorgang aufgerufen.
Value | Bedeutung |
---|---|
INP AIn |
Eingangswert des analogen Eingangs |
INP AIn_Status |
Status des analogen Eingangs |
INP_AOut_Status |
Status des analogen Ausgangs |
INP Core_Temperature |
CPU-Temperatur |
INP Core_Frequency |
CPU-Frequenz |
INP Top_Button |
Eingangswert des Tasters |
OUT RevPiLED |
Statusbyte für LEDs |
OUT AOut |
Ausgangswert für analogen Ausgang |
OUT DOut |
Ausgangswert für digitalen Ausgang |
MEM AInMode |
Modus für den analogen Eingang: |
Serielle Geräte (RS485) #
Der RevPi Flat verfügt über zwei RS485-Schnittstellen. Dadurch kannst du serielle Protokolle wie Modbus verwenden und Geräte wie Smart-Meter oder Solarwechselrichter in dein Revolution Pi System einbinden.
Die Schnittstellen sind mit RS485-0 und RS485-1 bezeichnet. Beide Schnittstellen sind untereinander und jeweils vom RevPi galvanisch getrennt.
Unter Linux sind die Schnittstellen ansprechbar mit:
-
ttyAMA0
(RS485-0) -
ttyS0
(RS485-1)
RS485-0
RS485-0 liegt auf einer 3-poligen Klemme. Die Datenleitungen sind mit P (positive) und N (negative) bezeichnet. Bei anderen Geräten werden diese Leitungen auch häufig D+ und D- oder A und B bezeichnet.

Für die eigentliche Datenübertragung werden nur die Leitungen N und P benötigt. Verwende bei größeren Leitungslängen oder Baudraten ein verdrilltes Pärchen.

RS485-1
Für RS485-1 steht eine RJ11-Buchse zur Verfügung.

Pin | Beschaltung |
---|---|
1 |
— |
2 |
GND |
3 |
Negativ |
4 |
Positiv |
5 |
GRD |
6 |
— |
Bezugspotential
Falls ein Bezugspotenzial notwendig sein sollte, kannst du die elektrische Schaltungsmasse GND vom jeweiligen RS485-Bus dazu verwenden. Da die beiden RS485-Systeme über eine vollständige galvanische Trennung untereinander und zur restlichen RevPi Flat Schaltung verfügen, sind diese GND-Anschlüsse auch untereinander sowie vom RevPi Flat GND‑Anschluss galvanisch getrennt.
Schirmung
Leitungen mit einer Länge über 30 Metern oder Leitungen, die das Gebäude verlassen, sollten geschirmt sein. Um die EMV-Eigenschaften des Schirmes noch zu verbessern, kannst du bei Bedarf den Schirm mit der Potenzialausgleichsschiene des Verteilerkastens verbinden. Eine solche Verbindung lässt sich einfach mit einer Kontakt-Rollfeder herstellen.
Bitraten
Von Linux aus werden die Schnittstellen über die Character Devices /dev/ttyAMA0
und /dev/ttyS0
angesprochen. Du kannst Bitraten von 50 bis 3.000.000 für /dev/ttyAMA0
und von 1.200 bis 4.000.000 für /dev/ttyS0
konfigurieren. Allerdings kann es bei mehr als 230.400 Bit zu gelegentlichen Empfangsfehlern kommen. Das liegt daran, dass der UART des Raspberry Pi, an den die Schnittstelle angeschlossen ist, nur eine 16-Byte-kleine FIFO hat und kein DMA unterstützt. Je höher die Bitrate, desto häufiger passiert es, dass die FIFO nicht schnell genug ausgelesen wird und empfangene Daten verloren gehen. Beispielsweise kommt es bei 460.800 Bit zu 1-2 Fehlern pro empfangenen 50 MByte, bei 921.600 Bit zu rund 10 Fehlern. Wenn dein RevPi Flat vorwiegend Daten sendet und nur selten empfängt, kannst du bedenkenlos auch höhere Bitraten verwenden, ansonsten empfehlen wir dir aber, nicht mehr als 230.400 Baud einzustellen.
Terminierungswiderstand aktivieren
✓ Der integrierte 120-Ω-Abschlusswiderstand der RS485-Schnittstelle ist nach einem Neustart ausgeschaltet.
▷ Checke das Git-Repository des Kommandozeilen-Tools rs485_config aus GitLab aus mit dem Befehl:
git clone git@gitlab.com:revolutionpi/rs485_config.git
▷ Baue das Tool mit dem Befehl:
cd rs485_config; make
▷ Aktiviere den Widerstand mit dem Befehl:
./rs485_config <SERDEV> --set-bus-term
Ersetze dabei <SERDEV>
durch den Namen der Schnittstelle, z. B. /dev/ttyRS485
.
▷ Prüfe, ob der Widerstand aktiviert wurde, indem du dir die Einstellungen der RS485-Schnittstelle anzeigen lässt mit dem Befehl:
./rs485_config <SERDEV>
❯❯ Wenn der Widerstand aktiviert ist, wird Bus termination: Yes
ausgegeben.
Ethernet-Schnittstellen (RJ45) #
Der RevPi verfügt über zwei 10/100-Ethernet-Schnittstellen mit einer bzw. drei RJ45-Buchsen für zwei bzw. vier unabhängige MAC-Adressen. Bei aktiver Autonegotiation unterstützen sie Halb- und Vollduplex.
Je Schnittstelle steht eine Übertragungsrate von 100 Mbit/s zur Verfügung. Alle Ethernet-Schnittstellen sind mit dem internen USB-Hub verbunden. Da sich USB-Schnittstellen und Ethernet-Schnittstellen eine USB-Bandbreite teilen, kann sich die Übertragungsrate verringern, wenn zusätzliche USB-Geräte angeschlossen sind.

LAN 0
Die MAC-Adresse für LAN 0 ist auf der Vorderseite des Gehäuses aufgedruckt. Unter Linux lässt sich die Schnittstelle mit eth0
ansprechen.
LAN 1 (Switch) bzw. LAN 1 … LAN 3
Über die drei RJ45-Buchsen für LAN1 können bis zu drei weitere Geräte mit einem Netzwerk verbunden werden. Sie sind mit dem internen USB-Hub über einen 1:3-Switch verbunden. Die MAC-Adresse für LAN 1 ist auf der Vorderseite des Gehäuses aufgedruckt. Unter Linux lässt sich die Schnittstelle mit eth1
ansprechen.
Über DSA können die drei Anschlüsse für LAN 1 auf unabhängige MAC-Adressen aufgeteilt werden. Der Speicherort für die MAC-Adressen ist /boot/config.txt
.
Sofern in dieser Datei keine Adressen eingetragen sind bzw. nachdem ein neues Image aufgespielt wurde, werden die werkseitigen MAC-Adressen verwendet.
WLAN und BT #
Voraussetzungen
✓ RevPi Basismodul mit WLAN-Schnittstelle
✓ DHCP-fähiger WLAN-Router
✓ Optional: externe RP-SMA-WLAN-Antenne
Die WLAN-Schnittstelle arbeitet mit 2,4 und 5 GHz und entspricht der IEEE802.11a/b/g/n/ac Spezifikation.
Unter Linux kannst du die WLAN-Schnittstelle mit wlan0
ansprechen, sofern keine anderen WLAN-Geräte verwendet werden.
WLAN über RevPi Status aktivieren
▷ Starte RevPi Status.
▷ Im Reiter CONFIG die Option Enable/Disable build-in WLAN aktivieren.
WLAN-Ländercode über raspi-config einrichten
Die Vorschriften und Frequenzbereiche für WLAN-Netzwerke sind für jedes Land unterschiedlich. Konfiguriere den WLAN-Ländercode, damit der RevPi nicht in verbotenen Bereichen sendet oder Interferenzen verursacht.
▷ Logge dich über ein Terminal am RevPi ein.
▷ Öffne raspi-config mit dem Befehl:
sudo raspi-config
▷ Navigiere über die Pfeiltasten ins Menü Localisation Options.
▷ Wähle die Option WLAN Country.
▷ Wähle das passende Land aus der Länderliste und bestätige mit ENTER.
❯❯ Der WLAN-Ländercode ist aktiv.
WLAN-Verbindung über NetworkManager einrichten
Die WLAN-Verbindung wird über den NetworkManager nmtui eingerichtet. Der NetworkManager ist ein terminalbasiertes Benutzerinterface zur Verwaltung von Netzwerkverbindungen unter Linux.
▷ Logge dich über ein Terminal am RevPi ein.
▷ Starte nmtui mit dem Befehl
sudo nmtui
❯❯ Das Benutzerinterface von nmtui erscheint.
Die Navigation innerhalb nmtui erfolgt über die Pfeil- und ENTER-Tasten.
▷ Wähle Edit a connection.
▷ Wähle das passende Wi-Fi-Netzwerk.
▷ Gib unter Password das WLAN-Password ein und konfiguriere ggf. weitere WLAN-Einstellungen.
▷ Speichere die Einstellungen mit OK und kehre mit Back auf die Startansicht zurück.
▷ Wähle Activate a connection.
▷ Wähle das Wi-Fi-Netzwerk und aktiviere die Verbindung mit der ENTER-Taste.
❯ Die Statusmeldung Connecting … erscheint.
❯ Die WLAN-Verbindung wird aufgebaut.
BT-Schnittstelle einrichten
Über die gleiche SMA-Buchse wie für die WLAN-Schnittstelle steht dir auch eine BT‑Schnittstelle vom Standard 5.0 zur Verfügung.
▷ Logge dich über ein Terminal am RevPi ein.
▷ Aktiviere die HCI-Schnittstelle mit dem Befehl:
sudo systemctl enable hciuart
▷ Starte den Dienst hciuart mit dem Befehl:
sudo systemctl start hciuart
▷ Starte den BT-Daemon mit:
sudo systemctl start bluetooth
Siehe auch:
USB-Schnittstellen #
Der RevPi verfügt über zwei USB-A-Schnittstellen. Damit können USB-2.0-Client-Geräte wie USB-Festplatten, Surfsticks, Tastatur oder Maus angeschlossen werden.
Die Leistungsaufnahme der angeschlossenen Geräte darf 2,5 W (500 mA @ 5 V) pro Port nicht überschreiten. Bei Überlast wird der Strom an der entsprechenden USB-Schnittstelle abgeschaltet.
Die USB-Schnittstellen teilen sich mit den zwei Ethernet-Schnittstellen und einer Bluetooth-Schnittstelle einen USB-Hub auf dem RevPi. Dadurch kann die maximale Bandbreite beeinflusst werden.
Die USB-Schnittstelle ist für maximal 64-DAM-basierte USB-Geräte geeignet.
Die USB-Geräte, die an den USB-Hub angeschlossen sind, kannst du mit folgendem Befehl anzeigen lassen:
pi@RevPi0000:~ $ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
|__ Port 4: Dev 4, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
|__ Port 5: Dev 5, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
LEDs #
LED PWR
Die LED PWR (Power) zeigt den Gerätestatus an.
Signal | Bedeutung |
---|---|
Grün |
Spannungsversorgung ist angeschlossen. |
Rot |
Es liegt eine Störung der Kommunikation zwischen angeschlossenen Erweiterungsmodulen vor. |
LED A1 — A5
Die LEDs A1 bis A5 sind frei verwendbar.
Die LEDs können für anwenderspezifische Anforderungen verwendet werden wie z. B. eine Netzwerkverbindung anzeigen, Überschreiten eines Speicherlimits anzeigen, einen Prozess überwachen und Störungen anzeigen.
Die LEDs können in der Kommadozeilen-Applikation piTest mit der Variablen RevPiLED geschaltet werden.
Der Ausgang RevPiLED hat eine definierte Bytelänge und verfügt somit über eine bestimmte Anzahl von Bits, die von rechts nach links gelesen werden. Bestimmte Bitpositionen sind jeweils einer LED zugeordnet. Die LED wird geschaltet, indem die jeweiligen Bits auf 0 oder 1 gesetzt werden.
LED | Zugeordnete Bitposition |
---|---|
A1 |
0 und 1 |
A2 |
2 und 3 |
A3 |
4 und 5 |
A4 |
6 und 7 |
A5 |
8 und 9 |
Ein LED-Signal wird in der Kommandozeile mit dem Kommando piTest -w RevPiLED,x
geschaltet, wobei x dem aus dem jeweiligen Bitmuster errechneten Dezimalwert entspricht.
LED | Signal | Bitmuster | Dezimalwert |
---|---|---|---|
A1 … A5 |
aus |
0000 0000 0000 |
0 |
A1 |
grün |
0000 0000 0001 |
1 |
rot |
0000 0000 0010 |
2 |
|
orange |
0000 0000 0011 |
3 |
|
A2 |
grün |
0000 0000 0100 |
4 |
rot |
0000 0000 1000 |
8 |
|
orange |
0000 0000 1100 |
12 |
|
A3 |
grün |
0000 0001 0000 |
16 |
rot |
0000 0010 0000 |
32 |
|
orange |
0000 0011 0000 |
48 |
|
A4 |
grün |
0000 0100 0000 |
64 |
rot |
0000 1000 0000 |
128 |
|
orange |
0000 1100 0000 |
192 |
|
A5 |
grün |
0001 0000 0000 |
256 |
rot |
0010 0000 0000 |
512 |
|
orange |
0011 0000 0000 |
768 |
Um mehrere LEDs gleichzeitig zu schalten, werden die jeweiligen Dezimalwerte addiert.
Beispiel: Wenn gleichzeitig die LED A1 rot und die LED A2 grün leuchten soll, lautet das Kommando piTest -w RevPiLED,6
(Bitmuster: 000 0000 0110 = Dezimalwerte 2+4).
Note
|
Wenn einer bestehenden LED-Schaltung ein Signal hinzugefügt werden soll, muss der Wert für alle gewünschten Signale neu berechnet und geschrieben werden. |
Digitaler Ausgang (Relais-Kontakt) #
Über den digitalen Ausgang kannst du beispielsweise externe Geräte ein- und ausschalten. Er ist als potenzialfreier Relaiskontakt ausgeführt. Die Steuerung erfolgt also über eine mechanische Verbindung der Pins.

Der Relais-Kontakt darf mit maximal 30 V DC oder 24 V AC und 2 A belastet werden.
Dem Relaiskontakt ist eine Suppressordiode parallelgeschaltet, um die Schaltfunken zu reduzieren, die beim Schalten von induktiven Lasten entstehen. Dadurch wird der Verschleiß reduziert. Eine externe Freilaufdiode oder Ähnliches wird nicht benötigt.
Ansteuerung über piTest
Über piTest kannst du mit der Option -w
das Relais schalten:
▷ Aktiviere das Relais mit dem Befehl
piTest -w DOut,1
▷ Deaktiviere das Relais mit dem Befehl
piTest -W DOut,0
Direktansteuerung
Für die Direktansteuerung des Relais über Betriebssystemfunktionen kannst du das Programm gpio verwenden. Hier musst du zunächst den entsprechenden GPIO-Pin, in diesem Fall Pin 28, als Ausgang schalten. Danach kannst du den Ausgang mit 1 für Einschalten und 0 für Ausschalten setzen. Folgendes Beispiel zeigt die entsprechende Befehlsabfolge:
▷ Setze den Pin als Ausgang mit dem Befehl
gpio mode 28 out
▷ Schalte den Ausgang ein mit dem Befehl
gpio write 28 1
▷ Schalte den Ausgang aus mit dem Befehl
gpio write 28 0
Analoge Ein- und Ausgänge #
Der RevPi verfügt über einen analogen Eingang und einen analogen Ausgang am 5-poligen Stecker ANALOG.
Analoger Eingang
Mit dem analogen Eingang kann entweder Spannung oder Strom gemessen werden.
-
U IN: Spannungsmessung 0 … 10 V DC
-
I IN: Strommessung 0 … 20 mA DC
Strom- und Spannungseingang dürfen nicht gleichzeitig beschaltet sein, ansonsten wird das Messergebnis verfälscht.
Der Strom wird über einen internen 240-R-Widerstand in eine proportionale Spannung umgewandelt.
Der dafür verwendete Analog-Digital-Konverter (ADC) MCP3550-50 bietet eine hohe nutzbare Auflösung von 21 Bit, benötigt jedoch mit 85 Millisekunden pro Messung vergleichsweise lang.
Es gibt zwei Wege, um auf die Schnittstellen zuzugreifen: entweder durch Lesen und Beschreiben des Linux sysfs oder über unser RevPi Konfigurationstool PiCtory und das Softwaretool piTest, mit dem du auf das Prozessabbild des Systems zugreifen kannst. Im Folgenden beschreiben wir beide Methoden getrennt für Input und Output.
Werte auslesen mit Linux sysfs
Spannung 0 … 10 V auslesen:
▷ Gib folgenden Befehl ein, um den Eingangswert des ADC zu erhalten:
cat /sys/bus/iio/devices/*/in_voltage0*
▷ Konvertiere den ausgelesenen Rohwert in in_voltage0-voltage1_raw
mit der Formel (($raw * 12500) >> 20) + 12500
, um die Spannung in mV zu erhalten.
Strom 0 … 20 mA auslesen:
✓ Der Strom sollte auf dem Port I IN zur Verfügung stehen.
▷ Dividiere die ausgelesene Spannung (s. o.) durch einen Widerstand von 240 Ohm, um den Strom in mA zu erhalten.
Werte auslesen mit piTest
Du kannst den Strom-/Spannungsmodus für den RevPi Flat in PiCtory mit der Variablen AInMode konfigurieren:
-
AInMode Voltage 0-10V (Standard)
-
AInMode Current 0-20mA
▷ Lese den Strom- oder Spannungswert aus durch Eingabe von
piTest -r AIn
Analoger Ausgang
Am analogen Ausgang kannst du Aktoren wie Frequenzumrichter anschließen. Er kann eine Spannung zwischen 0 und 10 V ausgeben.
Der dafür verwendete Digital-Analog-Konverter (DAC) DAC121S101 hat eine Auflösung von 12 Bit.
Werte eingeben mit Linux sysfs
▷ Gib folgenden Befehl ein, um den Wert in den DAC einzugeben:
echo 2047 | sudo tee /sys/bus/iio/devices/*/out_voltage0_raw
▷ Gib einen Wert zwischen 0 und 4095 in den DAC in out_voltage0_raw
ein, um eine Spannung zwischen 0 und 10 V auszugeben.
Werte eingeben mit piTest
▷ Gib den Analogwert in mV in die Variable AOut ein, z. B. 5000 mV für den Analogausgang:
piTest -w AOut,5000
Weitere Informationen zur Implementierung
Softwareseitig werden der DAC121S101 und MCP3550-50 wie IIO-Module behandelt, deren Schnittstelle in sysf als /sys/bus/iio/devices/
ausgeführt ist.
Nachdem die Konverter erfolgreich registriert sind, erscheint das Kernelprotokoll.
pi@RevPi0000:~ $ dmesg | grep "spi.*consumer
[ 4.461004] mcp320x spi0.1: Linked as a consumer to regulator.1
[ 5.747592] ad5446 spi0.0: Linked as a consumer to regulator.2
Dem Ordner sysfs werden zwei Unterordner für die Konverter als /sys/bus/iio/devices/iio:deviceX
hinzugefügt. Dabei kannst du X zur Unterscheidung der Konverter verwenden. Die Reihenfolge hängt von der Registrierung der Geräte ab und hat daher keine feste Zuordnung. Die Zuordnung wird jedoch ersichtlich, wenn du dir den Inhalt der Ordner anschaust. Der Ordner mit den Dateien out_voltage
ist das Ausgabe- und damit das DAC-Modul. Der Ordner mit den Dateien in_voltage
ist das Eingabe- und damit das ADC-Modul.
Bei der Methode mit piTest behält piControl diese Werte dauerhaft im Prozessabbild, und du kannst die Werte mit piTest lesen und beschreiben.
Siehe auch:
Trusted Platform Module (TPM) #
Der RevPi ist mit einem Trusted Platform Module Infineon OPTIGA™ TPM SLB 9670 ausgestattet. Es erfüllt die Anforderungen von TPM 2.0.
Unter Linux kannst du das Modul mit /dev/tpm0
ansprechen.
Watchdog #
Der RevPi verfügt über zwei unabhängige Watchdogs. Der erste Watchdog ist Teil des BCM2837 SoC, welcher auch auf dem Raspberry Pi 3 eingesetzt wird. Der zweite ist der externe Watchdog-Baustein Maxim MAX6370.
BCM2837
Der Watchdog des BCM2837 ist der bevorzugte Watchdog, da er sich so wie andere Watchdogs unter Linux verhält. Du kannst ihn sowohl über die Gerätedatei /dev/watchdog0
als auch als Standard-Watchdog über die Gerätedatei /dev/watchdog
erreichen.
MAX6370
Der MAX6370 ist über die Gerätedatei /dev/watchdog1
erreichbar.
Um ihn zu aktivieren, muss der GPIO4 einmalig auf High gesetzt werden. Allerdings lässt er sich über diesen GPIO nicht mehr deaktivieren. Für die Aktivierung über die Kommandozeile kannst du das gpiod‑Tool verwenden:
gpioset -m time -u 1000 pinctrl-bcm2835 4=1
gpiod-Paket
Der Befehl gpioset
ist Teil des gpiod‑Pakets. Wenn dies nicht installiert ist, kannst du es selbst installieren mit:
sudo apt install gpiod
Wenn du den GPIO aus deiner Anwendung heraus bedienen willst, ist die libgpiod
richtig für Dich. Diese stellt auch ein Python‑Interface zur Verfügung.
Du benötigst dann folgende Pakete:
-
libgpiod‑dev
-
libgpiod2
-
python3‑libgpiod
Der Timeout des MAX6370 ist fest auf 60 Sekunden eingestellt und kann nicht verändert werden.
Nach Aktivierung kann der Watchdogs MAX6370 nur durch das Trennen der Stromversorgung deaktiviert werden. Ein Neustart deaktiviert den Watchdog nicht. Das bedeutet, dass ein Neustart bei aktivem Watchdog nicht länger als 60 Sekunden benötigen darf, da sonst einen Reset der Hardware durchgeführt wird.
Watchdog unter Linux
Es gibt verschiedene Möglichkeiten, einen Watchdog unter Linux zu verwenden. Das RevPi Image und Raspbian setzen auf systemd
. Dies ist somit auch die präferierte Methode, um den Watchdog zu verwenden. systemd
kann verwendet werden, um einen Hardware‑Watchdog zu triggern. Anwendungen, die durch den Watchdog überwacht werden sollen, werden dann von systemd
überwacht. Dies hat den Vorteil, dass mehrere Anwendungen überwacht werden können. Folglich muss auch nicht zwingend das ganze System neu gestartet werden, sondern nur die einzelne Anwendung.
Siehe auch:
Frei konfigurierbarer Taster #
Der RevPi verfügt über einen frei konfigurierbaren Taster. Der Eingangswert des Tasters kann über GPIO13 ausgewertet und dann für bestimmte Aktionen verwendet werden, z. B. zum kontrollierten Herunterfahren des RevPi.
Im PiCtory Value Editor wird der Eingangswert des Tasters unter Top_Button angezeigt.
Der Taster kann per Software auf die gleiche Art wie eine Tastatureingabe abgefragt werden. Dabei wird der Tastencode KEY_UNKNOWN
verwendet (entspricht Wert 240).