# దగ్గరత్వాన్ని గుర్తించండి - వర్చువల్ IoT హార్డ్వేర్ పాఠంలోని ఈ భాగంలో, మీరు మీ వర్చువల్ IoT పరికరం కు దగ్గరత్వ సెన్సార్ ని జోడించి, దానిద్దాం దూరాన్ని చదవడం చేస్తారు. ## హార్డ్వేర్ వర్చువల్ IoT పరికరం అనుకరణ దూరం సెన్సార్ ను ఉపయోగిస్తుంది. భౌతిక IoT పరికరంలో, మీరు లేజర్ రేంజింగ్ మాడ్యూల్ ఉన్న సెన్సార్ ఉపయోగించి దూరాన్ని గుర్తిస్తారు. ### కౌంటర్‌ఫిట్ కి దూరం సెన్సార్ జోడించు వర్చువల్ దూరం సెన్సార్ ఉపయోగించాలంటే, కౌంటర్‌ఫిట్ యాప్ కు ఒకటి జోడించాలి #### టాస్క్ - కౌంటర్‌ఫిట్ కు దూరం సెన్సార్ జోడించు కౌంటర్‌ఫిట్ యాప్ కు దూరం సెన్సార్ జోడించండి. 1. `fruit-quality-detector` కోడ్‌ను VS కోడ్‌లో తెరిచి, వర్చువల్ వాతావరణం యాక్టివేట్ అయ్యిందో లేదో నిర్ధారించండి. 1. అదనపు పిప్ ప్యాకేజ్ ని ఇన్‌స్టాల్ చేయండి, ఇది [rpi-vl53l0x Pip ప్యాకేజీ](https://pypi.org/project/rpi-vl53l0x/)ను అనుకరించిస్తూ దూరం సెన్సార్‌లతో మాట్లాడగల కౌంటర్‌ఫిట్ షిమ్ ని ఇన్‌స్టాల్ చేస్తుంది, ఇది [VL53L0X టైమ్-ఆఫ్-ఫ్లైట్ దూర సెన్సార్](https://wiki.seeedstudio.com/Grove-Time_of_Flight_Distance_Sensor-VL53L0X/)తో ఇంటరాక్ట్ చేసే Python ప్యాకేజీ. మీరు వర్చువల్ వాతావరణం యాక్టివేట్ అయిన టెర్మినల్ ద్వారా ఇన్‌స్టాల్ చేస్తున్నారని నిర్ధారించుకోండి. ```sh pip install counterfit-shims-rpi-vl53l0x ``` 1. కౌంటర్‌ఫిట్ వెబ్ యాప్ నడుస్తున్నదని నిర్ధారించుకోండి 1. ఒక దూరం సెన్సార్ సృష్టించండి: 1. *సెన్సార్లు* ప్యానెల్ లోని *Create sensor* బాక్సులో, *Sensor type* డ్రాప్‌డౌన్‌లో *Distance* ని ఎంచుకోండి. 1. *Units* ను `Millimeter` గా వదిలివేయండి 1. ఈ సెన్సార్ ఒక I2C సెన్సార్ కావున, అడ్రస్ ను `0x29` గా సెట్ చేయండి. మీరు ఒక భౌతిక VL53L0X సెన్సార్ ఉపయోగించకుంటే ఇది ఆ అడ్రస్ కు హార్డు కోడ్ అయ్యి ఉంటుంది. 1. దూరం సెన్సార్ సృష్టించడానికి **Add** బటన్ ను ఎంచుకోండి ![The distance sensor settings](../../../../../translated_images/te/counterfit-create-distance-sensor.967c9fb98f27888d.webp) దూరం సెన్సార్ సృష్టించబడుతుంది మరియు సెన్సార్‌ల జాబితాలో కనిపిస్తుంది. ![The distance sensor created](../../../../../translated_images/te/counterfit-distance-sensor.079eefeeea0b68af.webp) ## దూరం సెన్సార్ ప్రోగ్రామ్ చేయండి వర్చువల్ IoT పరికరం ఇప్పుడు అనుకరణ దూరం సెన్సార్ ఉపయోగించి ప్రోగ్రామ్ చేయబడవచ్చు. ### టాస్క్ - టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ ప్రోగ్రామ్ చేయండి 1. `fruit-quality-detector` ప్రాజెక్టులో `distance-sensor.py` అనే కొత్త ఫైల్ సృష్టించండి. > 💁 అనేక IoT పరికరాలను అనుకరించడానికి సులభ మార్గం, ఒక్కో Python ఫైల్ లో వేర్వేరు పరికరాలను చేసి, వాటిని ఒకేసారిగా నడపడం. 1. కౌంటర్‌ఫిట్ తో కనెక్షన్ ప్రారంభించడానికి ఈ కింది కోడ్ ఉపయోగించండి: ```python from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000) ``` 1. ఈ క్రింద కొత్త కోడ్ ను జోడించండి: ```python import time from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X ``` ఇది VL53L0X టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ కోసం సెన్సార్ లైబ్రరీ షిమ్ ని ఇంపోర్ట్ చేస్తుంది. 1. ఈ క్రింద ఈ కోడ్ జోడించండి సెన్సార్ యాక్సెస్ చేసేందుకు: ```python distance_sensor = VL53L0X() distance_sensor.begin() ``` ఈ కోడ్ ఒక దూరం సెన్సార్ ప్రకటించి, ఆ సెన్సార్ ను ప్రారంభిస్తుంది. 1. చివరగా, దూరాల చదవడానికి అమృతమైన లూప్ జోడించండి: ```python while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1) ``` ఈ కోడ్ సెన్సార్ నుండి విలువ తీయటానికి సిద్ధంగా ఉండే వరకు ఇంతిమంగా ఎదురుచూస్తుంది, తరువాత దానిని కన్సోల్ లో ప్రింట్ చేస్తుంది. 1. ఈ కోడ్ నడపండి. > 💁 ఈ ఫైల్ పేరు `distance-sensor.py` అని గమనించండి! దీన్ని Python ద్వారా నడపాలి, `app.py` ద్వారా కాదు. 1. మీరు కన్సోల్ లో దూరం కొలతలు కనిపించనున్నాయి. కౌంటర్‌ఫిట్ లో విలువ మార్చి ఈ విలువ మారుతున్నదని చూడగలరు లేదా యాదృచ్ఛిక విలువలు ఉపయోగించండి. ```output (.venv) ➜ fruit-quality-detector python distance-sensor.py Distance = 37 mm Distance = 42 mm Distance = 29 mm ``` > 💁 ఈ కోడ్ ను మీరు [code-proximity/virtual-iot-device](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/virtual-iot-device) ఫోల్డర్ లో కనిపెట్టవచ్చు. 😀 మీ దగ్గరత్వ సెన్సార్ ప్రోగ్రామ్ విజయం సాధించింది! --- **అస్పష్టత**: ఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము సరైనదైన ఫలితాల కోసం ప్రాయత్నిస్తున్నప్పటికీ, స్వయంచాలక అనువాదాలు పొరపాట్లు లేదా తప్పులైనవి ఉండవచ్చు. మూల పత్రాన్ని native భాషలో నిబంధనాత్మక మూలం గా పరిగణించాలి. కీలకమైన సమాచారం కోసం వృత్తిపరమైన మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం ఉపయోగంలో కలిగే ఏమైనా తప్పులేమి లేదా అవగాహన లోపాలకి మేము బాధ్యత వహించము.