Inhaltsverzeichnis:

Ein Raspberry Pi von Grund auf einrichten, um Daten von Arduino zu protokollieren - Gunook
Ein Raspberry Pi von Grund auf einrichten, um Daten von Arduino zu protokollieren - Gunook

Video: Ein Raspberry Pi von Grund auf einrichten, um Daten von Arduino zu protokollieren - Gunook

Video: Ein Raspberry Pi von Grund auf einrichten, um Daten von Arduino zu protokollieren - Gunook
Video: Raspberry Pi Pico - Der leichte Einstieg! 2024, November
Anonim
Richten Sie einen Raspberry Pi von Grund auf ein, um Daten von Arduino zu protokollieren
Richten Sie einen Raspberry Pi von Grund auf ein, um Daten von Arduino zu protokollieren

Dieses Tutorial ist für diejenigen gedacht, die keine Erfahrung mit der Installation neuer Hardware oder Software haben, geschweige denn Python oder Linux.

Angenommen, Sie haben Raspberry Pi (RPi) mit SD-Karte (mindestens 8GB, ich habe 16GB, Typ I) und Netzteil (5V, mindestens 2,5A) bestellt. Heute beschließen Sie, es einzurichten und Daten von Arduinos aufzuzeichnen. Also los geht's!

Das Tutorial umfasst die Einrichtung von Raspberry Pi von Anfang an, einschließlich Desktop Remote, die Vorbereitung eines Arduino mit 18B20-Temperatursensoren und das Ausführen eines Python-Skripts in Raspberry Pi, um die Daten zu sammeln und zu speichern. Ich habe den Beitrag mit dem Hinzufügen einer Samba-Freigabe aktualisiert, um die Datei zwischen dem Host-Computer (Ihrem PC) und dem Raspberry Pi zu übertragen

Schritt 1: Raspberry Pi. vorbereiten

Raspberry Pi. vorbereiten
Raspberry Pi. vorbereiten
Raspberry Pi. vorbereiten
Raspberry Pi. vorbereiten
Raspberry Pi. vorbereiten
Raspberry Pi. vorbereiten
Raspberry Pi. vorbereiten
Raspberry Pi. vorbereiten
  1. Laden Sie das Betriebssystem für RPi herunter. Ich empfehle eine Vollversion von Raspbian, wie diese hier.
  2. Angenommen, Sie haben einen funktionierenden Computer unter Windows, laden Sie die Rufus-Software herunter, um das Bild auf die SD-Karte zu schreiben. Scrollen Sie nach unten und holen Sie sich rufus 3.0 (Juni 2018)
  3. Entpacken Sie die Raspbian-Datei (4,6 GB) und wählen Sie Ihre Ziel-SD-Karte sorgfältig aus. Es dauert etwa 3 Minuten, bis das Bild auf die Karte geschrieben ist.
  4. Stecken Sie die SD-Karte in den Slot, stecken Sie das Stromkabel in den Micro-USB-Anschluss, ein Display mit HDMI-Kabel, eine Tastatur, eine Maus ist optional.
  5. Warten Sie, bis das RPi hochfährt und den Desktop anzeigt, drücken Sie die Fenstertaste, gehen Sie zu Zubehör / Terminal und geben Sie ein.
  6. Konfigurieren Sie RPi nach Typ:

sudo raspi-config

7. Ändern Sie einige Dinge in der RPi-Konfiguration:

  • In 1. Passwort ändern
  • In 2. Netzwerkoption: Ändern Sie den Hostnamen (etwas Einzigartiges, meiner ist rpi1001) und die WLAN-SSID und das Passwort.
  • In 4. Lokalisierungsoptionen: Zeitzone, Tastatur, Gebietsschema ändern
  • In 5. Schnittstellenoptionen: SSH aktivieren (um sich über die Befehlszeile anzumelden), VNC aktivieren (für Desktop-Remote)
  • In 7: Erweiterte Option: Dateisysteme erweitern:
  • Neustart
  • Nach dem Hochfahren: IP-Adresse notieren durch Ausführen

sudo ifconfig

Wenn Ethernet verwendet wird, sollte die IP der erste Block sein, wenn Wifi verwendet wird, befindet sich die IP im dritten Block, etwa 192.168.1.40, führen Sie diesen Befehl aus, um die Linux-Distribution zu aktualisieren:

sudo apt-get update && sudo apt-get upgrade –y && sudo poweroff

Der letzte schaltet das RPi aus, nachdem die Updates abgeschlossen sind

8. Wenn Sie die IP von RPi vergessen haben oder kürzlich geändert wurden, verwenden Sie PowerShell (geben Sie PowerShell in das Suchfeld in Windows ein)

In PowerShell zum Pingen des Rpi: ping rpi1001.local –4 bekomme so etwas wie dieses 192.168.1.40. rpi1001 ist mein Hostname für mein Rpi.

9. Installieren Sie VNCViewer, diese Software funktioniert wie TeamViewer oder Desktop Remote unter Windows (nur Win 10 Pro verfügt über die Desktop Remote-Funktion).

Installieren Sie auf Ihrem Windows-Computer, geben Sie in das Suchfeld oben in VNCViewer die IP des RPi (192.168.1.40) oder den Hostnamen des RPi (meiner ist rpi1001.local) ein und geben Sie ein. Geben Sie das Passwort Ihres Namens RPi ein, wählen Sie bei Bedarf „Passwort merken“. Wenn alles gut gelaufen ist, sollten Sie den Popup-Rpi-Desktop sehen.

10. Um Dateien von oder zu TeamView zu übertragen, ist der einfachste Weg, die integrierte Dateiübertragung von VNCView zu verwenden:

Und dass Sie einen Raspberry verwenden können, um Daten für Sie zu sammeln und sich bei Bedarf anzumelden, um Daten zu erhalten.

Schritt 2: Bereiten Sie ein einfaches Beispiel vor, um Daten von Arduino zu sammeln

Bereiten Sie ein einfaches Beispiel vor, um Daten von Arduino zu sammeln
Bereiten Sie ein einfaches Beispiel vor, um Daten von Arduino zu sammeln
Bereiten Sie ein einfaches Beispiel vor, um Daten von Arduino zu sammeln
Bereiten Sie ein einfaches Beispiel vor, um Daten von Arduino zu sammeln

Angenommen, Sie möchten die Temperatur von 4 Sensoren erfassen. In diesem Beispiel habe ich 18B20 verwendet, einen beliebten Temperatursensor. Andere Optionen sind die TMP35, 36-Familie oder ein Thermistor.

Die Verkabelung ist oben enthalten. Die 18B20s teilen sich das Kabel (oder den Bus), und hier ist der Arduino-Code auf Github. Der Anhang in der folgenden Datei enthält auch die Codes und den Verdrahtungsplan.

Installieren Sie außerdem den USB-Treiber für Arduino in Windows. Die meisten Arduino-Klone verwenden den USB-Treiber CH341. Der Fahrer ist hier.

Installieren Sie den Treiber, wenn Sie den Arduino an Ihren Windows-USB anschließen, sollte er den Treiber erkennen und einen COM-Port zuweisen (meiner ist COM4)

Der Serial Monitor sollte wie auf dem Foto oben angezeigt werden.

Schritt 3: Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an

Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an
Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an
Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an
Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an
Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an
Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an
Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an
Starten Sie RPi, indem Sie die Stromversorgung des RPi trennen und anschließen. Starten Sie VNCViewer, melden Sie sich bei Ihrem RPi an

Übertragen Sie das Python-Skript mit dem VNCViewer-Tool. Oben im VNCViewer befindet sich ein Banner, suchen Sie nach der Schaltfläche mit den zwei Pfeilen. Um Daten vom RPi nach Windows zu übertragen, verwenden Sie das File Transfer in VNC-Symbol oben rechts (in der Nähe des Wifi-Symbols) auf dem Desktop des RPi.

Raspberry läuft unter Linux und Python 2 und 3 sind standardmäßig installiert. Sie müssen nur eine Python-Bibliothek namens pyserial installieren, um den Datendruck von der seriellen Leitung zu sammeln.

Um Python Serial zu installieren, geben Sie diese Zeile in das Linux-Terminal ein

sudo apt-get install python3-serial

  • in Windows: Geben Sie diese PowellShell ein:
  • pip.exe installieren pyserlal

Laden Sie dann das Skript herunter und speichern Sie es auf dem Desktop des RPi

Um das Skript auszuführen, machen Sie es zunächst ausführbar, indem Sie:

sudo chown u+x recordSerial.py

Laden Sie den Arduino-Code auf das Arduino-Board hoch, stecken Sie dann Ihr USB-Kabel mit USB ein, überprüfen Sie den Port wie folgt:

  • Geben Sie unter Linux Folgendes in das Terminal ein: ls /dev/ttyUSB*
  • Unter Windows: Gehen Sie zum Geräte-Manager, überprüfen Sie COM #

Wenn das Skript unter Windows geändert wird, müssen Sie möglicherweise das Python-Skript für dos2unix ausführen, um seltsame Zeilenendezeichen von Windows zu entfernen. Installieren Sie es von

sudo apt-get install dos2unix

und konvertieren Sie das Skript, indem Sie dies im Terminal ausführen

dos2unix recordSerial.py

Den tatsächlichen Port im Skript durch einen Texteditor geändert:

sudo nano recordSerial.py

Führen Sie dann./recordSerial.py yourfilename.txt aus

Das Python-Skript speichert alle 10 Zeilen, die angepasst werden können, die Daten aus dem RAM auf die Festplatte.

Um die Aufnahme zu stoppen, drücken Sie Strg + C, Das Skript kann unter Windows ausgeführt werden (Doppelklick), der Name der Protokolldaten ist der Standard, der einen Zeitstempel enthält

Wenn Sie PowerShell verwenden, können Sie Ihren benutzerdefinierten Dateinamen eingeben, python.exe recordSerial.py awesome.txt

Nicht alle 18B20 sind gleich. Siehe die Anzeige!

Ich habe den Code auch auf GitHub übertragen.

Hoffe, dieses Tutorial ist hilfreich!

Schritt 4: Samba installieren, um Ordner freizugeben

Samba installieren, um Ordner freizugeben
Samba installieren, um Ordner freizugeben
Samba installieren, um Ordner freizugeben
Samba installieren, um Ordner freizugeben
Samba installieren, um Ordner freizugeben
Samba installieren, um Ordner freizugeben

Dieser Schritt führt Sie durch einige grundlegende Einstellungen, um einen freigegebenen Ordner auf dem Raspberry Pi zu haben, auf den von anderen Computern aus zugegriffen werden kann.

Installieren Sie zunächst Samba, ein Programm zum Freigeben und Verwalten von Freigabeordnern im Netzwerk:

sudo apt-get install samba

einen freigegebenen Ordner erstellen

mkdir ~/Desktop/sambaShare

Ändern Sie die Konfigurationsdatei für den Samba wie folgt:

sudo samba /etc/samba/smb.conf

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

[sambaShare] Kommentar = Ordner auf Recherche teilen RPI-Pfad = /home/pi/Desktop/sambaShare browseable = ja nur lesen = nein beschreibbar = ja öffentlich = ja Maske erstellen = 0777 Pfarrhausmaske = 0777 Gast ok = ja

Wenn Sie Probleme beim Schreiben unter Windows haben, erzwingen Sie dies, indem Sie diese Zeile am Ende der Datei hinzufügen: force user = pi

Unter Linux müssen Sie möglicherweise den Root-Benutzer verwenden (ich werde das Problem posten, sobald ich es herausgefunden habe)

Fügen Sie als Nächstes einen Benutzer zu Samba hinzu und erstellen Sie auch ein Passwort:

sudo smbpasswd -a pi

Geben Sie dann ein Passwort für den Samba ein (kann gleich oder anders sein als das Passwort für den pi-Benutzer auf dem System)

Testen Sie, ob die Konfigurationsdatei in Ordnung ist

testparm

Drücken Sie Strg+X, um zu speichern, und starten Sie dann den Samba-Dienst neu, indem Sie:

sudo systemctl neustart smbd

Sagen wir auf dem Host-Computer Linux:

Wenn nicht, installieren Sie Samba plus Sambaclient und cifs, um das Share-Laufwerk zu unterstützen, indem Sie Folgendes ausführen:

sudo apt-get installiert Samba smbclient cifs-utils

Überprüfen Sie, ob der freigegebene Ordner auf RPI bereit ist, indem Sie:

sudo smbclient -L yourRPI_IP

Wenn Sie das Freigabelaufwerk sehen, erstellen Sie einen Einhängepunkt unter Linux:

sudo mkdir /mnt/researchRPi

sudo chown user:usergroup -R /mnt/researchRPI

user, usergroup ist Ihr Linux-Benutzer- und Gruppenname

dann mounten Sie die Freigabe durch:

sudo mount -f cifs -o username=pi //your_rpi_IP/sambaShare /mnt/researchRPi

Geben Sie Ihre Passwörter ein und erstellen Sie einen Softlink zu Ihrem Desktop:

sudo ln -s /mnt/researchRPi ~/Desktop/researchRPi

Wenn Sie ein Problem mit der Lese-/Schreibberechtigung für den Freigabeordner haben, experimentieren Sie mit einer schwachen Berechtigung:

auf PI:

sudo chmod -R 776 ~/Desktop/sambaShare

Unter Windows ist es noch einfacher, Gehen Sie zu Arbeitsplatz und ordnen Sie einen Ordner zu, geben Sie dann die IP von RPI ein. Der freigegebene Ordner sollte angezeigt werden. Ich glaube, es gibt etwas auf dem Mac, mit dem Sie den freigegebenen Ordner im Netzwerk durchsuchen können.

Schritt 5: Nützliche Referenzen

Nachfolgend finden Sie einige nützliche Referenzen:

  1. Hier gibt es einen anderen Ansatz mit pyserial- und numpy-Bibliotheken
  2. Ein umfassender Blick auf die elektronische Kommunikation beginnt mit der Installation der Arduino IDE. Eine gute Referenz, wenn Sie tiefer eintauchen möchten.
  3. Ein kurzes, aber konkretes Schreiben. Eine kurze und ausreichende Alternativen zur Protokollierung der Daten

Empfohlen: