Projekt:Thermometer

Aus k4cg.org
Version vom 5. November 2015, 20:37 Uhr von Gpunktschmitz (Diskussion | Beiträge) (Gpunktschmitz verschob die Seite Thermometer nach Projekt:Thermometer: Projekt:Thermometer)

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()