Raspberry Pi für SW 1.x.x vorbereiten
Ich mache alle Vorbereitungs- und Programmierarbeiten auf einem Arbeitscomputer mit Win7 64-Bit. Ich benutze ein Terminal und FTP, um mit dem Raspberry Pi zu kommunizieren. Also, welche Programme werden in meinem Fall benötigt:
1) Linux-Vorbereitung.
Ich benutze das offizielle Raspbian als Betriebssystem für den Raspberry Pi. Es kann hier von der offiziellen Website heruntergeladen werden. Für die Positioniersteuerung ist die kleinste Lite-Variante ausreichend. Ich werde das heruntergeladene * .zip-Archiv mit dem WinRAR-Programm entpacken und es mit dem Disk Imager-Programm auf die SD-Karte hochladen. Eine andere Möglichkeit besteht darin, anstelle einer SD-Karte eine schnellere und zuverlässigere SSD-Festplatte zu verwenden, die über einen Reduzierer mit dem USB-Anschluss verbunden ist. Für dieses Einzweckgerät ist dies jedoch nicht erforderlich. Sie benötigen lediglich eine gute SD-Karte.
Nach dem Laden von Linux wird die Boot-Partition auf der Karte mit FAT32 formatiert. In diesem Abschnitt habe ich zwei Anpassungen vorgenommen. Ich habe hier eine Textdatei namens ssh erstellt. Dies ermöglicht die Kommunikation vom Terminal über das SSH-Protokoll, wenn der Raspberry Pi gestartet wird. Ich habe auch zur Datei config.txt hinzugefügt
# Mein Kommentar, Pullup-Widerstandseinstellung an ausgewählten GPIO-Pins
gpio=12,16,19,20,21,26=ip,pu
Dadurch werden die ausgewählten Ports beim Starten des Raspberry Pi als Eingänge festgelegt und Pullup-Widerstände auf +3,3 V aktiviert. Diese Widerstände sind für den korrekten Betrieb des entworfenen HW erforderlich, aber die verwendete Ein-Aus-SW-Bibliothek kann sie nicht aktivieren.
Weitere Einstellungen werden bereits vom Terminal mithilfe des PuTTY SSH-Protokolls an Port 22 vorgenommen. Wenn Sie zum ersten Mal eine Verbindung vom Terminal aus herstellen, wird der Standardname / das Standardkennwort auf pi / raspberry festgelegt. Ich empfehle, direkt nach dem Anschließen eine Grundkonfiguration durchzuführen.
sudo raspi-config
Hier habe ich zumindest diese Elemente eingestellt:
- Change user password
- Boot Options: B1 Desktop/CLI, B1 Console
- Localization: I2 Change Timezone, Europe, Prague
- Localization: I4 Change Wi-fi Country, CZ Czech Republic
- Advanced Option: A1 Expand Filesystem
Am Ende dieser Anpassungen muss ein Neustart bestätigt werden. Für andere Verbindungen vom Terminal, jetzt unter einem neuen Passwort, werde ich Updates durchführen.
sudo apt-get update
sudo apt-get upgrade -y
sudo reboot
sudo rpi-update
sudo reboot
2) Installation node.js, npm
Das Programm, das ich für Raspberry Pi schreibe, wird über die Node.js-Website ausgeführt. Es ist bereits Teil der Raspbian-Repositorys und sollte auf standardmäßige Weise zusammen mit dem npm-Supportprogramm installiert werden.
sudo apt-get install nodejs npm -y
Aber als ich anfing, gab es eine alte Version im Repository, die Fehler meldete. Daher musste ich die aktuelle Version manuell wie folgt installieren.
- Laden Sie das aktuelle Archiv für Raspberry Pi 3 - ARMv7 herunter (node-v12.16.3-linux-armv7l.tar.xz). Dieses Archiv enthält auch das Programm npm
- Kopieren Sie das Archiv mit einem FTP-Client in das Verzeichnis Raspberry Pi, / home / pi
- Erstellen Sie ein Verzeichnis für Node.js
sudo mkdir -p /usr/local/lib/nodejs
- Entpacken Sie das Archiv in dieses Verzeichnis
sudo tar -xJvf node-v12.16.3-linux-armv7l.tar.xz -C /usr/local/lib/nodejs
- Umgebungsvariablen mit dem Nano-Texteditor einstellen
nano ~/.profile
indem Sie die folgenden Zeilen am Ende hinzufügen# Nodejs
VERSION=v12.16.3
DISTRO=linux-x64
export PATH=/usr/local/lib/nodejs/node-v12.16.3-linux-armv7l/bin:$PATH
- Aktivieren Sie dann die bearbeitete und gespeicherte Datei
. ~/.profile
- und schließlich Simlinks erstellen:
sudo ln -s /usr/local/lib/nodejs/node-v12.16.3-linux-armv7l/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/nodejs/node-v12.16.3-linux-armv7l/bin/npm /usr/bin/npm
sudo ln -s /usr/local/lib/nodejs/node-v12.16.3-linux-armv7l/bin/npx /usr/bin/npx
Unabhängig davon, wie Sie Node.js und npm installieren, ist es eine gute Idee, zu überprüfen, ob alles funktioniert. Verwenden Sie beispielsweise eine Liste von Versionen.
node -v
npm version
npx -v
3) Installation von Hilfsbibliotheken
Das Basisprogramm Node.js kann durch Funktionsbibliotheken in Javascript ergänzt werden. Der Administrator dieser Bibliotheken ist das Programm npm, mit dem sie installiert werden. Die Ein-Aus-Bibliothek wird für die grundlegende Kommunikation mit den GPIO-Port-Pins benötigt. Eine weitere Bibliothek für die Webkommunikation ist socket.io. Diese und andere notwendige Bibliotheken können wie folgt installiert werden:
npm install onoff
npm install socket.io
4) Führen Sie das Benutzerprogramm mit Node.js aus
Das Prinzip der Ausführung von Programmen in Node.js lautet wie folgt. Erstellen Sie ein Verzeichnis für die Anwendung im Verzeichnis / home / pi /.
mkdir -p SatProwler
Kopieren Sie alle Dateien des geschriebenen Programms in dieses Verzeichnis. Es kann eine größere Anzahl von ihnen geben, sie können in andere Unterverzeichnisse sortiert werden, aber sie müssen immer zwei Standarddateien enthalten, index.html und satprowler.js. Wechseln Sie dann in dieses Verzeichnis im Terminal.
cd SatProwler
und starten Sie den Webserver
node satprowler.js
Das auf diese Weise gestartete Programm hängt vom Terminal ab, von dem aus es ausgeführt wird. Dies ist nützlich, wenn Sie ein Programm testen, bei dem Betriebs- oder Fehlermeldungen im Terminalfenster angezeigt werden. Das laufende Programm wird durch Drücken von Strg + C beendet. Durch Ausschalten des Terminals wird auch das Programm beendet.
Dadurch ist der Raspberry Pi für den Testbetrieb bereit. Ab sofort ist es möglich, ein eigenes Anwenderprogramm zu schreiben und zu testen.