جدول المحتويات:

كاشف الحركة باستخدام منصة Thingsai.io Iot السحابية: 6 خطوات
كاشف الحركة باستخدام منصة Thingsai.io Iot السحابية: 6 خطوات

فيديو: كاشف الحركة باستخدام منصة Thingsai.io Iot السحابية: 6 خطوات

فيديو: كاشف الحركة باستخدام منصة Thingsai.io Iot السحابية: 6 خطوات
فيديو: جاري تحميل اللهجة الكويتية ⏳ 2024, شهر نوفمبر
Anonim
كاشف الحركة باستخدام Thingsai.io Iot Cloud Platform
كاشف الحركة باستخدام Thingsai.io Iot Cloud Platform

سأشرح في هذا البرنامج التعليمي اكتشاف الحركة باستخدام مستشعر PIR و Esp32 جنبًا إلى جنب مع منصة سحابة IOT Thingai.io

الخطوة 1: المكونات

عناصر
عناصر
عناصر
عناصر

مكونات الأجهزة؛

1.esp32 مجلس التنمية

2. PIR الاستشعار

3. أسلاك العبور

البرمجيات:

1. Arduino IDE

2. حساب Thingsai.io

الخطوة 2: التوصيلات

روابط
روابط

الاتصالات هادئة وبسيطة.

دبابيس البير ------------ دبابيس ESP32

VCC ------------------- 3V3 على esp32

GND ------------------ GND على esp32

خارج ------------------- D22 على esp32

الخطوة 3: البرمجة

الصق هذا الرمز في Arduino IDE الخاص بك مع بعض التحديث ، سيعطي مستشعر الحركة الخاص بك الإخراج بلا عيب.

#يشمل

#يشمل

#يشمل

عدد صحيح = 0 ، أنا ، م ، ي ، ك ؛

int t ، t1 ، t2 ، t3 ؛

دبوس int = 22 ؛

////////////////////////////////////////// جميع التصريحات عن CLOUD ////// //////////////////////////

const char * host = "api.thingsai.io" ؛ // OR host = devapi2.thethingscloud.com

const char * post_url = "/ devices / deviceData" ؛ // OR / 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] ؛

WiFi متعدد WiFi متعدد ؛

// استخدم فئة WiFiClient لإنشاء اتصالات TCP

عميل WiFiClient ؛

///////////////////////////////////////// TIMESTAMP CALCULATION وظيفة //////// /////////////////////////////////

int GiveMeTimestamp ()

{

مهلة طويلة بدون توقيع = مللي () ؛

// عميل WiFiClient ؛

بينما (client.available () == 0)

{

إذا (بالمللي () - المهلة> 50000)

{

client.stop () ؛

العودة 0 ؛

}

}

بينما (client.available ())

{

String line = client.readStringUntil ('r') ؛ // indexOf () هي وظيفة للبحث عن smthng ، وتعيد -1 إذا لم يتم العثور عليها

int pos = line.indexOf ("\" الطابع الزمني / "") ؛ // ابحث عن "\" timestamp / "" من بداية الرد ونسخ جميع البيانات بعد ذلك ، سيكون طابعك الزمني

إذا (نقاط البيع> = 0)

{

int j = 0 ؛

لـ (j = 0 ؛ j <10 ؛ j ++)

{

الطابع الزمني [j] = الخط [نقطة البيع + 12 + ي] ؛

}

}

}

}

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

الإعداد باطل()

{

Serial.begin (115200) ؛

تأخير (10) ؛

pinMode (دبوس ، المدخلات) ؛

// نبدأ بالاتصال بشبكة WiFi

WiFiMulti.addAP ("wifi_name" ، "Wifi_password") ؛

Serial.println () ،

Serial.println () ،

Serial.print ("انتظر WiFi …") ؛

بينما (WiFiMulti.run ()! = WL_CONNECTED) {

Serial.print (".") ؛

تأخير (500) ؛

}

Serial.println ("") ؛

Serial.println ("متصل بشبكة WiFi") ؛

Serial.println ("عنوان IP:") ؛

Serial.println (WiFi.localIP ()) ؛

تأخير (500) ؛

}

حلقة فارغة()

{

int analogValue = analogRead (outputpin) ؛

{

/////////////////////////////////////// أرسل الاستعلام واحصل على الاستجابة //// /////////////////////

{

bool isDetected = digitalRead (pin) ؛

إذا (تم اكتشافه) {

Serial.println ("تم اكتشاف وجود") ؛

}

تأخير (500) ؛

}

Serial.print ("الاتصال بـ") ؛

Serial.println (مضيف) ؛ // المعرف الصاعد: - host = devapi2.thethingscloud.com أو 139.59.26.117

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

Serial.println ("الحصول على الطابع الزمني للداخل / n") ؛

إذا (! client.connect (خادم الوقت ،

{

إرجاع؛ // * - * - * - * - * - * - * - * - * - *

}

client.println ("GET / api / timestamp HTTP / 1.1") ؛ // ما الذي يفعله هذا الجزء ، لم أحصل عليه

client.println ("المضيف: baas.thethingscloud.com") ؛

client.println ("Cache-Control: no-cache") ؛

client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8") ؛

client.println () ،

GiveMeTimestamp () ، // سوف تستدعي الوظيفة التي ستحصل على استجابة الطابع الزمني من الخادم

Serial.println ("تم استلام الطابع الزمني") ؛

Serial.println (طابع زمني) ؛

Serial.println ("داخل ThingsCloudPost") ؛

String PostValue = "{" device_id / ": 61121695839، \" slave_id / ": 2"؛

PostValue = PostValue + "، \" dts / ":" + timestamp؛

PostValue = PostValue + "، \" data / ": {" PIR / ":" + pin + "}" + "}"؛

Serial.println (PostValue) ؛

/ * إنشاء مثيل WiFiClientSecure * /

عميل WiFiClientSecure ؛

Serial.println ("الاتصال بالخادم عبر المنفذ 443") ؛

إذا (! client.connect (الخادم ، 443)) {

Serial.println ("فشل الاتصال!") ؛

} آخر {

Serial.println ("متصل بالخادم!") ؛

/ * إنشاء طلب HTTP * /

client.println ("POST / devices / deviceData HTTP / 1.1") ؛

client.println ("المضيف: api.thingsai.io") ؛

//client.println("Connection: close ") ؛

client.println ("نوع المحتوى: application / json") ؛

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

client.println ( التفويض: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqm9PNTk6

client.print ("طول المحتوى:") ؛

client.println (PostValue.length ()) ،

client.println () ،

client.println (PostValue) ؛

////////////////////////////////// تم الانتهاء من نشر البيانات على السحابة والحصول الآن على نموذج الاستجابة السحابية الخادم//////////////////

Serial.print ("في انتظار الرد") ؛

بينما (! client.available ()) {

تأخير (50) ؛ //

Serial.print (".") ؛

}

/ * إذا كانت البيانات متاحة ، فاستلم وطبع إلى Terminal * /

بينما (client.available ()) {

char c = client.read () ؛

Serial.write (ج) ؛

}

/ * إذا تم قطع اتصال الخادم ، أوقف العميل * /

إذا (! client.connected ()) {

Serial.println () ،

Serial.println ("الخادم غير متصل") ؛ javascript:؛

client.stop () ؛

}

}

Serial.println ("//////////////////////// THE END ///////////////////// ") ؛

تأخير (3000) ؛

}

}

الخطوة 4: الإخراج

انتاج
انتاج

هذا هو تمثيل الرسم البياني الشريطي للقيم التي تمت قراءتها من المستشعر في منصة Thingsai ، io cloud ،

الخطوة 5: الرسم البياني

رسم بياني
رسم بياني

هذا هو التمثيل الرسومي للقيم من المستشعر. من الرسم البياني أعلاه يمكننا تحليل تطبيق المستشعر. اشكرك

موصى به: