예제 #1
0
class TemperatureSensor(Sensor):
    def __init__(self,
                 pin,
                 name='TemperatureHumiditySensor',
                 key=None,
                 connection=default_connection,
                 redis_conn=None):
        super().__init__(pin,
                         name=name,
                         key=key,
                         connection=connection,
                         redis_conn=redis_conn)
        return

    def init_sensor(self):
        self.sensors = DallasTemperature(self.pin, connection=self.connection)
        self.sensor_bus = self.sensors.getDeviceCount()
        # read data using pin specified pin
        Logger.log(LOG_LEVEL["debug"], "There are", self.sensor_bus,
                   "devices connected on pin ", self.sensors.pin)
        self.addresses = []

        for i in range(self.sensor_bus):
            self.addresses.append(self.sensors.getAddress(i))

        Logger.log(LOG_LEVEL["debug"], "Their addresses", self.addresses)
        #I guess this is something with bit rates? TODO: Look this up
        self.sensors.setResolution(10)

    #sensor = id of sensor you want in addresses[]
    def read(self):
        #temp = self.sensors.getTempF(sensor)
        #self.r.set('temp_'+str(sensor), temp)
        #return temp
        return self.readAll()

    def readAll(self):
        self.sensors.requestTemperatures()
        temps = {}
        for i in range(self.sensor_bus):
            temp = self.sensors.getTempC(i)
            temps['temp_' + str(i)] = temp
            #self.r.set(self.key+'_'+str(i), temp)
            #print("Device %d (%s) " % (i, self.addresses[i]))
            #print("Let's convert it in Fahrenheit degrees: %0.2f" % DallasTemperature.toFahrenheit(temp))
        self.r.set(self.key, temps)
        return temps
from nanpy import DallasTemperature, SerialManager

device = '/dev/cu.usbmodem1411'
connection = SerialManager(device=device)
connection.open()

sensors = DallasTemperature(connection=connection, pin=2)
n_sensors = sensors.getDeviceCount()

print("There are %d devices connected on pin %d" % (n_sensors, sensors.pin))
addresses = []

for i in range(n_sensors):
    addresses.append(sensors.getAddress(i))

sensors.setResolution(12)

while True:
    sensors.requestTemperatures()
    for i in range(n_sensors):
        temp = sensors.getTempC(i)
        print("Device %d (%s) temperature, in Celsius degrees is %0.2f" % (i, addresses[i], temp))
        print("Let's convert it in Fahrenheit degrees: %0.2f" % DallasTemperature.toFahrenheit(temp))
    print("\n")
예제 #3
0
#!/usr/bin/env python

# Author: Andrea Stagi <*****@*****.**>
# Description: just a test for DallasTemperature
# Dependencies: None

from nanpy import DallasTemperature

sensors = DallasTemperature(5)

while True:
    print("There are %d devices connected on pin %d" %
          (sensors.getDeviceCount(), sensors.pin))
    sensors.requestTemperatures(0)
    addr = sensors.getAddress(0)
    temp = sensors.getTempC(addr)
    print("The temperature, in Celsius degrees is %0.2f" % temp)
    print("Let's convert it in Fahrenheit degrees: %0.2f" %
          DallasTemperature.toFahrenheit(temp))
예제 #4
0
#!/usr/bin/env python

# Author: Andrea Stagi <*****@*****.**>
# Description: just a test for DallasTemperature
# Dependencies: None

from nanpy import DallasTemperature

sensors = DallasTemperature(5)

print("There are %d devices connected on pin %d" % (sensors.getDeviceCount(), sensors.pin))
addr = sensors.getAddress(0)
sensors.setResolution(9)
while True:
    sensors.requestTemperatures(0)
    temp = sensors.getTempC(addr)
    print("The temperature, in Celsius degrees is %0.2f" % temp)
    print("Let's convert it in Fahrenheit degrees: %0.2f" % DallasTemperature.toFahrenheit(temp))

예제 #5
0
from nanpy import DallasTemperature, SerialManager

device = '/dev/cu.usbmodem1411'
connection = SerialManager(device=device)
connection.open()

sensors = DallasTemperature(connection=connection, pin=2)
n_sensors = sensors.getDeviceCount()

print("There are %d devices connected on pin %d" % (n_sensors, sensors.pin))
addresses = []

for i in range(n_sensors):
    addresses.append(sensors.getAddress(i))

sensors.setResolution(12)

while True:
    sensors.requestTemperatures()
    for i in range(n_sensors):
        temp = sensors.getTempC(i)
        print("Device %d (%s) temperature, in Celsius degrees is %0.2f" %
              (i, addresses[i], temp))
        print("Let's convert it in Fahrenheit degrees: %0.2f" %
              DallasTemperature.toFahrenheit(temp))
    print("\n")