Understanding the requirements to control a drone with MQTT
In the previous chapters, we learned how MQTT works in detail. We understood how to establish a connection between an MQTT client and an MQTT server. You learned what happens when we subscribe to topic filters and when a publisher sends messages to specific topics. We installed and secured a Mosquitto server.
Now, we will use Python as our main programming language to generate MQTT clients that will act as publishers and subscribers. We will connect a Python MQTT client to the MQTT server and we will process commands to control a drone with MQTT messages.
We will use TLS encryption and TLS authentication because we don't want any MQTT client to be able to send commands to our drone. We want our Python code to run on many platforms because we will use the same code base to control drones that use the following IoT boards:
Raspberry Pi 3
Raspberry Pi 2 Model B
Intel Edison
Intel Galileo Gen 2
Intel Joule 570x
Intel Joule 550x
Depending on...