“Create your own LCARS wireless intercom like Captain Picard - easy and non-intrusive communication around your SmartHome.
In today’s article, we are going to build an Arduino LCARS wireless intercom with our Wio Terminal ! Feel like Captain Picard in your SmartHome. This project sets up your Wio Terminal as a desk clock, but also allows you to send and receive messages to other devices via the MQTT protocol.
The project is an upgrade of the pre work from Jonathan Tan.
What’s an Intercom ?
Intercom is short for intercommunication device. Traditionally, an intercom is any electrical device that allows for one-way or two-way communication. One common use of intercoms is in housing estates, where home owners can let guests into the compound without having to physically open the gate. Some homes or offices may also have intercom systems to allow for convenient communication.In summary, we will want to achieve three things on our Wio Terminal in this project:
Display the date and time in realtime (using an NTP server)
Be able to receive / send messages over WiFi MQTT
Build a LCARS GUI for user navigation
Brief on MQTT Communication
To send messages over WiFi, we are going to use the lightweight MQTT (or Message Queuing Telemetry Transport) protocol. MQTT is a publish/subscribe messaging protocol that works on top of our existing internet connection (TCP/IP).
The pub/sub structure works by linking different devices based on the topics that they subscribe or publish to. In the graphic below, the Temperature Sensor publishes to the temperature topic, which the Mobile device and Backend system are both subscribed to. Thus, both of them will receive the message of “24 °C”.
The device that coordinates the publishers and the subscribers of a given topic is known as the MQTT broker. You can think of the broker as the “brain” of our IoT network that coordinates communication between all our connected devices – communication would be messy and impossible without it !
To follow along or implement this project for your own use, you will need the following:
- Wio Terminal x2 (or as many as you’d like in your use-case)
- MQTT Broker - we use a Mosquitto docker version on our Synology NAS
- A working local internet connection”