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

قياس القرب: 5 خطوات
قياس القرب: 5 خطوات

فيديو: قياس القرب: 5 خطوات

فيديو: قياس القرب: 5 خطوات
فيديو: كيف تقرأ كشف قياس النظاره 2024, يوليو
Anonim
قياس القرب
قياس القرب

سأشرح في هذا البرنامج التعليمي كيفية قياس مدى قرب الجهاز ونشر القيم في النظام الأساسي السحابي Thingsai و io باستخدام مستشعر القاعة ولوحة التطوير esp32.

مستشعر تأثير هول هو جهاز يستخدم لقياس حجم المجال المغناطيسي. جهد الخرج يتناسب طرديا مع شدة المجال المغناطيسي من خلاله. تستخدم مستشعرات تأثير القاعة لاستشعار القرب وتحديد المواقع واكتشاف السرعة وتطبيقات الاستشعار الحالية.

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

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

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

1. مستشعر القاعة

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

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

مكونات البرنامج:

1. Arduino IDE

2. ThingsIO. AI

الخطوة الثانية: التوصيلات:

روابط
روابط

مستشعر القاعة ---------------------- esp32

Aout ------------------------------ vp

Gnd ----------------------------- Gnd

Vcc ------------------------------ 3V3

الخطوة الثالثة: الترميز:

#يشمل

#يشمل

#يشمل

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

قياس كثافة العمليات

int outputpin = A0 ؛ // ds18b20

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

من أجل CLOUD ////////////////////////////////

const char * host = "api.thingsai.io" ؛ // أو المضيف =

devapi2.thethingscloud.com

const char * post_url = "/ devices / deviceData" ؛ // أو

/ 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

وظيفة الحساب ///////////////////////////////////////////

int GiveMeTimestamp ()

{

طويل بدون توقيع

المهلة = مللي () ؛

// عميل WiFiClient ؛

في حين

(client.available () == 0)

{

إذا (بالمللي () -

المهلة> 50000)

{

client.stop () ؛

العودة 0 ؛

}

}

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

{

خط السلسلة =

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

نقاط البيع int =

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

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

0)

{

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

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

}

}

}

}

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

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

{Serial.begin (115200) ؛

تأخير (10) ؛

// نبدأ بـ

الاتصال بشبكة WiFi

WiFiMulti.addAP ("wifi_name" ،

"كلمة السر واي فاي")؛

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 (إخراج دبوس) ؛

{

///////////////////////////////////////// أرسل الاستعلام و

احصل على الاستجابة /////////////////////////

قياس كثافة العمليات

= 0;

القياس =

hallRead () ؛Serial.print ("قياس مستشعر القاعة:") ؛Serial.println (قياس) ؛

تأخير (1000) ؛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") ؛

سلسلة PostValue =

"{" device_id / ": 61121696007، \" slave_id / ": 2" ؛

PostValue =

PostValue + "، \" dts / ":" + الطابع الزمني؛

PostValue =

PostValue + "، \" data / ": {" قرب / ":" + قياس + "}" + "}"؛Serial.println (PostValue) ؛

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

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

لو

(! client.connect (الخادم ، 443)) {Serial.println ("فشل الاتصال!") ؛

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

/ * إنشاء

طلب */

client.println ( POST

/ الأجهزة / 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 ( التفويض:

حامل eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6 "m9 "client.print ("طول المحتوى:") ؛client.println (PostValue.length ()) ،

client.println () ،client.println (PostValue) ؛

////////////////////////////////// نشر البيانات على

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

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

);

في حين

(! client.available ()) {

تأخير (50) ؛

//Serial.print (".") ؛

}

/ * إذا كانت البيانات

متاح ثم الاستلام والطباعة إلى Terminal * /

في حين

(client.available ()) {

شار ج =

client.read () ؛Serial.write (ج) ؛

}

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

لو

(! client.connected ()) {Serial.println () ،Serial.println ("الخادم غير متصل") ؛client.stop () ؛

}

}

Serial.println ( //////////////////////// THE END

///////////////////// );

تأخير (3000) ؛

}}

الخطوة 4: النتيجة:

نتيجة
نتيجة

يتم إرسال القيم التي تتم قراءتها من المستشعر إلى سحابة IOT بنجاح ويتم إنشاء الرسم البياني كقرب مقابل الوقت. مع هذا يتم تحليل عمل المستشعر واستخدامه وفقًا لمناطق التطبيق المطلوبة.

الخطوة 5: إكمال البرنامج التعليمي:

هذا هو المشروع الكامل لقياس القرب من جهاز باستخدام مستشعر القاعة esp32 والنظام الأساسي السحابي Thingsai.io. شكرا لك

موصى به: