def __init__(self, input_dev, testing=False): super(InputModule, self).__init__(input_dev, testing=testing, name=__name__) self._dew_point = None self._humidity = None self._temperature = None if not testing: from sht_sensor import Sht from sht_sensor import ShtVDDLevel self.gpio = int(input_dev.gpio_location) self.pin_clock = input_dev.pin_clock sht_sensor_vdd_value = { 2.5: ShtVDDLevel.vdd_2_5, 3.0: ShtVDDLevel.vdd_3, 3.5: ShtVDDLevel.vdd_3_5, 4.0: ShtVDDLevel.vdd_4, 5.0: ShtVDDLevel.vdd_5 } self.sht_voltage = sht_sensor_vdd_value[round( float(input_dev.sht_voltage), 1)] self.sht_sensor = Sht(self.pin_clock, self.gpio, voltage=self.sht_voltage)
def __init__(self, input_dev, testing=False): super(InputModule, self).__init__() self.logger = logging.getLogger("mycodo.inputs.sht1x_7x") self._dew_point = None self._humidity = None self._temperature = None if not testing: from sht_sensor import Sht from sht_sensor import ShtVDDLevel self.logger = logging.getLogger("mycodo.sht1x_7x_{id}".format( id=input_dev.unique_id.split('-')[0])) self.device_measurements = db_retrieve_table_daemon( DeviceMeasurements).filter( DeviceMeasurements.device_id == input_dev.unique_id) self.gpio = int(input_dev.gpio_location) self.clock_pin = input_dev.clock_pin sht_sensor_vdd_value = { 2.5: ShtVDDLevel.vdd_2_5, 3.0: ShtVDDLevel.vdd_3, 3.5: ShtVDDLevel.vdd_3_5, 4.0: ShtVDDLevel.vdd_4, 5.0: ShtVDDLevel.vdd_5 } self.sht_voltage = sht_sensor_vdd_value[round( float(input_dev.sht_voltage), 1)] self.sht_sensor = Sht(self.clock_pin, self.gpio, voltage=self.sht_voltage)
def get_measurement(self): """ Gets the humidity and temperature """ sht_sensor = Sht(self.clock_pin, self.pin, voltage=self.voltage) temperature = sht_sensor.read_t() humidity = sht_sensor.read_rh() dew_point = sht_sensor.read_dew_point(temperature, humidity) return dew_point, humidity, temperature
def __init__(self, input_dev, testing=False): super(SHT1x7xSensor, self).__init__() self.logger = logging.getLogger("mycodo.inputs.sht1x_7x") self._dew_point = None self._humidity = None self._temperature = None if not testing: from sht_sensor import Sht from sht_sensor import ShtVDDLevel self.logger = logging.getLogger( "mycodo.inputs.sht1x_7x_{id}".format(id=input_dev.id)) self.location = int(input_dev.location) self.clock_pin = input_dev.clock_pin self.convert_to_unit = input_dev.convert_to_unit sht_sensor_vdd_value = { 2.5: ShtVDDLevel.vdd_2_5, 3.0: ShtVDDLevel.vdd_3, 3.5: ShtVDDLevel.vdd_3_5, 4.0: ShtVDDLevel.vdd_4, 5.0: ShtVDDLevel.vdd_5 } self.sht_voltage = sht_sensor_vdd_value[round( float(input_dev.sht_voltage), 1)] self.sht_sensor = Sht(self.clock_pin, self.location, voltage=self.sht_voltage)
def __init__(self, input_dev, testing=False): super(InputModule, self).__init__() self.setup_logger(testing=testing, name=__name__, input_dev=input_dev) self._dew_point = None self._humidity = None self._temperature = None if not testing: from sht_sensor import Sht from sht_sensor import ShtVDDLevel self.device_measurements = db_retrieve_table_daemon( DeviceMeasurements).filter( DeviceMeasurements.device_id == input_dev.unique_id) self.gpio = int(input_dev.gpio_location) self.clock_pin = input_dev.clock_pin sht_sensor_vdd_value = { 2.5: ShtVDDLevel.vdd_2_5, 3.0: ShtVDDLevel.vdd_3, 3.5: ShtVDDLevel.vdd_3_5, 4.0: ShtVDDLevel.vdd_4, 5.0: ShtVDDLevel.vdd_5 } self.sht_voltage = sht_sensor_vdd_value[ round(float(input_dev.sht_voltage), 1)] self.sht_sensor = Sht( self.clock_pin, self.gpio, voltage=self.sht_voltage)
def read(self): try: sht_sensor = Sht(self.clock_pin, self.pin, voltage=self.voltage) self._temperature = sht_sensor.read_t() self._humidity = sht_sensor.read_rh() self._dewpoint = sht_sensor.read_dew_point(self.temperature, self.humidity) except: return 1
def __init__(self): self.chip_model = Common.config['Hardware']['chip_model'] if self.chip_model == 'SHT-75': self.chip = Sht(Common.config['Hardware']['SCK_BCM_num'], Common.config['Hardware']['DATA_BCM_num']) elif self.chip_model == 'DHT-11': self.chip = DHT11(Common.config['Hardware']['DATA_BCM_num']) elif self.chip_model == 'Arduino': self.chip = ArduinoAsChip() else: raise ChipModelException
def initialize(self): from sht_sensor import Sht from sht_sensor import ShtVDDLevel sht_vdd = { 2.5: ShtVDDLevel.vdd_2_5, 3.0: ShtVDDLevel.vdd_3, 3.5: ShtVDDLevel.vdd_3_5, 4.0: ShtVDDLevel.vdd_4, 5.0: ShtVDDLevel.vdd_5 } self.sensor = Sht(self.input_dev.pin_clock, int(self.input_dev.gpio_location), voltage=sht_vdd[round( float(self.input_dev.sht_voltage), 1)])
def __init__(self, pin, clock_pin, voltage, testing=False): super(SHT1x7xSensor, self).__init__() self._dew_point = None self._humidity = None self._temperature = None self.pin = pin self.clock_pin = clock_pin if not testing: from sht_sensor import Sht from sht_sensor import ShtVDDLevel sht_sensor_vdd_value = { 2.5: ShtVDDLevel.vdd_2_5, 3.0: ShtVDDLevel.vdd_3, 3.5: ShtVDDLevel.vdd_3_5, 4.0: ShtVDDLevel.vdd_4, 5.0: ShtVDDLevel.vdd_5 } self.voltage = sht_sensor_vdd_value[round(float(voltage), 1)] self.sht_sensor = Sht(self.clock_pin, self.pin, voltage=self.voltage)
import matplotlib matplotlib.use('TkAgg') from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg from matplotlib.backend_bases import key_press_handler from matplotlib.figure import Figure import numpy as np #from toggle import Toggle #----Initialization----# sht75_datagpio = 27 sht75_clkgpio = 17 sht = Sht(17, 27) GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(6, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(9, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setmode(GPIO.BCM) GPIO.setup(sht75_datagpio, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(sht75_clkgpio, GPIO.OUT, initial=GPIO.LOW) i2c_list = [99, 100, 102] #99 is pH, 100 is EC, 102 is Temp ser = serial.Serial("/dev/serial0", bytesize=8, baudrate=9600, timeout=.5) #serial connection for CO2
import os import time from ADCDifferentialPi import ADCDifferentialPi from sht_sensor import Sht import threading from datetime import datetime from random import randint from random import uniform import bme280 from ftplib import FTP import RPi.GPIO as GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) adc = ADCDifferentialPi(0x6A, 0x6B, 18) sht = Sht(5, 6) GPIO.setup(13, GPIO.OUT, initial=GPIO.HIGH) GPIO.setup(20, GPIO.OUT, initial=GPIO.HIGH) GPIO.setup(17, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(19, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(25, GPIO.OUT, initial=GPIO.HIGH) GPIO.setup(27, GPIO.OUT, initial=GPIO.HIGH) start_time = time.time() interval = 60 # set interval in seconds #interval_up = 60 # upload after x logs, 1440 for once a day path = "/home/pi/" #n_log = 0
def __init__(self, name, data, clock): self.name = name self.sht = Sht(data, clock, voltage="5V")
def print_serial(self, buffer): sht = Sht(3, 2) s = datetime.datetime.now() #self.n+=1 chksum = self.chksum_cal(buffer) data = self.unpack_data(buffer) a = data[self.DUST_PM1_0_CF1] b = data[self.DUST_PM1_0_ATM] c = data[self.DUST_PM2_5_CF1] d = data[self.DUST_PM2_5_ATM] e = data[self.DUST_PM10_0_CF1] f = data[self.DUST_PM10_0_ATM] g = data[self.DUST_AIR_0_3] h = data[self.DUST_AIR_0_5] i = data[self.DUST_AIR_1_0] j = data[self.DUST_AIR_2_5] k = data[self.DUST_AIR_5_0] l = data[self.DUST_AIR_10_0] #print(s,a,b,c,d,e,f,g,h,i,j,k,l) self.input_parameter = [ d, round(sht.read_t(), 3), round(sht.read_rh(), 3) ] self.input_parameter = np.array([self.input_parameter]) self.input_parameter = scaler.transform(self.input_parameter) # self.t+=[[model.predict(self.input_parameter),d,round(sht.read_t(),3),round(sht.read_rh(),3)]] self.ai = float(model.predict(self.input_parameter)) #print(s,a,b,c,round(sht.read_t(),3),round(sht.read_rh(),3)) # print (data[self.DUST_PM1_0_CF1], data[self.DUST_PM1_0_ATM]) # print (data[self.DUST_PM2_5_CF1], data[self.DUST_PM2_5_ATM]) # print (data[self.DUST_PM10_0_CF1], data[self.DUST_PM10_0_ATM]) # print ("0.3um in 0.1L of air : %s" % (data[self.DUST_AIR_0_3])) # print ("0.5um in 0.1L of air : %s" % (data[self.DUST_AIR_0_5])) # print ("1.0um in 0.1L of air : %s" % (data[self.DUST_AIR_1_0])) # print ("2.5um in 0.1L of air : %s" % (data[self.DUST_AIR_2_5])) # print ("5.0um in 0.1L of air : %s" % (data[self.DUST_AIR_5_0])) # print ("10.0um in 0.1L of air : %s" % (data[self.DUST_AIR_10_0])) # print ("Reserved F : %s | Reserved B : %s" % (data[self.RESERVEDF],data[self.RESERVEDB])) # print ("CHKSUM : %s | read CHKSUM : %s | CHKSUM result : %s" % (chksum, data[self.CHECKSUM], chksum == data[self.CHECKSUM])) # print ("============================================================================") self.n += 1 try: ser6.write(serial.to_bytes([0x02, 0x52, 0x00, 0x00, 0x03])) send1 = "0252000003" #send1=int(send1,16) #send1=send1.encode('utf-8') #byteToRead1 = ser6.inWaiting() s = ser6.readline() s = str(s) s = s.split(',') print(s) # gas=s[1]+","+s[2]+","+s[3]+","+s[4]+","+s[6]+","+s[7]+model.predict(self.input_parameter)+","+d+","+sht.read_t()+","+sht.read_rh() # print(gas) time_now = datetime.datetime.now() self.send = str( "AI PM 2.5 :" + str(round(self.ai, 2)) ) + ", Raw PM 2.5 :" + str(round(d, 2)) + ", Temp :" + str( round(sht.read_t(), 2)) + ", Humidity :" + str( round(sht.read_rh(), 2)) + ", CO :" + str( round(float(s[1]) / 1.2, 2) ) + ", SO2 :" + s[2] + ", H2S :" + s[3] + ", VOC: " + str( round(float(s[4]) / 3.5, 2)) + ", NO2: " + s[6] + ", O3: " + s[7] + "\r\n" self.send2 = str(time_now) + " , " + str( "AI PM 2.5 :" + str(round(self.ai, 2)) ) + ", Raw PM 2.5 :" + str(round(d, 2)) + ", Temp :" + str( round(sht.read_t(), 2)) + ", Humidity :" + str( round(sht.read_rh(), 2)) + ", CO :" + str( round(float(s[1]) / 1.2, 2) ) + ", SO2 :" + s[2] + ", H2S :" + s[3] + ", VOC: " + str( round(float(s[4]) / 3.5, 2)) + ", NO2: " + s[6] + ", O3: " + s[7] #str(float(s[4])/0.01+float(s[7])) self.send = self.send.encode('utf-8') #time.sleep(10) ser.write(self.send) print(time_now) # ser.write(s) #ser.write(self.send) #print(self.send) #print(ser6.isOpen()) self.t += [[str(self.send2)]] self.n += 1 ser6.write(serial.to_bytes([0x02, 0x53, 0x00, 0x00, 0x03])) except: print('connect error \n') if self.n == 2: print("it's start") # if self.n==5: # print(self.n) # df=pd.DataFrame(self.t) # path="/home/mems/Desktop/test/"+datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")+".csv" # df.to_csv(path) # print(self.n,"seconds _and save file") if self.n % 100 == 0: #print(self.n) df = pd.DataFrame(self.t) path = "/home/omni/Desktop/test2/" + datetime.datetime.now( ).strftime("%Y-%m-%d-%H-%M-%S") + ".csv" df.to_csv(path) #print(self.n,"seconds _and save file") self.t = []
# Read settings from file ffpi_configparser = configparser.RawConfigParser() ffpi_configfilepath = r'ffpi_settings.config' ffpi_configparser.read(ffpi_configfilepath) sht_sensor_clock = int( ffpi_configparser.get('ffpi_sht_settings', 'sensorclockpin')) sht_sensor_1_data = int( ffpi_configparser.get('ffpi_sht_settings', 'sensor1datapin')) sht_sensor_2_data = int( ffpi_configparser.get('ffpi_sht_settings', 'sensor2datapin')) # Config the pins where the SHT75 are connected # Sht(clockpin, datapin) sht_outdoor = Sht(sht_sensor_clock, sht_sensor_1_data) sht_indoor = Sht(sht_sensor_clock, sht_sensor_2_data) # Fan ON = 1, OFF =0, UNDEFINED = 2 fanstatus = 2 def sht75_read_sensors(): # Read indoor sensor sht_temperature = sht_indoor.read_t() sht_humidity = sht_indoor.read_rh() sht_dewpoint = sht_indoor.read_dew_point() sht_absolute = 216.7 * (sht_humidity / 100.0 * 6.112 * math.exp(17.62 * sht_temperature / (243.12 + sht_temperature)) / (273.15 + sht_temperature))
#--- Import Libraries import os import glob import time import datetime from datetime import datetime from datetime import date from sht_sensor import Sht filedate = date.today() outfile = '/data/sht/' + str(filedate) + '-' + 'sht_rht.csv' sht = Sht(21, 17) with open(outfile, 'a') as f: while True: f.write(datetime.utcnow().isoformat() + ',' + str(sht.read_t()) + ',' + str(sht.read_rh()) + '\n') #write the data to a string and to the output file #print 'Temperature', sht.read_t() #print 'Relative Humidity', sht.read_rh() time.sleep(10) f.flush()
# define RPi GPIO pins ("GPIO" pin reference system) sht_vcc_pin = 5 sht_data_pin = 13 sht_sck_pin = 6 # make sure sht15 sclk is set to low -- is required before power up wiringpi.digitalWrite(sht_sck_pin, 0) # power cycle sht_vcc_pin just in case wiringpi.digitalWrite(sht_vcc_pin, 0) time.sleep(3) # open 3.3v power pin tow power up sht15 temp and humidity sensor... using phyiscal pin values (no "_g") wiringpi.pinMode(sht_vcc_pin, 1) wiringpi.digitalWrite(sht_vcc_pin, 1) # identify the SHT15's "sck" and "data" pins (using GPIO numbering, i..e the "_g" values), and VDD input voltage sht = Sht(sht_sck_pin, sht_data_pin, voltage='3.5V') # loop that takes exactly 1 second to execute i = 0 start = time.time() while True: i += 1 # Read SHT temp and RH tempC = str(round(sht.read_t(), 2)) rh = str(round(sht.read_rh(), 2)) # Read datetime dt = '%s' % datetime.datetime.now() #.strftime("%Y-%m-%d %H:%M:%S") # Read tempC_pi tempC_pi = os.popen('vcgencmd measure_temp').read()[5:9] # Write to file f = open(FILENAME, "a")
broker_address = "m14.cloudmqtt.com" port = 16207 user = "******" password = "******" client = mqttClient.Client("Python") client.username_pw_set(user, password=password) client.on_connect = on_connect() client.connect(broker_address, port=port) client.loop_start() while Connected != True: time.sleep(0.1) try: while True: sht = Sht(24, 23) temperature = float(sht.read_t()) humidity = float(sht.read_rh()) time.sleep(10) client.publish("python/temperature", temperature) client.publish("python/humidity", humidity) except KeyboardInterrupt: client.disconnect() client.loop_stop()
temp = sensor.read_t() hum = sensor.read_rh(temp) except: temp = float('nan') hum = float('nan') print('Exception while reading the {}. sensor in the sensor list.'. format(idx)) answer += '{:.2f},{:.2f},'.format(temp, hum) komm.send(answer[:-1].encode()) print(answer[:-1]) # Set VDD and GND to the corresponding pins on the Pi. The standard for SHT is 3.3V. # Set the data pins according to the definition. # declare sensor on GPIO pins 14 (SCK) and 4 (DATA) sens1 = Sht(14, 4) # declare sensor on GPIO pins 8 and 11 sens2 = Sht(8, 11) # Possibility to add a third sensor: sens3 = Sht(20, 26, voltage='5V') # N.B.: you can always check the pins on the Pi with 'pinout'! # setup server/socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: s.bind(("", 50000)) s.listen(5) while True: komm, addr = s.accept()
#!/usr/bin/python from sht_sensor import Sht sht = Sht(4, 17) print "temp:", sht.read_t() print "rh:", sht.read_rh()
#!/usr/bin/env python # -*- coding: utf-8 -*- # Uso CRONTAB -e per editare ed eseguire il programma import RPi.GPIO as GPIO # access to GPIO must be through root import time import sys import datetime #from sht_sensor import Sht from sht_sensor import Sht sht = Sht(21, 17) # sensore della Sensitron SHT75 LATCH = 11 # CS GP11 pin 23 CLK = 12 # CLOCK GP12 pin 32 dataBit = 7 # DIN GP07 pin 26 #Definiamo il sistema di riferimento dei pin. Con GPIO.BCM usiamo i numeri GPIO dei pin e non # il numero dei pin. # Ad esempio con GPIO.setmode(GPIO.BCM) per riferirci al pin GPIO17, usiamo 17 (e non 11). #Per indicare che ci si riferisce al numero del pin, si usa GPIO.setmode(GPIO.BOARD) GPIO.setmode(GPIO.BCM) #usiamo la numerazione BCM GPIO.setwarnings(False) GPIO.setup(LATCH, GPIO.OUT) # P0 11 GPIO.setup(CLK, GPIO.OUT) # P1 12 GPIO.setup(dataBit, GPIO.OUT) # P7 7 #------------------------------------------------------------------------------- GPIO.output(LATCH, 0) # Setup IO GPIO.output(CLK, 0)
"""Specific module to calculate relative humidity with the sensor""" import json from sht_sensor import Sht with open('sensorConfig.json') as json_file: FILE_DATA = json.load(json_file) SHT = Sht(FILE_DATA["sht sensor pin numbers 1"], FILE_DATA["sht sensor pin numbers 2"]) class RelativeHumidity(object): """Relative Humidity Sensor GPIO pin 11 and 13""" def __init__(self): """""" def relative_humidity(self): """Specific method to get relative humidity in %RH""" return SHT.read_rh()
import configparser from sht_sensor import Sht # Read settings from file ffpi_configparser = configparser.RawConfigParser() ffpi_configfilepath = r'ffpi_settings.config' ffpi_configparser.read(ffpi_configfilepath) sht_sensor_clock = int( ffpi_configparser.get('ffpi_sht_settings', 'sensorclockpin')) sht_sensor_1_data = int( ffpi_configparser.get('ffpi_sht_settings', 'sensor1datapin')) # Config the pins where the SHT75 are connected # Sht(clockpin, datapin) sht_sensor = Sht(sht_sensor_clock, sht_sensor_1_data) def sht75_read_sensors(): # Read sensor sht_temperature = sht_sensor.read_t() sht_humidity = sht_sensor.read_rh() sht_dewpoint = sht_sensor.read_dew_point() sht_absolute = 216.7 * (sht_humidity / 100.0 * 6.112 * math.exp(17.62 * sht_temperature / (243.12 + sht_temperature)) / (273.15 + sht_temperature)) hval_sensor = format(sht_humidity, "2.1f") tval_sensor = format(sht_temperature, "2.1f") dval_sensor = format(sht_dewpoint, "2.1f")
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #import Adafruit_BMP.BMP085 as BMP085 #import Adafruit_DHT import sys, time from sht_sensor import Sht # constants #DHT_PIN = 23 # GPIO nr #DHT_SENSOR = Adafruit_DHT.DHT22 sensor = Sht(14, 4) if __name__ == '__main__': if len(sys.argv) > 1: call = sys.argv[1].lower() if call == 'temperature': temperature = None while temperature == None: #_, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN) temperature = sensor.read_t() if temperature == None: time.sleep(1.5) print(temperature) elif call == 'humidity': humidity = None while humidity == None: #humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN) temp = sensor.read_t()
#print("You entered " + str(var)) yr_name = input('Enter your name (no spaces) for the data filename: ') record_dur = input('How long do you want to record for (in seconds)?: ') filename = 'y' + day + '_' + yr_name + '_' + record_dur + 's.pkl' print('The file name will be: ' + filename) path_to_datasaving = './data/' # ======================================== # https://docs.microsoft.com/en-us/windows/iot-core/learn-about-hardware/pinmappings/pinmappingsrpi volt_read = '3.5V' # Sht.VDDLevel.vdd_5v print(volt_read) # these numbers are the GPIO numbers, not the pin numbers ! yellow_clock_pin = 11 blue_data_pin = 17 sht = Sht(yellow_clock_pin, blue_data_pin, voltage=volt_read) T_C = sht.read_t() rh = sht.read_rh(T_C) dew_point = sht.read_dew_point(T_C, rh) print(T_C,rh,dew_point) print('=================================') print('======= RECORDING NOW! ==========') print('=================================') print('TIME...TEMP [C]...HUMIDITY [%]') # ======================================== temp_ls = [] hum_ls = [] time_ls = [] time0 = time.time()
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #import Adafruit_BMP.BMP085 as BMP085 #import Adafruit_DHT import sys, time from sht_sensor import Sht from sht_sensor.sensor import ShtCRCCheckError # constants #DHT_PIN = 23 # GPIO nr #DHT_SENSOR = Adafruit_DHT.DHT22 s2 = Sht(8, 11) #SCK,DATA if __name__ == '__main__': if len(sys.argv) > 1: call = sys.argv[1].lower() if call == 'temp': temperature = None while temperature == None: try: temperature = s2.read_t() except ShtCRCCheckError: temperature = None if temperature == None: time.sleep(1.5) print(temperature) elif call == 'hum': humidity = None
RELAY_OFF = (not RELAY_ON) DELAY = 4 # Wartezeit in der Schleife count = 0 # Zähler für die Verzögerung der Befeuchtung evac = True # Variable für die "Evakuierung" zur Feuchtereduzierung durch (Abluft-)Luftaustausch #-----------------------------------------------------------------------------------------Pinbelegung BOARD_MODE = gpio.BCM # GPIO board mode PIN_DHT = 17 # Pin für Temp/Hum Sensor PIN_HEATER = 27 # Pin für Heizkabel PIN_COOL = 22 # Pin für Kühlschrankkompressor PIN_FAN = 18 # Pin für Umluftventilator PIN_FAN1 = 23 # Pin für Austauschlüfter PIN_HUM = 24 # Pin für Luftbefeuchter sht = Sht(21, 20) VERBOSE = True # Dokumentiert interne Vorgänge wortreich #-----------------------------------------------------------------------------------------RRD-Tool konfiguration dbname = 'rss' # Name fuer Grafiken etc filename = dbname +'.rrd' # Dateinamen mit Endung steps = 10 # Zeitintervall fuer die Messung in Sekunden i = 0 z = 0 # Funktionen ############################################################################################################ ######################################################################################################################## def goodbye():
# Sends temperature and humidity data to Thingspeak from a SHT sensor connected to Raspberry # Requires sht-sensor library to be installed # Sends data in every 10 mins: # crontab -e # */10 * * * * /usr/bin/python /home/pi/sht_thingspeak.py # The connections are SCK pin: GPIO 21, DATA pin: GPIO 17 # tamasharasztosi, 2018 import sys import time import RPi.GPIO as GPIO from time import sleep from sht_sensor import Sht import urllib2 myAPI = "FILL_WITH_YOUR_API" sht = Sht(21, 18) # SCK pin: GPIO 21, DATA pin: GPIO 17 print 'Temperature', sht.read_t() print 'Relative Humidity', sht.read_rh() baseURL = 'https://api.thingspeak.com/update?api_key=FILL_WITH_YOUR_API' urllib2.urlopen(baseURL + "&field1=%s&field2=%s" % (sht.read_t(), sht.read_rh())).read()