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

Thingsai Cloud ашиглан LDR: 13 алхам
Thingsai Cloud ашиглан LDR: 13 алхам

Видео: Thingsai Cloud ашиглан LDR: 13 алхам

Видео: Thingsai Cloud ашиглан LDR: 13 алхам
Видео: Male Reproductive System 2024, Арваннэгдүгээр
Anonim
Thingsai Cloud ашиглан LDR
Thingsai Cloud ашиглан LDR

Хөөе ….. өнөөдөр бид гэрлийн эрчмийг хэмжих, утгыг THINGSAI IOT үүл платформд ESP32 ашиглан оруулах талаар сурах болно.

Энэ төслийг хэрэгжүүлэхэд тавигдах шаардлага бол

1. ESP32 Хөгжлийн Зөвлөл (Би ESP32 DEVKIT V1 ашигласан)

2. LDR мэдрэгч

3. Холбогч утас

4. THINGSAI IOT PLATFORM дахь данс

Алхам 1: THINGSIO платформыг үүсгэж, нэвтрэх

THINGSIO платформыг үүсгэх, нэвтрэх
THINGSIO платформыг үүсгэх, нэвтрэх

THINGS AI данс руу нэвтэрнэ үү. Хэрэв та шинээр ирсэн бол бүртгүүлэх товчийг дарж данс руу бүртгүүлж, бүх итгэмжлэлийг бөглөнө үү. Таны данс үүсч, үүнээс хойш та клоуд платформ дээр ажиллаж, өөрийн хүссэн төслөө үүсгэх боломжтой болно

Алхам 2: Шинэ төсөл боловсруулах

Шинэ төсөл бий болгох
Шинэ төсөл бий болгох

Бүртгэлд нэвтэрсний дараа төсөл үүсгэхийн тулд шинэ төсөл дээр дараад төслийн нэрийг өгнө үү.

Алхам 3: Шинэ төхөөрөмж үүсгэх

Шинэ төхөөрөмж бий болгох
Шинэ төхөөрөмж бий болгох

Төсөл үүсгэсний дараа хийх ёстой зүйл бол шинэ төхөөрөмж үүсгэх, төхөөрөмжийн нэрийг өгч, төхөөрөмжийн ID -г гараар эсвэл системээр оруулна уу.

Алхам 4: Төхөөрөмжийн параметрийг тодорхойлох

Төхөөрөмжийн параметрийг тодорхойлох
Төхөөрөмжийн параметрийг тодорхойлох

Төхөөрөмжийн параметрийг өгөөд параметрийн төрлийг сонгоно уу

Алхам 5: Төхөөрөмжийг шинэчлэх

Төхөөрөмжийг шинэчилж байна
Төхөөрөмжийг шинэчилж байна

Параметрийг сонгоод төхөөрөмжийг шинэчилнэ үү

Алхам 6: Кодлох

Кодлох
Кодлох

Дээж кодуудаас esp32 кодыг сонгоод хуулаад дараа нь arduino IDE дээр буулгаж, шаардлагын дагуу шаардлагатай өөрчлөлтүүдийг хийнэ үү. Би доорх кодыг өгсөн

#оруулах #оруулах

#оруулах

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

int t; int outputpin = A0; // ds18b20

int sensorvalue;

/////////////////////////////////////////// CLOUD -ийн бүх мэдэгдэл ////// //////////////////////////

const char* хост = "api.thingsai.io"; // ЭСВЭЛ

хост = devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // OR/api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"; // энэ бол цагийн тэмдгийг хөрвүүлэх явдал юм

const int httpPort = 80;

const int httpsPort = 443;

const char* server = "api.thingsai.io"; // Серверийн URL

цаг хугацааны тэмдэг [10];

WiFiMulti WiFiMulti;

// TCP холболт үүсгэхийн тулд WiFiClient класс ашиглана уу

WiFiClient үйлчлүүлэгч;

////////////////////////////////////////// TIMESTAMP CALCULATION функц //////// ////////////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient үйлчлүүлэгч;

while (client.available () == 0)

{

if (millis () - timeout> 50000)

{

client.stop (); буцаах 0;

}

}

while (client.available ())

{

String мөр = 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);

саатал (10);

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

