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/sk/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md

5.0 KiB

Detekcia blízkosti - Virtuálny IoT hardvér

V tejto časti lekcie pridáte k svojmu virtuálnemu IoT zariadeniu senzor blízkosti a budete z neho čítať vzdialenosť.

Hardvér

Virtuálne IoT zariadenie bude používať simulovaný senzor vzdialenosti.

Na fyzickom IoT zariadení by ste použili senzor s laserovým modulom na meranie vzdialenosti.

Pridanie senzora vzdialenosti do CounterFit

Na použitie virtuálneho senzora vzdialenosti je potrebné pridať ho do aplikácie CounterFit.

Úloha - pridanie senzora vzdialenosti do CounterFit

Pridajte senzor vzdialenosti do aplikácie CounterFit.

  1. Otvorte kód fruit-quality-detector vo VS Code a uistite sa, že virtuálne prostredie je aktivované.

  2. Nainštalujte ďalší balík Pip na inštaláciu CounterFit shim, ktorý dokáže komunikovať so senzormi vzdialenosti simulovaním balíka rpi-vl53l0x Pip, Python balíka, ktorý interaguje s VL53L0X senzorom vzdialenosti typu time-of-flight. Uistite sa, že inštalujete tento balík z terminálu s aktivovaným virtuálnym prostredím.

    pip install counterfit-shims-rpi-vl53l0x
    
  3. Uistite sa, že webová aplikácia CounterFit je spustená.

  4. Vytvorte senzor vzdialenosti:

    1. V poli Create sensor v paneli Sensors rozbaľte pole Sensor type a vyberte Distance.

    2. Nechajte Units nastavené na Millimeter.

    3. Tento senzor je senzor typu I²C, takže nastavte adresu na 0x29. Ak by ste použili fyzický senzor VL53L0X, táto adresa by bola pevne nastavená.

    4. Kliknite na tlačidlo Add, aby ste vytvorili senzor vzdialenosti.

    Nastavenia senzora vzdialenosti

    Senzor vzdialenosti bude vytvorený a zobrazí sa v zozname senzorov.

    Vytvorený senzor vzdialenosti

Programovanie senzora vzdialenosti

Virtuálne IoT zariadenie teraz môže byť naprogramované na použitie simulovaného senzora vzdialenosti.

Úloha - programovanie senzora typu time-of-flight

  1. V projekte fruit-quality-detector vytvorte nový súbor s názvom distance-sensor.py.

    💁 Jednoduchý spôsob simulácie viacerých IoT zariadení je vytvoriť každé v samostatnom Python súbore a potom ich spustiť súčasne.

  2. Spustite pripojenie k CounterFit pomocou nasledujúceho kódu:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  3. Pod tento kód pridajte nasledujúci:

    import time
    
    from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
    

    Tento kód importuje knižnicu shim pre senzor VL53L0X typu time-of-flight.

  4. Pod tento kód pridajte nasledujúci kód na prístup k senzoru:

    distance_sensor = VL53L0X()
    distance_sensor.begin()
    

    Tento kód deklaruje senzor vzdialenosti a potom ho spustí.

  5. Nakoniec pridajte nekonečnú slučku na čítanie vzdialeností:

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

    Tento kód čaká na hodnotu pripravenú na čítanie zo senzora a potom ju vypíše do konzoly.

  6. Spustite tento kód.

    💁 Nezabudnite, že tento súbor sa volá distance-sensor.py! Uistite sa, že ho spúšťate cez Python, nie app.py.

  7. V konzole sa zobrazia merania vzdialenosti. Zmeňte hodnotu v CounterFit, aby ste videli, ako sa táto hodnota mení, alebo použite náhodné hodnoty.

    (.venv) ➜  fruit-quality-detector python distance-sensor.py 
    Distance = 37 mm
    Distance = 42 mm
    Distance = 29 mm
    

💁 Tento kód nájdete v priečinku code-proximity/virtual-iot-device.

😀 Program senzora blízkosti bol úspešný!


Upozornenie:
Tento dokument bol preložený pomocou služby na automatický preklad Co-op Translator. Hoci sa snažíme o presnosť, upozorňujeme, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nezodpovedáme za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.