7.0 KiB
Детектовање близине - Виртуелни IoT хардвер
У овом делу лекције, додаћете сензор близине вашем виртуелном IoT уређају и читати растојање са њега.
Хардвер
Виртуелни IoT уређај ће користити симулирани сензор растојања.
На физичком IoT уређају користили бисте сензор са ласерским модулом за мерење растојања.
Додавање сензора растојања у 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
. -
Овај сензор је 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
Ово увози библиотеку 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. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.