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

كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots: 6 خطوات
كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots: 6 خطوات

فيديو: كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots: 6 خطوات

فيديو: كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots: 6 خطوات
فيديو: شرح قطعة Raspberry PI ولماذا يجب عليك ان تتوفر عليها إن كنت بالفعل مهووس بالمعلوميات 2024, يونيو
Anonim
كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots
كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots
كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots
كيفية بناء عداد الأشخاص باستخدام Raspberry Pi و Ubidots

في هذا المشروع البسيط ، سنستخدم مستشعر حركة لاكتشاف ما إذا كان جسم ما يمر أمام Raspberry Pi. ثم نحسب عدد المرات التي يحدث فيها ذلك ، ونرسل هذه القيمة إلى Ubidots.

عادةً ما تكون عدادات الأشخاص أجهزة باهظة الثمن تُستخدم في صناعة البيع بالتجزئة لفهم كيفية تصرف المتسوقين. بفضل Raspberry Pi و Ubidots ، نحن قادرون على بناء عداد وظيفي للأشخاص في غضون ساعات قليلة وبقليل من الدولارات!

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

الخطوة 1: الحصول على المواد الصحيحة

الحصول على المواد المناسبة
الحصول على المواد المناسبة
الحصول على المواد المناسبة
الحصول على المواد المناسبة
الحصول على المواد المناسبة
الحصول على المواد المناسبة
الحصول على المواد المناسبة
الحصول على المواد المناسبة

لإكمال هذا المشروع ، ستحتاج إلى:

  1. نموذج Raspberry Pi B
  2. مستشعر PIR بواسطة Parallax
  3. جهاز دونجل USB WiFi متوافق مع Raspberry Pi
  4. حزمة بطارية USB لتشغيل Raspberry Pi (هذا اختياري في حالة رغبتك في ترك Pi لاسلكيًا تمامًا)
  5. ثلاثة أسلاك توصيل خاصة بالنساء
  6. حساب 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.

موصى به: