Агуулгын хүснэгт:

Esp32 болон Thingsio.ai платформ ашиглан хөрсний чийгийн агууламжийг хэмжих: 6 алхам
Esp32 болон Thingsio.ai платформ ашиглан хөрсний чийгийн агууламжийг хэмжих: 6 алхам

Видео: Esp32 болон Thingsio.ai платформ ашиглан хөрсний чийгийн агууламжийг хэмжих: 6 алхам

Видео: Esp32 болон Thingsio.ai платформ ашиглан хөрсний чийгийн агууламжийг хэмжих: 6 алхам
Видео: Installing VSCode with PlaformIO and building MarlinFW 2024, Арваннэгдүгээр
Anonim
Esp32 болон Thingsio.ai платформ ашиглан хөрсний чийгийн агууламжийг хэмжих
Esp32 болон Thingsio.ai платформ ашиглан хөрсний чийгийн агууламжийг хэмжих

Энэхүү гарын авлагад би хөрсний чийгийг esp32 ашиглан уншиж, дараа нь утгыг thingsio.ai IoT үүл платформ руу илгээх талаар тайлбарлах болно.

Алхам 1: Бүрэлдэхүүн хэсгүүд

Бүрэлдэхүүн хэсгүүд
Бүрэлдэхүүн хэсгүүд
Бүрэлдэхүүн хэсгүүд
Бүрэлдэхүүн хэсгүүд

Тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүд:

1. esp32 хөгжүүлэх самбар

2. Хөрсний мэдрэгч

3. Jumper утас

Програм хангамж:

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* хост = "api.thingsai.io"; // OR хост =

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 ("\" цагийн тэмдэг / ""); // хариултын эхэн үеэс эхлэн "\" timestamp / "" гэж хайгаад дараа нь бүх өгөгдлийг хуулж авбал энэ нь таны цаг хугацааны тэмдэг болно

хэрэв (pos> =

0)

{

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

{цагийн тэмдэг [j] = мөр [pos + 12 + j];

}

}

}

}

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

хүчингүй тохиргоо ()

{Цуваа.begin (115200);Serial.println ("Мэдрэгчээс уншиж байна …");

саатал (2000);

// Бид эхэлж байна

WiFi сүлжээнд холбогдох

WiFiMulti.addAP ("Wifi_name", "Wifi_Password");

Serial.println ();

Serial.println ();Serial.print ("WiFi хүлээнэ үү …");байхад (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.println ("%");саатал (1000);Serial.print ("руу холбогдох");Serial.println (хост); // дээшээ тодорхойлсон:- хост = devapi2.thethingscloud.com эсвэл 139.59.26.117

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

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

Serial.println ("дотор цаг хугацааны тэмдэг авах / n");

хэрэв

(! client.connect (time_server, {

буцах;

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

}client.println ("GET/api/timestamp HTTP/1.1"); // Энэ хэсэг юу хийж байна, би ойлгосонгүйclient.println ("Хөтлөгч: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Шууданч-Токен: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp ();

// энэ нь серверээс цагийн тэмдгийн хариуг авах функцийг дуудах болно

Serial.println ("цагийн тэмдэг хүлээн авсан");

Serial.println (цагийн тэмдэг);Serial.println ("ThingsCloudPost дотор");

String PostValue =

"{" 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 ("Агуулгын төрөл: application/json");

client.println ( кэш-хяналт:

кэшгүй ");client.println ("Зөвшөөрөл: эзэмшигч eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT"client.print ("Агуулга-Урт:");

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

////////////////////////////////////// Өгөгдлийг байршуулах

үүл дууссан бөгөөд одоо үүл серверийн хариултын маягтыг авна уу /////////////////

Serial.print ( Хариу хүлээж байна

);

байхад

(! client.available ()) {

саатал (50);

//Serial.print (".");

}

/* өгөгдөл байгаа бол

бэлэн болсны дараа хүлээн авч Терминал руу хэвлэх боломжтой */

байхад

(client.available ()) {

char c = client.read ();Цуваа бичих (c);

}

/* хэрэв

сервер салгагдсан, үйлчлүүлэгчийг зогсоо */

хэрэв

(! client.connected ()) {Serial.println ();Serial.println ("Сервер салгагдсан");

client.stop ();

}

}

Serial.println ( ////////////////////// ТӨГСГӨЛ

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

саатал (3000);

}

}

Алхам 4: ГАРАХ:

Гаралт
Гаралт

Кодын гаралтыг харуулав.

Алхам 5: ГРАФИК

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

Энэ бол мэдрэгчээс уншиж буй утгуудын график дүрслэл юм.

Алхам 6:

Төслийн бүрэн видеог энд оруулав. Баярлалаа.

Зөвлөмж болгож буй: