Съдържание:

LDR Използване на Thingsai Cloud: 13 стъпки
LDR Използване на Thingsai Cloud: 13 стъпки

Видео: LDR Използване на Thingsai Cloud: 13 стъпки

Видео: LDR Използване на Thingsai Cloud: 13 стъпки
Видео: Hubble - 15 years of discovery 2024, Ноември
Anonim
LDR Използване на облак Thingsai
LDR Използване на облак Thingsai

ХЕЙ ….. днес ще научим за измерване на интензитета на светлината и публикуване на стойностите в облачната платформа THINGSAI IOT с помощта на ESP32.

Изискванията за изпълнението на този проект са

1. ESP32 Board за разработка (използвал съм ESP32 DEVKIT V1)

2. LDR сензор

3. Кабелни проводници

4. Сметка в THINGSAI IOT PLATFORM

Стъпка 1: Създаване и влизане в платформата THINGSIO

Създаване и влизане в платформата THINGSIO
Създаване и влизане в платформата THINGSIO

Влезте в акаунта AI на THINGS AI. Ако сте нов, регистрирайте се в акаунта, като натиснете бутона за регистриране и попълнете всички идентификационни данни. Вашият акаунт ще бъде създаден и оттогава ще можете да работите в облачната платформа и да създавате свой персонализиран проект

Стъпка 2: Създаване на нов проект

Създаване на нов проект
Създаване на нов проект

След като влезете в акаунта, за да създадете проект, просто щракнете върху новия проект и след това дайте името на проекта.

Стъпка 3: Създаване на ново устройство

Създаване на ново устройство
Създаване на ново устройство

След създаването на проекта следващото нещо, което трябва да направите, е да създадете ново устройство. Дайте името на устройството и въведете идентификатора на устройството ръчно или генерирано от системата.

Стъпка 4: Определяне на параметъра на устройството

Определяне на параметъра на устройството
Определяне на параметъра на устройството

Дайте параметъра на устройството и след това изберете типа на параметъра

Стъпка 5: Актуализиране на устройството

Актуализиране на устройството
Актуализиране на устройството

Изберете параметъра и след това актуализирайте устройството

Стъпка 6: Кодиране

Кодиране
Кодиране

От примерните кодове изберете кода на esp32, копирайте го и след това го поставете в IDE на arduino и направете необходимите промени в съответствие с изискването. Дадох кода по -долу

#включи #включи

#включва

int брой = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

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* server = "api.thingsai.io"; // URL адрес на сървъра

char времева марка [10];

WiFiMulti WiFiMulti;

// Използвайте WiFiClient клас за създаване на TCP връзки

Клиент 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 ("\" времева марка / ""); // потърсете "\" timestamp / "" от началото на отговора и копирайте всички данни след това, това ще бъде вашият времеви знак

ако (pos> = 0)

{

int j = 0;

за (j = 0; j <10; j ++)

{

времева марка [j] = ред [pos + 12 + j];

}

}

}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup ()

{

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

}

void loop ()

{

int analogValue = analogRead (изход);

{///////////////////////////////////////// ИЗПРАЩАЙТЕ ЗАПИТВАНЕТО И ПОЛУЧАВАЙТЕ ОТГОВОРА /// //////////////////////

sensorvalue = analogRead (A0); // чете аналогов входен пин 0

сензорна стойност = сензорна стойност/100;

Serial.print (сензорна стойност, DEC); // отпечатва прочетената стойност

Serial.print ("\ n"); // отпечатва интервал между числата

забавяне (1000); // изчакайте 100ms за следващо четене

Serial.print ("свързване към"); Serial.println (хост); // дефинирано нагоре:- host = 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 ("timetamp receieved");

Serial.println (времева отметка);

Serial.println ("вътре в ThingsCloudPost");

Низ PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + времева марка;

PostValue = PostValue +", \" данни / ": {" 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("Connection: close "); кл

ient.println ("Тип съдържание: application/json");

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

client.println ("Упълномощаване: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC22K2K2K7X2Ky2XK6x6x7x6xxxxxxx) 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: Избор на платка и Com порт

Избор на платка и Com порт
Избор на платка и Com порт

От инструментите изберете дъската и след това изберете com порта

Стъпка 8: Връзки на веригата

Връзки на веригата
Връзки на веригата
Връзки на веригата
Връзки на веригата
Връзки на веригата
Връзки на веригата

Кодирането се извършва, след което направете следните връзки, както е споменато по -долу

ВРЪЗКИ:

GND на esp32 към GND на LDR сензора

3V3 0f esp32 към Vcc на LDR

VP на esp32 към A0 на LDR

Стъпка 9: Компилиране и качване

Компилиране и качване
Компилиране и качване

компилирайте и качете кода в esp32 и след това прочетете показанията от серийния монитор. Това би показало резултат нещо подобно

Стъпка 10: Сериен монитор

Сериен монитор
Сериен монитор

Стойностите се получават на серийния монитор и след това се изпращат в облачната платформа THINGSAI IOT.

Стъпка 11: Четения

Четения
Четения

Това показва стойностите, получени от платката esp32.

Стъпка 12: Графично представяне

Графично представяне
Графично представяне

Това е графичното представяне на получените стойности. Това е краят на урока. Дано сте разбрали. Благодаря ти

Препоръчано: