Dies ist eine alte Version des Dokuments!
Konsolidierung von Rechnern und Software
Nachdem ich jetzt über 20 Sensoren und davon 8 'Rechner', zu denen ich auch die ESP01, ESP32, ESP8266 zähle vernetzt habe, kommt es immer mal wieder zu Problemen.
- Ich nehme meinen iMac mit zu meinen Eltern - damit geht die offline Sprache nicht;
- Der Router macht seinen nächtlichen DSL-Neustart - WLAN ist kurz weg und die Corona-Luftqualitäts Messer gehen in den Access-Point Modus.
- Ein ESP hat OTA, der nächste holt sich die aktuelle Software beim Neustart.
- Ein ESP überträgt die Daten per ESPNOW, der nächste per MQTT und der Pi schreibt direkt in die DB.
- Ein ESP ist auf minimalen Energieverbrauch getrimmt, den anderen ist das egal.
- Ein Programm ist in C, andere in NodeJS, wieder andere in PHP oder Python geschrieben.
Das ruft nach Konsolidierung, Fehlertoleranz und Vereinfachung … nur wie?
Software von pi nach pi3 migrieren:
Da auf pi3 schon pi-hole mit lighttp drauf ist, dort einen weiteren Ordner pi3 angelegt. Man muss die /etc/lighttpd/external.conf editieren. Details hier. Daten dann per SCP kopiert.
scp myfile.txt pi@192.168.178.20:project/ (im home-order unter project und von da dann an die richtige Stelle)
Pi-Hole nutzt als Datenbank SQLite3, aber erst mal Verbindung zur alten Datenbank.
sudo nano /etc/php/7.0/cli/php.ini extension=php_mysqli.dll
Das reicht leider nicht. Muss überlegen, ob ich nicht gleich portiere - aber wie sieht es dann mit Zugriff von woanders aus? Nachdem SQLite eher für Single-apps gedacht ist, und keine Benutzerverwaltung hat und eher für 'kleine' Datenbanken ist, bleibe ich dann bei … nein, ich wechsele auf MariaDB.
sudo apt install mariadb-server (oder mysql-server ist dann auch maria) sudo mysql_secure_installation sudo mysql -u root -p phpmyadmin erlaubt keinen root-user, also hier einen normalen anlegen (username,password ersetzen) GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; sudo apt install php-mysql sudo apt install phpmyadmin [lighttpd] Da sich pi-hole und phpmyadmin nicht vertragen: sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Datenbank ist zu groß zum Import. Musste in PHP.ini Zeiten und Werte hochsetzen, Trotzdem Probleme. Konnte nur Tabelle für Tabelle importieren. Da auch das mit einer Tabelle nicht funktionierte, die Date per scp kopieren und dann auf dem Rechner importieren. Da sind inzwischen 4.5 Jahre Daten drin.
mysql -u root -p HomeAutomation < wohnung.sql
PROBLEM: Mein alter Server kann keinen MariaDB Connector installieren ⇒ Alles wieder rückgängig und doch mysql installieren *seufz*
Argh, nimmt das denn gar kein Ende. Man kann wohl kein mysql mehr installieren. Also wieder Maria installiert. dann den python code ändern und 'Import mariadb' rein. Geht nicht. 'pip3 Install mariadb' geht auch nicht wegen „ImportError: cannot Import name 'main'“. Netz sagt
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
Auch danach geht es nicht…
Stand Februar 2021