Wiki source code of - alt - Anpassen eines Raspbian Image an den RPi Bus Controller
Version 84.1 by Christian B. on 2018/10/14 22:10
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | Zum Betrieb des RPi Bus Controllers am Raspberry Pi müssen einige Anpassungen vorgenommen und Tools installiert werden. | ||
2 | |||
3 | = Nach dem ersten Start im Installationsmenü = | ||
4 | |||
5 | expand_rootfs | ||
6 | change_pass – Passwort setzen (besser kein y oder z verwenden) | ||
7 | change_local – de_DE ISO-8859-1 (für korrekte SSH Darstellung) | ||
8 | overclock – medium (muss jeder selber entscheiden) | ||
9 | ssh – enabled | ||
10 | boot_behaviour – No | ||
11 | Finish | ||
12 | |||
13 | |||
14 | ---- | ||
15 | |||
16 | **Hinweis** | ||
17 | Das Installationsmenü kann jederzeit mit //„sudo raspi-config“// neu gestartet werden. | ||
18 | |||
19 | ---- | ||
20 | |||
21 | |||
22 | Jetzt einmal neu starten. | ||
23 | |||
24 | //sudo reboot// | ||
25 | //Login:pi// | ||
26 | //Password:”wie gesetzt”// | ||
27 | |||
28 | = Nützliches = | ||
29 | |||
30 | == Updates == | ||
31 | |||
32 | Um die Raspbian Distribution immer auf dem neusten Stand zu halten, solltet ihr von Zeit zu Zeit //„sudo apt-get update“//, und danach //„sudo// apt-get dist-upgrade“ aufrufen. Dadurch wird die Distribution auf den aktuellen Stand gebracht. Je nachdem wieviel zu installieren ist kann das eine Weile dauern. | ||
33 | |||
34 | == Midnight Commander == | ||
35 | |||
36 | Wenn ihr mit ein bisschen Komfort auf dem Raspberry Pi arbeiten wollt, empfehle ich die Installation des Midnight Commander. | ||
37 | Dafür einfach //„sudo apt-get -y install mc”// aufrufen. | ||
38 | Danach kann der Midnight Commander mit //„sudo mc“// mit Administratorrechten gestartet werden. | ||
39 | Ich bevorzuge die Verwendung des internen Editors, dafür muss unter Config “Use internal edit“ selektiert werden. | ||
40 | |||
41 | === Deutsches Tastaturlayout === | ||
42 | |||
43 | Um das Tastaturlayout auf Deutsch umzustellen, muss in der Datei „/etc/default/keyboard“ XKBLAYOUT=”de” gesetzt werden. | ||
44 | |||
45 | === Deutsche Zeitzone === | ||
46 | |||
47 | Um die Zeitzone auf "Berlin" zu stellen, den folgenden Befehl ausführen und Europa -> Berlin auswählen: | ||
48 | |||
49 | //sudo dpkg-reconfigure tzdata// | ||
50 | |||
51 | Dies ist wichtig, damit die berechneten Zeiten für den Sonnenaufgang/-untergang stimmen. | ||
52 | |||
53 | = Notwendige Packete für KNXWEB2 = | ||
54 | |||
55 | KNXWEB2 ist ein PHP Programm. Das RPi muss zur Ausführung einen WebServer und PHP installiert haben. Dafür sollten folgende Packete nach Anleitung installiert werden. | ||
56 | |||
57 | [[Apache 2 Installation>>url:http://www.forum-raspberrypi.de/Thread-tutorial-raspberry-pi-als-webserver-apache-2-installation||rel="__blank"]] | ||
58 | |||
59 | [[PHP Installation>>url:http://www.forum-raspberrypi.de/Thread-tutorial-raspberry-pi-als-webserver-php-5-installation||rel="__blank"]] | ||
60 | |||
61 | Optional kann auch der MySQL-Server installiert werden. Damit ist es möglich Objekte (z.B. Temperatur) in einer Datenbank zu loggen. Dies hat sich als performanter und fehlertoleranter herausgestellt. | ||
62 | |||
63 | [[MySQL Installation>>url:http://www.forum-raspberrypi.de/Thread-tutorial-raspberry-pi-als-webserver-mysql-installation||rel="__blank"]] | ||
64 | |||
65 | = IP Adresse ermitteln und festlegen = | ||
66 | |||
67 | Durch den Aufruf von „ifconfig“ kann die aktuelle IP Adresse ermittelt werden. Jetzt im Router (z.B. FritzBox) wenn möglich angeben, dass dem RPi immer diese IP zugewiesen wird. Alternativ kann auch eine statische IP im Raspberry konfiguriert werden. Dafür muss der Inhalt von "/etc/network/interfaces" wie folgt geändert werden. | ||
68 | |||
69 | //auto lo// | ||
70 | //iface lo inet loopback// | ||
71 | \\//auto eth0// | ||
72 | //iface eth0 inet static// | ||
73 | //address 192.168.2.50// | ||
74 | //netmask 255.255.255.0// | ||
75 | //network 192.168.2.0// | ||
76 | //broadcast 192.168.2.255// | ||
77 | //gateway 192.168.2.1// | ||
78 | |||
79 | |||
80 | Jetzt den Raspberry Pi einmal herunterfahren. | ||
81 | |||
82 | //sudo shutdown now// | ||
83 | |||
84 | = Arbeiten per SSH = | ||
85 | |||
86 | Ab jetzt kann weiter per SSH gearbeitet werden. Dafür muss das Raspberry Pi nur mit LAN und Spannung versorgt werden. | ||
87 | Dafür könnt ihr zum Beispiel [[Putty>>url:http://www.chiark.greenend.org.uk/~~sgtatham/putty/download.html||rel="__blank"]] verwenden. | ||
88 | |||
89 | = UART Schnittstelle von Consolenausgaben befreien = | ||
90 | |||
91 | Leider hat der Raspberry Pi nur eine UART Schnittstelle. Diese wird standardmäßig für eine Login-Konsole genutzt. Wir wollen über diese UART aber mit dem RPi-Bus Controller kommunizieren. Da stören die Konsolenausgaben und deshalb muss die Konsole deaktiviert werden. | ||
92 | |||
93 | Dazu muss folgende Zeile in der //"/etc/inittab"// auskommentiert werden. (# davor setzen) | ||
94 | |||
95 | //#T0:23:respawn:/sbin/getty -L ttyAMA0 19200 vt100// | ||
96 | |||
97 | Das geht per Editor oder mit folgendem Aufruf. | ||
98 | //sed '/getty.*ttyAMA0/s/^[^#]/#/' </etc/inittab >/tmp/x && mv /tmp/x /etc/inittab// | ||
99 | |||
100 | alternativ: | ||
101 | |||
102 | sed '/getty.*ttyAMA0/s/^[^#]/#/' -i /etc/inittab ; init q | ||
103 | |||
104 | |||
105 | Zudem muss in der Datei //„/boot/cmdline.txt“// der unterstrichene Bereich entfernt werden. | ||
106 | dwc_otg.lpm_enable=0 __console=ttyAMA0,115200 kgdboc=ttyAMA0,115200__ console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait | ||
107 | |||
108 | ==== UART Schnittstelle befreien bei Raspberry Pi 3 ==== | ||
109 | |||
110 | Beim Raspberry Pi 3 ist die UART vom Bluetooth belegt. Um das zu ändern muss man Bluetooth in der /boot/config.txt deaktivieren: | ||
111 | |||
112 | //dtoverlay=pi3-disable-bt | ||
113 | enable_uart=1// | ||
114 | |||
115 | = Installation von EIB, LINKNX und KNXWEB2 = | ||
116 | |||
117 | Für die Installation von EIB, LINKNX und KNXWEB2 kann ein Script ausgeführt werden. Dafür die folgenden Kommandos ausführen. | ||
118 | |||
119 | //sudo -s// | ||
120 | //cd /tmp// | ||
121 | //wget -N https:~/~/github.com/selfbus/linux-bus-tools/raw/master/raspberry/Scripts/selfbus_eib.sh// | ||
122 | //sh selfbus_eib.sh// | ||
123 | |||
124 | Jetzt kann der RPi Bus Controller auf das Raspbian Pi gesteckt werden. Nach einem Neustart "sudo reboot" kann die korrekte Installation getestet werden. | ||
125 | |||
126 | == Nützliche Kommandos == | ||
127 | |||
128 | |=Kommando|=Syntax | ||
129 | |eibd Start|//service eibd start// | ||
130 | |eibd Stop|//service eibd stop// | ||
131 | |eibd Status|//service eibd status// | ||
132 | |eibd Log output|//tail -f /var/log/eibd.log// | ||
133 | |linknx Start|//service linknx start// | ||
134 | |linknx Stop|//service linknx stop// | ||
135 | |linknx Status|//service linknx status// | ||
136 | |linknx Log output|tail -f /var/lib/linknx/logging.conf | ||
137 | |||
138 | = Zugriff per ETS = | ||
139 | |||
140 | Nach der Installation läuft der eibd auf dem Raspberry Pi und ihr könnt, aus der ETS mit Hilfe des RPi direkt auf den Bus zugreifen. | ||
141 | In der ETS ist KNXnet/IP oder wenn ihr eine ältere Version habt EIBnet/IP als Typ einzustellen. | ||
142 | |||
143 | |||
144 | ---- | ||
145 | |||
146 | **Hinweis** | ||
147 | |||
148 | Der Type EIBlib/IP ist falsch und geht nicht. Notfalls müsst ihr eine neuere Version der ETS installieren. | ||
149 | |||
150 | ---- | ||
151 | |||
152 | = Zugriff per Browser = | ||
153 | |||
154 | Über die Adresse //"http:~/~/<RPI_IP>/knxweb2/check_install.php"// können die Grundeinstellungen vorgenommen werden. | ||
155 | |||
156 | Unter //"http:~/~/<RPI_IP>/knxweb2/setup.php"// kann eine Visualisierung erstellt werde. Ein guter Einstieg ist in diesem [[Video>>url:http://www.youtube.com/watch?v=bHShtd7zKyU||rel="__blank"]] auf Französisch zu sehen. | ||
157 | |||
158 | Mit //"http:~/~/<RPI_IP>///knxweb2/design_view.php" kann die Visualisierung aufgerufen werden. | ||
159 | |||
160 | = Zugriff per Kommandozeile = | ||
161 | |||
162 | Auf der Kommandozeile kann mittels des Befehls //"groupswrite" //auf den Bus zugegriffen werden. Dies ist insbesondere zum ersten testen der Verbindung hilfreich. | ||
163 | |||
164 | Hierzu den Befehl | ||
165 | |||
166 | //groupswrite ip:127.0.0.1 x/x/x y// | ||
167 | |||
168 | aufrufen. x/x/x gegen eine Adresse auf eurem Bus ändern, für y 1(an) oder 0(aus) wählen. | ||
169 | |||
170 | Beispiel~:// groupswrite ip:127.0.0.1 1/1/1 1// schaltet das Objekt 1/1/1 auf an |