In this chapter, we analyzed the requirements for controlling LEDs wired to different IoT boards with MQTT messages over WebSockets. We defined the topics that we would use and the commands that would be part of the message's payloads to set the colors for the LEDs.
Then, we created an HTML 5 web page combined with JavaScript and the Eclipse Paho JavaScript asynchronous client to control LEDs. We wrote code to publish messages to target remote devices in JavaScript, and we were able to process the received messages to provide feedback to the user.
We worked with MQTT.js to write a Node.js script to process the commands that simulated the interaction with LEDs on different IoT boards. We were able to run the home automation web application and understand how all the pieces worked together by exchanging MQTT over WebSockets messages. We debugged JavaScript asynchronous code with Chrome Developer Tools to understand the code that the Paho JavaScript client executes when a new message...