123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #from picamera import PiCamera
- import adafruit_dht
- import adafruit_tsl2561
- import board
- import json
-
- class RaspySensors:
- """
- Class to handle all sensors
-
- Returns:
- _type_: _description_
- """
-
- def __init__(self):
- """
- Init all Sensors
- """
- #[ ]TODO Message if Error
-
-
- #Air Temperature & Humidity
- self.dht22 = adafruit_dht.DHT22(board.D4, use_pulseio=False)
-
- #Brightness
- self.tsl2561 = adafruit_tsl2561.TSL2561(board.I2C())
-
- #global Variables
- self.sensorData ={
- "AirTemperature": 0.0,
- "AirHumidity" : 0.0,
- "SoilMoisture" : 0.0,
- "Brightness" : 0,
- "PlantID": 0,
- "ActionID": 0
- }
-
- def readSensors(self):
- """
- Read all Sensors and return Dictionary with data
-
- Returns:
- sensordata (dict): all data of sensors
- """
-
- #read DHT22
- #if Error reading Data try again
- while True:
- try:
- self.sensorData["AirTemperature"] = self.dht22.temperature
- self.sensorData["AirHumidity"] = self.dht22.humidity
- except:
- continue
-
- break
-
- #read TSL2561
- if type(self.tsl2561.lux) == type(None): #Max Value 40.000 -> above error
- self.sensorData["Brightness"] = 40000
- else:
- self.sensorData["Brightness"] = int(self.tsl2561.lux)
-
- #TODO SoilMoisture Sensor
-
- return self.sensorData
-
- #TODO - take picture function
- def takePicture(self):
- """
- Take picture and return picture
- Returns:
- _type_: _description_
- """
- return self.picture
-
- #TODO - read position with sensor
- def readPosition(self):
- """
- Read and return Position
-
- Returns:
- _type_: _description_
- """
- return self.position
-
- #TODO - read battery from EV3
- def readBattery(self):
- """
- Read and return battery of ev3
-
- Returns:
- _type_: _description_
- """
- return self.battery
-
-
-
- #for Testing only
- def main():
- sensors = RaspySensors()
- test = sensors.readSensors()
- print("Data:" + json.dumps(test))
-
- if __name__ == "__main__":
- main()
|