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)
# -*- 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))