Abo
  • Services:
Anzeige
Temperatur messen mit dem Raspberry Pi
Temperatur messen mit dem Raspberry Pi (Bild: Alexander Merz/Golem.de)

Raspberry Pi konfigurieren

Der Raspberry Pi unterstützt den DS18B20 mit Hilfe zweier Kernelmodule, die wir aber erst aktivieren müssen.

Zuerst wird in der Datei /boot/config.txt folgender Aufruf eingetragen:

dtoverlay=w1-gpio,gpiopin=4,pullup=on

Damit weiß Linux, dass der Pin GPIO04, gemeint ist hier der physische Pin 7, für die One-Wire-Kommunikation verwendet werden soll.

Anzeige

Als Nächstes fügen wir zwei Einträge in /etc/modules ein:

w1-gpio pullup=1
w1-therm

Die erste Zeile lädt das One-Wire-Kernel-Modul, die zweite ein Modul, das für die Auswertung des Temperatursensors zuständig ist. Jetzt müssen wir den Raspberry Pi neu starten.

Temperaturdaten auslesen

Das w1-therm-Kernelmodul legt für unseren Temperatursensor ein Verzeichnis in /sys/bus/w1/devices an. Der Name dieses Verzeichnisses entspricht der eindeutigen ID des Sensors. Sie - und damit auch der Verzeichnisname - ist unveränderlich. Bei unserem Sensor lautet diese 28-01146403b1ff. Innerhalb des Verzeichnisses existiert ein Dateiobjekt mit dem Namen w1_slave. Diese virtuelle Datei liefert uns die Temperatur. So können wir einen kleinen Test auf der Kommandozeile durchführen.

cat /sys/bus/w1/devices/82-01146403b1ff/w1_slave

Die Temperatur befindet sich am Ende der zweiten Zeile und muss noch durch 1000 geteilt werden. Außerdem ist die angegebene Genauigkeit illusorisch. Der Wert sollte auf die erste Stelle nach dem Komma gerundet werden.

Temperaturdaten übermitteln

Um die Temperatur an einen Server zu übermitteln, schreiben wir ein Python-Skript. Es liest die Ausgabe der w1_slave-Datei, extrahiert die Temperaturangabe und übermittelt sie an den Golem.de-Server. Das vollständige Skript steht auf Github zur Verfügung.

Das Skript beginnt mit der Deklaration der erforderlichen Python-Module und der Angabe der ermittelten Sensor-ID und des Pfades:

  1. import re, os, urllib2
  2. import RPi.GPIO as GPIO
  3.  
  4. sensorid = "28-01146403b1ff"
  5. sensorpfad = "/sys/bus/w1/devices/%s/w1_slave" % sensorid

Über das urllib2-Modul werden wir die Datenübertragung durchführen, das Rpi.GPIO-Modul gestattet uns den Zugriff auf die GPIO-Pins des Raspberry Pi. Am Ende des Skriptes befindet sich unser Hauptprogramm:

  1. if __name__ == '__main__':
  2. GPIO.setwarnings(False)
  3. GPIO.setmode(GPIO.BOARD)
  4. GPIO.setup(pin_led, GPIO.OUT)
  5.  
  6. temp = lies_temp(sensorpfad)
  7.  
  8. if None != temp:
  9. send_temp(temp)

Mit GPIO.setmode(GPIO.BOARD) legen wir fest, dass zur Adressierung der GPIO-Pins deren physische Nummern verwendet werden. GPIO.setup(pin_led, GPIO_OUT) weist den Prozessor an, den mit pin_led bezeichneten Pin mit Strom zu versorgen, wenn wir das wünschen. Danach rufen wir unsere selbst geschriebene Funktion lies_temp() auf, um die Temperatur zu ermitteln. War das erfolgreich, dann versenden wir den Wert mit der eigenen Funktion send_temp().

 Das Steckbrett vorbereitenLED an- und ausschalten 

eye home zur Startseite
mp3tobi 03. Mär 2017

Etwas spät: Aber vielleicht hilft das ja weiter: http://c64-online.com/?p=1471

