Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
 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
Beispiel #4
0
    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)
Beispiel #5
0
    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)
Beispiel #6
0
 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
Beispiel #8
0
    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)])
Beispiel #9
0
    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)
Beispiel #10
0
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
Beispiel #12
0
 def __init__(self, name, data, clock):
     self.name = name
     self.sht = Sht(data, clock, voltage="5V")
Beispiel #13
0
    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()
Beispiel #16
0
# 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")
Beispiel #17
0
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()
Beispiel #18
0
            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()
Beispiel #19
0
#!/usr/bin/python

from sht_sensor import Sht

sht = Sht(4, 17)
print "temp:", sht.read_t()
print "rh:", sht.read_rh()
Beispiel #20
0
#!/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")
Beispiel #23
0
#!/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()
Beispiel #24
0
#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()
Beispiel #25
0
#!/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
Beispiel #26
0
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():
Beispiel #27
0
# 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()