ESP8266 + Arduino IDE 1.6.5 + SHT20 溫濕度感應器 - 連上 ThingSpeak
ESP8266 要連上ThingSpeak 網路上的文章應該很多了,當然首先是要註冊一個 ThingSpeak 帳號,申請帳號請前往 https://thingspeak.com/ 。
接著要 New Channel:
設定 Name 及 Field1 及 Field2,在我的測試中 Field1 是 "Tempature" 及 Field2 是 "Humidity",接著在 Arduino IDE include library "ESP8266WiFi",首先當然是要先連上區域網路上的 AP。
接著要 New Channel:
ThingSpeak New Channel |
設定 Name 及 Field1 及 Field2,在我的測試中 Field1 是 "Tempature" 及 Field2 是 "Humidity",接著在 Arduino IDE include library "ESP8266WiFi",首先當然是要先連上區域網路上的 AP。
WiFi.begin(ssid, password);
其中 SSID 及 Password 是區域網路AP 的 ID 及 Password, 並記錄下 Thingspeak 所產生的 API key,程式碼大概如下:
Serial.print("Sending data to thingspeak.com");
if (client.connect(server, 80)) { // "184.106.153.149" or api.thingspeak.com
String postStr = apiKey;
postStr += "&field1=";
postStr += String(temp);
postStr += "&field2=";
postStr += String(humd);
postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
Serial.print(" Temperature:");
Serial.print(temp, 1);
Serial.print("C");
Serial.print(" Humidity:");
Serial.print(humd, 1);
Serial.print("%");
Serial.println();
}
client.stop();
在 Thingspeak 顯示如下:
Thingspeak Channel |
留言
張貼留言
請多指教