Мазмуну:

Thingsai Cloudду колдонуу менен LDR: 13 кадам
Thingsai Cloudду колдонуу менен LDR: 13 кадам

Video: Thingsai Cloudду колдонуу менен LDR: 13 кадам

Video: Thingsai Cloudду колдонуу менен LDR: 13 кадам
Video: 【ハワイ一日観光】ハワイ1年半ぶりの彼女にデート費用全部奢ったら、総額まさかの●●ドル… 2024, Ноябрь
Anonim
Thingsai Cloudду колдонуу менен LDR
Thingsai Cloudду колдонуу менен LDR

ХЕЙ ….. Бүгүн биз ESP32 аркылуу THINGSAI IOT булут платформасына жарыктын интенсивдүүлүгүн өлчөө жана баалуулуктарды жайгаштыруу жөнүндө үйрөнөбүз.

Бул долбоорду ишке ашыруу үчүн талаптар

1. ESP32 өнүктүрүү кеңеши (мен ESP32 DEVKIT V1 колдонгом)

2. LDR сенсор

3. Jumper Wires

4. THINGSAI IOT PLATFORMдагы эсеп

1 -кадам: THINGSIO платформасын түзүү жана ага кирүү

THINGSIO платформасын түзүү жана ага кирүү
THINGSIO платформасын түзүү жана ага кирүү

THINGS AI эсебине кириңиз. Эгерде сиз жаңы болсоңуз, анда каттоо кнопкасын басуу менен каттоо эсебине катталып, бардык грамоталарды толтуруңуз. Сиздин эсебиңиз түзүлөт, андан кийин сиз булут платформасында иштей аласыз жана өзүңүздүн жеке долбооруңузду түзө аласыз

2 -кадам: Жаңы долбоор түзүү

Жаңы долбоор түзүү
Жаңы долбоор түзүү

Каттоо эсебине киргенден кийин, долбоорду түзүү үчүн жаңы долбоорду чыкылдатып, анан долбоордун атын бериңиз.

3 -кадам: Жаңы түзмөктү түзүү

Жаңы түзмөк түзүү
Жаңы түзмөк түзүү

Долбоорду түзгөндөн кийин, кийинки нерсени жасоо керек: жаңы түзмөктү түзүү. Түзмөктүн атын бериңиз жана түзмөктүн идентификаторун кол менен же системадан түзүңүз.

4 -кадам: түзмөктүн параметрин аныктоо

Түзмөктүн параметрин аныктоо
Түзмөктүн параметрин аныктоо

Түзмөктүн параметрин бериңиз, андан кийин параметрдин түрүн тандаңыз

5 -кадам: Түзмөктү жаңыртуу

Түзмөктү жаңыртуу
Түзмөктү жаңыртуу

Параметрди тандап, анан аппаратты жаңыртыңыз

6 -кадам: Коддоо

Coding
Coding

Үлгүлүү коддордон 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"; // Server URL

char убакыт белгиси [10];

WiFiMulti WiFiMulti;

// TCP байланыштарын түзүү үчүн WiFiClient классын колдонуңуз

WiFiClient кардары;

/////////////////////////////////////////TIMESTAMP CALCULATION функциясы ///////// ///////////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient кардары;

while (client.available () == 0)

{

эгер (миллис () - тайм -аут> 50000)

{

client.stop (); return 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 (sensorvalue, DEC); // окулган маанини басып чыгарат

Serial.print ("\ n"); // сандардын ортосундагы боштукту басып чыгарат

кечигүү (1000); // кийинки окуу үчүн 100ms күтө туруңуз

Serial.print ("туташуу"); Serial.println (кабыл алуучу); // тескери аныкталган:- хост = devapi2.thethingscloud.com же 139.59.26.117

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

Serial.println ("ичинде убакыт белгисин алуу / n");

if (! client.connect (time_server, {return; //*-*-*-*-*-*-*-*-*-*}

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 ("Content-Type: application/json");

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

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 -кадам: Board жана Com Port тандоо

Board жана Com Port тандоо
Board жана Com Port тандоо

Куралдардан тактаны тандап, андан кийин ком портун тандаңыз

8 -кадам: Райондук туташуулар

Circuit Connections
Circuit Connections
Circuit Connections
Circuit Connections
Circuit Connections
Circuit Connections

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

БАЙЛАНЫШТАР:

Lp3 сенсорунун GND үчүн esp32 GND

3V3 0f esp32 ВДРге

LDRнын A0га esp32нин VP

9 -кадам: Компиляциялоо жана жүктөө

Компиляциялоо жана жүктөө
Компиляциялоо жана жүктөө

кодду esp32ге түзүңүз жана жүктөңүз, андан кийин сериалдык монитордон окуңуз. Бул ушундай бир нерсени көрсөтөт

10 -кадам: Сериялык монитор

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

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

11 -кадам: Окуулар

Окуулар
Окуулар

Бул esp32 тактасынан алынган баалуулуктарды көрсөтөт.

12 -кадам: Графикалык өкүлчүлүк

Графикалык өкүлчүлүк
Графикалык өкүлчүлүк

Бул алынган баалуулуктардын графикалык көрүнүшү. Окутуу куралы ушуну менен аяктады. Түшүндүңүз деп үмүттөнөм. Рахмат

Сунушталууда: