Përmbajtje:

Matja e Temperaturës duke Përdorur Esp32 dhe Platformën Thingsio.ai: 6 Hapa
Matja e Temperaturës duke Përdorur Esp32 dhe Platformën Thingsio.ai: 6 Hapa

Video: Matja e Temperaturës duke Përdorur Esp32 dhe Platformën Thingsio.ai: 6 Hapa

Video: Matja e Temperaturës duke Përdorur Esp32 dhe Platformën Thingsio.ai: 6 Hapa
Video: Matja e temperaturës nga rektumi, këshillat që duhet të ndiqni për ta kryer saktë 2024, Nëntor
Anonim
Matja e Temperaturës duke përdorur Esp32 dhe Platformën Thingsio.ai
Matja e Temperaturës duke përdorur Esp32 dhe Platformën Thingsio.ai

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:

P CORBRSIT
P CORBRSIT

Hardware:

1.esp32 bordi i zhvillimit

Softuer:

1. Arduino IDE

2. Thingsio.ai

Hapi 2: POCRFAQSIMI I DIAGRAMS SOC Bllokut të Esp32

PEPRFAQSIMI I DIAGRAMS SOC Bllokut të Esp32
PEPRFAQSIMI 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:

Dalje
Dalje

Këtu është dalja e vlerave të temperaturës të lexuara nga sensori.

Hapi 5: Grafika:

Grafika
Grafika
Grafika
Grafika

Paraqitja grafike e vlerave të lexuara nga sensori i temperaturës në bord.

Recommended: