Reader small image

You're reading from  Hands-On Internet of Things with MQTT

Product typeBook
Published inOct 2019
Reading LevelIntermediate
PublisherPackt
ISBN-139781789341782
Edition1st Edition
Languages
Tools
Right arrow
Author (1)
Tim Pulver
Tim Pulver
author image
Tim Pulver

Tim Pulver is a Berlin-based freelance interaction designer and developer. In his work, he combines his physical prototyping experience and knowledge of interface design with modern technologies such as 3D printing, laser cutting, web technologies, and machine learning to create unique interactive experiences. In recent years, he has worked on interactive data visualizations, web-based audiovisual experiences, musical interfaces, and cables an innovative browser-based visual programming language that enables the creation of interactive audiovisual prototypes without writing any code. He holds a Bachelor of Arts degree in interface design from the University of Applied Sciences in Potsdam, Germany.
Read more about Tim Pulver

Right arrow

Basic Architecture of an IoT Prototype

In this chapter, you will be introduced to the basic building blocks of an IoT project. You will briefly get to know various protocols, architectures, and development boards for IoT prototyping. The main purpose of this chapter is to show you what's out there, so you can decide which technologies might be of interest for your next project and give you a head start on further exploration. If you feel overwhelmed by the number of new technologies and options available, don't be. You don't need to understand everything here, but hopefully you will come back later to look up one or more topics if you stumble upon them elsewhere. This chapter neither tries to be a complete reference, nor can it be. It would go completely beyond the scope of this book—which is to teach you how to build IoT prototypes with Arduino and MQTT....

Building blocks of IoT connectivity

One thing all IoT devices have in common is connectivity. In most cases, this means that the device can connect to the internet; in some cases, it might communicate with a local smart hub via another technology such as Bluetooth, which is connected to the internet itself, and sometimes devices from a local network, for example, via radio (see the ZigBee and Thread sections). In each case, there is a communication channel, so devices can either send out data, receive commands, or both.

Having a device that is connected to the internet or another device is much use. It needs to be connected to input and output components. With sensors as input components alone, there are a gazillion possibilities. If you haven't done so already, you should have a look at the sensor category for Sparkfun, one of the best-known shops (https://www.sparkfun...

Understanding protocols and communication

In this section, we will have a look at four common protocols and technologies used for communication between IoT devices. ZigBee and Thread are both technologies that use radio to transmit information. ZigBee has long been the preferred way to transmit information between devices locally (without using the internet, but using radio signals), but is about to be replaced by Thread.

CoAP and MQTT, on the other hand, communicate over the internet. They are both intended to be used with constrained devices and have different areas where each protocol shines. We won't go into too much detail about CoAP and will concentrate on MQTT, starting with Chapter 3, Getting Started with MQTT, instead.

ZigBee

...

Exploring microcontrollers for IoT

There are a multitude of microcontrollers available on the market today that are well suited for IoT prototyping. For simple projects where you just want to read a sensor value and log its value in the cloud, most microcontrollers with internet access will do a great job. In more complex projects, where you need a filesystem and more features than you would typically find on a regular computer, a microcontroller might not be enough, and you may need a development board running a full-grown operating system such as the Raspberry Pi (https://www.raspberrypi.org) or Asus Tinker (https://www.asus.com/de/Single-Board-Computer/Tinker-Board/):

Various development boards

These development boards come with display connectors and USB ports to connect hard drives, webcams, a keyboard, or a mouse to, and are able to run programs written in various...

Summary

In this chapter, you were introduced to a lot of different principles, protocols, and microcontroller boards used in IoT prototyping. We've learned what constitutes the client-server architecture. Next, we looked at how the frontend and backend play together and how machines communicate with one another using APIs. Finally, we learned about the frameworks that use web development technologies such as HTML, CSS, and JavaScript to build desktop and mobile apps, which can communicate with your prototype. We also had a look at various communication methods; devices can transmit information not only over the internet, but also by using radio signals.

One of the most common modules for integrating radio-communication into your project is called XBee, and uses the ZigBee specification. Some devices also ship with Thread support—an upcoming radio-based protocol...

Questions

  1. Name three development boards suitable for IoT prototyping.
  2. Does it matter if a development board runs on 3.3V or 5V?
  3. Name four protocols used in IoT development.
  4. What are over-the-air updates?
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Hands-On Internet of Things with MQTT
Published in: Oct 2019Publisher: PacktISBN-13: 9781789341782
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Tim Pulver

Tim Pulver is a Berlin-based freelance interaction designer and developer. In his work, he combines his physical prototyping experience and knowledge of interface design with modern technologies such as 3D printing, laser cutting, web technologies, and machine learning to create unique interactive experiences. In recent years, he has worked on interactive data visualizations, web-based audiovisual experiences, musical interfaces, and cables an innovative browser-based visual programming language that enables the creation of interactive audiovisual prototypes without writing any code. He holds a Bachelor of Arts degree in interface design from the University of Applied Sciences in Potsdam, Germany.
Read more about Tim Pulver