Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W dzisiejszych czasach IoT zyskuje na popularności, a wiele maszyn ma dane do przesłania przez chmurę i analizowania danych. Małe sensory aktualizują dane w chmurze, a siłownik na drugim końcu na nią działa. Wyjaśnię jeden z przykładów IoT.
W tym artykule pokażę i poprowadzę, jak przesłać dane do Thingspeak za pomocą ESP8266.
Krok 1: Wymagany składnik
ESP8266ESP8266 w Indiach-
ESP8266 w Wielkiej Brytanii -
ESP8266 w USA -
MLX90614MLX90614 w Indiach –
MLX90614 w Wielkiej Brytanii -
MLX90614 w USA -
Chlebak
Breadboard w Indiach-
BreadBoard w USA- https://amzn.to/2MW0Opb BreadBoard w Wielkiej Brytanii-
Krok 2: Kod
#include #include #include
String apiKey = "7CDCTE2767Z8AUIL"; // Wpisz swój klucz Write API z ThingSpeak
const char *ssid = "ukryty"; // zastąp swoim wifi ssid i kluczem wpa2
const char *pass = "qwerty12"; const char* server = "api.thingspeak.com";
Klient WiFiClient;
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
int objTemp;
wewn.temperatura temp;
pusta konfiguracja()
{ Numer seryjny.początek(115200); opóźnienie(10); Serial.println("Łączenie z"); Serial.println(ssid); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("Połączenie WiFi"); mlx.początek(); Drut.początek(D1, D2); } pusta pętla() {
if (client.connect(server, 80)) // "184.106.153.149" lub api.thingspeak.com
{ objTemp = mlx.odczytObiektTempC(); ambTemp = mlx. OdczytTempOobiektuC(); String postStr = apiKey; postStr +="&field1="; postStr += String(objTemp); postStr += "\r\n\r\n";
client.print( POST /aktualizacja
client.print("Host: api.thingspeak.com\n"); client.print("Połączenie: zamknij\n"); client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n"); client.print("Typ treści: application/x-www-form-urlencoded\n"); client.print("Długość-treści: "); klient.print(postStr.length()); klient.print("\n\n"); klient.print(postStr);
Serial.print("Otoczenie = "); Serial.print(ambTemp);
Serial.print("*C\tObject = "); Serial.print(objTemp); Serial.println("*C");
}
klient.stop(); opóźnienie (2000); }