Sisukord:

Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil: 6 sammu
Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil: 6 sammu

Video: Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil: 6 sammu

Video: Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil: 6 sammu
Video: Как использовать термопару MAX6675 типа k с Arduino 2024, November
Anonim
Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil
Temperatuuri mõõtmine platvormi Esp32 ja Thingsio.ai abil

Selles õpetuses selgitan ümbruse temperatuuri mõõtmist esp32 arendusplaadil oleva sisseehitatud temperatuurianduri abil. esp32 -l on palju sisseehitatud andureid, näiteks esiandur, mida kasutatakse lähedusandurina, puuteandur, temperatuuriandur. Selles õpetuses räägime temperatuuriandurist.

1. samm: KOMPONENDID:

KOMPONENDID
KOMPONENDID

Riistvara:

1. esp32 arendusplaat

Tarkvara:

1. Arduino IDE

2. Thingsio.ai

2. samm: ESP32 BLOKKIDIAGRAAMI ESINDUS

BLOKKIDIAGRAAMI ESINDUS ESP32
BLOKKIDIAGRAAMI ESINDUS ESP32

3. samm: KOODIMINE:

#kaasake

#kaasake

#kaasake

#kaasake

#kaasake

#ifdef _cplusplus

väline "C" {

#endif

uint8_t temprature_sens_read ();

// uint8_t g_phyFuns;

#ifdef _cplusplus

}

#endif

int arv = 0, i, m, j, k;

int t, t1, t2, t3;

int väljundpin = A0; // ds18b20

//////////////////////////////////////////////////////// KÕIK DEKLARATSIOONID

PILVE jaoks //////////////////////////////

const char* host = "api.thingsai.io"; // VÕI host =

devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; //

VÕI/api/v2/thingscloud2/_table/data_ac

const char* ajaserver =

"baas.thethingscloud.com"; // see on ajatempli teisendamiseks

const int httpPort = 80;

const int httpsPort = 443;

const char* server =

"api.thingsai.io"; // Serveri URL

sümboli ajatempel [10];

WiFiMulti WiFiMulti;

// Kasutage WiFi -kliendi klassi TCP -ühenduste loomiseks

WiFiClient klient;

/////////////////////////////////////////////////////// TIMESTAMP

Funktsioon ARVUTAMINE ///////////////////////////////////////

int GiveMeTimestamp ()

{

allkirjata pikk

timeout = millis ();

// WiFiClient klient;

samas

(client.available () == 0)

{

kui (millis () -

ajalõpp> 50000)

{

client.stop ();

tagasitulek 0;

}

}

samas (client.available ())

{

Stringirida =

client.readStringUntil ('\ r'); // indexOf () on funktsioon smthng otsimiseks, tagastab -1, kui seda ei leita

int pos =

line.indexOf ("\" ajatempel / ""); // otsi vastuse algusest "\" ajatempel / "" ja kopeeri pärast seda kõik andmed, see on sinu ajatempel

kui (pos> =

0)

{

int j = 0;jaoks (j = 0; j <10; j ++)

{ajatempel [j] = rida [pos + 12 + j];

}

}

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////

tühine seadistus ()

{Seriaalne algus (115200);

viivitus (10);

tzset ();

// Alustame

WiFi -võrguga ühenduse loomineWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");

Serial.println ();

Serial.println ();Serial.print ("Oota WiFi …");samas (WiFiMulti.run ()! = WL_CONNECTED) {Seeria.print (".");

viivitus (500);

}Serial.println ("");Serial.println ("WiFi ühendatud");Serial.println ("IP -aadress:");Serial.println (WiFi.localIP ());

viivitus (500);

}

uint8_t temp_farenheit;

float temp_celsius;

char strftime_buf [64];

aeg_t praegu = 0;

struktuuri tm ajainfo;

char buf [256];

tühine tsükkel ()

{

// int analogValue =

analogRead (väljundpinge);

{

///////////////////////////////////////////////////////////////////////////////////////-

VASTA VASTUS ///////////////////////

//

t1 = (analoogVäärtus/1024,0) *5000;

//

Serial.print ("temp:");

// Seeria.println (t1);

/

/ t2 = (tl/ 10);

//

Serial.print ("celc:");

//

Seeria.println (t2);

/

/ t3 = (((t2 *

9)/5 + 32);

//

Serial.print ("fhrn:");

//

Seeria.println (t3); // murda;localtime_r (& nüüd, & timeinfo);strftime (strftime_buf, sizeof (strftime_buf), "%c", & timeinfo);sprintf (buf, "skannimise algus%02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);

Seeria.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");

viivitus (1000);

nüüd ++;

Serial.print ( ühendamine

kuni );Serial.println (host); // määratletud tagurpidi:- host = devapi2.thethingscloud.com või 139.59.26.117

/////////////////////////////////////////////////-

/////////////////////////

Serial.println ("inside get timestamp / n");

kui

(! client.connect (time_server, {

tagasipöördumine;

//*-*-*-*-*-*-*-*-*-*

}client.println ("GET/api/ajatempel HTTP/1.1"); // Mida see osa teeb, ma ei saanud aruclient.println ("Host: baas.thethingscloud.com");client.println ("Vahemälu kontroll: vahemälu puudub");client.println ("Postimees-märk: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klient.println ();

GiveMeTimestamp (); // see kutsub

funktsioon, mis saab serverilt ajatempli vastuse

Serial.println ("ajatempel saadud");

Serial.println (ajatempel);Serial.println ("sees ThingsCloudPost");

String PostValue =

"{" seadme_id / ": 61121695920, \" orja_id / ": 2";

PostValue =

PostValue + ", \" dts / ":" + ajatempel;

PostValue =

PostValue +", \" andmed / ": {" TEMP / ":" +temp_farenheit +"}" +"}";Serial.println (PostValue);

/ * looge WiFiClientSecure'i eksemplar */

WiFiClientSecure klient;Serial.println ("Ühenda serveriga pordi 443 kaudu");

kui

(! client.connect (server, 443)) {Serial.println ("Ühendus ebaõnnestus!");

} muud {Serial.println ("Ühendatud serveriga!");

/* luua

taotlus */client.println ("POST/seadmed/seadmeandmed HTTP/1.1");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Sisu tüüp: rakendus/json");client.println ("cache-control: no-cache");client.println ("Autoriseerimine: kandja eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2k2kvkclient.print ("Sisu-pikkus:");klient.println (PostValue.length ());klient.println ();klient.println (PostValue);

//////////////////////////////////////////////// ning andmete postitamine

pilv on tehtud ja hankige nüüd vastusvorm pilveserver //////////////////

Serial.print ( Ootan

vastuseks );

samas

(! client.available ()) {

viivitus (50);

//Seeria.print (".");

}

/* kui andmed on

saadaval, seejärel võtke vastu ja printige terminali */

samas

(client.available ()) {

sümbol c =

client.read ();Serial.write (c);

}

/* kui

server on lahti ühendatud, peatage klient */

kui

(! client.connected ()) {Serial.println ();Serial.println ("Server on lahti ühendatud");

client.stop ();

}

}

Serial.println ( ////////////////////// LÕPP

///////////////////// );

viivitus (3000);

}

}

4. samm: VÄLJUND:

VÄLJUND
VÄLJUND

Siin on andurilt loetud temperatuuri väärtuste väljund.

5. samm: graafikud:

GRAFIKUD
GRAFIKUD
GRAFIKUD
GRAFIKUD

Sisseehitatud temperatuuriandurilt loetud väärtuste graafiline esitus.

Soovitan: