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.
-
Otvorte kód
fruit-quality-detector
vo VS Code a uistite sa, že virtuálne prostredie je aktivované. -
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
-
Uistite sa, že webová aplikácia CounterFit je spustená.
-
Vytvorte senzor vzdialenosti:
-
V poli Create sensor v paneli Sensors rozbaľte pole Sensor type a vyberte Distance.
-
Nechajte Units nastavené na
Millimeter
. -
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á. -
Kliknite na tlačidlo Add, aby ste vytvorili senzor vzdialenosti.
Senzor vzdialenosti bude vytvorený a zobrazí sa v zozname senzorov.
-
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
-
V projekte
fruit-quality-detector
vytvorte nový súbor s názvomdistance-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.
-
Spustite pripojenie k CounterFit pomocou nasledujúceho kódu:
from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
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.
-
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í.
-
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.
-
Spustite tento kód.
💁 Nezabudnite, že tento súbor sa volá
distance-sensor.py
! Uistite sa, že ho spúšťate cez Python, nieapp.py
. -
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.