def moveCamera(msg): message_json = format(msg.payload.decode("UTF-8")) print(message_json) msg = json.loads(message_json) message = msg['msg'] y_speed = msg['y'] x_speed = msg['x'] enginePowers = msg['enginePowers'] formFactor = msg['formFactor'] #if message == current_message: # return #else: # self.servo15.stop() # self.servo14.stop() # self.dcmotor.stop() #UltraSonic sensor #distanceObj = UltrasonicSensor() #dist = distanceObj.distance() #current_distance = dist #print ("Measured Distance = %.1f cm" % dist) if message == "sonic_left": servo15.moveForward() if message == "sonic_right": servo15.moveBack() if message == "sonic_down": servo14.moveForward() if message == "sonic_up": servo14.moveBack() # if message == "camera_left": # servo13.moveForward() # client2 = mqtt.Client() # client2.on_connect = on_connect # client2.on_message = on_message2 # client2.on_publish = on_publish # client2.connect(MQTT_SERVER, 1883, 60) # client2.publish(MQTT_PATH, '{"msg":"from python","x":0,"y":0,"status":'+str(current_distance)+'}') # client2.disconnect() # if message == "camera_right": # servo13.moveBack() if message == "camera_forward": servo15.init() if message == "ultrasonic_align": servo14.init(150) #altitude servo15.init(120) #horizon if message == "forward": dcmotor.setPower(rightEngine=rightEngine, leftEngine=leftEngine) dcmotor.forward(speed=y_speed) if message == "right": dcmotor.setPower(rightEngine=rightEngine, leftEngine=leftEngine) dcmotor.right(speed=x_speed) if message == "left": dcmotor.setPower(rightEngine=rightEngine, leftEngine=leftEngine) dcmotor.left(speed=x_speed) if message == "back": dcmotor.setPower(rightEngine=rightEngineBack, leftEngine=leftEngineBack) dcmotor.back(speed=y_speed) if message == "stop": dcmotor.stop() if message == "robot_one": robot.robotIsRight = True robot.startProgram() if message == "toggle_light": ledObj = Led() if msg['status'] == 1: ledObj.lightsOn() else: ledObj.lightsOff() if message == "robot_mode_full_stop": robot.robotIsRight = False robot.motorStop() if message == "switch-motor-engine": relayObj = Relay() relayObj.switchRelay(status=msg['status'])