# അടുത്തീളം കണ്ടെത്തുക - വെർച്വൽ IoT ഹാർഡ്‌വെയർ പാഠഭാഗത്തിൽ, നിങ്ങൾക്ക് നിങ്ങളുടെ വെർച്ച്വൽ IoT ഉപകരണത്തിലേക്ക് ഒരു അടുത്തീളം സെൻസർ ചേർത്ത് അതിൽ നിന്ന് ദൂരമിതം വായിക്കാനാകും. ## ഹാർഡ്‌വെയർ വെർച്വൽ IoT ഡിവൈസിന് സിമുലേറ്റ് ചെയ്ത ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കപ്പെടും. ശാരീരിക IoT ഉപകരണത്തിൽ, ദൂരം കണ്ടെത്താൻ ലേസർ റേജിംഗ് മോഡ്യൂൾ ഉള്ള സെൻസർ ഉപയോഗിക്കുമായിരുന്നു. ### CounterFit ൽ ഡിസ്റ്റൻസ് സെൻസർ ചേർക്കുക ഒരു വെർച്വൽ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കാൻ, CounterFit ആപ്പിൽ ഒരു സെൻസർ ചേർക്കണം. #### ടാസ്ക്ക് - CounterFit ൽ ഡിസ്റ്റൻസ് സെൻസർ ചേർക്കുക CounterFit ആപ്പിൽ ഡിസ്റ്റൻസ് സെൻസർ ചേർക്കുക. 1. `fruit-quality-detector` കോഡ് VS Code ൽ തുറക്കുക, ഒപ്പം വെര്ച്വൽ എൻവയോൺമെന്റ് ആക്ടീവേറ്റഡ് ആണെന്ന് ഉറപ്പാക്കുക. 1. ഒരു അധിക പിപ് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്ത്, ഡിസ്റ്റൻസ് സെൻസറുമായി സംവദിക്കാൻ കഴിവുള്ള CounterFit ഷിം ഇൻസ്റ്റാൾ ചെയ്യുക, ഇത് [rpi-vl53l0x Pip പാക്കേജ്](https://pypi.org/project/rpi-vl53l0x/) സിമുലേറ്റ് ചെയ്യും, Python പാക്കേജ് കൂടിയാണ് ഇത്, ഇത് [VL53L0X ടൈം-ഓഫ്-ഫ്ലൈറ്റ് ഡിസ്റ്റൻസ് സെൻസറുമായി](https://wiki.seeedstudio.com/Grove-Time_of_Flight_Distance_Sensor-VL53L0X/) ബന്ധപ്പെട്ടിരിയ്ക്കുന്നു. വെര്‍ച്ച്വല്’environnement ആക്ടീവേറ്റഡ് ആയിരുന്നു എന്ന് ഉറപ്പാക്കി ടർമിനൽ വഴി ഇത് ഇൻസ്റ്റാൾ ചെയ്യുക. ```sh pip install counterfit-shims-rpi-vl53l0x ``` 1. CounterFit വെബ് ആപ്പ് ഓടുന്നതായാണ് ഉറപ്പാക്കുക 1. ഒരു ഡിസ്റ്റൻസ് സെൻസർ ഉണ്ടാക്കുക: 1. *Create sensor* ബോക്സിൽ *Sensors* പെയിനിൽ, *Sensor type* ഡ്രോപ്പ് ഡൗൺ ബോക്സിൽ നിന്ന് *Distance* തെരഞ്ഞെടുക്കുക. 1. *Units* എന്നത് `Millimeter` ആയി വയ്ക്കുക 1. ഈ സെൻസർ I2C സെൻസറാണ്, അതിനാൽ അഡ്രസ് `0x29` ആയി സെറ്റ് ചെയ്യുക. നിങ്ങൾ ഫിസിക്കൽ VL53L0X സെൻസർ ഉപയോഗിച്ചിരുന്നെങ്കിൽ ഇത് ഹാർഡ്‌കോഡുചെയ്തിട്ടുണ്ടായിരിക്കും. 1. **Add** ബട്ടൺ തിരഞ്ഞെടുക്കുക ഡിസ്റ്റൻസ് സെൻസർ സൃഷ്ടിക്കാൻ ![The distance sensor settings](../../../../../translated_images/ml/counterfit-create-distance-sensor.967c9fb98f27888d.webp) ഡിസ്റ്റൻസ് സെൻസർ സൃഷ്ടിക്കപ്പെടുകയും സെൻസർ ലിസ്റ്റിൽ പ്രത്യക്ഷപ്പെടുകയും ചെയ്യും. ![The distance sensor created](../../../../../translated_images/ml/counterfit-distance-sensor.079eefeeea0b68af.webp) ## ഡിസ്റ്റൻസ് സെൻസർ പ്രോഗ്രാം ചെയ്യുക ഇപ്പോഴുതന്നെ വെർച്വൽ IoT ഉപകരണം സിമുലേറ്റഡ് ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കാൻ പ്രോഗ്രാം ചെയ്യാവുന്നതാണ്. ### ടാസ്ക്ക് - ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ പ്രോഗ്രാം ചെയ്യുക 1. `fruit-quality-detector` പ്രോജക്റ്റിൽ `distance-sensor.py` എന്ന പുതിയ ഫയൽ സൃഷ്ടിക്കുക. > 💁 ഒട്ടേറെ IoT ഉപകരണങ്ങൾ സിമുലേറ്റ് ചെയ്യാനുള്ള എളുപ്പ മാർഗ്ഗം ഓരോന്നും വ്യത്യസ്ത Python ഫയലുകളിൽ തയ്യാറാക്കി ഒപ്പം ഓടിക്കുന്നതാണ്. 1. CounterFit-യുമായി കണക്ഷൻ തുടങ്ങാൻ താഴെയുള്ള കോഡ് ചേർക്കുക: ```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. കോൺസോളിൽ ദൂരമിതം അളവുകൾ പ്രത്യക്ഷപ്പെടുന്നതെന്തെങ്കിലും കാണാനാകും. CounterFit-ഇൽ മൂല്യം മാറ്റി ഇത് മാറുന്നതു കാണുക, അല്ലെങ്കിൽ റാൻഡം മൂല്യങ്ങൾ ഉപയോഗിക്കുക. ```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) ഫോൾഡറിൽകാണാം. 😀 നിങ്ങളുടെ അടുത്തീളം സെൻസർ പ്രോഗ്രാം വിജയകരമായി പൂർത്തിയായി! --- **അസംബന്ധിത സൂചന**: ഈ ഡോക്യുമെന്റ് എഐ വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയുടെ ശ്രമം ചെയ്തിട്ടുണ്ടെങ്കിലും, സ്വയംനടത്തുന്ന വിവർത്തനങ്ങളിൽ പിശകുകളും അനിശ്ചിതത്വങ്ങളും ഉണ്ടാകാൻ സാധ്യതയുണ്ടെന്ന് ദയവായി ബന്ധപ്പെട്ടിരിക്കൂ. മൗലിക ഭാഷയിൽ ഉള്ള മുൾഡോക്യുമെന്റാണ് പ്രാമാണികമായ സ്രോതസ്സ് എന്ന് കണക്കിലെടുക്കേണ്ടതാണ്. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ചെയ്യുന്നത് ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കും വ്യാഖ്യാനഭിന്നതകൾക്കുമായുള്ള ഉത്തരവാദിത്തം ഞങ്ങൾക്ക് ഇല്ല.