# rightSensor and broker file #Preliminary code for an outer pi, definitely not finished just an idea print("hello") import time import board import digitalio import os from gpiozero import Servo from paho.mqtt import client as mqtt from paho.mqtt import publish from paho.mqtt import subscribe IR = digitalio.DigitalInOut(board.D26) IR.direction = digitalio.Direction.INPUT servo = Servo(16) ThermalCamOff = 1 #temp variable at the moment servoPos = 0 broker = '192.168.1.15' port = 1883 topic = "peripheralSensor/rightSensor" clientID = "rightPumpkin" print("hello") def connect_mqtt(): def on_connect(client, userdata, flags, rc): if rc==0: print("connected to MQTT Broker!") else: print("failed to connect") client = mqtt.Client(clied=nt_id) client.on_connect = on_connect client.connect(broker, port) return client def publish(client, msg) result = client.publish(topic, msg) status = result[0] if status == 0: print(f"sent `{msg}` to topic `{topic}`") else: print(f"failed to send message to topic {topic}") def run(): client = connect_mqtt() client.loop_start() #sensorCodeFunction here if __name__ == '__main__': run() #os.system("your terminal command here") while(True): # here should check status of the thermal camera, assign to ThermalCamState if(ThermalCamState==0): if(IR.value==1): #publish left IR trigger, need to change localhost when we get the broker set up. #os.system("mosquitto_pub -h localhost -t 'mqtt/leftsensortrig' -m '1'") client.publish("rightSensorTrig", "1") # colbi says bigger val = more counter clockwise, -1 to 1 range servo.value=-1 time.sleep(0.8) #however long the length of time of the IR trigger is else: #if thermal cam is on # here should check status of servo position from mid pumpkin, assign to servo pos servo.value = servoPos