Пример #1
0
    def main(self):
        # for DHT11/DHT22
        sensor = seeed_dht.DHT("11", 12)
        # for DHT10
        # sensor = seeed_dht.DHT("10")

        # while True:
        humi, temp = sensor.read()

        #for x in range(1,50):
        var = ""
        if not humi is None:
            var = "DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*".format(
                sensor.dht_type, humi, temp)
            # print('DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(sensor.dht_type, humi, temp), file=open("./../logfiles/Temp_Hum.txt", "a"))
            print('DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(
                sensor.dht_type, humi, temp))
        else:
            # print('DHT{0}, humidity & temperature: {1}'.format(sensor.dht_type, temp), file=open("./../logfiles/Temp_Hum.txt", "a"))
            var = "DHT{0}, humidity & temperature: {1}'.format(sensor.dht_type, temp)"
            print('DHT{0}, humidity & temperature: {1}'.format(
                sensor.dht_type, temp))
        # print(var)
        client.publish("topic/temp", var)
        return temp
Пример #2
0
def dht_v2():
    sensor = seeed_dht.DHT("11", 5)
    humi, temp = sensor.read()
    result = ''
   
    result = '{}'.format(humi)
    return result
Пример #3
0
def calcTemp():
	print(bcolors.OKBLUE+"Sensor de temperatura y humedad"+bcolors.ENDC)
	sensor = seeed_dht.DHT("11", 12)
	tempHumi = []
	humi, temp = sensor.read()
	tempHumi.append(temp)
	tempHumi.append(humi)
	return tempHumi
Пример #4
0
def getDht():
    sensor = seeed_dht.DHT("11", 12)
    humi, temp = sensor.read()
    result = ''
    if not humi is None:
        result = 'DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(sensor.dht_type, humi, temp)
    else:
        result = 'DHT{0}, humidity & temperature: {1}'.format(sensor.dht_type, temp)

    return result
Пример #5
0
def dht11():    # for DHT11/DHT22
    sensor = seeed_dht.DHT("11", 12)
    # for DHT10
    # sensor = seeed_dht.DHT("10")

    while True:
        humi, temp = sensor.read()
        if not humi is None:
            print('DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(sensor.dht_type, humi, temp))
        else:
            print('DHT{0}, humidity & temperature: {1}'.format(sensor.dht_type, temp))
        time.sleep(1)
Пример #6
0
def dht_v1():
    sensor = seeed_dht.DHT("11", 12)
    humi, temp = sensor.read()
    
    now = datetime.now().strftime('%H:%M:%S')    #시간
    Dtime=str(now) #현재시간
    con = sqlite3.connect('DB_1.db') # db연결 DB_1.db파일과 테이블은 미리 제가 DB.make로 만들어 놨습니다!!
    cur = con.cursor() 
    sql_insert = "insert into test_1 values('{}', '{}','{}')".format(Dtime,humi, temp) #저장은 시간을 맞쳐주기위해 한꺼번에 사실상 큰차이도 없으니 괜찮다고 봅니다.
    cur.execute(sql_insert)
    con.commit()
    result = '{}'.format(humi)
    return result
Пример #7
0
def readTemperatureAndHumidity():
    sensor_dht11 = seeed_dht.DHT("11", 22)
    counts = 0
    sum = [0, 0]
    while counts < 5:
        humi, temp = sensor_dht11.read()
        if not humi is None:
            counts += 1
            sum[0] += humi
            sum[1] += temp
        else:
            print('DHT{0}, humidity & temperature: {1}'.format(
                sensor_dht11.dht_type, temp))
    results = [sum[0] / (counts), sum[1] / (counts)]
    print('>>Humedad {1:.1f}%, temperature {2:.1f}*'.format(
        sensor_dht11.dht_type, results[0], results[1]))
    return results[1]
Пример #8
0
def observe():
    print('Observe Start')
    door = Door(17)
    disp = Disp()
    sensor = seeed_dht.DHT("22", 12)
    while True:
        result = door.update()
        humi, temp = sensor.read()
        sql = f"INSERT INTO temp_record(humi,temp) VALUES ({humi:.2f},{temp:.2f});"
        cur.execute(sql)
        if result[0]:
            sql = f"INSERT INTO door_record(is_open) VALUES ('{result[1]}');"
            cur.execute(sql)
        try:
            disp.draw(result[1], humi, temp)
            time.sleep(0.5)
            conn.commit()
        except KeyboardInterrupt:
            pass
def sensor_readings():
    from grove.helper import SlotHelper

    # sh = SlotHelper(SlotHelper.ADC)
    #pin = sh.argv2pin()

    #moisture_sensor_1 = GroveMoistureSensor(0)
    moisture_sensor_2 = GroveMoistureSensor(2)
    dht_sensor = seeed_dht.DHT("11", 12)
    print('Detecting moisture...')

    m2 = 0
    for x in range(3):
        #m1 = moisture_sensor_1.moisture
        #start_time = time.time()
        m2 = moisture_sensor_2.moisture + m2
        #print("--- %s seconds ---" % (time.time() - start_time))

    m2 = m2 / 3
    m2 = int(m2)

    humi, temp = dht_sensor.read()
    #result1 = moisture_level(m1,Potato)
    result2 = moisture_level(m2, Potato)
    #print('Moisture value 1: {0}, {1} '.format(m1, result1))
    print('Moisture value 2: {0},{1}'.format(m2, result2))

    if not humi is None:
        print('DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(
            dht_sensor.dht_type, humi, temp))
    else:
        print('DHT{0}, humidity & temperature: {1}'.format(
            dht_sensor.dht_type, temp))
    #data='Sensor 1 Soil Moisture Level is: {0}, {1}. || \n Sensor 2 Soil Moisture Level is {2} {3}. || \nHumidity {4:.1f}%, temperature {5:.1f}*. '.format(m1, result1,m2,result2, humi, temp)
    data = (m2, humi, temp)
    print(type(data))
    return {'m2': m2, 'humidity': humi, 'temp': temp}
