Dies ist eine alte Version des Dokuments!
pi-setup 2021 buster
Nachdem ich Probleme mit Versionsunterschieden diversester Software und den beiden Raspberry Pis habe, versuche ich den 'alten' mal neu aufzusetzen. Als Grundlage nehme ich den 'Fast-Setup'.
Die wichtigsten Sachen, die laufen müssen: pilight und mein lcd
Grundinstallation:
- Mit Raspberry Pi Imager das neueste Image vom Januar 2021 eingespielt
- Eine leere ssh-Datei auf dem Boot-Volume angelegt
- An cmdline.txt angehängt: ip=192.168.178.23::192.168.178.1:255.255.255.0::eth0:off
- Pi3: entsprechend: 192.168.178.20
- Anmelden mit pi/raspberry;
- raspi-config (I2C, camera, Localisation, Festplatte erweitern, password)
- Pi3: Audio über USB;
- apt-get update; apt-get upgrade; Welche Version habe ich jetzt: cat /etc/os-release (buster)
- Pi3: Probleme mit DNS, Lösung steht hier
- sudo apt-get install mlocate; sudo updatedb
Pi-Light:
- pi-light installieren; pilight-daemon -V (v8.1.5)
Apache, PHP, MariaDB, Python, phpmyadmin:
- python –version: 2.7.16; python3 –version v8.1.5
- sudo apt-get install apache2
- sudo apt-get install mariadb-server mariadb-client; mysql_secure_installation
- sudo apt-get install php; systemctl restart apache2 (php 7.3.27; apache 2.4.38)
- sudo apt-get install phpmyadmin; (apache2)
- mysql -u root; CREATE USER ihr_username@localhost IDENTIFIED BY 'ihr_eigenes_passwort';
- GRANT ALL PRIVILEGES ON *.* TO ihr_username@localhost WITH GRANT OPTION;
- sudo apt-get -y install python-mysql.connector python3-mysql.connector python-mysqldb python3-mysqldb
- shebang für python3 funktionierte nicht. Besser umstellen auf: #!/usr/bin/env python3
Daten in Datenbank importieren:
- scp /Users/varnholt/Downloads/HomeAu.sql.zip pi@192.168.178.23:
- unzip HomeAutomation.sql.zip
- mysql -u pi -p < HomeAutomation.sql
- Probleme mit Umlauten beheben…
IOWarrior (USB-LCD Ansteuerung)
- wget https://www.lallafa.de/bp/files/iowlcd-1.3.tgz; tar -xvzf iowlcd-1.3.tgz;
- sudo apt-get install libusb-dev; sudo apt-get install swig; make
- IO-Warrior_SDK / libiowkit-1.7.0 installieren
- sudo apt-get install raspberrypi-kernel-headers (falls nötig)
Für MQTT
- sudo apt-get install mosquitto mosquitto-clients
Für Bluetooth
- sudo apt-get install bluetooth libbluetooth-dev
- sudo python3 -m pip install pybluez
- sudo python3 -m pip install pygatt
- sudo python3 -m pip install bluepy (blescan, sensortag, thingy52 in '/home/pi/.local/bin' nicht im PATH.)
- sudo python3 -m pip install paho-mqtt
- sudo python3 -m pip install miflora
Für „Xiaomi passive BLE monitor integration.“ was aber nicht funktioniert:
- sudo python3 -m pip install aioblescan (installed in '/home/pi/.local/bin' nicht im PATH.)
- sudo python3 -m pip install pycryptodomex (mit pycryptodome ging es nicht)
- sudo python3 -m pip install voluptuous
- sudo python3 -m pip install homeassistant (da kommt zu viel rein, man braucht nur
Für 'lock_server' um die autom. Helligkeitsanpassung im Zimmer zu stoppen
- sudo apt-get install nodejs
Für mein „ha“ aka test C-Programm
- sudo apt-get install libcurl4-gnutls-dev
- sudo apt-get install libmariadb-dev-compat
Für I2C (da ich andere pins benutze), Eintrag in /boot/config.txt
- dtoverlay=i2c-gpio,bus=3,i2c_gpio_delay_us=4,i2c_gpio_sda=8,i2c_gpio_scl=27
- sudo python3 -m pip install smbus2
- sudo python3 -m pip install rpi.bme280
In PHP nutze ich vcdiv:
- sudo apt install php7.3-bcmath
Für ssh:
- ssh-keygen; cat ~/.ssh/id_rsa.pub | ssh pi@192.168.178.20 'cat » .ssh/authorized_keys'
- auch für root machen
In der Datenbank:
- bei phpmysql kommt Fehlermeldung „count(): Parameter must be an array or an object that implements Countable“: sudo sed -i „s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g“ /usr/share/phpmyadmin/libraries/sql.lib.php
- Tabelle Wohnung: feuchteOut und tempOut mit 0.00 vorbelegen
- Zugriff von aussen: /etc/mysql/mariadb.conf.d/50-server.cnf; bind-address = 0.0.0.0
Webserver:
- alle Dateien unter /var/www/html/ wieder einspielen
Weiteres:
- sudo apt-get install mpg321
System:
- .bashrc, .bash_aliases, .nano_backups, .profile, .nanorc
- crontab, services
Todo:
- opencv in camera
- Pfade anpassen
Aktuell habe ich pilight mit der letzten Version. Sollte es wieder Probleme geben, müsste ich auf die letzte bei mir funktionierende Version zurück setzen. Das geht mit sudo apt-mark hold pilight. Mehr Informationen im eigenen PiLight-Bereich
Inzwischen alles auf python3 umgestellt; Ordnerstruktur aufgeräumt und daher in fast jedem Programm Pfade anpassen müssen; Pilight nur noch Lokal laufen, und damit jeden pilight Aufruf um Server und Port erweitert. Bei der Umstellung auf Python3 muss man bei pah-mqtt aufpassen. Die Payload wird jetzt als ByteString geliefert. Das sieht man bei einem print an (b'text'). Damit wieder ein String daraus wird, habe ich einfach als erste Zeile jeweils msg.payload = msg.payload.decode(„utf-8“) eingebaut.
Snips manual setup:
- sudo apt-get install nodejs (node –version v10.24.0)
- sudo apt-get install npm (npm –version v10.24.0)
- sudo apt-get install -y dirmngr
- sudo bash -c 'echo „deb https://raspbian.snips.ai/$(lsb_release -cs) stable main“ > /etc/apt/sources.list.d/snips.list'
- sudo apt-key adv –fetch-keys https://raspbian.snips.ai/531DD1A7B702B14D.pub
- sudo apt-get update
- Jetzt kommt bei Buster ein Fehler, und man muss mit dieser Anleitung weiter machen
- sudo bash -c 'echo „deb https://raspbian.snips.ai/stretch stable main“ > /etc/apt/sources.list.d/snips.list'
- sudo apt-get update (sollte jetzt gehen)
- sudo apt install libgfortran3
- sudo apt install libatlas3-base=3.10.3-8+rpi1
- sudo apt install snips-asr (Wenn: E: Paket snips-asr kann nicht gefunden werden. sudo apt-get update)
- libtts brauch man nicht so kompliziert installieren, es geht auch mit
- sudo apt-get install libttspico0 libttspico-utils
- Jetzt geht es in der normalen Installationsanleitung weiter
- sudo apt-get install -y snips-platform-voice
- sudo apt-get install -y snips-template snips-skill-server
- aplay -l und arecord -l um devices raus zu bekommen
- sudo nano /etc/asound.conf erzeugen und 'richtig' füllen (bei dem alten steht 1:0 und 2:0 drin)
- alsamixer stellt die Lautstärke ein
- sudo apt-get install snips-watch
- sudo tail -f /var/log/syslog (gibt leider noch eine Menge Fehler die zu beheben sind)
- den Ordner /var/lib/snips/skills/ komplett, und vom Ordner /usr/share/snips/ nur den Assistant-Ordner vom alten Laufwerk rüber kopiert
- HEUREKA: Alle Services grün!
- snips-watch -vvv (Überwachung) zeigt, dass er mich hört, nur noch nichts ausführen kann. Und Ton geht auch!
- libatlas3-base wird ab jetzt bei updates zurückgehalten (!)
dpkg -l snips-* Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten | Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/ Halb installiert/Trigger erWartet/Trigger anhängig |/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht) ||/ Name Version Architektur Beschreibung +++-=====================-============-============-=========================================================== ii snips-asr 0.64.0 armhf Snips Automatic Speech Recognition un snips-asr-injection <keine> <keine> (keine Beschreibung vorhanden) un snips-asr-service <keine> <keine> (keine Beschreibung vorhanden) ii snips-audio-server 0.64.0 armhf Snips Audio Server command line interface ii snips-dialogue 0.64.0 armhf Snips Dialogue Manager command line interface ii snips-hotword 0.64.0 armhf Snips Hotword command line interface ii snips-injection 0.64.0 armhf A CLI tool to manage words injection into Snips ASR models un snips-kaldi <keine> <keine> (keine Beschreibung vorhanden) ii snips-kaldi-atlas 0.26.1 armhf Snips/Kaldi C/C++ wrapper ii snips-nlu 0.64.0 armhf Snips Natural Language Understanding command line interface ii snips-platform-common 0.64.0 armhf Base package for configuration ii snips-platform-voice 0.64.0 armhf Metapackage for snips-platform voice assistant un snips-queries <keine> <keine> (keine Beschreibung vorhanden) ii snips-skill-server 0.64.0 armhf Snips skill server command line interface ii snips-template 0.64.0 armhf A CLI tool to work with templates for Snips actions ii snips-tts 0.64.0 armhf Snips TTS ii snips-watch 0.64.0 armhf CLI tool to monitor what the snips platform is doing
Backup am 20210603PiNeuBackup
Nach einem Restart stimmt in den Logfiles die Uhrzeit nicht. Das liegt daran, dass intern die Uhrzeit regelmäßig gespeichert wird, aber als UTC Zeit. Beim Neustart wird dann das hergenommen, bis ein NTP-Server befragt werden konnte. Lösung: Nicht die UTC-Zeit, sondern die 'richtige' speichern.
sudo nano /sbin/fake-hwclock #date -u '+%Y-%m-%d %H:%M:%S' > $FILE date '+%Y-%m-%d %H:%M:%S' > $FILE
Testen mit:
sudo fake-hwclock cat fake-hwclock.data
Stand November 2022