Mündəricat:

Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru: 6 addım
Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru: 6 addım

Video: Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru: 6 addım

Video: Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru: 6 addım
Video: Dərs 41. İnternet xidmətləri. E-dövlət. E-imza. Bulud texnologiyaları 2024, Noyabr
Anonim
Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru
Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru

Bu dərslikdə Thirai.io IOT bulud platforması ilə birlikdə PIR sensoru və Esp32 istifadə edərək hərəkətin aşkarlanmasını izah edəcəyəm.

Addım 1: Komponentlər

Komponentlər
Komponentlər
Komponentlər
Komponentlər

DONANIM BİLEŞENLERİ;

1.esp32 İnkişaf Şurası

2. PIR Sensoru

3. Jumper Telləri

PROQRAM TƏMİNATI:

1. Arduino IDE

2. Thingsai.io hesabı

Addım 2: BAĞLANTILAR

BAĞLANTILAR
BAĞLANTILAR

Bağlantılar sadədir.

PIR PINS ------------ ESP32 PINS

Esp32-də VCC ------------------- 3V3

Esp32-də GND ------------------ GND

ÇIXIŞ ------------------- D22 esp32-də

Addım 3: KODLAMA

Bu kodu bir yeniləmə ilə Arduino IDE -yə yapışdırın, Motion sensorunuz çıxışı qüsursuz verəcək.

#daxil edin

#daxil edin

#daxil edin

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

int t, t1, t2, t3;

int pin = 22;

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

const char* host = "api.thingsai.io"; // YA ana host = 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ı //////// /////////////////////////////////

int GiveMeTimestamp ()

{

imzasız 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);

pinMode (pin, GİRİŞ);

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

WiFiMulti.addAP ("wifi_name", "Wifi_password");

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

{

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // /////////////////////

{

bool isDetected = digitalRead (pin);

if (isDetected) {

Serial.println ("Varlıq aşkarlandı");

}

gecikmə (500);

}

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ıtmaq; //*-*-*-*-*-*-*-*-*-*-*

}

client.println ("GET/api/zaman damgası HTTP/1.1"); // Bu hissə nə edir, başa düşmədim

client.println ("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 (); // serverdən zaman damgası cavabını alacaq funksiyanı çağıracaq

Serial.println ("vaxt damgası alındı");

Serial.println (vaxt damgası);

Serial.println ("ThingsCloudPost daxilində");

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

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

PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";

Serial.println (PostValue);

/ * WiFiClientSecure nümunəsi yaradın */

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

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

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

client.println ("Yetkilendirme: daşıyıcı eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. 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 (".");

}

/ * məlumatlar varsa, terminaldan alın və ç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 */

if (! client.connected ()) {

Serial.println ();

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

client.stop ();

}

}

Serial.println ("/////////////////////// SON SON ///////////////////// ");

gecikmə (3000);

}

}

Addım 4: Çıxış

Çıxış
Çıxış

Bu, şeysai, io bulud platformasındakı sensordan oxunan dəyərlərin bar qrafikidir.

Addım 5: Qrafik

Qrafik
Qrafik

Bu sensordan alınan dəyərlərin qrafik təsviridir. Yuxarıdakı qrafikdən sensorun tətbiqini təhlil edə bilərik. Çox sağ ol

Tövsiyə: