RPi Model B+ V1.2 Raspian-Buster =========================================== Installationen-Betriebssystem laut Doku (Seite 50) Aktualisierung des Betriebssystem mit: $ sudo apt-get update Den letzten Ausgabestand aktivieren: $ sudo apt-get upgrade Python3 installieren: Python v3.7.3-1 war bereits installiert Seriellen Treiber für Python3 laden: $ sudo apt-get install python3-serial python3-serial (3.4-4)installiert setuptools und GPIO Treiber für Python3 laden: $ sudo apt-get install python3-setuptools $ sudo apt-get install RPI.GPIO TK (GUI) Treiber für Python3 laden: $ sudo apt-get install python3-tk Perl objekt-orientiertes RRDTool Interface installieren: $ sudo apt-get install librrdtool-oo-perl $ sudo apt-get autoremove RRDTool Datenbank installieren: $ sudo apt-get install rrdtool User in Gruppe aufnehmen: Damit der User pi auch auf die Schnittstelle zugreifen darf, muss er zusätzlich in die Gruppe "dialout" aufgenommen werden. $ sudo adduser pi dialout Rückmeldung: "The user `pi' is already a member of `dialout'." =========================================== Installationen-Betriebssystem laut Doku (Seite 51) Deaktivieren der default eingeschalteten TTY-Systemausgaben (RaspberryPI) für Raspian-Buster: $ sudo raspi-config .)5 Interfacing Options .)P6 Serial Enable/Disable shell and kernel messages on the serial connection .)Serial Login shell = DISABLED .)Serial interface (serial port hardware) = ENABLED .)reboot Erst nachdem diese Einstellungen gesetzt wurden, wird die cmdline.txt befüllt! Ergebnis: $ sudo nano /boot/cmdline.txt console=tty1 root=PARTUUID=6c586e13-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ("console=serial0,115200" wurde durch "Serial Login shell = DISABLED" entfernt) Anpassen der /etc/inittab (RaspberryPi) für Raspian-Buster: Da unter Raspian-Buster keine /etc/inittab mehr vorhanden ist erfolgt die Deaktivierung des Serial-Login Terminals über systemctl. $ sudo systemctl stop serial-getty@ttyAMA0.service $ sudo systemctl disable serial-getty@ttyAMA0.service Statusabfrage: $ sudo systemctl status serial-getty@ttyAMA0.service Ergebnis: serial-getty@ttyAMA0.service - Serial Getty on ttyAMA0 Loaded: loaded (/lib/systemd/system/serial-getty@.service; disabled; vendor p Active: inactive (dead) Docs: man:agetty(8) man:systemd-getty-generator(8) http://0pointer.de/blog/projects/serial-console.html Deaktivieren des default eingeschalteten Bluetooth-IF (nur RaspberryPI B3): In diesem Fall wird RPi2 verwendet, der kein integriertes BT hat $ Reboot sudo reboot ================================ 3.2 Applikationen (Seite 53) Einrichten eines Datenbank-Verzeichnisses: Dieses soll in dem Default-Verzeichnis ./HT3/sw/var/databases angelegt werden. Daher keine Änderung vorgenommen! Die aktuelle Software mit Dokumentation von github.com holen (als user 'pi'): $ sudo apt-get install git $ git clone https://github.com/norberts1/hometop_HT3.git Folder: HT3 zu ~/. verschieben: $ mv ~/hometop_HT3/HT3 ~/. Anpassen der Konfiguration an neues Datenbank-Verzeichnis (als user: pi): Dieses soll in dem Default-Verzeichnis ./HT3/sw/var/databases angelegt werden. Daher keine Änderung vorgenommen! Erzeugen der Datenbanken (als user: pi): $ cd ./HT3/sw $ ./create_databases.py Unter /home/pi/HT3/sw/etc/config/HT3_db_cfg.xml (Zeile 134) HT3_db.sqlite - DB-Erstellung auf "Enable=ON" gestellt (Zeile 140) SQL-Datenlöschroutine Autoerase=30 Tage Create: sqlite -database sqlite-database:'./var/databases/HT3_db.sqlite' created and access possible rrdtool-databases:'./var/databases/HT3_db_rrd' created and access possible Aktivieren des Startscripts 'ht_collgate' (als root für user:pi): Datei kopieren: # sudo cp ./HT3/sw/etc/sysconfig/ht_collgate /etc/init.d Ergebnis: "ht_collgate" wurd erfolgreich im Verzeichnis "/etc/init.d" abgelegt Script "ht_collgate" aktivieren: Da "insserv" unter Raspian-Buster nicht mehr funktioniert wird folgendes Prozedere verwendet, um das Script beim Starten auszuführen: $ sudo chmod +x /etc/init.d/ht_collgate ( Script die Rechte zum Ausführen zuweisen.) $ sudo systemctl enable ht_collgate (alternativ: sudo update-rc.d ht_collgate defaults) $ sudo reboot Prüfen ob der Dienst "ht_collgate" gestartet wurde, bzw. im Hintergrund läuft: # systemctl status ht_collgate STATUSMELDUNG: ht_collgate.service - LSB: initscript for daemon: 'ht_collgate' connecting Loaded: loaded (/etc/init.d/ht_collgate; generated) Active: active (exited) since Sat 2019-12-28 15:32:17 CET; 34s ago Docs: man:systemd-sysv-generator(8) Process: 368 ExecStart=/etc/init.d/ht_collgate start (code=exited, status=0/SU Ergebnis: Nach dem Reboot wurde ht_collgate automatisch gestartet und ist aktiv! Aktivieren des Startscripts 'httpd' (als root für user:pi): Datei kopieren: # sudo cp ./HT3/sw/etc/sysconfig/httpd /etc/init.d Ergebnis: "httpd" wurd erfolgreich im Verzeichnis "/etc/init.d" abgelegt Script "httpd" aktivieren: Da "insserv" unter Raspian-Buster nicht mehr funktioniert wird folgendes Prozedere verwendet, um das Script beim Starten auszuführen: $ sudo chmod +x /etc/init.d/httpd ( Script die Rechte zum Ausführen zuweisen.) $ sudo systemctl enable httpd (alternativ: sudo update-rc.d httpd defaults) $ sudo reboot Prüfen ob der Dienst "httpd" gestartet wurde, bzw. im Hintergrund läuft: # systemctl status httpd STATUSMELDUNG: httpd.service - LSB: http-daemon (microversion written in python Loaded: loaded (/etc/init.d/httpd; generated) Active: active (running) since Sat 2019-12-28 16:17:11 CET; 1min 42s ago Docs: man:systemd-sysv-generator(8) Process: 229 ExecStart=/etc/init.d/httpd start (code=exited, status=0/SUCCESS) Memory: 12.4M CGroup: /system.slice/httpd.service 307 /usr/bin/python3 /home/pi/HT3/sw/etc/html/httpd.py Anpassen der Applikationen an die Schnittstelle (Beispiel: ASYNC): Unter: /home/pi/HT3/sw/etc/config/HT3_db_cfg.xml folgende Zeilen angepasst: Zeile 165: ASYNC Zeile 172: /dev/ttyAMA0 Zeile 174: 9600 Neustart des Rechners (als root): # reboot Prüfung UART aktiviert: # sudo nano /boot/config.txt enable_uart=1 Ergebnis: UART war bereits aktiviert