6.2 KiB
اكتشاف القرب - الأجهزة الافتراضية لإنترنت الأشياء
في هذا الجزء من الدرس، ستضيف مستشعر قرب إلى جهاز إنترنت الأشياء الافتراضي الخاص بك، وتقرأ المسافة منه.
الأجهزة
سيستخدم جهاز إنترنت الأشياء الافتراضي مستشعر مسافة محاكي.
في جهاز إنترنت الأشياء الفعلي، ستستخدم مستشعرًا مع وحدة قياس بالليزر لاكتشاف المسافة.
إضافة مستشعر المسافة إلى CounterFit
لاستخدام مستشعر مسافة افتراضي، تحتاج إلى إضافته إلى تطبيق CounterFit.
المهمة - إضافة مستشعر المسافة إلى CounterFit
أضف مستشعر المسافة إلى تطبيق CounterFit.
-
افتح الكود
fruit-quality-detector
في VS Code، وتأكد من تفعيل البيئة الافتراضية. -
قم بتثبيت حزمة Pip إضافية لتثبيت CounterFit shim الذي يمكنه التحدث إلى مستشعرات المسافة عن طريق محاكاة حزمة rpi-vl53l0x Pip، وهي حزمة Python تتفاعل مع مستشعر مسافة وقت الطيران VL53L0X. تأكد من تثبيت هذه الحزمة من خلال نافذة طرفية مع تفعيل البيئة الافتراضية.
pip install counterfit-shims-rpi-vl53l0x
-
تأكد من تشغيل تطبيق الويب CounterFit.
-
قم بإنشاء مستشعر مسافة:
-
في مربع Create sensor في لوحة Sensors، انقر على القائمة المنسدلة Sensor type واختر Distance.
-
اترك Units كما هي
Millimeter
. -
هذا المستشعر هو مستشعر I2C، لذا قم بتعيين العنوان إلى
0x29
. إذا كنت تستخدم مستشعر VL53L0X فعلي، فسيكون هذا العنوان مبرمجًا بشكل ثابت. -
اختر زر Add لإنشاء مستشعر المسافة.
سيتم إنشاء مستشعر المسافة وسيظهر في قائمة المستشعرات.
-
برمجة مستشعر المسافة
يمكن الآن برمجة جهاز إنترنت الأشياء الافتراضي لاستخدام مستشعر المسافة المحاكي.
المهمة - برمجة مستشعر وقت الطيران
-
قم بإنشاء ملف جديد في مشروع
fruit-quality-detector
باسمdistance-sensor.py
.💁 طريقة سهلة لمحاكاة أجهزة إنترنت الأشياء المتعددة هي القيام بكل جهاز في ملف Python مختلف، ثم تشغيلها في نفس الوقت.
-
ابدأ اتصالًا مع CounterFit باستخدام الكود التالي:
from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
أضف الكود التالي أسفل هذا:
import time from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
هذا يستورد مكتبة المستشعر shim لمستشعر وقت الطيران VL53L0X.
-
أسفل هذا، أضف الكود التالي للوصول إلى المستشعر:
distance_sensor = VL53L0X() distance_sensor.begin()
هذا الكود يعلن عن مستشعر المسافة، ثم يبدأ تشغيل المستشعر.
-
أخيرًا، أضف حلقة لا نهائية لقراءة المسافات:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
هذا الكود ينتظر قيمة جاهزة للقراءة من المستشعر، ثم يطبعها إلى وحدة التحكم.
-
قم بتشغيل هذا الكود.
💁 لا تنسَ أن هذا الملف يسمى
distance-sensor.py
! تأكد من تشغيله عبر Python، وليسapp.py
. -
سترى قياسات المسافة تظهر في وحدة التحكم. قم بتغيير القيمة في CounterFit لترى هذه القيمة تتغير، أو استخدم قيمًا عشوائية.
(.venv) ➜ fruit-quality-detector python distance-sensor.py Distance = 37 mm Distance = 42 mm Distance = 29 mm
💁 يمكنك العثور على هذا الكود في المجلد code-proximity/virtual-iot-device.
😀 لقد نجحت في برمجة مستشعر القرب!
إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.