Projekt:Thermometer: Unterschied zwischen den Versionen

Aus k4cg.org
K (Gpunktschmitz verschob die Seite Thermometer nach Projekt:Thermometer: Projekt:Thermometer)
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

Version vom 11. November 2015, 17:56 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()