LightPi
Allgemein
Der LightPi ist ein Mess- und Steuersystem, mit welchem insgesamt 16 230V Ausgänge und 8 digitale Sensoren verwaltet werden können. Wird ein Ausgang geschaltet, so liegt am entsprechenden Kontakt eine Spannung von 230V an, mit der Verbraucher versorgt werden können. Die Gesamtlast pro LightPi sollte 10A nicht überschreiten, also insgesamt 2300 Watt. Um die Ausgänge nutzbar zu machen, hat der LightPi auf der Rückseite 8 Steckerbuchsen vom Typ TT1120-S04, wobei jeweils Pin1+2 den ersten Ausgang mit Masse und 230V~ liefern und Pin3+4 den zweiten Ausgang. Daraus ergibt sich folgende Nummerierung der Ausgänge in Verbindung mit den Steckerbuchsen:
Endgeräte
An den LightPi können verschiedenste Endgeräte über die Sensor und Aktorports angeschlossen werden. Ein Endgerät kann wahlweise ein oder zwei Kanäle auf dem Port belegen. Wird nur ein Kanal belegt. kann mit dem entsprechenden Y-Adapter ein weiteres Endgerät an den Port angeschlossen werden. Außerdem ist es möglich, mehrere Endgeräte parallel an einen Port oder auch an einen Kanal anzuschließen. Auch für diesen Zweck gibt es einen entsprechenden Y-Adapter. So ist es möglich, z.B. mehrere Leuchten über einen Ausgang anzusteuern. An dieser Stelle sei jedoch angemerkt, das das Konzept des LightPi jedoch grundsätzlich vorsieht, das jedes Gerät einzeln angesteuert werden kann, aus Kostengründen kann es jedoch manchmal notwendig sein, mehrere Geräte zusammen zu fassen.
Folgende Endgeräte sind aktuell verfügbar:
Typ | Bezeichnung |
---|---|
Sensor | Taster |
Sensor | Doppeltaster |
Sensor | Bewegungsmelder |
Aktor | LED Lichtleiste |
Aktor | Alarmsirene |
physisches Mapping GPIOs
Am Raspberry Pi ist eine 40 polige Steckerleiste vorhanden, welche folgendermaßen im LightPi verkabelt wird:
LightPi | Name | Pin | Name | LightPi | |
---|---|---|---|---|---|
3.3v | 1 | 2 | 5v | ||
Relais 2 | SDA.1 | 3 | 4 | 5v | Relais 5v |
Relais 4 | SCL.1 | 5 | 6 | 0v | Relais 0v |
Relais 6 | GPIO. 7 | 7 | 8 | TxD | Relais 1 |
0v | 9 | 10 | RxD | Relais 3 | |
Relais 8 | GPIO. 0 | 11 | 12 | GPIO. 1 | Relais 5 |
Relais 10 | GPIO. 2 | 13 | 14 | 0v | |
Relais 12 | GPIO. 3 | 15 | 16 | GPIO. 4 | Relais 7 |
3.3v | 17 | 18 | GPIO. 5 | Relais 9 | |
Relais 14 | MOSI | 19 | 20 | 0v | |
Relais 16 | MISO | 21 | 22 | GPIO. 6 | Relais 11 |
Sensor 6 | SCLK | 23 | 24 | CE0 | Relais 13 |
0v | 25 | 26 | CE1 | Relais 15 | |
Sensor 7 | SDA.0 | 27 | 28 | SCL.0 | Sensor 1 |
Sensor 8 | GPIO.21 | 29 | 30 | 0v | |
Sensor 9 | GPIO.22 | 31 | 32 | GPIO.26 | Sensor 2 |
Sensor 10 | GPIO.23 | 33 | 34 | 0v | |
Sensor 11 | GPIO.24 | 35 | 36 | GPIO.27 | Sensor 3 |
Sensor 12 | GPIO.25 | 37 | 38 | GPIO.28 | Sensor 4 |
0v | 39 | 40 | GPIO.29 | Sensor 5 |
logisches Mapping GPIOs
Der Raspberry Pi bietet 26 GPIOs, wovon im LightPi 16 als Ausgänge (A1 bis A16) und 12 als Eingänge (S1 bis S16) benutzt werden. Intern werden die Ausgänge und Eingänge von der Software über die WiringPi Nummerierung angesprochen. Daraus ergibt sich folgendes Mapping:
Ausgänge | Eingänge | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Mapping Relais auf Ports
Der LightPi besitzt auf der Rückseite 8 Ports für die Ausgänge, wobei jeweils 2 Ausgänge auf einem Port liegen. Um den Verkabelungsaufwand zu verringern, sind die Relais nicht 1:1 den Ausgängen zuzuordnen. Jeder Port hat 4 Pins, wobei Pin 1 und 2 jeweils den ersten Ausgang bilden und Pin 3 und 4 den zweiten. Diese physische Verbindung wird als Kanal bezeichnet. Der erste Ausgang ist damit Kanal 1 und der zweite Kanal 2. Der Port wird mit "P" abgekürzt, der Kanal mit "K", so ergibt sich z.B. für den 2. Kanal auf Port 3 die Bezeichnung P3K2.
Port | Kanal | Pin | Ausgang | Relaisboard |
---|---|---|---|---|
P1 | K1 | A01 | JD1 | |
P1 | K2 | A02 | JD2 | |
P2 | K1 | A03 | JD3 | |
P2 | K2 | A04 | JD4 | |
P3 | K1 | A05 | JD5 | |
P3 | K2 | A06 | JD6 | |
P4 | K1 | A07 | JD7 | |
P4 | K2 | A08 | JD8 | |
P5 | K1 | A09 | JD16 | |
P5 | K2 | A10 | JD15 | |
P6 | K1 | A11 | JD14 | |
P6 | K2 | A12 | JD13 | |
P7 | K1 | A13 | JD12 | |
P7 | K2 | A14 | JD11 | |
P8 | K1 | A15 | JD10 | |
P8 | K2 | A16 | JD9 |
Montage
Stromversorgung Raspberry Pi
Das Sainsmart 16x Relais Modul wird vom Netzteil mit 12V versorgt und erzeugt daraus 5V, welche für die Stromversorgung des Raspberry Pi verwendet werden. Dafür wird ein doppeltes GIPO Kabel mit den Farben schwarz und weiß verwendet. Auf dem Relaismodul wird das weiße Kabel auf den Pin mit +5V gesteckt (ganz links) und das schwarze Kabel auf den Pin mit GND (ganz rechts). Auf dem Raspberry Pi wird das weiße Kabel auf Pin4 gesteckt und das schwarze Kabel auf Pin6.
Verkabelung GPIOs
Verkabelung mit Relaisboard
Um die GPIOs mit dem Relaisboard zu verbinden, werden zwei 8 adrige GPIO Kabel benötigt mit den Farben grau, violett, blau, grün, gelb, orange, rot, braun. Diese werden auf das Relaisboard so gesteckt, daß jeweils das graue Kabel neben dem +5V Pin steckt und das braune dann entsprechend neben dem GND Pin.
Auf der Raspberry Pi Seite werden die ersten 8 Adern, die näher am Platinenrand auf dem Relaismodul sind, auf die rechte Seite der Raspberry Pi Pins gesteckt, so dass folgende Pins belegt sind:
Pin Nr. | Farbe |
---|---|
8 | grau |
10 | violett |
12 | blau |
16 | grün |
18 | gelb |
22 | orange |
24 | rot |
26 | braun |
Die anderen 8 Kabel werden auf der linken Seite der Raspberry Pi Pins gesteckt:
Pin Nr. | Farbe |
---|---|
3 | grau |
5 | violett |
7 | blau |
11 | grün |
13 | gelb |
15 | orange |
19 | rot |
21 | braun |
Verkabelung mit Sensoreingängen
Die Sensoreingänge werden mit folgenden Pins auf dem Raspberry Pi verknüpft:
Sensor Nr. | Port | Pin Nr. |
---|---|---|
1 | S1 Pin3 | 28 |
2 | S1 Pin4 | 32 |
3 | S2 Pin3 | 36 |
4 | S2 Pin4 | 38 |
5 | S3 Pin3 | 40 |
6 | S3 Pin4 | 23 |
7 | S4 Pin3 | 27 |
8 | S4 Pin4 | 29 |
9 | S5 Pin3 | 31 |
10 | S5 Pin4 | 33 |
11 | S6 Pin3 | 35 |
12 | S6 Pin4 | 37 |
Betriebssystem
Erstellen des Grundimages
Grundimage, welches verwendet wird ist aktuell "RASPBIAN STRETCH LITE" von 2017-09-07 Downloaden nach /var/nfs/iso-images, wenn dort nicht vorhanden unzip 2017-09-07-raspbian-stretch-lite.zip
Image auf eine SD Karte kopieren
dd if=/var/nfs/iso-images/2017-09-07-raspbian-stretch-lite.img of=/dev/sdb bs=1M
Nach dem Kopieren Laufwerk auswerfen, Cardreader abziehen und neu einstecken in USB Anschluss
Die Partitionen von dem Image auf dem lokalen PC mounten. Passiert bei Ubuntu automatisch.
Die Datei cmdline.txt im Hauptpfad auf der Bootpartition editieren und dort den Eintrag init=/usr/lib/raspi-config/init_resize.sh und console=serial0,115200 entfernen.
Dies sorgt dafür das die Root-Partition beim booten auf dem Raspberry Pi nicht auf die maximale Größe der SD-Karte erweitert wird, sondern klein bleibt.
Die Datei config.txt im Hauptpfad auf der Bootpartition editieren und eine Zeile am Ende hinzufügen
enable_uart=0
Das sorgt dafür, das die serielle Konsole deaktiviert wird und die beiden GPIOs für den LightPi genutzt werden können
Die Datei /etc/default/keyboard auf der Root-Partition editieren:
XKBLAYOUT="de"
Stellt das Keyboard auf de um
Nun die SD Karte in einen Raspberry Pi stecken und diesen mit Bildschirm und Tastatur und Netzwerk booten.
Einloggen mit
User: pi und Passwort: raspberry
Passwort ändern mit passwd
Root Passwort ändern sudo passwd
SSH Dienst aktivieren
sudo systemctl enable ssh.service
Datei /etc/ssh/sshd_config editieren und die Zeile anpassen
PermitRootLogin yes
Danach den SSH Dienst starten
sudo systemctl start ssh