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
def dht_v2(): sensor = seeed_dht.DHT("11", 5) humi, temp = sensor.read() result = '' result = '{}'.format(humi) return result
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
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
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)
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
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]
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}
def __init__(self): self.sensor = seeed_dht.DHT("11", 12) self.read = [0, 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)
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)
def __init__(self, dht_type="11", pin=12): self.sensor = seeed_dht.DHT(dht_type, pin)
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
def __init__(self, channel, sensor_type): self.dht_sensor = seeed_dht.DHT(sensor_type, channel)
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)
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")
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.")