Reorganizing functions

This commit is contained in:
2022-11-28 15:30:55 -05:00
parent 001c75916f
commit f6e783b9b5

View File

@@ -16,15 +16,47 @@ password = 'falrenforbreakfast'
client_id = f'python-mqtt-office-{random.randint(0, 1000)}' client_id = f'python-mqtt-office-{random.randint(0, 1000)}'
# We first check if a libgpiod process is running. If yes, we kill it!
for proc in psutil.process_iter():
if proc.name() == 'libgpiod_pulsein' or proc.name() == 'libgpiod_pulsei':
proc.kill()
#D20 is the pin number, DHT11 is the sensor type #D20 is the pin number, DHT11 is the sensor type
sensor = adafruit_dht.DHT11(board.D20) sensor = adafruit_dht.DHT11(board.D20)
while True: #MQTT Connection
# def on_connect(client, rc):
# if rc == 0:
# print("Connected to MQTT Broker!")
# else:
# print("Failed to connect, return code %d\n", rc)
# #MQTT Connect
# client = mqtt_client.Client(client_id)
# client.username_pw_set(username, password)
# client.on_connect = on_connect
# client.connect(broker, port)
def connect_mqtt():
def on_connect(client, rc):
if rc == 0:
print("Connected to MQTT Broker!")
else:
print("Failed to connect, return code %d\n", rc)
client = mqtt_client.Client(client_id)
client.username_pw_set(username, password)
client.on_connect = on_connect
client.connect(broker, port)
return client
def run():
# We first check if a libgpiod process is running. If yes, we kill it!
for proc in psutil.process_iter():
if proc.name() == 'libgpiod_pulsein' or proc.name() == 'libgpiod_pulsei':
proc.kill()
client = connect_mqtt()
client.loop_start()
client.getValues()
def getValues():
while True:
try: try:
temp = sensor.temperature temp = sensor.temperature
humidity = sensor.humidity humidity = sensor.humidity
@@ -40,18 +72,6 @@ while True:
sensor.exit() sensor.exit()
raise error raise error
#MQTT Portion
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Connected to MQTT Broker!")
else:
print("Failed to connect, return code %d\n", rc)
client = mqtt_client.Client(client_id)
client.username_pw_set(username, password)
client.on_connect = on_connect
client.connect(broker, port)
#Publish Temp Results #Publish Temp Results
tempMsg = '{{ "temperature": {} }}'.format(temp) tempMsg = '{{ "temperature": {} }}'.format(temp)
result = client.publish(tempTopic, tempMsg) result = client.publish(tempTopic, tempMsg)
@@ -72,9 +92,10 @@ while True:
else: else:
print(f"Failed to send message to topic {humidTopic}") print(f"Failed to send message to topic {humidTopic}")
client.loop_start() time.sleep(5.0)
time.sleep(2.0)
#Now publish this via mqtt #Now publish this via mqtt
if __name__ == '__main__':
run()