In Chapter 3, Integrating Application Protocols we learned how to form IoT networks, understanding the fundamental components that constitute them and how we can connect them to establish the respective networks. We also had a high-level look at a few key communication protocols that help with building the network while understanding the considerations that we take to ensure that our design choices are optimized based on our use cases. That, paired with our understanding of application protocols in Chapter 3, will allow us to take a deeper look at some advanced communication and connectivity protocols and understand more complex deployments in this chapter.
When navigating this chapter, ensure that you not only take in the high-level overview of the networks but understand how the protocols work and deliver the data. Understanding a low-level view of how data packets are transferred will help you think more critically about solutions and allow you to further understand the building blocks of IoT and make better decisions to optimize your network. By the end of this chapter, you will have become more confident in designing more complex networks and selecting between a bigger array of protocols. You will also have a deeper understanding of how the components work at a low level.
In this chapter, we’re going to cover the following main topics:
Choosing between short- and long-range wireless connectivity options within IoT
Learning in more depth about mesh networking and other communication solutions, including radio-frequency identification (RFID), Wi-Fi, and Bluetooth
Examining the edge cases for protocol selection and operation
Technical requirements
This chapter will require you to have the following hardware and software installed:
Hardware:
- ESP32
- A key fob
- The RFID RC522 module
- USB cable A male to micro B male
Software:
- Mosquitto client.
- Arduino IDE.
- Command prompt (you already have this on Windows).
- The SPI.h and MFRC522.h libraries for Arduino. You can find these libraries at https://www.arduino.cc/en/reference/SPI and https://github.com/miguelbalboa/rfid, respectively.
- A diagramming software such as Draw.io, as described in previous chapters
- Fritzing.
You can access the GitHub folder that contains the code for this chapter at https://github.com/PacktPublishing/IoT-Made-Easy-for-Beginners/tree/main/Chapter04/.