#include <C603_Steam_Air_ESP01.h> #include <C301_Steam_Air_DHT22_TempHumidity.h> #include <C205_Steam_Air_NovaSDS011_Dust_PWM.h> SteamESP01 esp01(2, 3); // RX/TX 설정, esp01 객체 생성 SteamDHT22 dht22(A1, DHT22); // 온습도 센서 인스턴스 , // 핀 번호 (A1)와 DHT22 타입을 입력한다. SteamNovaSDS011PWM novasds011(4, 5); // pm2.5, pm1 String ssid = "iptime"; // 집에서 사용하는 Wi-Fi 공유기 이름(SSID) String pass = "12345678"; // 집에서 사용하는 Wi-Fi 비밀번호 String apiKey = "XJ61RWFSL0OJEDTG"; // thingspeak.com 채널의 // Write API key 입력 const long interval = 4000; // thingspeak.com으로 센서값 전송 주기, 4초 void setup() { Serial.begin(9600); // 소프트웨어 시리얼 시작 esp01.begin(ssid, pass, apiKey); // Wi-Fi를 초기화한다. dht22.begin(); // 온습도 센서를 초기화한다. novasds011.begin(); // 미세먼지 센서를 초기화한다. } void loop() { novasds011.read(); // 센서의 값을 측정한다. dht22.read(); // 온습도 센서의 값을 측정한다. esp01.sendData(novasds011.getPM2_5(), dht22.getTemp(), dht22.getHumidity()); }
인터넷에서 미세먼지, 온습도를 확인하기 위해 Thingspeak.com 사이트를 활용한다. Thingspeak.com 사이트는 MATLAB이라는 소프트웨어로 유명한 MathWorks사에서 제공하는 사물인터넷용 웹서버이고, 무료로 측정 채널을 제공한다.
Thingspeak을 활용하여 사물인터넷을 만들려면 반드시 무료 회원으로 가입하여 API를 부여 받아야 한다. 소스를 아두이노에 업로드하기 전 반드시 소스 코드에서 ssid, pass, apiKey의 값을 사용환경에 맞게 수정해야 한다. ssid, pass는 당신이 사용하고 있는 Wi-Fi의 이름, 비밀번호이고, apiKey는 thingspeak의 채널에서 API Keys를 의미한다.
그림 6-26 Wi-Fi 프로젝트 ssid, pass, apiKey