Chapter 5. Controlling Home Automation in JavaScript
In this chapter, we will write JavaScript code to control home automation with MQTT messages. We will write code that will be able to run on web browsers. In addition, we will use Node.js to write code that runs on IoT boards, receives MQTT messages and controls devices wired to the boards. We will:
- Understand the requirements to control home automation with MQTT and WebSockets
- Define the topics and commands to control home automation
- Enable WebSockets for a Mosquitto server
- Understand the Eclipse Paho JavaScript asynchronous client
- Create an HTML 5 web page to control LEDs
- Publish messages to target remote devices in JavaScript
- Process the received messages in JavaScript
- Work with WebSockets to connect to the MQTT server
- Subscribe to topics in JavaScript
- Process commands that interact with LEDs in Node.js
- Run the home automation web application
- Debug the home automation web application
- Secure MQTT over WebSockets with TLS