ESP32 IoT service test - Adafruit IO
- Connected Sensors & Input : 대쉬보드에 주기적으로 정보를 디스플레이
- temp, humidity 센서
- Touch 입력
- Connected actuators
- Buzzzer : 대쉬보드에서 컨트롤 가능
- OLED Disply
config.h 파일에서 IO의 사용자 이름과 키값, 연결할 WiFi정보의 값을 적는다.
#define IO_USERNAME "xxxxx"
#define IO_KEY "xxxxxxxxxxxxxxxxxxxxxxxxx"
#define WIFI_SSID "xxxxx"
#define WIFI_PASS "xxxxx"
// set up the 'digital' feed
AdafruitIO_Feed *digital = io.feed("digital");
// set up the 'digitalout' feed
AdafruitIO_Feed *digitalout = io.feed("digitalout");
// set up the 'analog' feed
AdafruitIO_Feed *analog = io.feed("analog");
// set up the 'temperature' and 'humidity' feeds
AdafruitIO_Feed *temperature = io.feed("temperature");
AdafruitIO_Feed *humidity = io.feed("humidity");
aio_status_t aio_status = io.status();
void handleMessage(AdafruitIO_Data *data) {
Serial.print("received <- ");
if(data->toPinLevel() == HIGH)
Serial.println("HIGH");
else
Serial.println("LOW");
digitalWrite(BuzzerPin, data->toPinLevel());
}
// grab the current state of the button.
if(digitalRead(TouchPin) == LOW) {
current = true; }
else {
// save the current state to the analog feed
Serial.print("sending -> ");
Serial.println(light_current);
analog->save(light_current);
current = false;
}
// return if the value hasn't changed
if(current != last) {
// save the current state to the 'digital' feed on adafruit io
Serial.print("sending button -> ");
Serial.println(current);
digital->save(current);
// store last button state
last = current;
}