wetterstation:ds18b20
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
DS18B20 Temperatursensor
Raspberry Pi Konfiguration
Für den Temperatursensor werden die OneWire-Module benötigt. Zuerst ist eine Aktivierung im Raspberry Pi notwendig. Dafür müssen folgende Befehle im Terminal ausgeführt werden:
sudo raspi-config # unter Interfacing Options muss 1-Wire aktiviert werden # NICHT neu starten! sudo vim /etc/modules # drücke i (insert), um in den Bearbeitunsgmodus zu gelangen # drücke ESC, um den Bearbeitunsgmodus zu verlassen # schreibe :wq und drücke Enter, um die Datei zu schreiben (w für write und q für quit) # oder sudo nano /etc/modules # hier kannst du direkt schreiben und mittels Strg-O die Datei speichern und mit Strg-X das Programm verlassen # füge die folgenden beiden Zeilen ganz unten in die Datei ein: w1-gpio w1-therm # Dies veranlasst, dass der Linux-Kernel beim Starten automatisch # die Treiber (Kernelmodule) für die One-Wire-Schnittstelle lädt.
Verkabelung
Das gelbe Kabel und das rote Kabel müssen mit einem 4,7kOhm Widerstand (gelb-lila-pink-[gold]) verbunden werden.
rotes Kabel: 3V3 (PIN 1)
schwarzes Kabel: GND (bspw. PIN 6)
gelbes Kabel: BCM/GPIO 4 (PIN 7)
Die Pins werden von links nach rechts und oben nach unten durchnummeriert. Die Bezeichnungen sind dabei aber völlig unterschiedlich.
Beispiel
import time def get_temp(filename): f = open(filename, 'r') content = f.readlines() f.close() temp = "error" if (content[0].strip())[-3:] == "YES": index = content[-1].find('t=') if index != -1: temp = float(content[-1][index+2:-1].strip()) temp = temp/1000.0 return temp sensor_path = "/sys/bus/w1/devices/28-00000ade26e7/w1_slave" while True: print(get_temp(sensor_path)) time.sleep(1)
wetterstation/ds18b20.1573577244.txt.gz · Zuletzt geändert: 2019/11/12 16:47 von admin