Mündəricat:
- Addım 1: Komponentlər
- Addım 2: BAĞLANTILAR
- Addım 3: KODLAMA
- Addım 4: Çıxış
- Addım 5: Qrafik
- Addım 6: İşdə Breif Açıqlamasının Videosu
Video: Thingsai.io Iot Bulud Platformasından istifadə edərək Hərəkət Detektoru: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
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
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ğ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ış
Bu, şeysai, io bulud platformasındakı sensordan oxunan dəyərlərin bar qrafikidir.
Addım 5: 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ə:
ESP8266 və AskSensors IoT Platformasından istifadə edərək DHT Temperatur və Rütubətin İzlənməsi: 8 Addım
ESP8266 və AskSensors IoT Platformasından istifadə edərək DHT Temperatur və Nəmlik Monitorinqi: Əvvəlki təlimatda, ESP8266 nodeMCU və AskSensors IoT platformasına başlamaq üçün addım -addım təlimat təqdim etdim. MCU düyünə. DHT11, tez -tez istifadə olunan bir temperatur və nəmdir
Evive-Arduino Gömülü Platformasından istifadə edərək Sayı Sayma Çemberləri olan Ağıllı Basketbol Arcade Oyunu: 13 Addım
Evive-Arduino Gömülü Platformasından istifadə edərək Sayı Sayma Çemberləri olan Ağıllı Basketbol Arcade Oyunu: Oradakı bütün oyunların içərisində ən əyləncəli oyun oyunlarıdır. Beləliklə, düşündük ki, niyə evdə özümüz etməyək! Budur, indiyə qədər oynadığınız ən əyləncəli DIY oyunu - DIY Arcade Basketbol Oyunu! Yalnız bu deyil
NodeMCU istifadə edərək hərəkət detektoru: 5 addım
NodeMCU istifadə edərək hərəkət detektoru: Bu layihədə sadəcə bir hərəkət sensoru istifadə edərək hər hansı bir insanın və ya heyvanın varlığını aşkar edə bilərsiniz. Şeylər adlı platforma ilə varlığın aşkarlandığı tarixi və saatı izləyə bilərsiniz
Esp32 və Thingsio.ai Platformasından İstifadə Ölçmə: 6 Addım
Esp32 və Thingsio.ai Platformasından İstifadə Ölçmə: Bu dərslikdə esp32 inkişaf lövhəsində olan daxili temperatur sensoru istifadə edərək ətrafdakı temperaturun ölçülməsi ilə bağlı izah edəcəyəm. esp32 yaxınlıq sensoru kimi istifadə olunan salon sensoru kimi bir çox daxili sensorlara malikdir
Esp32 və Thingsio.ai Platformasından istifadə edərək Torpaq Nəmliyinin Ölçülməsi: 6 Addım
Esp32 və Thingsio.ai Platformasından istifadə edərək Torpaq Nəmliyinin Ölçülməsi: Bu dərslikdə esp32 istifadə edərək torpaqdakı nəmin oxunmasını və sonra dəyərlərin thingsio.ai IoT bulud platformasına göndərilməsini izah edəcəyəm