Projekt:Thermometer: Unterschied zwischen den Versionen

Aus k4cg.org
(Kurze Beschreibung des Raspi / Thermometer Setups)
 
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
Auf dem Raspberry läuft folgendes Script welches jede TCP Verbindung auf Port 31337 mit der aktuellen Temperatur beantwortet.
Auf dem Raspberry läuft folgendes Script welches jede TCP Verbindung auf Port 31337 mit der aktuellen Temperatur beantwortet.


<nowiki>
<nowiki>
import socket
import socket
import SocketServer
import SocketServer
Zeile 40: Zeile 40:
   server.serve_forever()
   server.serve_forever()
  </nowiki>
  </nowiki>
[[Kategorie:Projekte]]

Version vom 5. November 2015, 20:36 Uhr

Am Raspberry im Raum der K4CG ist auf folgende weise ein DS18B20 Temperatur Sensor angeschlossen:

(http://www.reuk.co.uk/DS18B20-Temperature-Sensor-with-Raspberry-Pi.htm)

 Pin 1 -> Ground
 Pin 2 -> GPIO 4
 Pin 3 -> 3,3v

Damit das Thermometer erkannt wird, muss in der Datei /boot/config.txt die Zeile

 dtoverlay=w1-gpio

eingefügt werden.

Auf dem Raspberry läuft folgendes Script welches jede TCP Verbindung auf Port 31337 mit der aktuellen Temperatur beantwortet.

import socket import SocketServer def get_temp(): tempfile = open("/sys/bus/w1/devices/28-0315715dbaff/w1_slave") thetext = tempfile.read() tempfile.close() tempdata = thetext.split("\n")[1].split(" ")[9] temperature = float(tempdata[2:]) temperature = temperature / 1000 return str(round(temperature,2)) class MyTCPHandler(SocketServer.BaseRequestHandler): def handle(self): print "connection received" self.request.sendall(get_temp()) class V6Server(SocketServer.TCPServer): address_family = socket.AF_INET6 if __name__ == "__main__": HOST, PORT = "2001:a60:f073:0:76da:38ff:fe00:5e92", 31337 server = V6Server((HOST, PORT), MyTCPHandler) server.serve_forever()