EinführungInstallieren 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.orgWir 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.4Mit 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 / bashUnd 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.txtZum 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.