๐Ÿ”Œ

IoT & Arduino

๐Ÿ‘จโ€๐Ÿณ Chef

Hardware + Software

IoT connects physical devices to the internet and cloud.


Typical components

ComponentFunction
MicrocontrollerArduino, ESP32
SensorsTemperature, motion
ActuatorsLEDs, motors, relays
CommunicationWiFi, MQTT, HTTP

Basic Arduino

// Blink LED
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

MQTT

Lightweight protocol for IoT:

Sensor โ†’ MQTT Broker โ†’ Your server
                    โ†“
                 Dashboard

ESP32 + MQTT

#include <WiFi.h>
#include <PubSubClient.h>

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  WiFi.begin("SSID", "password");
  client.setServer("broker.hivemq.com", 1883);
}

void loop() {
  float temp = readTemperature();
  client.publish("home/temperature", String(temp).c_str());
  delay(5000);
}

Cloud services

ServiceUse
AWS IoTEnterprise
HiveMQFree MQTT
Adafruit IOHobby

Practice

โ†’ Arduino + MQTT