Мазмұны:

Esp32 және Thingsio.ai платформасы арқылы топырақ ылғалдылығын өлшеу: 6 қадам
Esp32 және Thingsio.ai платформасы арқылы топырақ ылғалдылығын өлшеу: 6 қадам

Бейне: Esp32 және Thingsio.ai платформасы арқылы топырақ ылғалдылығын өлшеу: 6 қадам

Бейне: Esp32 және Thingsio.ai платформасы арқылы топырақ ылғалдылығын өлшеу: 6 қадам
Бейне: Использование термопары MAX6675 с ESP32 Bluetooth 2024, Маусым
Anonim
Esp32 және Thingsio.ai платформасының көмегімен топырақ ылғалдылығын өлшеу
Esp32 және Thingsio.ai платформасының көмегімен топырақ ылғалдылығын өлшеу

Бұл оқулықта мен esp32 көмегімен топырақтағы ылғалдылықты оқу, содан кейін мәндерді thingsio.ai IoT бұлтты платформасына жіберу туралы түсіндіремін.

1 -қадам: ҚҰРАМДАР

КОМПОНЕНТТЕР
КОМПОНЕНТТЕР
КОМПОНЕНТТЕР
КОМПОНЕНТТЕР

Аппараттық компоненттер:

1. esp32 дамыту тақтасы

2. Топырақ сенсоры

3. Jumper Wires

Бағдарламалық қамтамасыз ету:

1. Arduino IDE

2. Thingsio.ai

2 -қадам: Байланыс

Байланыс
Байланыс

Топырақ ылғалдылығы сенсоры ---------------------- esp32 тақтасы

VCC -------------------------------------- 3V3

GND -------------------------------------- GND

A0 -------------------------------------- VP

3 -қадам: КОД:

#қосу

#қосу

#қосу

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

int t;

int sensor_pin = A0;

int мәні;

///////////////////////////////////////// БАРЛЫҚ ДЕКЛАРАЦИЯ

CLOUD үшін ///////////////////////////////

const char* host = «api.thingsai.io»; // НЕМЕСЕ хост =

devapi2.thethingscloud.com

const char* post_url = «/devices/deviceData»; // НЕМЕСЕ

/api/v2/thingscloud2/_table/data_ac

const char* time_server =

«baas.thethingscloud.com»; // бұл уақыт белгісін түрлендіру

const int httpPort = 80;

const int httpsPort = 443;

const char* сервер =

«api.thingsai.io»; // Сервердің URL мекенжайы

таңбаның уақыт белгісі [10];

WiFiMulti WiFiMulti;

// TCP қосылымдарын жасау үшін WiFiClient класын қолданыңыз

WiFiClient клиенті;

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

Есептеу функциясы ////////////////////////////////////////////////////////////////////////////////////////////

int GiveMeTimestamp ()

{

қол қойылмаған ұзақ

күту уақыты = millis ();

// WiFiClient клиенті;

кезінде

(client.available () == 0)

{

егер (миллис () -

күту уақыты> 50000)

{

client.stop ();

қайтару 0;

}

}

while (client.available ())

{

Жол жолы =

client.readStringUntil ('\ r'); // indexOf () -smthng іздеу функциясы, ол табылмаса -1 қайтарады

int pos =

line.indexOf («\» уақыт белгісі / «»); // жауаптың басынан бастап «\» уақыт белгісін / «» іздеңіз және содан кейін барлық деректерді көшіріңіз, бұл сіздің уақыт белгісі болады

егер (pos> =

0)

{

int j = 0;үшін (j = 0; j <10; j ++)

{уақыт белгісі [j] = жол [pos + 12 + j];

}

}

}

}

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

жарамсыз орнату ()

