Inhaltsverzeichnis:

Einen Datenlogger mit dem Raspberry Pi erstellen - Gunook
Einen Datenlogger mit dem Raspberry Pi erstellen - Gunook

Video: Einen Datenlogger mit dem Raspberry Pi erstellen - Gunook

Video: Einen Datenlogger mit dem Raspberry Pi erstellen - Gunook
Video: TUTORIAL: Shelly und Tasmota mit MQTT, Node-Red, InfluxDB ins Grafana Dashboard - Balkonkraftwerk 2024, Juli
Anonim
Erstellen eines Datenloggers mit dem Raspberry Pi
Erstellen eines Datenloggers mit dem Raspberry Pi

Dieser einfache Datenlogger nimmt regelmäßige Lichtmessungen mit einem analogen LDR (Photoresistor) vor und speichert diese in einer Textdatei auf Ihrem Raspberry Pi. Dieser Datenlogger misst und zeichnet die Lichtstärke alle 60 Sekunden auf und ermöglicht Ihnen so zu überwachen, wie sich die Helligkeit über einen längeren Zeitraum ändert.

Wenn wir analoge Sensoren mit dem Raspberry Pi verwenden wollen, müssten wir den Widerstand des Sensors messen können. Im Gegensatz zum Arduino können die GPIO-Pins des Raspberry Pi keinen Widerstand messen und können nur erkennen, wenn die ihnen zugeführte Spannung über einer bestimmten Spannung liegt (ca. 2 Volt). Um dieses Problem zu lösen, können Sie einen Analog-Digital-Wandler (ADC) oder stattdessen einen relativ billigen Kondensator verwenden.

Schritt 1: Was Sie brauchen

Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen

- Ein RaspberryPi mit bereits installiertem Raspbian. Sie müssen auch in der Lage sein, mit einem Monitor, einer Maus und einer Tastatur oder über Remote Desktop auf den Pi zuzugreifen. Sie können jedes Raspberry Pi-Modell verwenden. Wenn Sie eines der Pi Zero-Modelle haben, möchten Sie möglicherweise einige Header-Pins an den GPIO-Port anlöten.

- Ein lichtabhängiger Widerstand (auch bekannt als LDR oder Fotowiderstand)

- Ein 1 uF Keramikkondensator

- Ein lötfreies Prototyping-Breadboard

- Einige Stecker-zu-Buchse-Überbrückungsdrähte

Schritt 2: Erstellen Sie Ihre Schaltung

Bauen Sie Ihre Schaltung
Bauen Sie Ihre Schaltung
Bauen Sie Ihre Schaltung
Bauen Sie Ihre Schaltung

Bauen Sie die obige Schaltung auf Ihrem Steckbrett auf und stellen Sie sicher, dass sich keine der Komponentenleitungen berühren. Der lichtabhängige Widerstand und der Keramikkondensator haben keine Polarität, was bedeutet, dass ein negativer und positiver Strom an beide Leitungen angeschlossen werden kann. Daher müssen Sie sich keine Gedanken darüber machen, wie diese Komponenten in Ihrem Stromkreis angeschlossen wurden.

Nachdem Sie Ihre Schaltung überprüft haben, verbinden Sie die Überbrückungskabel vorsichtig mit den GPIO-Pins Ihres Raspberry Pi, indem Sie dem obigen Diagramm folgen.

Schritt 3: Erstellen Sie ein Python-Skript zum Lesen und Protokollieren Ihrer Daten

Erstellen Sie ein Python-Skript zum Lesen und Protokollieren Ihrer Daten
Erstellen Sie ein Python-Skript zum Lesen und Protokollieren Ihrer Daten

Öffnen Sie IDLE auf Ihrem Raspberry Pi (Menü > Programmierung > Python 2 (IDLE)) und öffnen Sie ein neues Projekt (Datei > Neue Datei). Geben Sie dann Folgendes ein:

RPi. GPIO als GPIO importieren

import time import datetime loginterval=60 #log-Intervall in Sekunden savefilename="lightlevels.txt" SensorPin=17 TriggerPin=27

GPIO.setmode(GPIO. BCM)

cap=0,000001 #1uf adj=2.130620985

def Messwiderstand (mpin, tpin):

GPIO.setup(mpin, GPIO. OUT) GPIO.setup(tpin, GPIO. OUT) GPIO.output(mpin, False) GPIO.output(tpin, False) time.sleep(0.2) GPIO.setup(mpin, GPIO. IN) time.sleep(0.2) GPIO.output(tpin, True) starttime=time.time() endtime=time.time() while (GPIO.input(mpin) == GPIO. LOW): endtime=time.time () Rückgabe Endzeit-Startzeit def writeline(txt, fn): f = open(fn, 'a') f.write(txt+'\n') f.close() i=0 t=0 while True: stime= time.time() für a in range(1, 11): res=(Measureresistance(SensorPin, TriggerPin)/cap)*adj i=i+1 t=t+res if a==10: t=t/i print(t) writeline(str(datetime.datetime.now())+", "+str(t), savefilename) i=0 t=0 while stime+loginterval>time.time(): #warten bis Logtime hat verstrichene Zeit. Schlaf(0.0001)

Speichern Sie Ihr Projekt als datalogger.py (Datei > Speichern unter) in Ihrem Dokumentenordner.

Öffnen Sie nun Terminal (Menü > Zubehör > Terminal) und geben Sie den folgenden Befehl ein:

python datalogger.py

Das Skript erstellt eine Textdatei namens "lightlevels.txt" und aktualisiert sie alle 60 Sekunden. Sie können diesen Dateinamen in Zeile 6 ändern. Sie können auch einstellen, wie oft der Datenlogger aktualisiert wird, indem Sie Zeile 5 ändern.

Empfohlen: