Cov txheej txheem:

Kev Ntsuas Kub Siv Esp32 thiab Thingsio.ai Platform: 6 Kauj Ruam
Kev Ntsuas Kub Siv Esp32 thiab Thingsio.ai Platform: 6 Kauj Ruam

Video: Kev Ntsuas Kub Siv Esp32 thiab Thingsio.ai Platform: 6 Kauj Ruam

Video: Kev Ntsuas Kub Siv Esp32 thiab Thingsio.ai Platform: 6 Kauj Ruam
Video: Siv ntsev ntsuas paub tias muaj me nyuam 2024, Hlis ntuj nqeg
Anonim
Kev Ntsuas Kub Siv Esp32 thiab Thingsio.ai Platform
Kev Ntsuas Kub Siv Esp32 thiab Thingsio.ai Platform

Hauv qhov kev qhia no kuv yuav piav qhia txog kev ntsuas qhov ntsuas kub hauv ib puag ncig los ntawm kev siv lub ntsuas ntsuas qhov ntsuas sov tam sim no hauv esp32 kev txhim kho pawg thawj coj. esp32 muaj ntau yam inbuilt sensors zoo li lub sensor sensor siv ua qhov sib thooj sensor, kov sensor, ntsuas kub. Hauv qhov kev qhia no peb yuav tham txog qhov ntsuas kub.

Kauj Ruam 1: QHOV TSEEB:

Cov ntsiab lus
Cov ntsiab lus

Kho vajtse:

1.esp32 pawg thawj coj loj

Software:

1. Arduino IDE

2. Thingsio.ai

Kauj Ruam 2: BLOCK DIAGRAM REPRESENTATION OF Esp32

BLOCK DIAGRAM Kev Soj Ntsuam Ntawm Esp32
BLOCK DIAGRAM Kev Soj Ntsuam Ntawm Esp32

Kauj ruam 3: CODING:

#suav nrog

#suav nrog

#suav nrog

#suav nrog

#suav nrog

#ifdef _cplusplus

extern "C" {

#ib

uint8_t temprature_sens_read ();

// uint8_t g_phyFuns;

#ifdef _cplusplus

}

#ib

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

int t, t1, t2, t3;

int outputpin = A0; // ds18b20

////////////////////////////////////////// Txhua qhov kev ceeb toom

rau CLOUD ////////////////////////////////

const char* tus tswv = "api.thingsai.io"; // LOS YOG host =

devapi2.thethingscloud.com

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

LOSSIS/api/v2/thingscloud2/_table/data_ac

const char* time_server =

"baas.thethingscloud.com"; // qhov no yog los hloov lub sijhawm

const int httpPort = 80;

ua int httpsPort = 443;

const char* neeg rau zaub mov =

"api.thingsai.io"; // Neeg rau zaub mov URL

timestamp char [10];

WiFiMulti WiFiMulti;

// Siv chav kawm WiFiClient los tsim kev sib txuas TCP

WiFiClient tus thov kev pab;

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

CALCULATION muaj nuj nqi ///////////////////////////////////////

muab GiveMeTimestamp ()

