Mündəricat:

Thingsai Buludundan istifadə edərək LDR: 13 addım
Thingsai Buludundan istifadə edərək LDR: 13 addım

Video: Thingsai Buludundan istifadə edərək LDR: 13 addım

Video: Thingsai Buludundan istifadə edərək LDR: 13 addım
Video: Blokçeyn texnologiyası və onun istifadə sahələri | Xeyransa Musayeva 2024, Iyul
Anonim
Thingsai Buludundan istifadə edərək LDR
Thingsai Buludundan istifadə edərək LDR

HEY ….. bu gün ESP32 istifadə edərək işığın intensivliyini ölçmək və dəyərləri THINGSAI IOT bulud platformasına yerləşdirmək haqqında öyrənəcəyik.

Bu layihəni həyata keçirmək üçün tələblər var

1. ESP32 İnkişaf Şurası (ESP32 DEVKIT V1 istifadə etmişəm)

2. LDR sensoru

3. Jumper Telləri

4. THINGSAI IOT PLATFORM -da hesab

Addım 1: THINGSIO Platformasının yaradılması və daxil olması

THINGSIO Platformasının yaradılması və daxil olması
THINGSIO Platformasının yaradılması və daxil olması

THINGS AI hesabına daxil olun. Yenisinizsə, qeydiyyat düyməsini basaraq hesaba daxil olun və bütün etimadnamənizi doldurun. Hesabınız yaradılacaq və bundan sonra bulud platformasında işləyə və özəl layihənizi yarada biləcəksiniz

Addım 2: Yeni Layihə Yaratmaq

Yeni Layihə Yaratmaq
Yeni Layihə Yaratmaq

Hesaba daxil olduqdan sonra bir layihə yaratmaq üçün yeni layihəni vurun və sonra layihənin adını verin.

Addım 3: Yeni Cihaz Yaratmaq

Yeni Cihaz Yaratmaq
Yeni Cihaz Yaratmaq

Layihəni yaratdıqdan sonra etməli olduğunuz şey yeni bir cihaz yaratmaqdır. Cihazın adını verin və ya əl ilə və ya sistem tərəfindən yaradılan cihaz ID -ni daxil edin.

Addım 4: Cihaz Parametrini təyin edin

Cihaz parametrlərinin təyin edilməsi
Cihaz parametrlərinin təyin edilməsi

Cihaz parametrini verin və sonra parametr növünü seçin

Addım 5: Cihazı yeniləyin

Cihazın yenilənməsi
Cihazın yenilənməsi

Parametr seçin və sonra cihazı yeniləyin

Addım 6: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma

Nümunə kodlarından esp32 kodunu seçin, kopyalayın və sonra arduino IDE -ə yapışdırın və tələbə uyğun olaraq lazımi dəyişiklikləri edin. Aşağıdakı kodu verdim

#daxil edin #daxil edin

#daxil edin

int sayı = 0, i, m, j, k;

int t; int çıxış pin = A0; // ds18b20

int sensor dəyəri;

///////////////////////////////////////// BÜTÜN BÜTÜN Bəyannamələr ////// ///////////////////////////

const char* host = "api.thingsai.io"; // OR

ev sahibi = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // bu zaman damgasını çevirməkdir

const int httpPort = 80;

const int httpsPort = 443;

const char* server = "api.thingsai.io"; // Server URL

simvol işarəsi [10];

WiFiMulti WiFiMulti;

// TCP əlaqələri yaratmaq üçün WiFiClient sinifindən istifadə edin

WiFi müştəri;

////////////////////////////////////////////////////// TIMESTAMP CALCULATION funksiyası //////// ////////////////////////////////////////// GiveMeTimestamp () {işarəsiz uzun zaman aşımı = millis (); // WiFiClient müştəri;

while (client.available () == 0)

{

if (millis () - zaman aşımı> 50000)

{

client.stop (); qaytarma 0;

}

}

while (client.available ())

{

String xətti = client.readStringUntil ('\ r'); // indexOf () smthng axtaran bir funksiyadır, tapılmazsa -1 qaytarır

int pos = line.indexOf ("\" zaman damgası / ""); // "\" zaman damgası / "" nı axtarın və sonra bütün məlumatları kopyalayın, bu sizin zaman damganız olacaq

əgər (pos> = 0)

{

int j = 0;

üçün (j = 0; j <10; j ++)

{

vaxt damgası [j] = sətir [pos + 12 + j];

}

}

}

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

boş quraşdırma ()

{

Serial.begin (115200);

gecikmə (10);

// WiFi şəbəkəsinə qoşulmaqla başlayırıq

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

Serial.println ();

Serial.println ();

Serial.print ("WiFi gözləyin …");

isə (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

gecikmə (500);

}

Serial.println ("");

Serial.println ("WiFi bağlıdır");

Serial.println ("IP ünvanı:"); Serial.println (WiFi.localIP ());

gecikmə (500);

}

boşluq döngəsi ()

{

int analogValue = analogRead (çıxış pin);

{/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////

sensor dəyəri = analogRead (A0); // analoq giriş pinini oxuyun 0

sensor dəyəri = sensor dəyəri/100;

Serial. çap (sensor dəyəri, DEC); // oxunan dəyəri çap edir

Serial.print ("\ n"); // ədədlər arasında boşluq yazır

gecikmə (1000); // növbəti oxumaq üçün 100 ms gözləyin

Serial.print ("qoşulur"); Serial.println (ev sahibi); // tərs olaraq təyin olunur:- host = devapi2.thethingscloud.com və ya 139.59.26.117

//////////////////////////////////////////////////////////////// TIMESTAMP KOD SNIPPET /////////// ////////////////

Serial.println ("daxilində zaman damgası alın / n");

əgər (! client.connect (time_server, {qayıt; //*-*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/zaman damgası HTTP/1.1"); // Bu hissə nə edir, client.println almadım ("Host: baas.thethingscloud.com");

client.println ("Önbelleğe Nəzarət: önbelleği yoxdur");

client.println ("Poçtalyon-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

müştəri.println ();

GiveMeTimestamp (); // Serial.println serverindən zaman damgası cavabı alacaq funksiyanı çağıracaq ("zaman damgası alındı");

Serial.println (vaxt damgası);

Serial.println ("ThingsCloudPost daxilində");

String PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + zaman damgası;

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

Serial.println (PostValue);

/ * WiFiClientSecure nümunəsi yaratmaq */ WiFiClientSecure müştəri;

Serial.println ("Serverə 443 portu ilə qoşulun");

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

{

Serial.println ("Bağlantı uğursuz oldu!");

}

başqa

{Serial.println ("Serverə qoşuldu!"); / * HTTP sorğusu yaradın */

client.println ( POST/cihazlar/cihazData

client.println ("Host: api.thingsai.io"); //client.println("Bağlantı: yaxın "); cl

ient.println ("Məzmun Növü: application/json");

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

client.println ("Yetkilendirme: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT" client.print ("Məzmun-Uzunluq:");

müştəri.println (PostValue.length ());

müştəri.println ();

client.println (PostValue); /////////////////////////////////////////////// Buluddakı məlumatların yerləşdirilməsi tamamlandı və indi cavab formasını buluddan əldə edin server ////////////////////

Serial.print ("Cavab gözləyir");

while (! client.available ()) {

gecikmə (50); //

Serial.print (".");

} / * əgər məlumat varsa, alın və Terminalda çap edin * /

while (client.available ())

{

char c = client.read ();

Serial.write (c);

}

/ * server bağlantısı kəsilərsə, müştərini dayandırın */

əgər (! müştəri. bağlı ())

{

Serial.println ();

Serial.println ("Server bağlantısı kəsildi");

client.stop ();

}

} Serial.println ("/////////////////////// SONU //////////////////// /");

gecikmə (3000); }}

Addım 7: Board və Com Port seçimi

Board və Com Port seçimi
Board və Com Port seçimi

Alətlərdən lövhəni seçin və sonra əlaqə limanını seçin

Addım 8: Dövrə Bağlantıları

Dövrə Əlaqələri
Dövrə Əlaqələri
Dövrə Əlaqələri
Dövrə Əlaqələri
Dövrə Əlaqələri
Dövrə Əlaqələri

Kodlaşdırma sonra aşağıda qeyd edildiyi kimi aşağıdakı əlaqələri qurun

BAĞLANTILAR:

LDR sensorunun esp32 -dən GND -ə GND

LDR Vcc -ə 3V3 0f esp32

LDR -nin A0 -na esp32 -nin VP -si

Addım 9: Kompilyasiya edin və Yükləyin

Tərtib edin və Yükləyin
Tərtib edin və Yükləyin

kodu esp32 -ə yığın və yükləyin və sonra oxunuşları serial monitordan oxuyun. Nəticə belə bir şey göstərəcək

Addım 10: Serial Monitor

Serial monitor
Serial monitor

Dəyərlər serial monitorda əldə edilir və sonra THINGSAI IOT Cloud platformasına göndərilir.

Addım 11: Oxumalar

Oxumalar
Oxumalar

Bu, esp32 lövhəsindən əldə edilən dəyərləri göstərir.

Addım 12: Qrafik Təmsil

Qrafik Təmsil
Qrafik Təmsil

Bu, əldə edilən dəyərlərin qrafik təsviridir. Dərsliyin sonu budur. Ümid edirəm başa düşdün. Çox sağ ol

Tövsiyə: