Мазмұны:

Thingsai Cloud көмегімен LDR: 13 қадам
Thingsai Cloud көмегімен LDR: 13 қадам

Бейне: Thingsai Cloud көмегімен LDR: 13 қадам

Бейне: Thingsai Cloud көмегімен LDR: 13 қадам
Бейне: Сугата Митра: Построим «Школу в Облаках» 2024, Шілде
Anonim
Thingsai Cloud пайдалану арқылы LDR
Thingsai Cloud пайдалану арқылы LDR

ХЕЙ ….. біз бүгін жарық қарқындылығын өлшеу және ESP32 көмегімен THINGSAI IOT бұлтты платформасына мәндерді енгізу туралы білетін боламыз.

Бұл жобаны орындауға қойылатын талаптар

1. ESP32 әзірлеу тақтасы (мен ESP32 DEVKIT V1 қолдандым)

2. LDR сенсоры

3. Өткізгіш сымдар

4. THINGSAI IOT PLATFORM есептік жазбасы

1 -қадам: THINGSIO платформасын құру және оған кіру

THINGSIO платформасын құру және оған кіру
THINGSIO платформасын құру және оған кіру

THINGS AI есептік жазбасына кіріңіз. Егер сіз жаңадан болсаңыз, тіркеу түймесін басу арқылы тіркелгіге тіркеліп, барлық тіркелгі деректерін толтырыңыз. Сіздің есептік жазбаңыз жасалады, содан кейін сіз бұлтты платформада жұмыс жасай аласыз және өзіңіздің жеке жобаңызды жасай аласыз

2 -қадам: жаңа жоба құру

Жаңа жоба құру
Жаңа жоба құру

Есептік жазбаға кіргеннен кейін, жоба құру үшін жаңа жобаны нұқыңыз, содан кейін жобаның атауын беріңіз.

3 -қадам: жаңа құрылғы жасау

Жаңа құрылғы жасау
Жаңа құрылғы жасау

Жобаны жасағаннан кейін келесі әрекетті орындау қажет - жаңа құрылғы. Құрылғы атауын беріңіз және құрылғы идентификаторын қолмен немесе жүйемен енгізіңіз.

4 -қадам: Құрылғы параметрін анықтау

Құрылғы параметрін анықтау
Құрылғы параметрін анықтау

Құрылғы параметрін беріңіз, содан кейін параметр түрін таңдаңыз

5 -қадам: құрылғыны жаңарту

Құрылғыны жаңарту
Құрылғыны жаңарту

Параметрді таңдап, құрылғыны жаңартыңыз

6 -қадам: кодтау

Кодтау
Кодтау

Үлгі кодтардан esp32 кодын таңдап, оны көшіріңіз, содан кейін arduino IDE -ге қойыңыз және талапқа сәйкес қажетті өзгертулер енгізіңіз. Мен төмендегі кодты бердім

#қосу #қосу

#қосу

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

int t; int outputpin = A0; // ds18b20

int sensorvalue;

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

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* 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 () - күту уақыты> 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);

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

// Біз WiFi желісіне қосылудан бастаймыз

WiFiMulti.addAP («wifi», «pswrd»);

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

}

бос цикл ()

{

int analogValue = analogRead (outputpin);

{//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ҚАТА ҚАБЫЛДАУ /// //////////////////////

sensorvalue = analogRead (A0); // 0 аналогтық кіріс түйреуін оқу

sensorvalue = sensorvalue/100;

Serial.print (сенсорлық мән, 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/уақыт белгісі 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 ішінде»);

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 (сервер, 443))

{

Serial.println («Байланыс сәтсіз болды!»);

}

басқа

{Serial.println («Серверге қосылды!»); / * HTTP сұрауын жасау */

client.println («POST/devices/deviceData

client.println («Хост: api.thingsai.io»); //client.println( Байланыс: жабу «); cl

ient.println («Content-Type: application/json»);

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

client.println («Авторизация: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT») client.print («Content-Length:»);

client.println (PostValue.length ());

client.println ();

client.println (PostValue); /////////////////////////////////////////////// Бұлтты деректерді орналастыру аяқталды, енді бұлттың жауап формасын алыңыз сервер ///////////////////

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

while (! client.available ()) {

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

Serial.print («.»);

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

while (client.available ())

{

char c = client.read ();

Serial.write (c);

}

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

if (! client.connected ())

{

Serial.println ();

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

client.stop ();

}

} Serial.println («/////////////////////// СОҢЫ //////////////////// /«);

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

7 -қадам: Борт пен компорт таңдау

Борт пен компорт таңдау
Борт пен компорт таңдау

Құралдардан тақтаны таңдаңыз, содан кейін коммутаторды таңдаңыз

8 -қадам: тізбекті қосылымдар

Схемалық қосылыстар
Схемалық қосылыстар
Схемалық қосылыстар
Схемалық қосылыстар
Схемалық қосылыстар
Схемалық қосылыстар

Кодтау жасалады, содан кейін төменде көрсетілгендей келесі байланыстарды жасаңыз

Байланыс:

LDR сенсорының esp32 -ден GND -ге дейін

LDR Vcc үшін 3V3 0f esp32

LDR A0 -ге esp32 VP

9 -қадам: компиляция және жүктеу

Компиляция және жүктеу
Компиляция және жүктеу

кодты esp32 -ге құрастырыңыз және жүктеңіз, содан кейін сериялық монитордан оқуды оқыңыз. Нәтиже осындай нәрсені көрсетеді

10 -қадам: сериялық монитор

Сериялық монитор
Сериялық монитор

Мәндер сериялық мониторда алынады, содан кейін олар THINGSAI IOT Cloud платформасына жіберіледі.

11 -қадам: оқулар

Оқулар
Оқулар

Бұл esp32 тақтасынан алынған мәндерді көрсетеді.

12 -қадам: Графикалық бейнелеу

Графикалық бейнелеу
Графикалық бейнелеу

Бұл алынған мәндердің графикалық көрінісі. Оқулық осымен аяқталды. Сіз түсіндіңіз деп үміттенемін. Рақмет сізге

Ұсынылған: