Arduino IOT Cloud umożliwia tworzenie aplikacji IoT dla mikokontrolerów Arduino, łączenia ich z usługą chmury, tworzenie pulpitów do sterowania nimi za pomocą szerokiej gamy widżetów oraz łączenie ich z istniejącymi urządzeniami IoT. Dostęp do pulpitów możemy uzyskać również z poziomu aplikacji mobilnej na iOS oraz Androida. Mamy również możliwość programowania zdalnie urządzeń.
Kompatybilne urządzenia:
- Wi-Fi MKR 1000
- MKR WiFi 1010
- MKR WAN 1300 *
- MKR WAN 1310 *
- MKR GSM 1400 *
- MKR NB 1500 *
- Nano RP2040 Połącz
- Nano 33 IoT
- Portenta H7
- ESP32/ESP8266 z obsługą Wi-Fi
* Uwaga: MKR GSM 1400 i MKR NB 1500 wymagają karty SIM do połączenia z chmurą, ponieważ komunikują się przez sieci komórkowe. Płyta MKR WAN 1300 i 1310 wymaga Arduino PRO Gateway LoRa do połączenia z chmurą.
Jak zacząć z Arduino IOT Cloud ? Postaram ci to wytłumaczyć na prostym zadaniu. Odpowiedz na to pytanie również możesz odnaleźć u źródeł na stronie https://docs.arduino.cc/cloud/iot-cloud.
Zadanie
Odczyt temperatury oraz sterowanie diodą led z pulpitu Arduino IoT Cloud.
Realizacja zadania
W pierwszym kroku musisz stworzyć konto w platformie. Jeśli już mamy konto to przechodzimy do zakładki devices. Dodając urządzane musimy posiadać zainstalowany Arduino Create Agent, gdy go nie posiadamy otrzymamy informacje aby go pobrać.
Gdy już nam się uda poprawnie dodać urządzenie to tworzymy rzeczy klikając w „Create Thing”.
Interfejs rzeczy umożliwia nam stworzenie zmiennych, zmianę urządzenia, konfigurację sieci, podgląd monitora portu szeregowego czy też edycje i zmianę sketch’u w wersji przeglądarkowej. My musimy dodać dwie zmienne do sterowania led oraz do odczytu temperatury. Ważne aby zmienna do sterowania led się aktualizowały automatycznie po jej zmianie.
![]() |
![]() |
Gdy już dodamy zmienne możemy zaobserwować, że konfiguracja sieci została odblokowana. Konfigurując sieć musimy podać SSID oraz hasło do sieci wifi.
Teraz możemy przejść do podłączenie i napisania kodu.
Schemat:
Kod programu:
#define LedPin 2 // Definicja pinu 2 jako Led
#include "thingProperties.h"
#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp; // Definicja zmiennej bmp
void setup() {
Serial.begin(9600);
delay(1500);
pinMode(LedPin, OUTPUT); // Deklaracja Led jako WYJŚCIE
digitalWrite(LedPin, LOW); // Wyłącz Led
bmp.begin(); // Rozpoczęcie pracy czujnika bmp
// Defined in thingProperties.h
initProperties();
// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}
void loop() {
ArduinoCloud.update();
temp = bmp.readTemperature();
Serial.println(temp);
}
void onLedChange() {
if(led == true) { // Jeśli dane = 1
digitalWrite(LedPin, HIGH); // Włącz Led
}
if(led == false) { // Jeśli dane = 0
digitalWrite(LedPin, LOW); // Wyłącz Led
}
}
Gdy już uzupełniliśmy kod przechodzimy do stworzenia naszego pulpitu sterowania klikając w Dashboards -> Build Dashboards i dodajemy dwa wigety. Jeden z nich to Switch dla którego ustawiamy nazwę i podłączamy do niej zmienna Led a drugi to chart dla którego ustawiamy zmienna temp.
![]() |
![]() |
W efekcie otrzymujemy pulpit z podglądem na temperaturę oraz mamy możliwość zapalania diody led.
Czy nie jest to proste ? Możemy mieć dostęp do pulpitu z dowolnego miejsca na ziemi gdzie jest dostęp do Internetu. Poniżej przedstawiam wersje pulpitu w aplikacji na telefonie.
Najlepsze jest to, że wszystko jest w sieci. Gdy nam ulegnie uszkodzeniu Arduino to możemy w łatwy sposób dodać nowe urządzenie, zamienić go w konfiguracji Rzeczy i wgrać program.
Arduino Cloud udostępnia darmowy dostęp dla:
- 2 rzeczy
- Nieograniczone pulpity nawigacyjne
- 100 Mb do przechowywania szkiców
- 1 dzień przechowywania danych
- 200s/dzień czasu kompilacji
- Łączność LoRaWAN zawarta w abonamencie Free do 31.12.2021