Exemplo n.º 1
0
    def __init__(self, *args, pin=4, **kwargs):
        super(AM2302, self).__init__(*args, **kwargs)
        self.pin = pin

        self.temp_char = self.get_service("TemperatureSensor")\
                             .get_characteristic("CurrentTemperature")

        self.humidity_char = self.get_service("HumiditySensor")\
                                 .get_characteristic("CurrentRelativeHumidity")

        self.sensor = DHT22.sensor(pigpio.pi(), pin)
Exemplo n.º 2
0
    def __init__(self, *args, pin=4, **kwargs):
        super().__init__(*args, **kwargs)
        self.pin = pin

        serv_temp = self.add_preload_service('TemperatureSensor')
        serv_humidity = self.add_preload_service('HumiditySensor')

        self.char_temp = serv_temp.get_characteristic('CurrentTemperature')
        self.char_humidity = serv_humidity \
            .get_characteristic('CurrentRelativeHumidity')

        self.sensor = DHT22.sensor(pigpio.pi(), pin)
Exemplo n.º 3
0
 def __setstate__(self, state):
     self.__dict__.update(state)
     self.sensor = DHT22.sensor(pigpio.pi(), self.pin)
Exemplo n.º 4
0
from time import sleep

import pigpio
from sensors import DHT22

pi = pigpio.pi()
dht22 = DHT22.sensor(pi, 27)

HUMID_LOWER_LIMIT = 75  # percent
DRY_UPPER_LIMIT = 25  # percent

is_initialised = False


def init_sensor():
    dht22.trigger()
    sleep(0.5)
    global is_initialised
    is_initialised = True


def get_humidity():
    if not is_initialised:
        init_sensor()
    dht22.trigger()

    return dht22.humidity()


def is_humid():
    return get_humidity() >= HUMID_LOWER_LIMIT
Exemplo n.º 5
0
from datetime import datetime
from time import sleep

latitude, longitude, temperature, humidity, PM1_0, PM2_5, PM10 = '25.045582', '121.531032', '', '', '', '', ''

data = dict(app="AirBot-Pi",
            device_id="1001000",
            device="AirBot Pi",
            ver_format="3",
            fmt_opt="0",
            FAKE_GPS="1",
            gps_fix="1",
            gps_num="100",
            gps_lat=latitude,
            gps_lon=longitude,
            s_t0=temperature,
            s_h0=humidity,
            s_d2=PM1_0,
            s_d0=PM2_5,
            s_d1=PM10)

while True:
    data['s_h0'], data['s_t0'] = map(lambda num: round(num) if num else '',
                                     DHT22.t_h())
    data['s_d0'] = PPD42NS.pm25()

    upload(data)
    print("[" + datetime.today().strftime('%Y-%m-%d %H:%M:%S') + "]" +
          " upload done!")
    print(data)
    sleep(60)
Exemplo n.º 6
0
if __name__ == "__main__":

    print(f"[sensor_capture] [{datetime.today()}] Starting!")

    config_file = Path(__file__).parent.absolute().joinpath(
        "configuration/conf.yml")
    with open(config_file, 'r') as yamlfile:
        config = yaml.safe_load(yamlfile)

    debug = config["debug"]
    sensor_pin = config["sensor_pin"]
    aggregation_time = config["aggregation_time"]
    im_alive_countdown_sec = config["im_alive_countdown_sec"]

    dht22 = DHT22(sensor_pin=sensor_pin, debug=debug)
    rc = RedisClient()
    gms = GoogleMailSender()

    aggregation_hourglass = Hourglass(aggregation_time)
    alive_hourglass = Hourglass(im_alive_countdown_sec)

    opt_temp_tc = ThresholdCheck(config["lb_opt_temp"], config["ub_opt_temp"])
    crit_temp_tc = ThresholdCheck(config["lb_crit_temp"],
                                  config["ub_crit_temp"])

    opt_hum_tc = ThresholdCheck(config["lb_opt_hum"], config["ub_opt_hum"])
    crit_hum_tc = ThresholdCheck(config["lb_crit_hum"], config["ub_crit_hum"])

    disk_space_tc = ThresholdCheck(config["disk_space_gb"], 100000)