2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V současné době je IoT trendem a spousta strojů má data, která lze nahrát do cloudu a analyzovat data. Malé senzory aktualizují data v cloudu a působí na ně akční člen na jiném konci. Vysvětlím ten z příkladu IoT.
Tento článek a budu ukazovat a vést k odesílání dat na Thingspeak pomocí ESP8266.
Krok 1: Požadovaná součást
ESP8266ESP8266 v Indii-
ESP8266 ve Velké Británii -
ESP8266 v USA -
MLX90614MLX90614 v Indii-
MLX90614 ve Velké Británii -
MLX90614 v USA -
BreadBoard
BreadBoard v Indii-
BreadBoard v USA- https://amzn.to/2MW0Opb BreadBoard ve Velké Británii-
Krok 2: Kód
#include #include #include
Řetězec apiKey = "7CDCTE2767Z8AUIL"; // Zadejte svůj klíč API pro zápis z ThingSpeak
const char *ssid = "skrytý"; // nahraďte klíčem wifi ssid a wpa2
const char *pass = "qwerty12"; const char* server = "api.thingspeak.com";
Klient WiFiClient;
Adafruit_MLX90614 mlx = Adafruit_MLX90614 ();
int objTemp;
int ambTemp;
neplatné nastavení ()
{Serial.begin (115200); zpoždění (10); Serial.println ("Připojování k"); Serial.println (ssid); WiFi.begin (ssid, pass); while (WiFi.status ()! = WL_CONNECTED) {zpoždění (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi připojeno"); mlx.begin (); Wire.begin (D1, D2); } void loop () {
if (client.connect (server, 80)) // "184.106.153.149" nebo api.thingspeak.com
{objTemp = mlx.readObjectTempC (); ambTemp = mlx.readObjectTempC (); Řetězec postStr = apiKey; postStr += "& field1 ="; postStr += String (objTemp); postStr += "\ r / n / r / n";
client.print ("POST /aktualizace HTTP /1.1 / n");
client.print ("Host: api.thingspeak.com / n"); client.print ("Připojení: zavřít / n"); client.print ("X-THINGSPEAKAPIKEY:"+apiKey+"\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Délka obsahu:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr);
Serial.print ("Ambient ="); Serial.print (ambTemp);
Serial.print ("*C / tObject ="); Serial.print (objTemp); Serial.println ("*C");
}
client.stop (); zpoždění (2000); }