10. ThingSpeak DHT11 WIFI - sunbang123/Smart_device GitHub Wiki
- Wi-Fi (Wireless Fidelity)๋ ๋ฌด์ ๋คํธ์ํฌ ๊ธฐ์ ๋ก, ์ปดํจํฐ, ์ค๋งํธํฐ, ํ๋ธ๋ฆฟ ๋ฑ์ ์ฅ์น๊ฐ ์ธํฐ๋ท์ ์ ์ํ๊ณ ํต์ ํ ์ ์๋๋ก ํจ.
- Wi-Fi๋ฅผ ์ฌ์ฉํ๋ฉด ์ธํฐ๋ท์ ์ ์ ์ฐ๊ฒฐ ์์ด ๋ฌด์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์.
- ThingSpeak๋ Wi-Fi๋ฅผ ํตํด ์ฅ์น์ ์ธํฐ๋ท ๊ฐ์ ๋ฐ์ดํฐ ํต์ ์ ์ง์ํจ.
- ์ฅ์น(์: ESP32)์์ ์์งํ ๋ฐ์ดํฐ๋ฅผ ThingSpeak ์๋ฒ๋ก ์ ๋ก๋ํ ์ ์๊ณ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์๊ฒฉ์์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ฅํ ์ ์์.
ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ธ์ค๊ธฐ
#include <WiFi.h>
#include <WiFiClient.h>
#include <DHT.h>
WiFi ์ฐ๊ฒฐ ์ค์ ํ๊ธฐ
#define WIFI_SSID "[wifi id]"
#define WIFI_PASSWORD "[password]"
ESP32์ DHT11 ์จ์ต๋ ์ผ์, ๊ทธ๋ฆฌ๊ณ ThingSpeak ์ฌ์ฉ ์ค์
#define DHT_PIN 13 // DHT11 ์ผ์ ์ฐ๊ฒฐ ํ
#define DHT_TYPE DHT11
#define THINGSPEAK_SERVER "api.thingspeak.com"
#define THINGSPEAK_API_KEY "7OWWUL25WGUBU610"
#define THINGSPEAK_CHANNEL_ID 2153944
DHT dht(DHT_PIN, DHT_TYPE);
WiFiClient client;
๋ฉ์ธ ์ฝ๋
void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi!");
dht.begin();
}
void loop() {
float temperature = dht.readTemperature(); // ์จ๋ ์ฝ๊ธฐ
float humidity = dht.readHumidity(); // ์ต๋ ์ฝ๊ธฐ
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" ยฐC, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
if (client.connect(THINGSPEAK_SERVER, 80)) {
String data = String("field1=") + String(temperature) +
"&field2=" + String(humidity);
String request = String("POST /update HTTP/1.1\n") +
"Host: " + String(THINGSPEAK_SERVER) + "\n" +
"Connection: close\n" +
"X-THINGSPEAKAPIKEY: " + String(THINGSPEAK_API_KEY) + "\n" +
"Content-Type: application/x-www-form-urlencoded\n" +
"Content-Length: " + String(data.length()) + "\n\n" +
data;
client.print(request);
Serial.println("Sending data to ThingSpeak...");
delay(2000); // ThingSpeak ์๋ฒ์ ์ ์ก์ ์ํด ์ถฉ๋ถํ ์ง์ฐ ์๊ฐ
client.stop();
}
else {
Serial.println("Failed to connect to ThingSpeak!");
}
delay(5000); // 5์ด๋ง๋ค ์ ์ก
}
- Serial Monitor์ ์ถ๋ ฅ๋ ๋ชจ์ต

- ThingSpeak

- ThingSpeak์ wifi ์ฐ๋์ ๋ํ ๊ธฐ์ด ์ง์์ ์ต๋ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋ฐฐ์ธ ์ ์์์.
- wifi ํต์ ์ ๊ฐ๋ ์ ๋ํด์ ์ ๋ฆฌํ ์ ์์๊ณ ThingSpeak์ ์ง์ ์ค์ตํด๋ณด๋ฉด์ ํฅ๋ฏธ๋ฅผ ๋๋.