Inhaltsverzeichnis:
- Schritt 1: Einrichten von Pi Zero W
- Schritt 2: Mit WLAN verbinden
- Schritt 3: Erforderliche Software aktualisieren und installieren
- Schritt 4: An einen Sensor anschließen (in diesem Beispiel ein Arduino)
- Schritt 5: WLAN-Zugangspunktfunktionen einrichten
- Schritt 6: Wechseln zwischen Wifi Access Point und Client-Modi
- Schritt 7: Abschließende Bemerkungen
- Schritt 8: Beispiel für ein Python-Protokollierungsskript
Video: Raspberry Pi Zero W Datenlogger - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Mit einem Raspberry Pi Zero W können Sie einen kostengünstigen und einfach zu bedienenden Datenlogger herstellen, der entweder mit einem lokalen WLAN-Netzwerk verbunden werden kann oder als Zugangspunkt im Feld dient, der es Ihnen ermöglicht, Daten drahtlos mit Ihrem Smartphone herunterzuladen.
Ich habe dieses Setup auf dem Fall Meeting 2017 der American Geophysical Union vorgestellt, um ein eigenes Datenlogger-Setup zu erstellen. Diese Präsentation finden Sie hier.
Was wirst du brauchen:
- Ein Raspberry Pi Zero W
- Eine Micro-SD-Karte
- ein USB-Kabel oder USB-Netzteil
- Ein Computer mit einem USB-Kartenleser
-
Optional (aber nützlich):
- miniHDMI -> HDMI Adapter (um den Pi mit einem Bildschirm zu verbinden)
- USB-OTG-Adapter (zum Anschließen einer Tastatur an den Pi
Schritt 1: Einrichten von Pi Zero W
Legen Sie zunächst ein Rasbian-Image auf eine microSD-Karte (in diesem Tutorial habe ich 2017-07-05-raspbian-jessie-lite verwendet, hier erhältlich). Eine Lite-Version kann verwendet werden (ohne Desktop), da die Einrichtung über die Befehlszeile erfolgt.
Legen Sie die SD-Karte in den Pi ein, schließen Sie den Bildschirm und eine Tastatur an und schalten Sie ihn ein, indem Sie das Netzkabel einstecken. Eine Headless-Einrichtung ist ebenfalls möglich, erfordert jedoch eine Verbindung über SSH.
Nachdem der Pi hochgefahren ist, loggen Sie sich ein (Standardbenutzername: pi, Passwort: raspberry) und ändern Sie das Passwort mit dem Befehl "passwd".
Die Tastatur kann durch Eingabe von "sudo raspi-config" im Terminal konfiguriert werden.
Schritt 2: Mit WLAN verbinden
Um eine Verbindung zum Internet herzustellen, teilen wir dem Pi mit, mit welchem Netzwerk er sich verbinden soll. Öffnen Sie zunächst die folgende Datei;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Fügen Sie hier unten die Netzwerkinformationen hinzu;
Netzwerk={
ssid="Netzwerkname" psk="Netzwerkpasswort" }
Im Falle eines Unternehmensnetzwerks können Sie folgendes Setup verwenden (WPA-EAP // TTLA // MSCHAPv2 an die entsprechenden Einstellungen anpassen).
Netzwerk={
ssid="ssid" #Geben Sie Ihren Netzwerknamen ein key_mgmt=WPA-EAP eap=TTLS identity="xxxxx" #Geben Sie Ihr Login-Konto password="xxxxx" #Geben Sie das Passwort ein phase2="auth=MSCHAPv2" }
Speichern Sie mit STRG+O und beenden Sie mit STRG+X.
Verweisen Sie nun auf Ihre Konfigurationsdatei in /etc/network/interfaces
sudo nano /etc/network/interfaces
Ändern Sie den wlan0-Teil in:
Auto-WLAN0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Speichern Sie die Datei erneut (STRG+O) und beenden Sie sie (STRG+X).
Nach dem Neustart (sudo reboot) sollte Ihre WLAN-Verbindung funktionieren. Sie können dies testen, indem Sie eine Website anpingen.
ping www.google.com
Abbrechen des Pings mit STRG+C
Um sich drahtlos mit dem Pi über SSH zu verbinden, sollten Sie SSH aktivieren:
sudo raspi-config
Navigieren Sie zu "5 Schnittstellenoptionen" und aktivieren Sie SSH. Gehen Sie dann zurück und verlassen Sie die Konfiguration.
Suchen Sie die IP-Adresse des Pi:
ifconfig
Die IP befindet sich unter "inet addr:" der wlan0-Schnittstelle.
Jetzt können Sie sich über WLAN mit dem Pi verbinden, wenn Sie sich im selben Netzwerk befinden. Laden Sie Putty (für Windows) herunter, geben Sie die IP-Adresse ein, die Sie unter "Hostname" gefunden haben, und drücken Sie "Öffnen". Nachdem Sie die Warnung akzeptiert haben, sollten Sie jetzt die Befehlszeile sehen und sich anmelden können.
Schritt 3: Erforderliche Software aktualisieren und installieren
Nachdem WiFi funktioniert, aktualisieren Sie den Pi mit:
sudo apt-get update -y && sudo apt-get upgrade -y
Nachdem das Update abgeschlossen ist (es kann eine Weile dauern), installieren Sie die Software, die wir verwenden werden;
sudo apt-get install python3 python3-serial apache2 -y
Schritt 4: An einen Sensor anschließen (in diesem Beispiel ein Arduino)
Verbinden Sie das Arduino entweder über einen USB-Hub mit einer Tastatur oder verbinden Sie das Arduino über den einzelnen USB-Port und führen Sie die Einrichtung mit SSH über WLAN durch.
Um auf den seriellen Port zugreifen zu können, mit dem das Arduino verbunden ist, ist es nützlich, Zugriff auf das Standard-Pi-Konto zu gewähren. Da das Arduino normalerweise dem Port "/dev/ttyACM0" zugewiesen ist, verwenden Sie den folgenden Befehl, um dem 'pi'-Benutzer Zugriff auf den Port zu gewähren:
sudo chown pi: /dev/ttyACM0
Angenommen, der Arduino wurde bereits zum Senden von Daten über den seriellen Port eingerichtet, können Sie die Daten in Python wie folgt anzeigen:
Python öffnen;
python3
Seriennummer importieren:
Seriennummer importieren
Öffnen Sie den Com-Port:
ser = serial. Serial(port = '/dev/ttyACM0', Baudrate = 9600, Zeitüberschreitung = 5)
Wobei die Baudrate des Arduino in diesem Fall auf 9600 eingestellt war.
Sie können eine Zeile lesen und drucken, indem Sie den folgenden Code ausführen:
ser.readline().decode('utf-8')
Wenn es funktioniert, können Sie die Verbindung schließen und Python beenden mit:
ser.close()
Ausfahrt()
Schritt 5: WLAN-Zugangspunktfunktionen einrichten
Indem Sie Ihren Pi Zero W im WLAN-Zugangspunktmodus einrichten, können Sie sich mit jedem WLAN-Gerät verbinden. Dies ermöglicht die Einrichtung des Loggers und das Herunterladen von Daten über WLAN, ohne dass Kabel oder Treiber erforderlich sind.
Dafür hat Adafruit ein gutes Tutorial zur Verfügung. Einige kleine Anmerkungen:
- Für den /etc/hostapd/hostapd.conf-Treiber verwenden Sie die Treiberzeile nicht verwenden.
- Der Schritt "Hostapd aktualisieren" sollte nicht notwendig sein.
Wenn der Access Point am Ende des Tutorials nicht funktioniert, versuchen Sie, den Pi neu zu starten (sudo reboot).
Schritt 6: Wechseln zwischen Wifi Access Point und Client-Modi
Manchmal möchten Sie Software aktualisieren oder neue Software auf Ihrem Raspberry Pi installieren, dies erfordert jedoch eine Internetverbindung. Der Wechsel zwischen den beiden ist zum Glück sehr einfach.
Verbinden Sie sich mit SSH mit dem Pi (über ein Kabel, nicht über WLAN!). Beginnen Sie mit dem Stoppen der Access Point-Dienste:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
Bearbeiten Sie dann die Netzwerkschnittstellendatei:
sudo nano /etc/network/interfaces
Hier sollten Sie die Hosting-Parameter auskommentieren und die Netzwerkverbindungsparameter auskommentieren. Ändern Sie es von diesem:
#-Hosting-Parameter:
allow-hotplug wlan0 iface wlan0 inet statische Adresse 192.168.42.1 Netzmaske 255.255.255.0 #-Netzwerk (Client) Parameter: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Dazu:
#-Hosting-Parameter:#allow-hotplug wlan0 #iface wlan0 inet static # Adresse 192.168.42.1 # Netzmaske 255.255.255.0 #-Netzwerk-(Client-)Parameter: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Speichern und schließen Sie die Datei.
Als nächstes führen Sie die folgenden Befehle aus:
sudo systemctl start wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Jetzt sollte sich Ihr Pi wieder mit dem WLAN verbinden, sodass Sie Software aktualisieren und installieren können.
Um zum Access Point-Modus zurückzukehren, wechseln Sie die Kommentare in /etc/network/interfaces und starten Sie den Pi neu.
Schritt 7: Abschließende Bemerkungen
Website-Einrichtung
Der Apache-Server befindet sich in /var/www/. Um die Standardseite zu ändern, bearbeiten Sie die Datei /var/www/html/index.html.
Sie können hier Dateien zum Herunterladen über die WLAN-Verbindung zur Verfügung stellen, indem Sie Ihren Browser zur IP-Adresse des Pi (192.168.42.1) navigieren. Jedes WLAN-fähige Gerät kann sie dann ohne zusätzliche Software herunterladen.
SFTP-Verbindung
Über SSH kann eine FTP-Verbindung hergestellt werden. Mit Filezilla können Sie schnell und einfach eine große Menge an Dateien übertragen (siehe Bild).
Echtzeituhr
Da die interne Uhr des Pi erheblich driftet, wenn keine Verbindung zum Internet besteht, wird ein Echtzeituhrmodul (RTC) benötigt, wenn eine genaue Zeitmessung erforderlich ist. Ein solches Modul ist die RasClock, eine Installationsanleitung finden Sie hier. Andere i2c-basierte Uhren sind ebenfalls verfügbar (z. B. DS3231)
Abschluss
Wenn alles richtig gelaufen ist, sollten Sie jetzt einen funktionierenden Pi Zero-Datenlogger haben! Ein Beispiel für ein Python-Protokollierungsskript ist im nächsten Schritt enthalten.
Schritt 8: Beispiel für ein Python-Protokollierungsskript
Importieren von OS
import serial from time import time from datetime import datetime import numpy as np ser = serial. Serial(port = 'COM4', baudrate = 57600, timeout = 5) directory = r'\var\www\html\data\anemometer\WMPro1352_ ' ser.flushInput() ser.flushOutput() try: while True: day_timestring = datetime.strftime(datetime.now(), '%Y%m%d') file_today = directory + day_timestring + '.dat' #Auslesen Daten und sofort die Zeitleiste abrufen = ser.readline().decode('utf-8') nowtime = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:% S.%f') line = line.split(', ') try: u = float(line[1]) außer: u = np.nan try: v = float(line[2]) außer: v = np.nan try: w = float(line[3]) außer: w = np.nan try: c = float(line[5]) außer: c = np.nan Ts = 1/403 * c**2 - 273,15 try: Ta = float(line[8]) außer: Ta = np.nan if (os.path.isfile(file_today)): with open(file_today, 'a') as fileobject: fileobject.write(nowtime+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+ str(Ta)+'\n') fileobject.clos e() else: mit open(file_today, 'w') als Dateiobjekt: fileobject.write('"Time", "u", "v", "w", "c", "Ts", "Ta"\ n') fileobject.write(nowtime+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+str(Ta)+'\n') fileobject.close() außer KeyboardInterrupt: ser.close()
Empfohlen:
So installieren Sie Raspbian OS in Raspberry Pi mit NOOBS-Software und Smartphone.: 6 Schritte
So installieren Sie Raspbian OS in Raspberry Pi mit NOOBS-Software und Smartphone.: Hallo zusammen! Heute zeige ich Ihnen in diesem Tutorial, wie Sie Raspbian OS in Raspberry Pi mit NOOBS-Software und Smartphone einfach installieren
Windows 10 auf einem Raspberry Pi zum Laufen bringen – wikiHow
So funktioniert Windows 10 auf einem Raspberry Pi
So richten Sie einen Raspberry Pi ein und verwenden ihn – wikiHow
So richten Sie einen Raspberry Pi ein und verwenden ihn: Für die Leser der Zukunft sind wir im Jahr 2020. Das Jahr, in dem Sie, wenn Sie das Glück haben, gesund zu sein und nicht mit Covid-19 infiziert sind, plötzlich , hat viel mehr Freizeit, als du dir jemals vorgestellt hast. Wie kann ich mich also nicht zu dumm beschäftigen? Oh ja
Raspbian in Raspberry Pi 3 B ohne HDMI installieren - Erste Schritte mit Raspberry Pi 3B - Einrichten Ihres Raspberry Pi 3: 6 Schritte
Raspbian in Raspberry Pi 3 B ohne HDMI installieren | Erste Schritte mit Raspberry Pi 3B | Einrichten Ihres Raspberry Pi 3: Wie einige von Ihnen wissen, sind Raspberry Pi-Computer ziemlich großartig und Sie können den gesamten Computer nur auf einer einzigen winzigen Platine bekommen. Das Raspberry Pi 3 Model B verfügt über einen Quad-Core 64-Bit ARM Cortex A53 mit 1,2 GHz getaktet. Damit ist der Pi 3 ungefähr 50
Task Zero: 7 Schritte (mit Bildern)
Task Zero: In einer leistungs- und erfolgsbetonten Gesellschaft vergisst man vielleicht, dass es ein Leben neben der Arbeit gibt. Bei Task Zero geht es um die Aufgabe vor der ersten. Aufgabe 0: Schätze dein Privatleben. Verschieben Sie diese Aufgaben nicht, die sich kultivieren