Satura rādītājs:
- 1. darbība: SASTĀVDAĻAS:
- 2. darbība. ESP32 BLOKU DIAGRAMMAS PĀRSTĀVĒŠANA
- 3. darbība: KODĒŠANA:
- 4. solis: IZEJA:
- 5. darbība: GRAFIKAS:
- 6. darbība:
Video: Temperatūras mērīšana, izmantojot platformu Esp32 un Thingsio.ai: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šajā apmācībā es paskaidrošu par temperatūras mērīšanu apkārtnē, izmantojot iebūvētu temperatūras sensoru, kas atrodas esp32 izstrādes panelī. Esp32 ir daudz iebūvētu sensoru, piemēram, zāles sensors, ko izmanto kā tuvuma sensoru, pieskāriena sensoru, temperatūras sensoru. Šajā apmācībā mēs apspriedīsim temperatūras sensoru.
1. darbība: SASTĀVDAĻAS:
Aparatūra:
1. esp32 attīstības padome
Programmatūra:
1. Arduino IDE
2. Thingsio.ai
2. darbība. ESP32 BLOKU DIAGRAMMAS PĀRSTĀVĒŠANA
3. darbība: KODĒŠANA:
#iekļaut
#iekļaut
#iekļaut
#iekļaut
#iekļaut
#ifdef _cplusplus
ārējais "C" {
#endif
uint8_t temprature_sens_read ();
// uint8_t g_phyFuns;
#ifdef _cplusplus
}
#endif
int skaits = 0, i, m, j, k;
int t, t1, t2, t3;
int outputpin = A0; // ds18b20
///////////////////////////////////////////////////////////////////// VISAS DEKLARĀCIJAS
CLOUD ///////////////////////////////
const char* saimnieks = "api.thingsai.io"; // VAI saimniekdators =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; //
VAI/api/v2/thingscloud2/_table/data_ac
const char* laika_serveris =
"baas.thethingscloud.com"; // tas ir laika zīmoga konvertēšana
const int httpPort = 80;
const int httpsPort = 443;
const char* serveris =
"api.thingsai.io"; // Servera URL
simbolu laika zīmogs [10];
WiFiMulti WiFiMulti;
// Izmantojiet WiFiClient klasi, lai izveidotu TCP savienojumus
WiFiClient klients;
/////////////////////////////////////////////////////// TIMESTAMP
APRĒĶINA funkcija ////////////////////////////////////////
int GiveMeTimestamp ()
{
neparakstīts ilgi
taimauts = milis ();
// WiFiClient klients;
kamēr
(client.available () == 0)
{
ja (milis () -
taimauts> 50000)
{
client.stop ();
atgriezties 0;
}
}
kamēr (client.available ())
{
Stīgu līnija =
client.readStringUntil ('\ r'); // indexOf () ir funkcija smthng meklēšanai, tā atgriež -1, ja tā netiek atrasta
int pos =
line.indexOf ("\" laika zīmogs / ""); // no atbildes sākuma meklējiet "\" timestamp / "" un pēc tam nokopējiet visus datus, tas būs jūsu laika zīmogs
ja (pos> =
0)
{
int j = 0;par (j = 0; j <10; j ++)
{laika zīmogs [j] = līnija [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
anulēts iestatījums ()
{Serial.begin (115200);
kavēšanās (10);
tzset ();
// Mēs sākam ar
izveidojot savienojumu ar WiFi tīkluWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
Sērijas.println ();
Sērijas.println ();Serial.print ("Pagaidiet WiFi …");kamēr (WiFiMulti.run ()! = WL_CONNECTED) {Sērijas nospiedums (".");
kavēšanās (500);
}Serial.println ("");Serial.println ("savienots WiFi");Serial.println ("IP adrese:");Serial.println (WiFi.localIP ());
kavēšanās (500);
}
uint8_t temp_farenheit;
pludiņš temp_celsius;
char strftime_buf [64];
laiks_t tagad = 0;
struk tm laika informcija;
char buf [256];
tukša cilpa ()
{
// int analogValue =
analogRead (outputpin);
{
//////////////////////////////////
SAŅEMT ATBILDI ///////////////////////
//
t1 = (analogValue/1024,0) *5000;
//
Serial.print ("temp:");
// Serial.println (t1);
/
/ t2 = (t1/ 10);
//
Serial.print ("celc:");
//
Sērijas.println (t2);
/
/ t3 = (((t2 *
9)/5 + 32);
//
Serial.print ("fhrn:");
//
Sērijas.println (t3); // pārtraukums;localtime_r (& tagad, & timeinfo);strftime (strftime_buf, sizeof (strftime_buf), "%c", & timeinfo);sprintf (buf, "skenēšanas sākums%02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
Sērijas.druka
(buf);
temp_farenheit =
temprature_sens_read ();
temp_celsius = (temp_farenheit - 32) / 1,8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Sērijas nospiedums ("° F");Serial.print (temp_celsius);Serial.println ("° C");
kavēšanās (1000);
tagad ++;
Serial.print ( savieno
līdz );Serial.println (resursdators); // definēts otrādi:- resursdators = devapi2.thethingscloud.com vai 139.59.26.117
////////////////////////////////////////////////////////////////// LAIKAS ZĪMES KODA SNIPPETS
/////////////////////////
Serial.println ("iekšā iegūt laika zīmogu / n");
ja
(! client.connect (time_server, {
atgriešanās;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // Ko dara šī daļa, es nesaņēmuclient.println ("Saimnieks: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Pastnieks-marķieris: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klients.println ();
GiveMeTimestamp (); // tas sauksies
funkcija, kas no servera saņems atbildi uz laika zīmogu
Serial.println ("saņemts laika zīmogs");
Serial.println (laika zīmogs);Serial.println ("iekšā ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695920, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + laika zīmogs;
PostValue =
PostValue +", \" dati / ": {" TEMP / ":" +temp_farenheit +"}" +"}";Serial.println (PostValue);
/ * izveidot WiFiClientSecure gadījumu */
WiFiClientSecure klients;Serial.println ("Savienojuma izveide ar serveri, izmantojot portu 443");
ja
(! client.connect (serveris, 443)) {Serial.println ("Savienojums neizdevās!");
} vēl {Serial.println ("Savienojums ar serveri!");
/* izveidot
pieprasījums */client.println ("POST/devices/deviceData HTTP/1.1");client.println ("Saimnieks: api.thingsai.io");//klients.println ("Savienojums: aizvērt ");client.println ("Satura tips: lietojumprogramma/json");client.println ("cache-control: no-cache");client.println ("Autorizācija: nesējs eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2kvkclient.print ("Content-Length:");client.println (PostValue.length ());klients.println ();client.println (PostValue);
////////////////////////////////////////////////&Hl=lv lai datus publicētu
mākonis ir pabeigts un tagad iegūstiet atbildes veidlapu mākoņa serverī ///////////////////
Serial.print ( Gaida
atbildei );
kamēr
(! client.available ()) {
kavēšanās (50);
//Sērijas nospiedums (".");
}
/* ja dati ir
pieejams, tad saņemiet un izdrukājiet terminālī */
kamēr
(client.available ()) {
ogle c =
klients.lasīt ();Serial.write (c);
}
/* ja
serveris ir atvienots, apturiet klientu */
ja
(! client.connected ()) {Sērijas.println ();Serial.println ("Serveris atvienots");
client.stop ();
}
}
Serial.println ( ////////////////////// THE END
///////////////////// );
kavēšanās (3000);
}
}
4. solis: IZEJA:
Šeit ir no sensora nolasīto temperatūras vērtību izvade.
5. darbība: GRAFIKAS:
No borta temperatūras sensora nolasīto vērtību grafiskais attēlojums.
Ieteicams:
Temperatūras mērīšana, izmantojot XinaBox un termistoru: 8 soļi
Temperatūras mērīšana, izmantojot XinaBox un termistoru: Izmēriet šķidruma temperatūru, izmantojot XinaBox analogo ieeju xChip un termistoru zondi
Temperatūras mērīšana, izmantojot AD7416ARZ un Raspberry Pi: 4 soļi
Temperatūras mērīšana, izmantojot AD7416ARZ un Raspberry Pi: AD7416ARZ ir 10 bitu temperatūras sensors ar četriem viena kanāla analogiem ciparu pārveidotājiem un iebūvētu temperatūras sensoru. Detaļu temperatūras sensoram var piekļūt, izmantojot multipleksora kanālus. Šī augstas precizitātes temperatūra
Temperatūras mērīšana, izmantojot STS21 un Arduino Nano: 4 soļi
Temperatūras mērīšana, izmantojot STS21 un Arduino Nano: STS21 digitālais temperatūras sensors piedāvā izcilu veiktspēju un vietu taupošu nospiedumu. Tas nodrošina kalibrētus, linearizētus signālus digitālā, I2C formātā. Šī sensora izgatavošana ir balstīta uz CMOSens tehnoloģiju, kas izcilākajam piešķir
DHT temperatūras un mitruma uzraudzība, izmantojot ESP8266 un AskSensors IoT platformu: 8 soļi
DHT temperatūras un mitruma uzraudzība, izmantojot ESP8266 un AskSensors IoT platformu: Iepriekšējā pamācībā es piedāvāju soli pa solim norādījumus, lai sāktu darbu ar ESP8266 nodeMCU un AskSensors IoT platformu. Šajā apmācībā es pievienoju DHT11 sensoru uz mezglu MCU. DHT11 ir plaši izmantota temperatūra un mitrums
Augsnes mitruma satura mērīšana, izmantojot Esp32 un Thingsio.ai platformu: 6 soļi
Augsnes mitruma satura mērīšana, izmantojot Esp32 un Thingsio.ai platformu: Šajā apmācībā es paskaidrošu par mitruma satura nolasīšanu augsnē, izmantojot esp32, un pēc tam nosūtot vērtības Thingsio.ai IoT mākoņa platformā