جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
في هذا المشروع البسيط ، سنستخدم مستشعر حركة لاكتشاف ما إذا كان جسم ما يمر أمام Raspberry Pi. ثم نحسب عدد المرات التي يحدث فيها ذلك ، ونرسل هذه القيمة إلى Ubidots.
عادةً ما تكون عدادات الأشخاص أجهزة باهظة الثمن تُستخدم في صناعة البيع بالتجزئة لفهم كيفية تصرف المتسوقين. بفضل Raspberry Pi و Ubidots ، نحن قادرون على بناء عداد وظيفي للأشخاص في غضون ساعات قليلة وبقليل من الدولارات!
بمجرد إرسال الأشخاص الذين يقومون بحساب البيانات إلى Ubidots ، يمكننا إنشاء رسوم بيانية لطيفة للتحليل ، بالإضافة إلى تنبيهات الرسائل القصيرة / البريد الإلكتروني.
الخطوة 1: الحصول على المواد الصحيحة
لإكمال هذا المشروع ، ستحتاج إلى:
- نموذج Raspberry Pi B
- مستشعر PIR بواسطة Parallax
- جهاز دونجل USB WiFi متوافق مع Raspberry Pi
- حزمة بطارية USB لتشغيل Raspberry Pi (هذا اختياري في حالة رغبتك في ترك Pi لاسلكيًا تمامًا)
- ثلاثة أسلاك توصيل خاصة بالنساء
- حساب Ubidots - أو - ترخيص STEM
الخطوة 2: توصيل الأسلاك
مستشعر الحركة PIR سهل الاستخدام لأنه يحتوي على ثلاثة دبابيس فقط:
- V +
- GND
- دبوس إشارة يخرج "1" عندما يكون هناك حركة و "0" عندما لا يكون هناك.
لا حاجة لحام أي شيء ، ولا لكتابة I2C معقدة أو وظائف تسلسلية للكشف عن هذه الإشارة ؛ فقط قم بتوصيل الكابلات مباشرة بدبابيس GPIO في Raspberry Pi الخاص بك وسوف تعمل!
الخطوة 3: الغلاف
نظرًا لأن مستشعر PIR حساس جدًا للحركة ، فقد استخدمت مفتاح العبور خلفه لضبط أدنى حساسية ممكنة. أيضًا ، أخذت حقيبة قديمة من زوج من النظارات الشمسية وأحدثت ثقبًا فيها ، ثم وضعت RPi ومستشعر PIR بداخلها. بهذه الطريقة ، يركز مستشعر الحركة بشكل كبير على نقطة واحدة ، بدلاً من أن يكون متعدد الاتجاهات.
الخطوة 4: تشفير ملف RPi الخاص بك
في هذه المرحلة ، سنفترض أنك أجريت إعدادًا أساسيًا لـ Raspberry Pi وأنت تنظر إلى سطر أوامر Linux الخاص به. إذا لم يكن الأمر كذلك ، فإننا نوصي بالاطلاع على هذا الدليل أولاً. يمكنك أيضًا التحقق من هذا المنشور حول استخدام Wicd لإعداد WiFi الخاص بـ Raspberry Pi.
لنبدأ بالتأكد من أن لدينا جميع المكتبات المطلوبة:
$ sudo apt-get update $ sudo apt-get Upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots
قم بإنشاء ملف جديد يسمى "peoplecounter.py":
$ sudo nano peoplecounter.py
واكتب فيه الكود أدناه. تأكد من استبدال قيم مفتاح API والمعرف المتغير بالقيم الموجودة في حساب Ubidots الشخصي الخاص بك. (ملاحظة: الكود ليس أنيقًا للغاية ، لكني لست مطورًا للغة Python ، فقط رجل أجهزة:)
يتكون البرنامج النصي من حلقة تتحقق من حالة الدبوس رقم 7 (مستشعر الحركة). إذا كانت تقرأ "1" ، أي أن هناك حركة ، فإنها تزيد متغير "peoplecount" وتنتظر 1.5 ثانية حتى يعود مستشعر الحركة إلى طبيعته. يتم ذلك 10 مرات ، مع التأكد من وجود ما لا يقل عن ثانية واحدة بين كل دورة ، ثم يتم إرسال إجمالي "الحركات" إلى Ubidots. إذا كنت بحاجة إلى معايرة "عداد الأشخاص" ، فيجب أن تلعب بخطوط "time.sleep" بقيم أخرى.
من ubidots استيراد ApiClient
استيراد RPi. GPIO كـ GPIO
وقت الاستيراد
GPIO.setmode (GPIO. BCM)
GPIO.setup (7 ، GPIO. IN)
محاولة:
api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
الناس = api.get_variable ("5238cec3f91b282c7357a140")
باستثناء: طباعة "تعذر الاتصال بواجهة برمجة التطبيقات ، تحقق من اتصالك بالإنترنت"
العداد = 0
الناس = 0
بينما (1):
التواجد = GPIO.input (7)
إذا (الحضور):
عدد الأشخاص + = 1
الوجود = 0
time.sleep (1.5).
time.sleep (1) الوقت
عداد + = 1
إذا (العداد == 10):
طباعة عدد الأشخاص
people.save_value ({'القيمة': peoplecount})
العداد = 0
الناس = 0
الخطوة 5: اعرض بياناتك
أخيرًا ، انتقل إلى لوحة تحكم Ubidots وأضف عنصر واجهة مستخدم من النوع "Statement". سيعرض هذا العدد الإجمالي للأشخاص الذين تم اكتشافهم خلال إطار زمني تحدده
الخطوة السادسة: الختم
يوفر هذا المشروع تلميحًا لعدد الأشخاص الذين يمرون عبر نقطة معينة. لا يوفر العدد الدقيق للأشخاص ، نظرًا لقيود مستشعر الحركة ، ولكن في بعض التطبيقات قد يكون هذا كافياً.
يمكن إرسال البيانات التي تم جمعها بسهولة إلى Ubidots Cloud ، حيث يمكن تفسيرها من خلال إنشاء تنبيهات أو لوحات معلومات مباشرة أو حتى مشاركة هذه البيانات في وسائل التواصل الاجتماعي ، مثل كود التضمين ، أو فقط في رابط عام. يمكنك أيضًا قراءة هذه البيانات من تطبيق آخر باستخدام Ubidots API.