4.8 KiB
Zaznavanje bližine - Virtualna IoT strojna oprema
V tem delu lekcije boste svoji virtualni IoT napravi dodali senzor bližine in prebrali razdaljo z njega.
Strojna oprema
Virtualna IoT naprava bo uporabljala simuliran senzor razdalje.
Pri fizični IoT napravi bi uporabili senzor z laserskim merilnim modulom za zaznavanje razdalje.
Dodajanje senzorja razdalje v CounterFit
Za uporabo virtualnega senzorja razdalje ga morate dodati v aplikacijo CounterFit.
Naloga - dodajte senzor razdalje v CounterFit
Dodajte senzor razdalje v aplikacijo CounterFit.
-
Odprite kodo
fruit-quality-detector
v VS Code in se prepričajte, da je virtualno okolje aktivirano. -
Namestite dodatni Pip paket za namestitev CounterFit shima, ki lahko komunicira s senzorji razdalje s simulacijo rpi-vl53l0x Pip paketa, Python paketa, ki deluje z VL53L0X senzorjem razdalje na osnovi časa leta. Prepričajte se, da to nameščate iz terminala z aktiviranim virtualnim okoljem.
pip install counterfit-shims-rpi-vl53l0x
-
Prepričajte se, da je spletna aplikacija CounterFit zagnana.
-
Ustvarite senzor razdalje:
-
V polju Create sensor v podoknu Sensors odprite spustni meni Sensor type in izberite Distance.
-
Pustite Units kot
Millimeter
. -
Ta senzor je I²C senzor, zato nastavite naslov na
0x29
. Če bi uporabili fizični VL53L0X senzor, bi bil ta naslov trdo kodiran. -
Izberite gumb Add, da ustvarite senzor razdalje.
Senzor razdalje bo ustvarjen in se bo pojavil na seznamu senzorjev.
-
Programiranje senzorja razdalje
Virtualna IoT naprava je zdaj pripravljena za programiranje, da uporablja simuliran senzor razdalje.
Naloga - programirajte senzor časa leta
-
Ustvarite novo datoteko v projektu
fruit-quality-detector
z imenomdistance-sensor.py
.💁 Enostaven način za simulacijo več IoT naprav je, da vsako ustvarite v ločeni Python datoteki in jih nato zaženete hkrati.
-
Začnite povezavo s CounterFit z naslednjo kodo:
from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Pod to kodo dodajte naslednje:
import time from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
To uvozi knjižnico shima za senzor VL53L0X časa leta.
-
Pod to kodo dodajte naslednje za dostop do senzorja:
distance_sensor = VL53L0X() distance_sensor.begin()
Ta koda deklarira senzor razdalje in nato zažene senzor.
-
Na koncu dodajte neskončno zanko za branje razdalj:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
Ta koda počaka, da je vrednost pripravljena za branje s senzorja, nato pa jo izpiše v konzolo.
-
Zaženite to kodo.
💁 Ne pozabite, da se ta datoteka imenuje
distance-sensor.py
! Prepričajte se, da jo zaženete s Pythonom, ne zapp.py
. -
V konzoli boste videli meritve razdalje. Spremenite vrednost v CounterFit, da vidite, kako se ta vrednost spremeni, ali uporabite naključne vrednosti.
(.venv) ➜ fruit-quality-detector python distance-sensor.py Distance = 37 mm Distance = 42 mm Distance = 29 mm
💁 To kodo lahko najdete v mapi code-proximity/virtual-iot-device.
😀 Vaš program za senzor bližine je bil uspešen!
Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve za strojno prevajanje Co-op Translator. Čeprav si prizadevamo za natančnost, vas opozarjamo, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo strokovno človeško prevajanje. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki izhajajo iz uporabe tega prevoda.