Abstract
In Lab 2, we connect Arduinos and Raspberry Pi within a wireless local area network (WLAN) and use MQTT protocol for their communication. This lab module includes a series of tasks that include programming in Arduino IDE and Python. The lab setup is shown in Fig. 5.1, and it includes Arduinos, sensors, actuators, auxiliary components, Raspberry Pi, WiFi router , and workstation machine. This lab also implements a new tool, which is a Mosquitto broker on Raspberry Pi. On Arduinos, MQTT publishers and subscribers are implemented using arduino-mqtt library.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Libraries
Arduino JSON library: https://github.com/bblanchon/ArduinoJson
Arduino WiFiNINA library source: https://github.com/arduino-libraries/WiFiNINA
Arduino MQTT library: https://github.com/256dpi/arduino-mqtt
WiFi client Arduino header file: https://github.com/tubskns/notelab-code/blob/master/arduino/WifiClient/WifiClient.h
WiFi client source file: https://github.com/tubskns/notelab-code/blob/master/arduino/WifiClient/WifiClient.cpp
Source code LiquidCrystal_I2C library https://github.com/johnrickman/LiquidCrystal_I2C
Source code DHT11 library: https://github.com/adafruit/DHT-sensor-library
Tools
Docker Engine installation on Ubuntu: https://docs.docker.com/engine/install/ubuntu/
OpenSSH Server: https://ubuntu.com/server/docs/service-openssh
How to install Arduino IDE: https://www.arduino.cc/en/Guide/Linux
mosquitto-clients (v1.6.9-1): https://packages.ubuntu.com/focal/mosquitto-clients
Eclipse Mosquitto (Docker): https://hub.docker.com/_/eclipse-mosquitto
Other Resources
MQTT client Arduino header file: https://github.com/tubskns/notelab-code/blob/master/arduino/MqttClient/MqttClient.h
MQTT client Arduino source file: https://github.com/tubskns/notelab-code/blob/master/arduino/MqttClient/MqttClient.cpp
MQTT client Arduino sketch: https://github.com/tubskns/notelab-code/blob/master/arduino/MqttClient/MqttClient.ino
MQTT publisher for DHT11 Arduino sketch: https://github.com/tubskns/notelab-code/blob/master/arduino/sensors/temperature/publisher_DHT11/publisher_DHT11.ino
MQTT publisher for DHT11 Arduino sketch: https://github.com/tubskns/notelab-code/blob/master/arduino/actuators/subscriber_temperature/subscriber_temperature.ino
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Jukan, A., Masip-Bruin, X., Dizdarević, J., Carpio, F. (2023). Lab 2—Connecting IoT and Edge with MQTT. In: Network of Things Engineering (NoTE) Lab. Springer, Cham. https://doi.org/10.1007/978-3-031-20635-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-031-20635-1_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-20634-4
Online ISBN: 978-3-031-20635-1
eBook Packages: EngineeringEngineering (R0)