جدول المحتويات:
- الخطوة 1: المكونات
- الخطوة 2: التوصيلات
- الخطوة 3: البرمجة
- الخطوة 4: الإخراج
- الخطوة 5: الرسم البياني
- الخطوة السادسة: هنا فيديو شرح بريف
فيديو: كاشف الحركة باستخدام منصة Thingsai.io Iot السحابية: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
سأشرح في هذا البرنامج التعليمي اكتشاف الحركة باستخدام مستشعر 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: الرسم البياني
هذا هو التمثيل الرسومي للقيم من المستشعر. من الرسم البياني أعلاه يمكننا تحليل تطبيق المستشعر. اشكرك
موصى به:
كاشف الحركة باستخدام NodeMCU: 5 خطوات
كاشف الحركة باستخدام NodeMCU: في هذا المشروع ، ببساطة عن طريق استخدام مستشعر الحركة يمكنك اكتشاف وجود أي إنسان أو حيوان. ومن خلال المنصة المسماة Thingsio ، يمكنك مراقبة التاريخ والوقت اللذين تم فيهما اكتشاف التواجد
كاشف الدخان IOT: تحديث كاشف الدخان الموجود باستخدام IOT: 6 خطوات (بالصور)
كاشف الدخان IOT: تحديث كاشف الدخان الموجود باستخدام IOT: قائمة المساهمين ، المخترع: Tan Siew Chin ، Tan Yit Peng ، Tan Wee Heng المشرف: الدكتور Chia Kim Seng ، قسم الهندسة الميكاترونية والروبوتية ، كلية الهندسة الكهربائية والإلكترونية ، Universiti Tun حسين اون ماليزيا توزيع
كاشف الحركة صغير المدى: 5 خطوات
كاشف الحركة صغير المدى: ستعلمك هذه التعليمات كيفية صنع كاشف حركة صغير المدى من أجزاء رخيصة يمكنك الحصول عليها في Radioshack. باستخدام هذا المشروع الأنيق ، يمكنك تغيير سطوع الكاشف. هذا هو أول تدريب لي ، لذا يرجى مراعاة البساطة
منفذ التحكم في الحركة - من ضوء استشعار الحركة: 6 خطوات
منفذ التحكم في الحركة - من ضوء استشعار الحركة: & nbsp؛ تخيل أنك خدعة أو مخلص تذهب إلى أكثر منزل مخيف في المبنى. بعد تجاوز كل الغول والأشباح والمقابر ، تصل أخيرًا إلى المسار الأخير. يمكنك رؤية الحلوى في وعاء أمامك! ولكن بعد ذلك فجأة
كاشف الحركة مع إشعارات Blynk (WeMos D1 Mini + HC-SR04): 4 خطوات (بالصور)
كاشف الحركة مع إشعارات Blynk (WeMos D1 Mini + HC-SR04): يرجى التصويت لهذا المشروع في المسابقة اللاسلكية. شكرًا لك! التحديث رقم 2 - بعض التعديلات (الإصدار 2.2) ، يمكنك إعداد المستشعر (النطاق والاسم) في التعريف مباشرةً. أيضًا ، حدث أحيانًا أن يقرأ المستشعر قيمًا خاطئة وأرسل إشعارًا