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

مستشعر الوجود: 12 خطوة
مستشعر الوجود: 12 خطوة

فيديو: مستشعر الوجود: 12 خطوة

فيديو: مستشعر الوجود: 12 خطوة
فيديو: كل ما يخص الحساسات (sensors) تعريفها و تصنيفاتها و فكرة عملها و انواعها 2024, شهر نوفمبر
Anonim
مستشعر الوجود
مستشعر الوجود

عادةً ما تكون الأجهزة القابلة للارتداء أجهزة مزودة بتقنية BLE. من الشائع بالنسبة لهم الإعلان بشكل دوري عن بعض البيانات على طول عنوان MAC الخاص بهم. نحن نستخدم ESP لمسح هذه البيانات وإطلاق حدث عبر الإنترنت عندما يعثر على عنوان MAC محدد. هذا التنفيذ الخاص هو لمستخدم واحد على قابس ذكي متصل بمصباح. ولكن يمكن استخدامه أيضًا مع مجموعة من الأجهزة المسجلة مع أي نوع من الأجهزة التي تدعم إنترنت الأشياء.

اللوازم

  1. ESP32
  2. (اختياري) TECKIN WiFi Wall Plug S10
  3. جهاز مُمكّن لـ BLE من أي نوع

الخطوة 1: تحديد السيناريو الخاص بك

حدد السيناريو الخاص بك
حدد السيناريو الخاص بك

بالنسبة للمشغل ، يمكنك استخدام معظم الأجهزة القابلة للارتداء الحديثة. يمكن أن تكون هذه ساعة Apple Watch أو سوار mi fit أو هاتفًا أو حتى يمكن ارتداؤها بنفسك استنادًا إلى ESP32.

ربما واحدة من أهم الخطوات. عليك التفكير مسبقًا في 3 أشياء:

1. ما الجهاز الذي يمكن ارتداؤه أو الجهاز الذي سيكون سبب تشغيل مستشعر القرب.

2. ما الذي سيؤدي إلى تشغيل المستشعر (يتم ذلك من خلال IFTTT).

3. عندما يتم تشغيل جهاز الاستشعار

في هذا المثال ، سأستخدم Apple Watch لتشغيل قابس ذكي لتشغيل المصباح عندما أجلس على مكتبي.

في هذا البرنامج التعليمي ، سننظر في قابس ذكي بواسطة TECKIN. يمكنك العثور عليه في أمازون بسعر جيد. كما أنه متوافق مع Alexa و google Home. قيمة عظيمة!

الخطوة 2: (مقدمة) تعيين المشغل - عدة مستخدمين

إذا كنت ترغب في التهيئة بحيث يعمل أي شخص لديه جهاز يعمل بتقنية BLE بالقرب من المستشعر الخاص بك ، فتخط الخطوة التالية. هذا مفيد جدًا ، هو الإعداد الذي أستخدمه شخصيًا. ضع في اعتبارك أن هذا المستشعر يمكن اختراقه بسهولة أو استغلاله للتشغيل ، لذلك لا أثق كثيرًا في حامل الأمان ؛ فقط من أجل عملي (على سبيل المثال ، لا أريد أن يتم تشغيله بواسطة جهاز الكمبيوتر الخاص بي لأنه سيكون دائمًا بجوار المستشعر).

الخطوة 3: (مقدمة) تعيين المشغل - عدد محدود من المستخدمين

تختلف هذه الخطوة بشكل كبير في الإعداد الخاص بك. للحد من الأجهزة التي يمكنها تشغيل المستشعر ، لديك العديد من المسارات للحد منها:

- عنوان BLE MAC (يعادل عنوان IP على شبكة wifi. السبب في أنه لا يضمن الأمان لأنه ليس عنوان MAC الحقيقي للوحدة. على أجهزة iOS ، يتغير في كل مرة تقوم فيها بإعادة تشغيل البلوتوث ، ليس ممتعًا جدًا)

- كود الشركة المصنعة (خيار أفضل ، ولكن لا توجد طريقة لتقييد أجهزة معينة من نفس الشركة المصنعة / الطراز)

- الاسم ، UIDD للخدمة (نادر ولكنه الخيار الأفضل ، معظمه من الأجهزة القابلة للارتداء أو ربما تطبيق android)

بعض الملاحظات:

1. إذا كان جهاز iOS:

- لديك بعض الإيجابيات والسلبيات المهمة. المؤيد ، ينقلون مستوى الطاقة الذي تُعلن فيه البيانات. هذا مفيد في مرحلة المعايرة ، ستجد أن استخدام Apple Watch مفيد لأنه يبث بسرعة 24 ديسيبل ، وترسل أجهزة iPhone ومعظم الأجهزة بسرعة 12 ديسيبل.

CON ، سيكون عليك إيجاد حلول بديلة. يتغير عنوان MAC المعلن عنه (الطريقة الرئيسية لتحديد الهوية) في كل مرة يتم فيها إعادة تشغيل إشارة البلوتوث ، مما يعني أنه سيتعين عليك تحميل الرمز في كل مرة … ليس ممتعًا. يمكنك استخدام بيانات الشركة المصنعة التي قد تختلف بين الطرز. هذا يعني أنه يمكنك التحديد بحيث يستشعر "كل iPhone 8".

2. إذا كان جهاز Android:

- أنا شخصياً ليس لدي جهاز android. ولكن من المحتمل أن يكون هناك العديد من التطبيقات التي يمكنها إصلاح عنوان MAC أو حتى إضافة اسم مخصص (إذا كانت هذه هي الطريقة التي تريدها). يوجد على أجهزة iOS تطبيق "nrf connect" يمكنه القيام بذلك. لكنها ليست ثابتة ، بمعنى أنه إذا قمت بقفل الشاشة أو تبديل التطبيقات ، فسيتم إيقاف التكوين في غضون ثوانٍ قليلة.

3. آخر ESP32. (أفضل رهان لك)

- يمكن تنفيذ رمز بسيط مثل هذا في جهاز مثل هذا ؛ سوار ذكي يعمل بنظام esp32. الكود هو في الواقع مثال من مكتبة ESP BLE BLE_IBeacon.ino. لم أختبره كثيرًا نظرًا لأن السوار الذكي الخاص بي قيد الشحن ، ومن المحتمل أن ينشر التحديثات قريبًا.

الخطوة 4: (الإعداد) - IFTTT

(الإعداد) - IFTTT
(الإعداد) - IFTTT

حسنًا ، لذلك في هذه المرحلة ربما يجب أن تأخذ كل مجففات سير عملك. لديك جهاز التشغيل الخاص بك ، ولديك مكان لوضع ESP مع اتصال لاسلكي بالإنترنت ولديك إجراء في الاعتبار يمكن لـ IFTTT أتمتة.

IFTTT قوي ؛ سواء كان ذلك فقط لإرسال إشعار بسيط إلى جهازك ، فأنت تريد إرسال تغريدة أو تشغيل مصباح بمقبس ذكي. في هذا البرنامج التعليمي ، سنقوم بتنفيذ آخر واحد باستخدام مقابس TECKIN الذكية المتوافقة مع IFTTT. في كلتا الحالتين ، قم بتنزيل تطبيق IFTTT أو انتقل إلى موقع الويب IFTTT.com وأنشئ حسابًا.

هذا هو عليه في الوقت الراهن!

إذا كنت ترغب فقط في إرسال إشعار أو أي شيء آخر غير قابس Smart Life ، فيمكنك تخطي الخطوة التالية.

الخطوة 5: (الإعداد) جهاز IOT * اختياري *

قم بتنزيل تطبيق "Smart Life" من PlayStore (android) أو AppStore (iOS). التعليمات واضحة إلى حد كبير ، على الرغم من أن العملية صعبة بعض الشيء. اكتشفت أنه في مرحلة المسح (عندما كان الزر الأزرق يومض) توقف في مرحلة ما ، ثم ضغطت عليه يدويًا لتشغيله وإيقافه عدة مرات. لقد ساعدني ذلك. على أي حال؛ لا يختلف إعداد هذا المكون مع تطبيقنا ، لذا إذا كنت تمتلك واحدًا بالفعل وقمت بتوصيله بتطبيقك ، فيجب أن تكون جاهزًا للعمل.

