You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/sr/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md

7.0 KiB

Детектовање близине - Виртуелни IoT хардвер

У овом делу лекције, додаћете сензор близине вашем виртуелном IoT уређају и читати растојање са њега.

Хардвер

Виртуелни IoT уређај ће користити симулирани сензор растојања.

На физичком IoT уређају користили бисте сензор са ласерским модулом за мерење растојања.

Додавање сензора растојања у CounterFit

Да бисте користили виртуелни сензор растојања, потребно је да га додате у CounterFit апликацију.

Задатак - додавање сензора растојања у CounterFit

Додајте сензор растојања у CounterFit апликацију.

  1. Отворите код fruit-quality-detector у VS Code и уверите се да је виртуелно окружење активирано.

  2. Инсталирајте додатни Pip пакет за CounterFit shim који може комуницирати са сензорима растојања симулирајући rpi-vl53l0x Pip пакет, Python пакет који ради са VL53L0X сензором растојања. Уверите се да ово инсталирате из терминала са активираним виртуелним окружењем.

    pip install counterfit-shims-rpi-vl53l0x
    
  3. Уверите се да је CounterFit веб апликација покренута.

  4. Направите сензор растојања:

    1. У оквиру Create sensor у панелу Sensors, у падајућем менију Sensor type изаберите Distance.

    2. Оставите Units као Millimeter.

    3. Овај сензор је I²C сензор, па поставите адресу на 0x29. Ако бисте користили физички VL53L0X сензор, она би била фиксно постављена на ову адресу.

    4. Изаберите дугме Add да бисте креирали сензор растојања.

    Подешавања сензора растојања

    Сензор растојања ће бити креиран и појавиће се на листи сензора.

    Креирани сензор растојања

Програмирање сензора растојања

Виртуелни IoT уређај сада може бити програмиран да користи симулирани сензор растојања.

Задатак - програмирање сензора времена лета

  1. Направите нову датотеку у пројекту fruit-quality-detector под називом distance-sensor.py.

    💁 Лак начин за симулацију више IoT уређаја је да сваки уређај буде у различитој Python датотеци, а затим их покренете истовремено.

  2. Започните везу са CounterFit-ом помоћу следећег кода:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  3. Додајте следећи код испод овога:

    import time
    
    from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
    

    Ово увози библиотеку shim за VL53L0X сензор времена лета.

  4. Испод овога, додајте следећи код за приступ сензору:

    distance_sensor = VL53L0X()
    distance_sensor.begin()
    

    Овај код декларише сензор растојања, а затим покреће сензор.

  5. На крају, додајте бесконачну петљу за читање растојања:

    while True:
        distance_sensor.wait_ready()
        print(f'Distance = {distance_sensor.get_distance()} mm')
        time.sleep(1)
    

    Овај код чека да вредност буде спремна за читање са сензора, а затим је исписује на конзолу.

  6. Покрените овај код.

    💁 Не заборавите да се ова датотека зове distance-sensor.py! Уверите се да је покрећете преко Python-а, а не app.py.

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