Temp and Humidity Sensor
# Module Import
import LocoIOT
import time
# Compute The Average From A List Of Elements
def get_average(data_list):
# Initilize Local Variable
sumVal = 0
# Sum The Elements In The List
for i in range(len(data_list)):
sumVal = sumVal + data_list[i]
# Compute The Average
sumVal = sumVal / len(data_list)
# Return The Value Stored In The Local Variable
return sumVal
# Determine The Minimum and Maximum Value In A List
def get_min_max(data_list):
# Initilize Local Variables
minVal = data_list[0]
maxVal = data_list[0]
# Class Instances Creation
loco_iot = LocoIOT.LocoIOT()
msg = LocoIOT.IOT_Codes()
# Initiate Connection to the Microcontroller
loco_iot.connect()
# Enable Temperature and Humidity Sensor Hardware Configuration
loco_iot.enable(msg.SUBTYPE_DHT)
# Start Listening for Control/Request Messages
loco_iot.start()
# Create Empty Lists
temp_data_list = ['Temperature (C)']
humd_data_list = ['Humidity (%)']
# Loop for an Arbitrary Duration
start_time = time.time()
while (time.time() - start_time) < 100:
# Request Temperature and Humidity Data
dht_dict = loco_iot.getData(msg.SUBTYPE_DHT)
temp_data_list.append(data_dict['data list'])
humd_data_list.append(data_dict['data list'])
# Print Temperature and Humidity Dictionary
print(dht_dict)
# DHT11 Maximum Frequency is < 1Hz -- Too Fast Will Result in "0" Data
time.sleep(.6)
get_average(temp_data_list) == temp_avg
get_average(humd_data_list) == humd_avg
print(temp_avg)
print(humd_avg)
print(minVal)
print(maxVal)
# Close Connection to the Microcontroller
loco_iot.close()