{

tsis kos npe ntev

timeout = millis ();

// WiFiClient tus thov kev pab;

thaum

(client.available () == 0)

{

yog tias (millis () -

lub sij hawm> 50000)

{

client.stop (); cov.

rov 0;

}

}

thaum (client.available ())

{

Txoj hlua kab =

client.readStringUntil ('\ r'); // indexOf () yog qhov ua haujlwm los tshawb rau smthng, nws rov qab -1 yog tias tsis pom

int pos = np

line.indexOf ("\" timestamp / ""); // tshawb rau "\" timestamp / "" txij thaum pib teb tau txais thiab theej tag nrho cov ntaub ntawv tom qab ntawd, nws yuav yog koj lub sijhawm

yog (pos> =

0)

{

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

{timestamp [j] = kab [pos + 12 + j];

}

}

}

}

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

void teeb tsa ()

{Serial.begin (115200);

ncua (10);

tzset ();

// Peb pib los ntawm

txuas mus rau WiFi networkWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");

Serial.println ();

Serial.println ();Serial.print ("Tos WiFi …");thaum (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");

ncua (500);

}Serial.println ("");Serial.println ("Txuas nrog WiFi");Serial.println ("IP chaw nyob:");Serial.println (WiFi.localIP ());

ncua (500);

}

uint8_t temp_farenheit;

ntab temp_c Celsius;

char strftime_buf [64];

time_t tam sim no = 0;

txheej txheem tm sijhawm;

char kub [256];

void lub voj ()

{

// int analogValue =

analogRead (outputpin);

{

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Xa Xa cov lus nug thiab

YUAV TSUM TSHUAJ RESPONSE /////////////////////////

//

t1 = (analogValue/1024.0) *5000;

//

Serial.print ("temp:");

// Serial.println (t1);

/

/ t2 = (t1/ 10);

//

Serial.print ("cov:");

//

Serial.println (t2);

/

/ t3 = ((t2 *

9)/5 + 32);

//

Serial.print ("fhrn:");

//

Serial.println (t3); // tawg;localtime_r (& tam sim no, & sijhawm sijhawm);strftime (strftime_buf, sizeof (strftime_buf), "%c", & sijhawm sijhawm info);sprintf (buf, "scan pib%02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);

Serial.print

(kub);

temp_farenheit =

temprature_sens_read ();

temp_c Celsius = (temp_farenheit - 32) / 1.8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Serial.print ("° F");Serial.print (temp_c Celsius);Serial.println ("° C");

ncua (1000);

tam sim no ++;

Serial.print ( txuas

rau );Serial.println (tus tswv tsev); // txhais tau ib sab:- host = devapi2.thethingscloud.com lossis 139.59.26.117

///////////////////////////////////// TIMESTAMP CODE SNIPPET

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

Serial.println ("sab hauv tau txais timestamp / n");

yog

(! client.connect (time_server, {

rov qab;

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

}client.println ("Tau txais/api/timestamp HTTP/1.1"); // Qhov haujlwm no ua dab tsi, kuv tsis tau txaisclient.println ("Tus tswv tsev: baas.thethingscloud.com");client.println ("Cache-Control: tsis-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println (); cov.

GiveMeTimestamp (); // nws yuav hu rau

muaj nuj nqi uas yuav tau txais lub sijhawm timestamp teb los ntawm server

Serial.println ("timestamp tau txais");

Serial.println (timestamp);Serial.println ("hauv ThingsCloudPost");

Txoj hlua PostValue =

"{" device_id / ": 61121695920, \" qhev_id / ": 2";

PostValue = Cov

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

PostValue = Cov

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

/ * tsim qhov piv txwv ntawm WiFiClientSecure */

WiFiClientSecure tus neeg siv khoom;Serial.println ("Txuas rau server ntawm chaw nres nkoj 443");

yog

(! client.connect (neeg rau zaub mov, 443)) {Serial.println ("Kev sib txuas tsis tau ua tiav!");

lwm yam {Serial.println ("Txuas rau server!");

/* tsim

thov */client.println ("POST/pab kiag li lawm/deviceData HTTP/1.1");client.println ("Tus tswv: api.thingsai.io");//client.println("Connection: kaw ");client.println ("Cov ntsiab lus-Hom: thov/json");client.println ("cache-control: tsis-cache");client.println ("Kev tso cai: Tus neeg nqa khoom eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9Jy9j9"client.print ("Cov ntsiab lus-Ntev:");client.println (PostValue.length ());client.println (); cov.client.println (PostValue);

//////////////////////////////////// POSTING cov ntaub ntawv mus rau

huab tau ua tiav thiab tam sim no tau txais daim ntawv teb huab server //////////////////

Serial.print ( Tos

rau cov lus teb );

thaum

(! client.available ()) {

ncua (50);

//Serial.print (".");

}

/* yog cov ntaub ntawv

muaj ces tau txais thiab luam tawm rau Terminal */

thaum

(client.available ()) {

kab c =

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

}

/* os

server txuas, nres tus neeg siv khoom */

yog

(! client.connected ()) {Serial.println ();Serial.println ("Cov neeg rau zaub mov raug txuas");

client.stop (); cov.

}

}

Serial.println ( ////////////////////// Qhov kawg

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

ncua (3000);

}

}

Kauj Ruam 4: QHOV TSEEB:

NTUJ
NTUJ

Nov yog qhov tso tawm ntawm qhov ntsuas kub nyeem los ntawm lub ntsuas.

Kauj Ruam 5: GRAPHS:

QAB
QAB
QAB
QAB

Cov duab sawv cev ntawm qhov tseem ceeb nyeem los ntawm qhov ntsuas kub hauv lub ntsuas.

Pom zoo: