Mein Hausautomationssystem. Erstellen eines Betriebssystemabbilds

Einführung

Installieren des Systems auf einem Raspberry Pi 2.3

Ich werde meiner Meinung nach den einfachsten Weg für Anfänger beschreiben.

Alle Aktionen werden in Ubuntu 18.04 ausgeführt.

Verwenden Sie für Hilfe zu den Befehlen den Befehl "man" + den gewünschten Befehl.

man ls 

Oder den notwendigen Befehl mit der Taste --help

 ls --help 


1. Installieren des Raspbian Stretch Lite-Betriebssystems auf einer microSD-Karte.

Die MicroSD-Karte sollte Klasse 10 und eine Kapazität von 8 Gigabyte haben.
Legen Sie die SD-Karte in den Computer ein und geben Sie den folgenden Befehl ein:

 lsblk 



Im Beispiel ist die Karte als mmcblk0 definiert, dann werde ich diesen Namen verwenden.

Um die Karte von zuvor aufgezeichneten Informationen zu befreien (dann erstellen wir ein Disk-Image), müssen Sie sie mit dem folgenden Befehl löschen:

 dd if=/dev/zero of=/dev/mmcblk0 

Für diesen Befehl sind Superuser-Rechte erforderlich. Dazu müssen Sie am Anfang das Schlüsselwort „sudo“ hinzufügen. Im Folgenden gebe ich Befehle ohne Sudo . Verwenden Sie bei der Eingabe von Befehlen die automatische Vervollständigung (Tabulatortaste). Dies ist erforderlich, um die korrekte Eingabe von Befehlen und Dateipfaden zu steuern. Während der Befehl ausgeführt wird, können Sie eine neue Distribution des Betriebssystems herunterladen.

Hier herunterladen: raspberrypi.org
Wir brauchen Raspbian Stretch Lite. Entpacken Sie die heruntergeladene Zip-Datei. Wir benötigen eine Datei mit der Erweiterung img. Dies ist das Disk-Image, das wir auf die Karte kopieren. Wenn wir also ein Disk-Image haben und der Befehl dd ausgeführt wird, fahren Sie fort.

Kopieren Sie das Bild auf die Karte:

 dd if=/path/to/raspbian.img of=/dev/mmcblk0 bs=4M status=progress 

Geben Sie nach Abschluss den folgenden Befehl ein:

 sync 

Wir nehmen die Karte heraus und legen sie wieder ein.

Erstellen Sie eine leere Datei auf der Startdiskette unserer Karte:

 touch /media/$USER/boot/ssh 

Dies ist erforderlich, damit ein SSH-Server auf Raspberry gestartet wird.

Die Karte muss sicher entfernt, in die Himbeere eingesetzt, an ein kabelgebundenes Netzwerk angeschlossen und mit Strom versorgt werden. Wenn kein 2-Apmera-Netzteil vorhanden ist, können Sie es über USB3 von einem Computer aus mit Strom versorgen. Beim ersten Start erhöht das System die Größe der Festplatten auf die Größe der Karte. Dies dauert einige Zeit.

Um die IP-Adresse unseres RPi herauszufinden, können Sie das Dienstprogramm arp-scan verwenden. Wenn es nicht installiert ist, setzen Sie:

 apt install arp-scan 

Wir finden den Namen unserer Netzwerkkarte heraus:

 ip a 

oder

 netstat -i 



Ich habe eine WLAN-Karte namens wlp1s0.

Führen Sie arp-scan aus:

 arp-scan -I wlp1s0 -l 



Ich benötige ein RPi mit IP 192.168.0.114, die Adresse wird von DHCP vergeben und kann alles sein.

Wir gehen mit ssh zu RPi:

 ssh pi@192.168.0.114 

Sie müssen bei der ersten Authentifizierung yes eingeben und dann das Passwort für pi - himbeere eingeben.

Wenn wir uns bei Raspberry anmelden konnten, geben Sie den folgenden Befehl ein:

 init 0 

Dieser Befehl schaltet RPi aus.

Sie müssen die Karte erneut in den Computer einlegen. Jetzt brauchen wir das Programm "gparted", wenn es nicht installiert ist, setzen Sie:

 apt install gparted 

Wir beginnen gparted, Sie müssen die Größe der Festplatte mmcblk0p2 ändern, am Ende einen nicht zugewiesenen Bereich von 300-500 Megabyte oder 2-3% der Kartengröße belassen. Dies ist erforderlich, damit unser Image auf Karten verschiedener Hersteller passt, und sie können in der Größe variieren. Das Ergebnis sollte ungefähr so ​​aussehen:



Nach Abschluss der Arbeit mit gparted können Sie eine Sicherungskopie der Karte erstellen, sodass Sie bei Problemen in weiteren Experimenten ein fertiges Image haben.

 dd if=/dev/mmcblk0 | bzip2 > raspbian.bz2 

Jetzt können wir unsere Festplatte immer mit dem folgenden Befehl wiederherstellen:

 bzcat raspbian.bz2 | dd bs=4M of=/dev/mmcblk0 

Als Ergebnis haben wir eine microSD-Karte mit einem gebrauchsfertigen Betriebssystem und seiner Sicherungskopie.

2. Raspbian Stretch Lite konfigurieren.

Wir gehen mit ssh zu RPi. Fügen Sie am Ende der Datei /etc/dhcpcd.conf die folgenden Einstellungen hinzu, um die statischen Adressen des kabelgebundenen Netzwerks und des WLANs zu konfigurieren:

Schnittstelle eth0
statische IP-Adresse = 192.168.0.10 / 24
statische Router = 192.168.0.1
statischer Domänenname_Server = 8.8.8.8, 8.8.4.4
Schnittstelle wlan0
statische IP-Adresse = 192.168.0.10 / 24
statische Router = 192.168.0.1
statischer Domänenname_Server = 8.8.8.8, 8.8.4.4

Mit diesen Einstellungen hat RPi die gleiche IP in einem Kabel- oder WLAN-Netzwerk.

Datei zum Konfigurieren von wifi - /etc/wpa_supplicant/wpa_supplicant.conf
Fügen Sie die folgenden Einstellungen hinzu:

Netzwerk = {
ssid = "NAME"
psk = "PASS"
}}
Wobei NAME und PASS Benutzername und Passwort aus dem WLAN-Netzwerk. Wenn nicht im Voraus bekannt ist, wo unser RPi verwendet werden soll, können Name und Passwort später eingegeben werden.

Fügen Sie dem Cron-Programm Aufgaben hinzu

 crontab -e 

Beim ersten Start müssen Sie einen Texteditor auswählen, nano - ist der bekannteste.



Fügen Sie die folgenden Einstellungen hinzu, damit die Zeitpläne funktionieren:

PATH = / usr / sbin: / usr / bin: / sbin: / bin
SHELL = / bin / bash

Und die Aufgaben selbst, wir werden die Zeit jedes Downloads und die Dauer des Dauerbetriebs aufzeichnen, dies werden nützliche Informationen in der Zukunft sein.

Neustart Schlaf 60 && Datum >> my-reboot.txt
@ wöchentliche Verfügbarkeit >> my-uptime.txt

Zum Beenden die Tastenkombination Strg + x, Y, Enter

Das Einstellen der Zeitzone erfolgt über den folgenden Befehl:

 dpkg-reconfigure tzdata 

Um die Ressource der SD-Karte zu erhöhen, können Sie die Protokollierung beenden und die Auslagerungsdatei löschen:

(Ich denke, dies sollte die Wahrscheinlichkeit eines Ausfalls der SD-Karte oder einer Datenbeschädigung bei plötzlichen RPi-Abschaltungen während des Betriebs verringern.)

 apt update apt purge dphys-swapfile apt autoremove --purge apt install busybox-syslogd dpkg --purge rsyslog 

Installation von Programmen:

 apt install mosquitto mosquitto-clients sqlite3 libsqlite3-dev mc htop arp-scan vim supervisor python-pip python3-pip python-virtualenv python-dev 

 pip install psutil paho-mqtt pip3 install psutil paho-mqtt 

Für homekit2mqtt müssen Sie nodejs installieren:

 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - apt-get install -y nodejs 

Überprüfen der installierten Version

 node -v nodejs -v 

Node-Red installieren:

 npm install -g --unsafe-perm node-red 

Wir starten:

 node-red 



Geben Sie in die Adressleiste des Browsers die IP-Adresse des RPi 192.168.0.10:1880 ein



Beenden Sie node-red, drücken Sie Strg + c und wechseln Sie in das Verzeichnis .node-red

 cd .node-red 

Wenn Sie Pakete für Node-Red installieren, werden diese möglicherweise zum Testen, Konfigurieren und Kommunizieren verschiedener Geräte benötigt.

 npm i node-red-dashboard node-red-contrib-sonos node-red-contrib-knx node-red-node-serialport node-red-contrib-globalcache node-red-contrib-counter 

Wir kehren zum Ausgangsverzeichnis zurück

 cd 

Installieren Sie homekit2mqtt:

 apt install libavahi-compat-libdnssd-dev npm install -g homekit2mqtt --unsafe-perm 

Sie können versuchen, das Homekit mit dem Befehl auszuführen

 homekit2mqtt 



Es beginnt mit den Standardeinstellungen und Sie können ein neues Gerät im Home-Programm auf Ihrem iPhone oder iPad hinzufügen

Das Passwort pi verlässt das aktuelle.

Nachdem alles installiert und überprüft wurde, müssen Sie unsere SD-Karte auf die gleiche Weise wie zuvor sichern. Jetzt ist alles bereit, um das Automatisierungssystem zu installieren.

Source: https://habr.com/ru/post/de446190/


All Articles