Example #1
0
def main():
    """main part"""

    qvalue_temp_indoor = SensorValue("ID_01", "TempWohnzimmerIndoor",
                                     SensorValue_Data.Types.Temp, "°C")
    qvalue_humi_indoor = SensorValue("ID_02", "HumiWohnzimmerIndoor",
                                     SensorValue_Data.Types.Humi, "% rF")
    qvalue_temp_outdoor = SensorValue("ID_03", "TempWohnzimmerOutdoor",
                                      SensorValue_Data.Types.Temp, "°C")
    qvalue_humi_outdoor = SensorValue("ID_04", "HumiWohnzimmerOutdoor",
                                      SensorValue_Data.Types.Humi, "% rF")
    qvalue_pressure = SensorValue("ID_05", "Luftdruck",
                                  SensorValue_Data.Types.Pressure, "hPa")
    qvalue_temp_realoutdoor = SensorValue("ID_12", "TempRealOutdoor",
                                          SensorValue_Data.Types.Temp, "°C")
    qvalue_temp_indoor2 = SensorValue("ID_13", "TempWohnzimmerFenster",
                                      SensorValue_Data.Types.Temp, "°C")

    sq.register(qvalue_temp_indoor)
    sq.register(qvalue_humi_indoor)
    sq.register(qvalue_temp_outdoor)
    sq.register(qvalue_humi_outdoor)
    sq.register(qvalue_pressure)
    sq.register(qvalue_temp_realoutdoor)
    sq.register(qvalue_temp_indoor2)

    bme280   = BME280.BME280(qvalue_pressure=qvalue_pressure, \
                             qvalue_temp=qvalue_temp_indoor,  \
                             qvalue_humi=qvalue_humi_indoor)
    global ds1820_1
    ds1820_1 = DS1820.DS1820("/sys/bus/w1/devices/28-000006d62eb1/w1_slave",
                             qvalue_temp_realoutdoor)
    ds1820_2 = DS1820.DS1820("/sys/bus/w1/devices/28-000006dc8d42/w1_slave",
                             qvalue_temp_indoor2)
    htu21df = HTU21DF.HTU21DF(qvalue_temp=qvalue_temp_outdoor,
                              qvalue_humi=qvalue_humi_outdoor)
    cpu = CPU.CPU()

    rrd_template    = DS_TEMPINDOOR      + ":" + \
                      DS_TEMPOUTDOOR     + ":" + \
                      DS_HUMIINDOOR      + ":" + \
                      DS_HUMIOUTDOOR     + ":" + \
                      DS_REALTEMPOUTDOOR + ":" + \
                      DS_TEMPINDOOR2     + ":" + \
                      DS_AIRPRESSURE     + ":" + \
                      DS_TEMPCPU

    while True:
        bme280_pressure = bme280.read_pressure() / 100.0  # indoor #
        bme280_temperature = bme280.read_temperature()
        bme280_humidity = bme280.read_humidity()
        if platform == Platform.NANOPI:
            ds1820_1.consume_cpu_start()
        ds1820_1_temperature = ds1820_1.read_temperature()
        ds1820_2_temperature = ds1820_2.read_temperature()
        if platform == Platform.NANOPI:
            ds1820_1.consume_cpu_stop()
        htu21df_temperature = htu21df.read_temperature()  # outdoor #
        htu21df_humidity = htu21df.read_humidity()
        cpu_temp = cpu.read_temperature()

        rrd_data = "N:" + \
                   ":".join("{:.2f}".format(d) for d in [bme280_temperature,   \
                                                         htu21df_temperature,  \
                                                         bme280_humidity,      \
                                                         htu21df_humidity,     \
                                                         ds1820_1_temperature, \
                                                         ds1820_2_temperature, \
                                                         bme280_pressure,   \
                                                         cpu_temp])

        # print(rrd_template)
        print(strftime("%Y%m%d %X:"), rrd_data)
        rrdtool.update(DATAFILE, "--template", rrd_template, rrd_data)

        sleep(45)
Example #2
0
# -*- coding: utf-8 -*-
###############################################################################
# test_htu21df.py                                                             #
# (c) https://github.com/thomaspfeiffer-git 2016                              #
###############################################################################
"""Tests sensor HTU21DF (humidity, temperature."""

import sys
from time import sleep, strftime

sys.path.append('../libs')
sys.path.append('../libs/sensors')

import HTU21DF  # temperature, humidity

htu21df = HTU21DF.HTU21DF()

while True:
    htu21df_temperature = htu21df.read_temperature()
    htu21df_humidity = htu21df.read_humidity()

    values = ":".join("{:.2f}".format(d) for d in [htu21df_humidity,    \
                                                   htu21df_temperature])
    print(strftime("%Y%m%d %X:"), values)
    # print("HTU21DF    | Humi  | {:>8.2f} | % rF    |".format(htu21df_humidity))
    # print("HTU21DF    | Temp  | {:>8.2f} | C       |".format(htu21df_temperature))

    sleep(1)

# eof #
#let's pretend we are ready for Python 3
from __future__ import print_function

import HTU21DF
import math
import time

#For my Raspbery Pi B+ it is 1, read your docs
BUS_NO = 1

#For my device, the I2C address is 0x40
ADDR_HTU21 = 0x40

#Initialize with bus_no and ADDR
htu = HTU21DF.HTU21DF(BUS_NO, ADDR_HTU21)

#Performing a soft reset (should reset the values in User register)
htu.soft_reset()

#Let's print some info about the sensor.
#Loading into variable, so we do not have to use the I2C bus
user_reg = htu.read_user_reg()
htu.print_user_reg(user_reg)

#HTU21D-F reading temperature (a CRC check is performed, but on error, only message is printed!)
t_c = htu.read_temp_degC()  #in degree Celsius
#HTU21D-F reading humidity (a CRC is checked; on error, only message is printed!)
hum = htu.read_humidity_percent()  #in % (relative humidity)
print("Values reaad: Temp [degC]: {}, RH [%] {}".format(t_c, hum))