$25
MQTT is the most common open IoT protocol being deployed today. It provides a publisher/subscriber model, using a broker or server. It allows for an almost-unbounded number of sources to publish information, each at their own rate, and subscribers to receive information (and act on it). As such, it is designed to provide high-performance communication mechanisms, with minimal delays and excellent scaling performance. We’ll use it to monitor the performance of some imaginary system: say counting the total kilograms of minerals rushing by on a conveyor belt, that you can control. This assignment will look at the functionality and performance of the publishers, brokers, the network and the subscribers.
This is a coding, analysis and writing assignment. You may code in any programming language (hope that’s enough for everyone), and yes, you may use MQTT and other helper libraries. The assessment will not rely solely on running on your code, but more on the data gathering and your analysis. However we will review the code and may briefly test it against our own broker running in the usual lab-type environments or similar. You will need to identify in your code any libraries you are using.
Please note, you will be working in pairs or small groups for a key part of this assignment, to test each other’s systems across the Internet. If you don’t have somebody to work with, ask your tutors NOW to identify somebody in your tutorial group. You do not need to be in the same location at any time.