Стъпка 9:
Отворете програмната среда на Arduino. В нея се е появил един нов таб config.h. Отворете го и
поставете следния код:
#define IO_USERNAME "твоето_потребителско_име"
#define IO_KEY "твоят_ключ"
#define WIFI_SSID "твоят_ssid"
#define WIFI_PASS "твоята_парола_за_wifi"
#include "AdafruitIO_WiFi.h"
#if defined(USE_AIRLIFT) || defined(ADAFRUIT_METRO_M4_AIRLIFT_LITE) || defined(ADAFRUIT_PYPORTAL)
#if !defined(SPIWIFI_SS)
#define SPIWIFI SPI
#define SPIWIFI_SS 10
#define NINA_ACK 9
#define NINA_RESETN 6
#define NINA_GPIO0 -1
#endif
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS, SPIWIFI_SS, NINA_ACK, NINA_RESETN, NINA_GPIO0, &SPIWIFI);
#else
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
#endif
Стъпка 11:
Отворете раздела DHT22 и поставете следни код:
// създайте DHT22 инстанция
DHT_Unified dht(DATA_PIN, DHT22);
// Правим връзка с feed temperature и humidity
AdafruitIO_Feed *temperature = io.feed("temperature");
AdafruitIO_Feed *humidity = io.feed("humidity");
void setup() {
// Започване на серейна комуникация
Serial.begin(115200);
// изчакваме да се отвори серийния монитор
while(! Serial);
// инициализираме DHT22 сензора
dht.begin();
// свърваме се с io.adafruit.com
Serial.print("Connecting to Adafruit IO");
io.connect();
// Изчакваме да се свържим с adafruit
while(io.status() < AIO_CONNECTED) {
Serial.print(".");
delay(500);
}
// Свързани сме
Serial.println();
Serial.println(io.statusText());
}
void loop() {
// io.run() е функция, която трябва
// да бъде винаги най-отгоре в loop,
// тя отговаря за обмяната на данни
// с adafruit
io.run();
sensors_event_t event;
dht.temperature().getEvent(&event);
float celsius = event.temperature;
Serial.print("celsius: ");
Serial.print(celsius);
Serial.println("C");
// изпрщаме celsius към adafruit
temperature->save(celsius);
dht.humidity().getEvent(&event);
Serial.print("humidity: ");
Serial.print(event.relative_humidity);
Serial.println("%");
// изпрщаме humidity към adafruit
humidity->save(event.relative_humidity);
// изчакваме 5 секунди (5000 милисекунди == 5 секънди)
delay(5000);
}