{Serial.begin (115200);Serial.println («Сенсордан оқу…»);

кешіктіру (2000);

// Біз бастаймыз

WiFi желісіне қосылу

WiFiMulti.addAP («Wifi_name», «Wifi_Password»);

Serial.println ();

Serial.println ();Serial.print («WiFi күтіңіз …»);while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print («.»);

кешіктіру (500);

}Serial.println («»);Serial.println («WiFi қосылған»);

Serial.println («IP

мекен -жайы: «);Serial.println (WiFi.localIP ());

кешіктіру (500);

}

бос цикл ()

{

{

////////////////////////////////////////// СҰРАҚТЫ Жіберу ЖӘНЕ

ЖАУАП АЛУ ///////////////////////

мәні =

analogRead (sensor_pin);

// мән =

карта (мәні, 550, 0, 0, 100);Serial.print («Mositure:»);Serial.print (мән);Serial.println («%»);кешіктіру (1000);Serial.print («қосылуда»);Serial.println (хост); // жоғарыдан анықталған:- хост = devapi2.thethingscloud.com немесе 139.59.26.117

///////////////////////////////////////////////////// УАҚЫТТЫҢ КОДЫН СНИППЕТ

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

Serial.println («ішінде уақыт белгісін алу / n»);

егер

(! client.connect (time_server, {

қайтару;

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

}client.println («GET/api/уақыт белгісі HTTP/1.1»); // Бұл бөлім не істейді, мен түсінбедімclient.println («Хост: baas.thethingscloud.com»);client.println («Кэшті басқару: кэшсіз»);client.println («Пошташы-Токен: ea3c18c6-09ba-d049-ccf3-369a22a284b8»);

client.println ();

GiveMeTimestamp ();

// ол серверден уақыт белгісін алатын функцияны шақырады

Serial.println («уақыт белгісі алынды»);

Serial.println (уақыт белгісі);Serial.println («ThingsCloudPost ішінде»);

Жолдың мәні =

«{» device_id / «: 61121695918, \» slave_id / «: 2»;

PostValue =

PostValue + «, \» dts / «:» + уақыт белгісі;

PostValue =

PostValue +«, \» data / «: {» MOIST / «:» +мәні +«}» +«}»;Serial.println (PostValue);

/ * WiFiClientSecure данасын жасаңыз */

WiFiClientSecure клиенті;Serial.println («443 порт арқылы серверге қосылу»);

егер

(! client.connect (сервер, 443)) {Serial.println («Байланыс сәтсіз болды!»);

} басқа {Serial.println («Серверге қосылды!»);

/* HTTP құру

сұраныс */client.println («POST/devices/deviceData HTTP/1.1»);client.println («Хост: api.thingsai.io»);//client.println( Байланыс: жабу «);client.println («Content-Type: application/json»);

client.println («кэшті басқару:

кэш жоқ »);client.println («Авторизация: жеткізуші eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT»)client.print («Content-Length:»);

client.println (PostValue.length ());client.println ();client.println (PostValue);

Деректерді орналастыру //

бұлт жасалды, енді бұлт серверінің жауап формасын алыңыз /////////////////

Serial.print («Жауап күтілуде

);

кезінде

(! client.available ()) {

кешіктіру (50);

//Serial.print («.»);

}

/* егер деректер болса

қол жетімді, содан кейін алыңыз және Терминалға басып шығарыңыз */

кезінде

(client.available ()) {

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

}

/* егер

сервер ажыратылды, клиентті тоқтату */

егер

(! client.connected ()) {Serial.println ();Serial.println («Сервер ажыратылды»);

client.stop ();

}

}

Serial.println («////////////////////// СОҢЫ

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

кешіктіру (3000);

}

}

4 -қадам: ШЫҒУ:

ШЫҒУ
ШЫҒУ

Кодтың шығысы көрсетіледі.

5 -қадам: ГРАФИКА

ГРАФИКА
ГРАФИКА

Бұл сенсордан оқылатын мәндердің графикалық көрінісі.

6 -қадам:

Міне, жобаның толық бейнесі. Рақмет сізге.

Ұсынылған: