from picamera import PiCamera from time import sleep from datetime import datetime import RPi.GPIO as GPIO import board import adafruit_dht import smbus import time #Connect Sensors #Camera #camera = PiCamera() #Air Temp&Humidity dhtDevice = adafruit_dht.DHT22(board.D4, use_pulseio=False) #Earth Humidity chanel = 21 GPIO.setmode(GPIO.BCM) GPIO.setup(chanel, GPIO.IN) # Brightness Sensor bus = smbus.SMBus(1) bus.write_byte_data(0x39, 0x00 | 0x80, 0x03) bus.write_byte_data(0x39, 0x01 | 0x80, 0x02) def readSensors(): #Connect Sensors #Camera #camera = PiCamera() #Air Temp&Humidity dhtDevice = adafruit_dht.DHT22(board.D4, use_pulseio=False) #Earth Humidity chanel = 21 GPIO.setmode(GPIO.BCM) GPIO.setup(chanel, GPIO.IN) #Camera #camera.start_preview() dt = datetime.now() ts = datetime.timestamp(dt) #name = "/home/pi/Pictures/{}.jpg".format(ts) #camera.capture(name) print("Camera on") #camera.stop_preview() #Air Temp&Humidity temperature_c = dhtDevice.temperature humidity = dhtDevice.humidity print("Temp: {:.1f} C Humidity: {}% ".format(temperature_c, humidity)) #Earth Humidit: ground_humidity = GPIO.input(chanel) print("Earth Humitiy: {}".format(ground_humidity)) #Brightness Sensor # Read data back from 0x0C(12) with command register, 0x80(128), 2 bytes # ch0 LSB, ch0 MSB data = bus.read_i2c_block_data(0x39, 0x0C | 0x80, 2) # Read data back from 0x0E(14) with command register, 0x80(128), 2 bytes # ch1 LSB, ch1 MSB data1 = bus.read_i2c_block_data(0x39, 0x0E | 0x80, 2) # Convert the data ch0 = data[1] * 256 + data[0] ch1 = data1[1] * 256 + data1[0] light_intesity = ch0-ch1 # Output data to screen print("Visible Value :%d lux" %(ch0 - ch1)) return {"Air_Temperature": temperature_c, "Air_Humidity": humidity, "Ground Humidity": ground_humidity, "Light_Intensity": light_intesity } def main(): test = readSensors() if __name__ == "__main__": main()