Receiving messages with Python
We will use the recently installed paho-mqtt module to subscribe to a specific topic and run code when we receive messages in the topic. We will create a DroneCommandProcessor class to represent a command processor associated to an instance of the previously coded Drone class, configure the MQTT client, the subscription to the client, and declare the code for the callbacks that are going to be executed when certain events are fired.
We will split the code for the DroneCommandProcessor class in many code snippets to make it easier to understand each code section. The following lines declare the DroneCommandProcessor class and its constructor, that is, the __init__ method. The code file for the sample is included in the mqtt_essentials_gaston_hillar_03 folder, in the mqtt_essentials_example03_02.py file:
class DroneCommandProcessor:
commands_topic = ""
processed_commands_topic = ""
active_instance = None
def __init__(self, name, drone):
...