Projekt:Thermometer: Unterschied zwischen den Versionen
Aus k4cg.org
Keine Bearbeitungszusammenfassung |
Noqqe (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Am Raspberry im Raum der K4CG ist auf folgende | '''Dieses Projekt ist nicht mehr aktiv. Der neue Temperatur Sensor läuft auf [[Projekt:Sensors]]''' | ||
{{Infobox | |||
| maintainer = [[User:seysmow|seysmow]] | |||
| jahr = 2015 | |||
| url = [https://github.com/k4cg/raspi-thermometer github.com/k4cg/raspi-thermometer] | |||
}} | |||
Am Raspberry im Raum der K4CG ist auf folgende Weise ein DS18B20 Temperatursensor angeschlossen: | |||
(http://www.reuk.co.uk/DS18B20-Temperature-Sensor-with-Raspberry-Pi.htm) | (http://www.reuk.co.uk/DS18B20-Temperature-Sensor-with-Raspberry-Pi.htm) | ||
Aktuelle Version vom 5. Februar 2017, 11:52 Uhr
Dieses Projekt ist nicht mehr aktiv. Der neue Temperatur Sensor läuft auf Projekt:Sensors
| Projekt:Thermometer | |
| Betreuer*In | seysmow |
| Jahr | 2015 |
| URL | github.com/k4cg/raspi-thermometer |
Am Raspberry im Raum der K4CG ist auf folgende Weise ein DS18B20 Temperatursensor 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()