#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
char ssid[] = "你的SSID"; //請修改為您連線的網路名稱
char password[] = "你的密碼"; //請修改為您連線的網路密碼
//申請API key 環保署: https://data.epa.gov.tw/api-term
//查看空氣品質列表:https://data.epa.gov.tw/api/v2/aqx_p_432?offset=0&format=json&api_key=你的APIkey
String APIkey = "f1e889d9-c5a2-4325-a027-336c503b32b9"; //你的環保署網站 API Key
String Area = "新竹"; //希望取得空氣品質的地點
String url = "https://data.moenv.gov.tw/api/v2/aqx_p_432?format=json&limit=5&api_key=" + APIkey + "&filters=SiteName,EQ," + Area ; //PM2.5的網址
int ledValue = map(potValue,0,1023,0,255);
void setup() {
Serial.begin(115200);
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(250);
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
int AQIarray;
}
void loop() {
//4.啟動網頁連線
HTTPClient http; // 宣告 http 物件
//http.setInsecure(); // 避免 SSL 問題
http.begin(url); // 設定網址
int httpCode = http.GET(); // 取得資料
//5.檢查網頁連線是否正常
if (httpCode == HTTP_CODE_OK) { // 如果取得資料成功
//6.取得網頁內容
String payload = http.getString(); // 取得資料內容
//7.將資料顯示在螢幕上
Serial.println(payload);
DynamicJsonDocument AQJarray(payload.length()*2);
deserializeJson(AQJarray, payload);
int AQI = AQJarray["record"][0]["aqi"];
Serial.println(Area + "AQI:" + AQI);
potValue = AQI.tolnt()
}
else { // 如果取得資料失敗
Serial.println("Error on HTTP request");
}
//8.關閉網頁連線
http.end(); // 結束 http 連線
if(AQI >= 150){
digitalWrite(17, HIGH);
digitalWrite(16, LOW);
digitalWrite(4, LOW);
}
else if(AQI>=101&&AQI<150){
digitalWrite(17, LOW);
digitalWrite(16, HIGH);
digitalWrite(4, LOW);
}
else{
digitalWrite(17, LOW);
digitalWrite(16, LOW);
digitalWrite(4, HIGH);
}
delay(10000); // 延遲 10 秒
}