Arduino - IoT

In this tutorial, we will learn:

Arduino IoT

What is IoT?

In simple words, the Internet of Things (IoT) is a network of physical things that connect to the Internet. The thing can be called the IoT device. The IoT devices send/receive data to/from the Internet. The IoT devices can also exchange data with each other via the Internet.

How to connect Arduino to the Internet

One of the most important tasks when making an IoT device using Arduino is to connect Arduino to the Internet

There are many ways to connect Arduino to the Internet:

  • Arduino - Bluetooth or BLE (required a Bluetooth gateway)
  • Arduino - ZigBee (required a ZigBee gateway)
  • Arduino - Lora (required a Lora gateway)
  • Arduino - GPRS/3G/4G/5G

Among these methods, WiFi and Ethernet are the most widely-used, popular, simple, and secure. Most of the smart home products are using WiFi. Many industrial IoT devices are using Ethernet.

For Bluetooth, we can use the smartphone as Bluetooth gateway. TrackR bravo - Bluetooth Tracking Device is an example. It uses the smartphone as Bluetooth gateway for "Crowd Locate".

Arduino IoT Applications

Generally, In IoT application, Arduino collects data from sensors/devices to send to the Internet and receive data from the Internet to control motors/actuators. In detail, The IoT application can be categorized into the following types:

  • Controlling Arduino via smartphone/PC
  • Monitoring Arduino via smartphone/PC
  • Arduino collects sensor's data and send to the database
  • Arduino collects sensor's data and send to IoT Cloud
  • Arduino detects the event and send notification via Email, SMS, Phone Call, push notification
  • Arduino interacts with smart speakers like Amazon Echo Dot, Google Home ...
  • Arduino interacts automatically with other devices using some protocol such as Modbus TCP.
  • Arduino works as a gateway, which is a bridge between other devices and the Internet

Making simple IoT devices using Arduino

Let's make two IoT devices that connect to each other via the Internet, and a button/switch connected to Arduino #1 controls an LED connected to Arduino #2.

Arduino IoT device

The source code, wiring diagram, and instruction is available in this tutorial

The Best Arduino Starter Kit