Пример #10
0
 def __init__(self):
     self.sensor = seeed_dht.DHT("11", 12)
     self.read = [0, 0]
Пример #11
0
def main():

    env = os.environ.get("ENVIRONMENT")
    interval = int(os.environ.get("INTERVAL", 10))
    api_key = os.environ.get("APIKEY")
    filepath = os.environ.get("FILEPATH", "data.csv")
    if api_key is None:
        raise ValueError("Environment variable APIKEY not found")

    if env is None:
        env = "development"

    if env == "development":
        logging.basicConfig(level=logging.DEBUG)
        http_logger = urllib.request.HTTPHandler(debuglevel=1)
        opener = urllib.request.build_opener(
            urllib.request.HTTPHandler(debuglevel=1),
            urllib.request.HTTPSHandler(debuglevel=1))
        urllib.request.install_opener(opener)
    elif env == "production":
        logging.basicConfig(level=logging.WARNING)
    else:
        raise ValueError(
            "Environment variable ENVIRONMENT is development or production")

    sensor1 = seeed_dht.DHT("11", 5)
    sensor2 = seeed_dht.DHT("11", 22)
    sensor3 = GPIO(16, GPIO.IN)

    while True:
        ts = int(time.time())
        humi1, temp1 = sensor1.read()
        humi2, temp2 = sensor2.read()
        mag = sensor3.read()

        logging.info("timestamp {}".format(ts))
        logging.info(
            'DHT{0}#1, humidity {1:.1f}%, temperature {2:.1f}*'.format(
                sensor1.dht_type, humi1, temp1))
        logging.info(
            'DHT{0}#2, humidity {1:.1f}%, temperature {2:.1f}*'.format(
                sensor2.dht_type, humi2, temp2))
        logging.info("Magnetic {}".format(mag))

        data = json.dumps(
            {
                "agent":
                "test",
                "metrics": [{
                    "name": "temperature_1",
                    "namespace": "Environment Sensor",
                    "data_point": {
                        "timestamp": ts,
                        "value": temp1
                    }
                }, {
                    "name": "temperature_2",
                    "namespace": "Environment Sensor",
                    "data_point": {
                        "timestamp": ts,
                        "value": temp2
                    }
                }, {
                    "name": "humidity_1",
                    "namespace": "Environment Sensor",
                    "data_point": {
                        "timestamp": ts,
                        "value": humi1
                    }
                }, {
                    "name": "humidity_2",
                    "namespace": "Environment Sensor",
                    "data_point": {
                        "timestamp": ts,
                        "value": humi2
                    }
                }, {
                    "name": "Magnetic",
                    "namespace": "Environment Sensor",
                    "data_point": {
                        "timestamp": ts,
                        "value": mag
                    }
                }]
            },
            separators=(',', ':')).encode("UTF-8")
        headers = {
            "Content-Type": "application/json",
            "Authorization": "Bearer {}".format(api_key)
        }
        logging.debug(data)
        logging.debug(headers)

        req = urllib.request.Request("https://gw.machinist.iij.jp/endpoint",
                                     data=data,
                                     headers=headers,
                                     method="POST")
        res = urllib.request.urlopen(req)
        logging.debug("response code is : {}".format(res.getcode()))
        logging.debug("response is : {}".format(res.read().decode("utf-8")))

        with open(filepath, "a") as f:
            f.write("{},{},{},{},{}\n".format(temp1, humi1, temp2, humi2, mag))

        time.sleep(interval)