WiFiMulti.addAP ("wifi", "pswrd");

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);

}

хоосон давталт ()

{

int analogValue = analogRead (outputpin);

{////////////////////////////////////////// Асуулгыг илгээж, хариултыг хүлээн авна уу /// //////////////////////

sensorvalue = analogRead (A0); // аналог оролтын зүү 0 -ийг уншина уу

sensorvalue = sensorvalue/100;

Цуваа.хэвлэх (sensorvalue, DEC); // уншсан утгыг хэвлэнэ

Serial.print ("\ n"); // тоонуудын хоорондох зайг хэвлэнэ

саатал (1000); // дараагийн уншихыг 100 минут хүлээнэ үү

Serial.print ("руу холбогдох"); Serial.println (хост); // дээшээ тодорхойлсон:- хост = devapi2.thethingscloud.com эсвэл 139.59.26.117

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

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

if (! 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 / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + цагийн тэмдэг;

PostValue = PostValue +", \" data / ": {" INTENSITY / ":" +\ sensorvalue +"}" +"}";

Serial.println (PostValue);

/ * WiFiClientSecure */ WiFiClientSecure клиентийн жишээ үүсгэх;

Serial.println ("443 портоор сервер рүү холбогдох");

if (! client.connect (server, 443))

{

Serial.println ("Холболт амжилтгүй боллоо!");

}

өөр

{Serial.println ("Сервертэй холбогдсон!"); / * HTTP хүсэлт үүсгэх */

client.println ( POST/devices/deviceData

client.println ("Хөтлөгч: api.thingsai.io"); //client.println("Холболт: хаах "); cl

ient.println ("Агуулгын төрөл: application/json");

client.println ("cache-control: no-cache");

client.println ("Зөвшөөрөл: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT") client.print ("Агуулга-Урт:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); //////////////////////////////////////////////// Үүл дээр өгөгдөл байршуулах ажил дуусч одоо үүлний хариултын маягтыг авна сервер ////////////////////

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

while (! client.available ()) {

саатал (50); //

Serial.print (".");

} / * хэрэв өгөгдөл байгаа бол хүлээж аваад Терминал руу хэвлэх * /

while (client.available ())

{

char c = client.read ();

Цуваа бичих (c);

}

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

if (! client.connected ())

{

Serial.println ();

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

client.stop ();

}

} Serial.println ("/////////////////////// ТӨГСГӨЛ //////////////////// /");

саатал (3000); }}

Алхам 7: Удирдах зөвлөл ба Ком портыг сонгох

Удирдах зөвлөл ба Ком портын сонголт
Удирдах зөвлөл ба Ком портын сонголт

Багаж хэрэгслүүдээс самбарыг сонгоод ком портыг сонгоно уу

Алхам 8: Хэлхээ холболтууд

Хэлхээ холболтууд
Хэлхээ холболтууд
Хэлхээ холболтууд
Хэлхээ холболтууд
Хэлхээ холболтууд
Хэлхээ холболтууд

Кодчилол хийгдэж дараа нь доор дурдсанчлан дараах холболтуудыг хийнэ

ХОЛБОО:

LDR мэдрэгчийн GND -ээс esp32 -ийн GND

LDR -ийн Vcc руу 3V3 0f esp32

LDR -ийн A0 -ийн esp32 -ийн VP

Алхам 9: Эмхэтгэх, байршуулах

Эмхэтгэх, байршуулах
Эмхэтгэх, байршуулах

кодыг esp32 дээр эмхэтгэн байршуулаад дараа нь цуваа монитороос уншсан хэсгийг уншина уу. Энэ нь иймэрхүү үр дүнг харуулах болно

Алхам 10: Цуваа дэлгэц

Цуваа монитор
Цуваа монитор

Энэ утгыг цуваа дэлгэц дээр олж аваад THINGSAI IOT Cloud платформ руу илгээдэг.

Алхам 11: Унших

Унших
Унших

Энэ нь esp32 самбараас авсан утгыг харуулна.

Алхам 12: График дүрслэл

График дүрслэл
График дүрслэл

Энэ бол олж авсан утгуудын график дүрслэл юм. Ингээд хичээл дууслаа. Та ойлгосон гэж найдаж байна. Баярлалаа

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