خذ ملاحظة: يجب أن تكون قادرًا على تشغيل وإيقاف التشغيل من التطبيق قبل الانتقال من هذه الخطوة. هذا يعني أنك قمت بتكوين المكونات الذكية بشكل صحيح.

يجب أن يتزامن تطبيق IFTTT مع تطبيق "Smart Life" بسلاسة ، وربما يطالب بالمصادقة أثناء إنشاء حدث في الخطوة التالية.

الخطوة 6: (الإعداد) IFTTT Webhook Api * المستخدمون المتمرسون *

(الإعداد) IFTTT Webhook Api * المستخدمون المتمرسون *
(الإعداد) IFTTT Webhook Api * المستخدمون المتمرسون *

إذا لم تكن قد استخدمت قبل تطبيق IFTTT ولم تكن مرتاحًا لبعض المصطلحات الفنية ، فتخط هذه الخطوة للدليل التفصيلي (مع الصور) في الخطوة التالية.

1. إنشاء حدث جديد.

2. قم بتعيين "هذا" ليكون واجهة برمجة تطبيقات للخطاف على الويب. اكتب الاسم الذي حددته للحدث.

3. اضبط "هذا" على السلوك الذي تريده. للبحث عن المكونات الذكية ، ابحث عن الحياة الذكية وحدد "تشغيل".

4. حدد القابس الذكي واضغط على "إنهاء".

5. في الشاشة الرئيسية ، ابحث عن بطاقة "الخطاف على الويب". بعد الضغط عليه ، اضغط على "الحصول على المزيد" في الأسفل.

6. التوثيق الصحفي. سيُظهر لك هذا مفتاح api الخاص بك جنبًا إلى جنب مع أداة إنشاء عناوين URL واختبارها.

7. استخدم de URL builder بالاسم الذي كتبته في رقم 2. انسخ ذلك واكتبه.

8. كرر ذلك إذا كنت تريد تشغيل سلوك ما عندما لا يكون مستشعر التواجد نشطًا. في حالتنا كرر # 3 ولكن حدد "إيقاف". أيضًا ، في المرتبة الثانية ، يجب أن يكون الاسم مختلفًا هذه المرة.

إذا كنت قد انتهيت تخطي الخطوة التالية.

الخطوة 7: (الإعداد) IFTTT Webhook Api * للمبتدئين بالصور *

(الإعداد) IFTTT Webhook Api * للمبتدئين بالصور *
(الإعداد) IFTTT Webhook Api * للمبتدئين بالصور *
(الإعداد) IFTTT Webhook Api * للمبتدئين بالصور *
(الإعداد) IFTTT Webhook Api * للمبتدئين بالصور *
(الإعداد) IFTTT Webhook Api * للمبتدئين بالصور *
(الإعداد) IFTTT Webhook Api * للمبتدئين بالصور *

دليل مفصل * يجب أن يكون دليل الصور مشابهًا لنظام Android وعلى الويب *

IFTTT هو سير عمل بسيط ، إذا "حدث هذا" ثم "هذا يحدث". يجب عليك إنشاء واحدة جديدة ،

1. في التطبيق ، اضغط على "الحصول على المزيد" وستظهر قائمة.

2. أسفل شريط البحث مباشرةً يقول "اصنع تطبيقاتك الخاصة من البداية" ، اضغط على علامة الزائد.

3. اضغط على "هذا" علامة الجمع

في حالتنا "هذه" ستكون مكالمة API عبر الإنترنت. مكالمة api هي استشارة لعنوان URL ، يشبه نوعًا ما عندما تكتب بحث google ويكون عنوان url هو google.com/ (سلسلة طويلة من الأحرف). لإنشاء واجهة برمجة التطبيقات: (بعد الضغط على "هذا")

4. البحث في "webhooks"

5. حدد الخيار الوحيد

6. قم بتسمية الحدث الخاص بك (في هذا المثال سوف نستخدم كلمة "اجلس"). اكتب هذا الاسم ، مهم جدا.

7. اضغط على إنشاء مشغل

نعم! نحن أقرب الآن إلى الجزء "ذاك". في هذا البرنامج التعليمي ، سنقوم بتعيين "ذلك" لتشغيل المكونات الذكية. ولكن يمكنك اختيار أي شيء من IFTTT. من الطرق الجيدة لاختبار الإعداد تحديد "الإشعارات" التي سترسل إشعارًا إلى هاتفك في كل مرة يتم فيها تشغيل المستشعر (أو يتم الاتصال بواجهة برمجة التطبيقات ، حتى من متصفح الويب: مفيد للاختبار!)

8. اضغط على "ذلك" علامة زائد

9. ابحث عن "Smart Life" (أو "الإخطارات")

10. اضغط على "تشغيل" (ستحتاج إلى تكرار هذه الخطوات لإنشاء حدث آخر لإيقاف تشغيله عند المغادرة)

11. إذا كان لديك كل من التطبيقات والمكونات مهيأة بشكل صحيح ، يجب أن ترى قابسك في القائمة المنسدلة أي جهاز / مجموعة.

12. حدد إنشاء إجراء ثم إنهاء.

الآن يجب أن ترى أن الحدث متصل. الآن نحن بحاجة إلى الحصول على عنوان URL الخاص بواجهة برمجة التطبيقات. من أجل هذا:

13. انتقل إلى شاشة IFTTT الرئيسية

14. البحث عن بطاقة Webhooks

15. حدد "الحصول على المزيد"

16. اضغط على زر الوثائق. يجب أن تشاهد صفحة ويب تحتوي على مفتاحك.

17. في العناصر النائبة "{event}" ، أدخل اسم الحدث (تذكر النقطة 6)

18. انتقل إلى أسفل الصفحة وانقر على "اختباره"

ما يجب أن تراه على الأرجح هو "تم تشغيل حدث" بانر أخضر ويجب أن ترى ما إذا كان يعمل أم لا. في حالتنا يجب أن يتم تشغيل القابس. أو يجب أن ترى إشعارًا إذا قررت السير في هذا المسار. قد يستغرق الأمر بعض الوقت ، ولكن ليس أكثر من دقيقة لمعرفة ما إذا كنت قد فعلت ذلك. تذكر أنها ربما تكون حساسة لحالة الأحرف.

19. أخيرًا. انسخ عنوان url حيث استبدلت اسم الحدث الخاص بك (الساعة 17) واحفظه في مكان آمن. سوف تحتاج هذا قريبا.

20. كرر 1-12. في السادسة سنستخدم "الوقوف" هذه المرة. في 10 حدد "إيقاف" بدلاً من ذلك.

21. كرر 13-18 إذا أردت ، ولكن يمكنك التخلص من عنوان url الذي نسخته في الساعة 19 ، ولكن الآن قم بتغيير المكان الذي كتبت فيه كلمة "Sit" واستبدالها بـ "Stand". يمكنك اختبار هذا على متصفح الويب. يجب أن يقول "مبروك! لقد أطلقت حدث Stand '. ثم يجب أن يكون القابس مغلقًا.

الخطوة 8: (كود) برمجة ESP32

(كود) برمجة ESP32
(كود) برمجة ESP32

يمكنك تخطي هذه الخطوة إذا كنت تشعر بالراحة عند تحميل الرسومات من Arduino IDE إلى لوحة ESP32. تذكر فقط تعيين قسم 2 ميغا بايت للتطبيق على الأقل لأن أوزان الرسم تزيد قليلاً عن 1.2 ميغا بايت من الحد المعتاد.

هناك العديد من البرامج التعليمية الرائعة ، وإليك بعضًا منها أوصي بها:

circuitdigest.com/microcontroller-projects…

لكن لا يزال ، حتى لا تكون ضائعًا جدًا ، سأقوم بتفصيل بعض النقاط الرئيسية المهمة.

- ESP32 ليس لوحة Arduino ومع ذلك لا يزال من الممكن برمجته بواسطة Arduino IDE. مع كود اردوينو بسيط. ولكن ، ستظل بحاجة إلى تكوين IDE للعمل مع ESP32.

- ستحتاج إلى تثبيت بعض المكتبات من خلال "مدير اللوحات الإضافية" في التفضيلات. هذا هو عنوان URL الذي يجب لصقه:

- (اختياري ، قد يساعد) في Tools-> Manage Libraries… -> (اعثر على مكتبة esp BLE)

- في Tools ، يجب أن يكون لديك الآن قائمة طويلة من أجهزة ESP ، أوصي بوحدة ESP32 dev

- (هام) حدد (لا يوجد تطبيق Ota 2 ميجابايت / 2 ميجابايت spifs) في مدير القسم. هذه الخطوة مهمة لأن التطبيق أصبح ثقيلًا جدًا كمنتج لاستخدام اتصالات wifi / http بالإضافة إلى ماسح ضوئي BLE.

إذا فعلت كل شيء بشكل صحيح ، يجب أن تكون قادرًا على برمجة ESP32. الآن عملية القيام بذلك مشابهة لاردوينو في بعض اللوحات. قم بتوصيله ، وحدد اللوحة المطابقة ، ومنفذ USB ، وقد انتهيت. ولكن ، في العديد من الحالات الأخرى ، سيتعين عليك المتابعة

الخطوة 9: (الرمز) قم بتحميل الكود إلى ESP32

(رمز) قم بتحميل الكود إلى ESP32
(رمز) قم بتحميل الكود إلى ESP32

حسنًا ، إذا كنت هنا ، فهذا يعني أنك قمت بتحميل رسم تخطيطي بنجاح إلى لوحة ESP32 ، ويفضل رسم blink.ino.

الآن ، هذا هو الكود الرئيسي المرفق ، يمكنك أيضًا العثور عليه في GitHub repo. يجب عليك استبدال ما يلي:

SSID - اسم wifi الخاص بك

PSK - كلمة مرور wifi الخاصة بك

sit - عنوان URL مع "اجلس" من IFTTT api الذي كتبته سابقًا

Stand - عنوان URL مع "Stand" من IFTTT api الذي كتبته سابقًا

الآن اجعل جهاز المشغل قريبًا من اللوحة ثم قم بتحميل الكود. ثم افتح Serial Monitor (الباود 115200) بعد تحميل الكود بنجاح.

إذا كنت تخطط لاستخدام هذا مع أي نوع من الأجهزة الممكّنة لـ BLE ، فتخط الخطوة التالية.

ملاحظة: إذا تلقيت رسائل خطأ في الذاكرة ، فهذا لأن الإعدادات الافتراضية تترك فقط 1 ميغا بايت من الذاكرة (من 4 ميغا بايت موجودة) لكود ESP الأولي. إنه يترك جزءًا لأمرين كخيار للبرمجة على الهواء. عادة ما أفعل ما يلي:

- في الأدوات ، يجب أن يكون لديك الآن قائمة طويلة من أجهزة ESP ، أوصي بوحدة ESP32 dev - حدد "no Ota 2mb app / 2mb spifs" في مدير التقسيم.

هذا يعطيني مساحة ذاكرة مزدوجة ، اللازمة لهذا التطبيق.

الخطوة 10: (الرمز) قم بتحميل الكود إلى ESP32 * اختياري *

(كود) قم بتحميل الكود إلى ESP32 * اختياري *
(كود) قم بتحميل الكود إلى ESP32 * اختياري *

هذا هو الجزء الصعب المذكور في خطوة "ضبط المشغل". ستخرج الشاشة عنوان MAC (يجب أن يبدو مثل ##: ##: ##: ##: ## حيث يكون # إما رقمًا أو حرفًا من a إلى f) ، وكود الشركة المصنعة و RSSI (رقم سالب). هنا عليك أن تتجول قليلاً لتجد ما هو جهازك. عادةً ما أضعه بجوار اللوحة حتى أتمكن من رؤية الرقم الأصغر بوضوح. ألغيت تحديد مربع "التمرير التلقائي" حتى أتمكن من نسخ القيم.

  • إذا كان هذا هو عنوان Mac ، فقم بتعبئة "myDevice" به. ثم قم بإلغاء التعليق رقم 96 وسطر التعليق رقم 95
  • إذا كان هذا هو الاسم ، فقم بتعبئة "myDevice" به. ثم قم بإلغاء التعليق رقم 97 وسطر التعليق رقم 95
  • إذا كانت MaufactureData أنت محظوظ في الوقت الحالي ، ما زلت أطور هذا الجزء.

لإضافة دعم لأجهزة may ، يجب أن تكون قادرًا على نسخ العبارة الشرطية إما في # 96 أو # 97 ووضعها بجوار بعضها البعض في بناء الجملة هذا:

إذا ((condition1) || (condition2) || (condition3)) {

أضف المزيد من المتغيرات (myDevice1 و myDevice2 و myDevice3) وفقًا لذلك.

الخطوة 11: ضع المرساب الكهروستاتيكي والمعايرة

ضع المرساب الكهروستاتيكي والمعايرة
ضع المرساب الكهروستاتيكي والمعايرة

هذا هو الجزء الأكثر أهمية في الإعداد. سيؤدي إجراء هذه العملية بعناية إلى اختلاف في أنها تعمل مثل السحر أو تعطيك صداعًا قويًا.

في هذه المرحلة ، يعمل الرمز الذي قمت بتحميله مع المعلمات التي اختبرتها شخصيًا واستخدمها يوميًا مع هاتفي على مكتبي ؛ هذا لا يعني أنها ستعمل من أجلك أيضًا. لذلك عليك القيام بالمعايرة بنفسك.

1. ضع لوحة ESP32 في موقعها الثابت النهائي. إذا قمت بنقل موضع ESP32 لسبب ما ، فمن المحتمل أن تقوم بذلك مرة أخرى. سيضمن لك ذلك تجربة جيدة بشكل عام.

1. (إضافي) ضع في اعتبارك أنك ستحتاج إلى أن تكون قادرًا على الاتصال بجهاز الكمبيوتر الخاص بك أثناء القيام بذلك. إذا كنت لا تستطيع ذلك لأنك على سطح مكتب ، فسيتعين عليك إجراء التجربة والخطأ مع الأخذ في الاعتبار أن كل تجربة يجب أن تكون متطابقة تقريبًا في تحديد الموضع وتشغيل الجهاز والعوامل الأخرى التي قد يتم احتسابها.

2. افتح Serial Monitor مع تشغيل الكود.

سيتم نشر الرمز افتراضيًا من خلال Serial Monitor (مؤشر قوة الإشارة المستقبلة) لكل جهاز بلوتوث موجود (أو فقط الجهاز (الأجهزة) الذي يطابق معلماتك). العب قليلاً مع جهاز العمل الرئيسي الخاص بك (جهاز التشغيل). عليك أن تحدد ما هي العتبات التي تريد استخدامها. سوف تعديل هذا التكوين بعناية

3. عند تحديد الحدود ، استبدلها هنا:

  • قرب_ثرش
  • far_thrsh

4. أعد تحميل الشفرة واختبرها وكررها حتى تجد الأداء الأمثل.

بعض الأشياء التي يجب مراعاتها:

1. أنت تريد حوالي 20 ديسيبل من الفرق بين العتبات. إذا تم ضبط near_thrsh على 50 ، فمن المرغوب فيه أن يكون far_thrsh 70 أو أكثر. إذا كان الاختلاف قصيرًا جدًا ، فقد تجد بعض المسافات أو الأماكن التي يتم تشغيل اللوحة وإيقافها بدون توقف. ستضمن زيادة هذا الاختلاف تجنب هذا السلوك غير المرغوب فيه. لقد وجدت شخصياً أن 20 ديسيبل من الهامش جيد بما فيه الكفاية.

2. في سيناريوهات الحياة الواقعية لاختبار المعايرة بقدر الإمكان ، سيساعد ذلك في تحديد أفضل أداء.

3. ادرس الفصل في السطر 82 من الكود. هنا حيث يتم كل المنطق. تم التعليق على الكود جيدًا بالرغم من ذلك. لا تتردد في السؤال في GitHub!

الخطوة 12: مبروك! انتهيت

اسمحوا لي أن أعرف في تعليقات أي اقتراحات أو إذا كنت تواجه مشاكل. تذكر التحقق من GitHub إذا تم حل مشكلتك بالفعل!

موصى به: