Përmbajtje:
- Hapi 1: PMPRBRSIT:
- Hapi 2: POCRFAQSIMI I DIAGRAMS SOC Bllokut të Esp32
- Hapi 3: KODIMI:
- Hapi 4: dalje:
- Hapi 5: Grafika:
- Hapi 6:
Video: Matja e Temperaturës duke Përdorur Esp32 dhe Platformën Thingsio.ai: 6 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:21
Në këtë tutorial do të shpjegoj në lidhje me matjen e temperaturës në rrethinë duke përdorur sensorin e integruar të temperaturës të pranishëm në tabelën e zhvillimit esp32. esp32 ka shumë sensorë të integruar si sensori i sallës i përdorur si sensori i afërsisë, sensori i prekjes, sensori i temperaturës. Në këtë tutorial ne do të diskutojmë në lidhje me sensorin e temperaturës.
Hapi 1: PMPRBRSIT:
Hardware:
1.esp32 bordi i zhvillimit
Softuer:
1. Arduino IDE
2. Thingsio.ai
Hapi 2: POCRFAQSIMI I DIAGRAMS SOC Bllokut të Esp32
Hapi 3: KODIMI:
#përfshi
#përfshi
#përfshi
#përfshi
#përfshi
#ifdef _plusplus
jashtme "C" {
#endif
uint8_t temprature_sens_read ();
// uint8_t g_phyFuns;
#ifdef _plusplus
}
#endif
int numërimi = 0, i, m, j, k;
int t, t1, t2, t3;
int outputpin = A0; // ds18b20
//////////////////////////////////////// GJITHA DEKLARATAT
për CLOUD ///////////////////////////////
const char* host = "api.thingsai.io"; // OSE host =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; //
OR/api/v2/thingscloud2/_table/data_ac
const char* serveri i kohës =
"baas.thethingscloud.com"; // kjo është për të konvertuar vulën kohore
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // URL e serverit
vula e kohës char [10];
WiFiMulti WiFiMulti;
// Përdorni klasën WiFiClient për të krijuar lidhje TCP
Klienti WiFiClient;
//////////////////////////////////////// TIMESTAMP
Funksioni i llogaritjes ////////////////////////////////////////
int GiveMeTimestamp ()
{
pa firmosur gjatë
timeout = millis ();
// klienti WiFiClient;
derisa
(klienti i disponueshëm () == 0)
{
nëse (milis () -
timeout> 50000)
{
client.stop ();
kthimi 0;
}
}
ndërsa (klienti i disponueshëm ())
{
Linja e vargut =
client.readStringUntil ('\ r'); // indexOf () është një funksion për të kërkuar smthng, ai kthen -1 nëse nuk gjendet
int pos =
line.indexOf ("\" afati kohor / ""); // kërko për "\" timestamp / "" që nga fillimi i përgjigjes mori dhe kopjo të gjitha të dhënat pas kësaj, do të jetë vula juaj kohore
nëse (pos> =
0)
{
int j = 0;për (j = 0; j <10; j ++)
{vula kohore [j] = rreshti [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{Serial.fillo (115200);
vonesa (10);
tzset ();
// Fillojmë nga
lidhja me një rrjet WiFiWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
Serial.println ();
Serial.println ();Serial.print ("Prisni për WiFi …");ndërsa (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
vonesë (500);
}Serial.println ("");Serial.println ("WiFi i lidhur");Serial.println ("Adresa IP:");Serial.println (WiFi.localIP ());
vonesë (500);
}
uint8_t temp_farenheit;
nota temp_celsius;
char strftime_buf [64];
koha_t tani = 0;
strukt tm timeinfo;
kar buf [256];
lak void ()
{
// int analogValue =
analogRead (outputpin);
{
//////////////////////////////////////// DENDRGUAR PYETJEN DHE
MERRNI PESRGJIGJEN ///////////////////////
//
t1 = (Vlera analoge/1024.0) *5000;
//
Serial.print ("temp:");
// Serial.println (t1);
/
/ t2 = (t1/ 10);
//
Serial.print ("celc:");
//
Serial.println (t2);
/
/ t3 = ((t2 *
9)/5 + 32);
//
Serial.print ("fhrn:");
//
Serial.println (t3); // pushim;localtime_r (& tani, & timeinfo);strftime (strftime_buf, sizeof (strftime_buf), "%c", & timeinfo);sprintf (buf, "fillimi i skanimit%02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
Serial.print
(buf);
temp_farenheit =
temprature_sens_read ();
temp_celsius = (temp_farenheit - 32) / 1.8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Serial.print ("° F");Serial.print (temp_celsius);Serial.println ("° C");
vonesa (1000);
tani ++;
Serial.print ( lidh
tek );Serial.println (host); // e përcaktuar me kokë:- host = devapi2.thethingscloud.com ose 139.59.26.117
/////////////////////////////////////// TIMESTAMP KODI SNIPPET
/////////////////////////
Serial.println ("brenda merrni vulën kohore / n");
nëse
(! client.connect (server_ kohor, {
kthim;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // Çfarë bën kjo pjesë, nuk e kuptovaclient.println ("Pritësi: baas.thethingscloud.com");client.println ("Cache-Control: pa-cache");client.println ("Postier-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klient.println ();
GiveMeTimestamp (); // do të thërrasë
funksion i cili do të marrë përgjigjen kohore nga serveri
Serial.println ("vula kohore e marrë");
Serial.println (vula kohore);Serial.println ("brenda ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121695920, \" slave_id / ": 2";
Vlera Postare =
PostValue + ", \" dts / ":" + vula kohore;
Vlera Postare =
PostValue +", \" data / ": {" TEMP / ":" +temp_farenheit +"}" +"}";Serial.println (PostValue);
/ * krijoni një shembull të WiFiClientSecure */
Klient WiFiClientSecure;Serial.println ("Lidhu me serverin përmes portit 443");
nëse
(! client.connect (server, 443)) {Serial.println ("Lidhja dështoi!");
} tjetër {Serial.println ("I lidhur me serverin!");
/* krijoni
kërkesë */client.println ("POST/pajisje/pajisjeData HTTP/1.1");client.println ("Pritësi: api.thingsai.io");//client.println("Lidhja: mbyll ");client.println ("Lloji i përmbajtjes: aplikacion/json");client.println ("cache-control: pa-cache");client.println ("autorizimit Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9tdW5AG7ajfVlY");client.print ("Përmbajtja-Gjatësia:");client.println (PostValue.length ());klient.println ();client.println (PostValue);
/////////////////////////////////// POSTIMI i të dhënave në
cloud është përfunduar dhe tani merrni përgjigjen nga serveri cloud //////////////////
Serial.print ( Duke pritur
për përgjigje );
derisa
(! client.available ()) {
vonesë (50);
//Serial.print (".");
}
/* nëse të dhënat janë
e disponueshme pastaj merrni dhe printoni në Terminal */
derisa
(client.available ()) {
char c =
client.read ();Serial.shkruani (c);
}
/* nëse
serveri u shkëput, ndaloni klientin */
nëse
(! client.connected ()) {Serial.println ();Serial.println ("Serveri u shkëput");
client.stop ();
}
}
Serial.println ( ////////////////////// FUNDI
///////////////////// );
vonesë (3000);
}
}
Hapi 4: dalje:
Këtu është dalja e vlerave të temperaturës të lexuara nga sensori.
Hapi 5: Grafika:
Paraqitja grafike e vlerave të lexuara nga sensori i temperaturës në bord.
Recommended:
Monitorimi i temperaturës dhe lagështisë DHT duke përdorur ESP8266 dhe Platformën IoT AskSensors: 8 hapa
Monitorimi i temperaturës dhe lagështisë DHT duke përdorur ESP8266 dhe Platformën IoT AskSensors: Në një udhëzues të mëparshëm, unë paraqita një udhëzues hap pas hapi për të filluar me ESP8266 nodeMCU dhe platformën IoT AskSensors. Në këtë tutorial, unë jam duke lidhur një sensor DHT11 te nyja MCU. DHT11 është një temperaturë dhe lagështi e përdorur zakonisht
Matja e lagështisë dhe temperaturës duke përdorur HIH6130 dhe Arduino Nano: 4 hapa
Matja e lagështisë dhe temperaturës duke përdorur HIH6130 dhe Arduino Nano: HIH6130 është një sensor lagështie dhe temperature me dalje dixhitale. Këta sensorë ofrojnë një nivel saktësie ± 4% RH. Me stabilitet afatgjatë udhëheqës të industrisë, I2C të vërtetë dixhitale të kompensuar nga temperatura, besueshmëri udhëheqëse në industri, efikasitet energjetik
Matja e temperaturës dhe lagështisë duke përdorur HDC1000 dhe Arduino Nano: 4 hapa
Matja e Temperaturës dhe Lagështisë duke Përdorur HDC1000 dhe Arduino Nano: HDC1000 është një sensor dixhital i lagështisë me sensor të integruar të temperaturës që siguron saktësi të shkëlqyeshme të matjes me fuqi shumë të ulët. Pajisja mat lagështinë bazuar në një sensor të ri kapacitiv. Sensorët e lagështisë dhe temperaturës janë të dukshme
Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Arduino Nano: 4 hapa
Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Arduino Nano: HTS221 është një sensor dixhital ultra kompakt kapacitiv për lagështinë dhe temperaturën relative. Ai përfshin një element ndijues dhe një qark të integruar specifik të aplikimit të sinjalit të përzier (ASIC) për të siguruar informacionin e matjes përmes serialit dixhital
Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai: 6 hapa
Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Platformën Esp32 dhe Thingsio.ai: Në këtë tutorial do të shpjegoj në lidhje me leximin e përmbajtjes së lagështisë në tokë duke përdorur esp32 dhe më pas dërgimin e vlerave në platformën cloud thingso.ai IoT