Пример #12
0
def temphumi():
    parser = argparse.ArgumentParser()
    parser.add_argument("db", help="database name")
    parser.add_argument("token", help="secret token")
    args = parser.parse_args()
    corlysis_params = {
        "db": args.db,
        "u": "token",
        "p": args.token,
        "precision": "ms"
    }
    payload = ""
    counter = 1
    problem_counter = 0
    sensor = seeed_dht.DHT("11", 22)
    i = 1
    while i <= 10:
        unix_time_ms = int(time.time() * 1000)
        dataset = sensor.read()
        humi = dataset[0]
        temp = dataset[1]
        init = "temp_humi,temp="
        cont = "humidity="
        if humi >= 65 or temp >= 25:
            if humi >= 65:
                print("Es lo que tiene Bilbao")
                led.encender()
            if temp >= 25:
                print("Para ser invierno esta bien")
                led.encender()
        else:
            led.apagar()

        if not humi is None:
            print('humidity {1:.1f}% temperature {2:.1f}ºC'.format(
                sensor.dht_type, humi, temp, unix_time_ms))
            line = "{}{} {}{}".format(init, str(temp), cont, str(humi))
            payload += line
            print(payload)
            i = i + 1
            time.sleep(1.5)
        else:
            print('humidity & temperature: {1}'.format(sensor.dht_type, humi,
                                                       temp, unix_time_ms))
        if counter % SENDING_PERIOD == 0 or counter % SENDING_PERIOD != 0:
            try:
                r = requests.post(URL, params=corlysis_params, data=payload)
                payload = ""
                if r.status_code == 204:
                    print("HTTP/1.1 204")
                if r.status_code != 204:
                    raise Exception("data not written")
            except:
                problem_counter += 1
                if problem_counter == MAX_LINES_HISTORY:
                    problem_counter = 0
                    payload = ""
        counter += 1
        time_diff_ms = int(time.time() * 1000) - unix_time_ms
        if time_diff_ms < READING_DATA_PERIOD_MS:
            time.sleep((READING_DATA_PERIOD_MS - time_diff_ms) / 1000.0)
Пример #13
0
 def __init__(self, dht_type="11", pin=12):
     self.sensor = seeed_dht.DHT(dht_type, pin)
Пример #14
0
 def __init__(self, channel):
     self.__sensor = seeed_dht.DHT("22", 12)
     self.__humidity_sum = 0
     self.__humidity_count = 0
     self.__temperature_sum = 0
     self.__temperature_count = 0
Пример #15
0
 def __init__(self, channel, sensor_type):
     self.dht_sensor = seeed_dht.DHT(sensor_type, channel)
Пример #16
0
import time
import seeed_dht

# for DHT11/DHT22
sensor = seeed_dht.DHT("11", 5)
# for DHT10
# sensor = seeed_dht.DHT("10")

while True:
    humi, temp = sensor.read()
    if not humi is None:
        print('DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(
            sensor.dht_type, humi, temp))
    else:
        print('DHT{0}, humidity & temperature: {1}'.format(
            sensor.dht_type, temp))
    time.sleep(1)
Пример #17
0
import serial, time
from grove.grove_air_quality_sensor_v1_3 import GroveAirQualitySensor
import seeed_dht
from Adafruit_IO import Client, RequestError, Feed

ADAFRUIT_IO_USERNAME = "******"
ADAFRUIT_IO_KEY = "aio_sbdd13JnvgvZxpg4IEFOS6tdTAEn"

aio = Client(ADAFRUIT_IO_USERNAME, ADAFRUIT_IO_KEY)

# connect to alalog pin 2(slot A2)
PIN = 0
baudrate = 9600
ser = serial.Serial('/dev/ttyUSB0', baudrate)
# for DHT11/DHT22
sensor2 = seeed_dht.DHT("22", 12)

sensor = GroveAirQualitySensor(PIN)


def create_feed_if_not_exist(feed_name):
    global feed_to_create
    try:
        feed_to_create = aio.feeds(feed_name)
    except RequestError:  # Doesn't exist, create a new feed
        feed = Feed(name=feed_name)
        feed_to_create = aio.create_feed(feed)


create_feed_if_not_exist("pmtwofive")
create_feed_if_not_exist("pmten")
Пример #18
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "-i",
        "--id",
        required=True,
        help="The id of the sensor (can be any meaningful string")
    parser.add_argument("-e",
                        "--endpoint",
                        help="The entire REST endpoint (including http/https)")
    parser.add_argument("-p",
                        "--poll",
                        type=int,
                        help="Poll interval in seconds")
    parser.add_argument("-d",
                        "--debug",
                        action='store_true',
                        default=False,
                        help="Produce debug output")
    args = parser.parse_args()

    global _debug
    _debug = args.debug

    debug("Opening Air Quality sensor")
    air_quality_sensor = GroveAirQualitySensor(AIR_QUALITY_SENSOR_PIN)
    debug("Opening Temperature and Humidity sensor")
    temperature_and_humidity_senor = seeed_dht.DHT(TEMPERATURE_SENSOR_MODEL,
                                                   TEMPERATURE_SENSOR_PIN)

    try:
        while True:
            debug("Reading Air Quality sensor")
            # Divide result by 10 to get to percentage of pollution
            # (int): pollution ratio, 0(0.0%) - 1000(100.0%), 0 is best air quality, 1000 worst air quality
            air_pollution = air_quality_sensor.value / 10.0
            debug("Value air quality sensor: {0}".format(air_pollution))

            debug("Reading Temperature and Humidity sensor")
            # Humidity in percent, temperature in Celsius
            humidity, temperature = temperature_and_humidity_senor.read()
            debug(
                "Values Temperature and Humidity sensor: humidity: {0}, temperature: {1}"
                .format(humidity, temperature))

            # Current timestamp in UTC
            tms = datetime.datetime.utcnow()

            # Send data
            if args.endpoint is None:
                debug("Sending data to stdout")
                debug("Raw data: {0}, {1}, {2}, {3}, {4}".format(
                    args.id, tms, air_pollution, humidity, temperature))
                print(
                    'Id: "{0}", Timestamp (UTC): "{1}", Air pollution: {2:.1f}%, '
                    'Humidity: {3:.1f}%, Temperature: {4:.1f}c'.format(
                        args.id, tms, air_pollution, humidity, temperature))
            else:
                debug("Sending data to REST endpoint")
                data = {
                    "id": args.id,
                    "tms_utc": tms.isoformat() + 'Z',
                    "air_poll_pct": round(air_pollution, 1),
                    "humi_pct": round(humidity, 1),
                    "temp_celsius": round(temperature, 1)
                }
                debug("Raw data:\n{0}".format(json.dumps(data, indent=4)))

                headers = {'Content-type': 'application/json'}
                http_response = requests.post(args.endpoint,
                                              data=json.dumps(data),
                                              headers=headers)

                debug("HTTP response status code: {0}".format(
                    http_response.status_code))
                if http_response.status_code != 200:
                    print("Error sending REST call: " + http_response.reason)
                    debug(http_response.text)

            if args.poll is not None:
                time.sleep(args.poll)
    except KeyboardInterrupt:
        print("Exiting program.")