Mrs.Jane 12. Mai 2016

Hallo, ich habe leider das gleiche Problem, konntest du es mittlerweile lösen ? Gruß J.

zipper5004 09. Mai 2016

Ich habe folgendes gefunden: http://de.aliexpress.com/item/Basic-Starter-Kit-Set-Educator...

I2e4per 28. Apr 2016

Ist es vorgesehen, auch das Backend (Serverscript, DB setup etc) ebenfalls zu...

mingobongo 21. Apr 2016

Dem kann ich mich nur anschließen, gerade dieser ausführliche Bericht geht auch mal mehr...



Anzeige

Stellenmarkt
  1. operational services GmbH & Co. KG, Leinfelden-Echterdingen
  2. operational services GmbH & Co. KG, Wolfsburg, Braunschweig, Zwickau
  3. Max-Delbrück-Centrum für Molekulare Medizin (MDC), Berlin
  4. Siltronic AG, Burghausen


Anzeige
Top-Angebote
  1. 49,99€
  2. 125,00€
  3. (65B6D für 2.799,00€ und 65C6D für 2.999,00€)

Folgen Sie uns
       


  1. UEFI-Update

    Agesa 1004a lässt Ryzen-Boards schneller booten

  2. Sledgehammer Games

    Call of Duty WWII spielt wieder im Zweiten Weltkrieg

  3. Mobilfunk

    Patentverwerter klagt gegen Apple und Mobilfunkanbieter

  4. Privatsphäre

    Bildungsrechner spionieren Schüler aus

  5. Raumfahrt

    Chinesischer Raumfrachter Tanzhou 1 dockt an Raumstation an

  6. Die Woche im Video

    Kein Saft, kein Wumms, keine Argumente

  7. Windows 7 und 8

    Github-Nutzer schafft Freischaltung von neuen CPUs

  8. Whitelist umgehen

    Node-Server im Nvidia-Treiber ermöglicht Malware-Ausführung

  9. Easy S und Easy M

    Vodafone stellt günstige Einsteigertarife ohne LTE vor

  10. UP2718Q

    Dell verkauft HDR10-Monitor ab Mai 2017



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Linux auf dem Switch: Freiheit kann ganz schön kompliziert sein!
Linux auf dem Switch
Freiheit kann ganz schön kompliziert sein!
  1. Digital Ocean Cloud-Hoster löscht versehentlich Primärdatenbank
  2. Google Cloud Platform für weitere Microsoft-Produkte angepasst
  3. Marktforschung Cloud-Geschäft wächst rasant, Amazon dominiert den Markt

Radeon RX 580 und RX 570 im Test: AMDs Grafikkarten sind schneller und sparsamer
Radeon RX 580 und RX 570 im Test
AMDs Grafikkarten sind schneller und sparsamer
  1. Grafikkarten AMD bringt vier neue alte Radeons für Komplett-PCs
  2. Grafikkarten AMD stellt Radeon RX 560 und Radeon RX 550 vor
  3. Grafikkarte AMDs Radeon RX 580 nutzt einen 8-Pol-Stromanschluss

Galaxy S8 vs. LG G6: Duell der Pflichterfüller
Galaxy S8 vs. LG G6
Duell der Pflichterfüller
  1. Smartphones Es wird eine spezielle Microsoft Edition des Galaxy S8 geben
  2. Galaxy S8 und S8+ im Kurztest Samsung setzt auf langgezogenes Display und Bixby
  3. Smartphones Samsungs Galaxy S8 könnte teuer werden

  1. Re: Kann man das komplett abschalten?

    Jesper | 21:46

  2. Re: Davon merke ich nichts.

    Jesper | 21:37

  3. Re: Grob mal überschlagen

    Neuro-Chef | 21:37

  4. Re: Nachladende Echtzeitinhalte

    quadronom | 21:31

  5. Re: Weltveränderung

    plutoniumsulfat | 21:19


  1. 12:40

  2. 11:55

  3. 15:19

  4. 13:40

  5. 11:00

  6. 09:03

  7. 18:01

  8. 17:08


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel