5.7 KiB
זיהוי קרבה - חומרה וירטואלית ל-IoT
בחלק זה של השיעור, תוסיפו חיישן קרבה למכשיר ה-IoT הווירטואלי שלכם, ותקראו ממנו מרחק.
חומרה
מכשיר ה-IoT הווירטואלי ישתמש בחיישן מרחק מדומה.
במכשיר IoT פיזי, הייתם משתמשים בחיישן עם מודול מדידת לייזר לזיהוי מרחק.
הוספת חיישן המרחק ל-CounterFit
כדי להשתמש בחיישן מרחק וירטואלי, עליכם להוסיף אחד לאפליקציית CounterFit.
משימה - הוספת חיישן המרחק ל-CounterFit
הוסיפו את חיישן המרחק לאפליקציית CounterFit.
-
פתחו את הקוד של
fruit-quality-detector
ב-VS Code, וודאו שהסביבה הווירטואלית מופעלת. -
התקינו חבילת Pip נוספת כדי להתקין שכבת CounterFit שיכולה לתקשר עם חיישני מרחק על ידי סימולציה של חבילת Pip rpi-vl53l0x, חבילת Python שמתקשרת עם חיישן מרחק VL53L0X. וודאו שאתם מתקינים זאת מתוך טרמינל שבו הסביבה הווירטואלית מופעלת.
pip install counterfit-shims-rpi-vl53l0x
-
וודאו שאפליקציית הווב של CounterFit פועלת.
-
צרו חיישן מרחק:
-
בתיבה Create sensor בלשונית Sensors, פתחו את התפריט הנפתח של Sensor type ובחרו Distance.
-
השאירו את Units כ-
Millimeter
. -
החיישן הזה הוא חיישן I²C, לכן הגדירו את הכתובת ל-
0x29
. אם הייתם משתמשים בחיישן VL53L0X פיזי, הכתובת הזו הייתה מוגדרת מראש. -
לחצו על כפתור Add כדי ליצור את חיישן המרחק.
חיישן המרחק ייווצר ויופיע ברשימת החיישנים.
-
תכנות חיישן המרחק
כעת ניתן לתכנת את מכשיר ה-IoT הווירטואלי לשימוש בחיישן המרחק המדומה.
משימה - תכנות חיישן זמן הטיסה
-
צרו קובץ חדש בפרויקט
fruit-quality-detector
בשםdistance-sensor.py
.💁 דרך קלה לסמלץ מספר מכשירי IoT היא לעשות זאת בכל קובץ Python נפרד, ואז להריץ אותם בו-זמנית.
-
התחילו חיבור ל-CounterFit עם הקוד הבא:
from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
הוסיפו את הקוד הבא מתחת לזה:
import time from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
קוד זה מייבא את שכבת הספרייה של חיישן 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. בעוד שאנו שואפים לדיוק, יש להיות מודעים לכך שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.