# ఉష్ణోగ్రత కొలవండి - వర్చువల్ ఐఓటీ హార్డ్వేర్ ఈ పాఠం భాగంలో, మీరు మీ వర్చువల్ ఐఓటీ పరికరానికి ఉష్ణోగ్రత సెంసార్‌ని జోడిస్తారు. ## వర్చువల్ హార్డ్వేర్ వర్చువల్ ఐఓటీ పరికరం అనుకరణ గ్రోవ్ డిజిటల్ ఈదరగొలుపు మరియు ఉష్ణోగ్రత సెంసార్‌ను ఉపయోగిస్తుంది. ఇది ఈ ప్రయోగశాల‌ను ఫిజికల్ గ్రోవ్ DHT11 సెంసార్‌తో రాస్బెర్రీ పాయ్ ఉపయోగించడం లాంటి సదృశంగా ఉంచుతుంది. ఈ సెంసార్ ఒక **ఉష్ణోగ్రత సెంసార్** మరియు ఒక **ఈదరగొలుపు సెంసార్** ను కలిపివుంచని వుంటుంది, కానీ ఈ ప్రయోగశాలలో మీరు ఉష్ణోగ్రత సెంసార్ భాగంలో మాత్రమే ఆసక్తి చూపుతారు. ఒక ఫిజికల్ ఐఓటీ పరికరంలో, ఉష్ణోగ్రత సెంసార్ [థర్మిస్టార్](https://wikipedia.org/wiki/Thermistor) అయి ఉంటుంది, ఇది ఉష్ణోగ్రత మారుతున్నప్పుడు ప్రతిఘటన మార్పును గుర్తించి ఉష్ణోగ్రతను కొలుస్తుంది. ఉష్ణోగ్రత సెంసార్లు సాధారణంగా డిజిటల్ సెంసార్లు, అవి అన్నంతరంగమైనగా కొలిచిన ప్రతిఘటనను డిగ్రీలు సెల్సియస్ (లేదా కెல்வిన్, లేదా ఫారెన్హీట్) లో ఉష్ణోగ్రతగా మార్చి ఇస్తాయి. ### CounterFit కు సెంసార్లను జోడించండి వర్చువల్ ఈదరగొలుపు మరియు ఉష్ణోగ్రత సెంసార్లను ఉపయోగించేందుకు, మీరు రెండు సెంసార్లను CounterFit యాప్‌కి జోడించాలి. #### టాస్క్ - CounterFit కు సెంసార్లను జోడించండి ఈదరగొలుపు మరియు ఉష్ణోగ్రత సెంసార్లను CounterFit యాప్‌కు జోడించండి. 1. మీ కంప్యూటరులో `temperature-sensor` అనే ఫోల్డరులో ఒక పython యాప్ సృష్టించి, ఒకే `app.py` అనే ఫైల్ మరియు ఒక Python వర్చువల్ ఎన్విరాన్మెంట్ ఉంచి, CounterFit పిప్ ప్యాకేజీలను జోడించండి. > ⚠️ అవసరం అయితే [పాఠం 1లో CounterFit Python ప్రాజెక్ట్‌ను సృష్టించి సెట్ చేయడంపై సూచనలనిది చూడండి](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md). 1. DHT11 సెంసార్ కోసం CounterFit శిమ్ ఇన్‌స్టాల్ చేయడానికి అదనపు పిప్ ప్యాకేజీని ఇన్‌స్టాల్ చేయండి. వర్చువల్ ఎన్విరాన్మెంట్ యాక్టివేట్ చేసిన టెర్మినల్ నుంచి ఈ ఇన్‌స్టాలేషన్ చేయాల్సి ఉంటుంది. ```sh pip install counterfit-shims-seeed-python-dht ``` 1. CounterFit వెబ్ యాప్ నడుస్తుందో చూసుకోండి 1. ఒక ఈదరగొలుపు సెంసార్ సృష్టించండి: 1. *Sensors* ప్యాన్‌లో *Create sensor* బాక్సులో, *Sensor type* డ్రాప్‌డౌన్‌ మెను నుండి *Humidity* ఎంచుకోండి. 1. *Units* ను *Percentage* గా ఉంచండి 1. *Pin* 5 గా సెట్ చేయిందని నిర్ధారించుకోండి 1. Pin 5పై ఈదరగొలుపు సెంసార్ సృష్టించడానికి **Add** బటన్‌ను ఎంచుకోండి ![The humidity sensor settings](../../../../../translated_images/te/counterfit-create-humidity-sensor.2750e27b6f30e09c.webp) ఈదరగొలుపు సెంసార్ సృష్టించబడుతుంది మరియు సెంసార్ లిస్ట్‌లో కనిపిస్తుంది. ![The humidity sensor created](../../../../../translated_images/te/counterfit-humidity-sensor.7b12f7f339e430cb.webp) 1. ఒక ఉష్ణోగ్రత సెంసార్ సృష్టించండి: 1. *Sensors* ప్యాన్‌లో *Create sensor* బాక్సులో, *Sensor type* డ్రాప్‌డౌన్‌ మెను నుండి *Temperature* ఎంచుకోండి. 1. *Units* ను *Celsius* గా ఉంచండి 1. *Pin* 6 గా సెట్ చేయబడిందని నిర్ధారించుకోండి 1. Pin 6పై ఉష్ణోగ్రత సెంసార్ సృష్టించడానికి **Add** బటన్‌ను ఎంచుకోండి ![The temperature sensor settings](../../../../../translated_images/te/counterfit-create-temperature-sensor.199350ed34f7343d.webp) ఉష్ణోగ్రత సెంసార్ సృష్టించబడుతుంది మరియు సెంసార్ లిస్ట్‌లో కనిపిస్తుంది. ![The temperature sensor created](../../../../../translated_images/te/counterfit-temperature-sensor.f0560236c96a9016.webp) ## ఉష్ణోగ్రత సెంసార్ యాప్ ప్రోగ్రామ్ చేయండి ఇప్పుడు ఉష్ణోగ్రత సెంసార్ యాప్‌ను CounterFit సెంసార్లను ఉపయోగించి ప్రోగ్రామ్ చేయవచ్చు. ### టాస్క్ - ఉష్ణోగ్రత సెంసార్ యాప్ ప్రోగ్రామ్ చేయండి ఉష్ణోగ్రత సెంసార్ యాప్‌ను ప్రోగ్రామ్ చేయండి. 1. `temperature-sensor` యాప్ VS Code లో తెరిచి ఉన్నదని ఖాయం చేసుకోండి. 1. `app.py` ఫైల్ తెరవండి 1. యాప్‌ను CounterFitకి కనెక్ట్ చేయడానికి `app.py` టాప్‌లో క్రింద కోడ్‌ ను జోడించండి: ```python from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000) ``` 1. అవసరమైన లైబ్రరీలను దిగుమతి చేసేందుకు `app.py` ఫైల్‌లో క్రింది కోడ్ జోడించండి: ```python import time from counterfit_shims_seeed_python_dht import DHT ``` `from seeed_dht import DHT` స్టేట్‌మెంట్‌ను ఉపయోగించి virtual Grove ఉష్ణోగ్రత సెంసార్‌ను CounterFit శిమ్ `counterfit_shims_seeed_python_dht` మాడ్యూల్ నుండి ఉపయోగించటానికి `DHT` సెంసార్ క్లాస్‌ని దిగుమతి చేస్తుంది. 1. virtual ఈదరగొలుపు మరియు ఉష్ణోగ్రత సెంసార్‌ను నిర్వహించే క్లాస్ యొక్క ఇన్స్టాన్స్ సృష్టించడానికి పై కోడ్ తరువాత క్రింది కోడ్ జోడించండి: ```python sensor = DHT("11", 5) ``` ఇది virtual **D**igital **H**umidity మరియు **T**emperature సెంసార్‌ను నిర్వహించే `DHT` క్లాస్ ఇన్స్టాన్స్‌ని డిక్లేర్ చేస్తుంది. మొదటి పారామీటర్ ద్వారా వర్చువల్ *DHT11* సెంసార్ ఉపయోగిస్తున్నట్లు తెలియజేస్తుంది. రెండవ పారామీటర్ వాళ్ళకు సెన్సార్ పిన్ 5తో కనెక్ట్ అయ్యిందని తెలియజేస్తుంది. > 💁 CounterFit ఈ కలిపిన ఈదరగొలుపు మరియు ఉష్ణోగ్రత సెంసార్‌ను 2 సెంసార్లతో అనుకరించును: ఒక ఈదరగొలుపు సెంసార్ `DHT` క్లాస్ సృష్టించబడిన పిన్‌లో, రెండవది ఉష్ణోగ్రత సెంసార్ పక్కవ పిన్‌లో ఉండాలి. ఉదాహరణకు, ఈదరగొలుపు సెంసార్ పిన్ 5 లో ఉంటే ఉష్ణోగ్రత సెంసార్ పిన్ 6 లో ఉండటం జరుగుతుంది. 1. ఉష్ణోగ్రత సెంసార్ విలువను ప‌ర్వింగ్ చేసి, కన్సోల్‌లో ప్రింట్ చేయడానికి క్రింద కోడ్‌ని ఒక అనంత లోపం (infinite loop) లో జోడించండి: ```python while True: _, temp = sensor.read() print(f'Temperature {temp}°C') ``` `sensor.read()` కాల్ ఈదరగొలుపు మరియు ఉష్ణోగ్రత రెండింటి విలువలతో tuple ను ఇస్తుంది. మాకు ఉష్ణోగ్రత విలువ మాత్రమే కావడంతో ఈదరగొలుపు విలువ దృష్టిలో చూపించబడదు. ఆపై ఉష్ణోగ్రత విలువ కన్సోల్‌లో ప్రింట్ అవుతుంది. 1. `loop` చివరలో పది సెకన్ల చిన్న నిద్ర సమయం జోడించండి, ఎందుకంటే ఉష్ణోగ్రత స్థాయిలను నిరంతరం చెక్ చేయాల్సిన అవసరం ఉండదు. ఇది పరికర విద్యుత్ వినియోగాన్ని తగ్గిస్తుంది. ```python time.sleep(10) ``` 1. VS Code టెర్మినల్ నుండి వర్చువల్ ఎన్విరాన్మెంట్ యాక్టివేట్ చేసి, క్రింది కమాండ్ ద్వారా పython యాప్‌ను రన్ చేయండి: ```sh python app.py ``` 1. CounterFit యాప్ నుంచి, యాప్ చెక్ చేసే ఉష్ణోగ్రత సెంసార్ విలువను మార్చండి. ఇది రెండు విధాలుగా చేయవచ్చు: * ఉష్ణోగ్రత సెంసార్ కోసం *Value* బాక్సులో సంఖ్యను ఎంట‌ర్ చేసి **Set** బటన్ క్లిక్ చేయండి. మీరు ఎంటర్ చేసిన సంఖ్య సెంసార్ ఇచ్చే విలువ అవుతుంది. * *Random* చెక్‌బాక్స్‌ను ఎంచుకుని, *Min* మరియు *Max* విలువలను ఎంటర్ చేసి, **Set** బటన్ ఎంచుకోండి. ప్రతి సారి సెంసార్ విలువ చదివినపుడు, అది Min మరియు Max మధ్య ఏదైనా యాదృచ్ఛిక సంఖ్యను రీడ్ చేస్తుంది. మీరు కన్సోల్‌లో మీ సెట్ చేసిన విలువలు కనిపించడం గమనించాలి. విలువ లేదా రాండమ్ సెట్‍యింగ్‌లను మార్చడం ద్వారా విలువ మార్వ చూడండి. ```output (.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C ``` > 💁 మీరు ఈ కోడ్‌ను [code-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/virtual-device) ఫోల్డరులో పొందవచ్చు. 😀 మీ ఉష్ణోగ్రత సెంసార్ ప్రోగ్రాం విజయవంతమైంది! --- **免责声明**: ఈ డాక్యుమెంట్ [Co-op Translator](https://github.com/Azure/co-op-translator) అనే AI అనువాద సేవ ఉపయోగించి అనువదించబడింది. మేము ప్రతీశించి సరిగ్గా ఉండాలనుకుంటున్నప్పటికీ, ఆటోమేటెడ్ అనువాదాలలో తప్పిదాలు లేదా అసమ్మతులు ఉండవచ్చు. అసలు డాక్యుమెంట్ దాని మూల భాషలో ఉన్నది అధికారిక యథార్థం గా పరిగణించాలి. కీలక సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం చేయించుకోవడం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం ఉపయోగం నుంచి వచ్చిన ఏవైనా అపార్థాలు లేదా తప్పుదొర్లతలకు మేము బాధ్యత పడము.