# താപനില അളക്കുക - വെർച്വൽ ഐഒടി ഹാർഡ്‌വെയർ പാഠത്തിന്റെ ഈഭാഗത്തിലും, നിങ്ങൾ നിങ്ങളുടെ വെർച്വൽ ഐഒടി ഉപകരണത്തിലേക്ക് ഒരു താപനില സെൻസർ ചേർക്കും. ## വെർച്വൽ ഹാർഡ്‌വെയർ വെർച്വൽ ഐഒടി ഉപകരണം ഒരു അനുകരണമായ Grove ഡിജിറ്റൽ ഉലർദ്രതയും താപനില സെൻസറും ഉപയോഗിക്കും. ഇത് ഫിസിക്കൽ Grove DHT11 സെൻസർ ഉപയോഗിക്കുന്ന Raspberry Pi ഉപയോഗിക്കുന്നതുപോലെയാണ് ഈ ലാബ് തുടരുന്നത്. സെൻസർ ഒരു **താപനില സെൻസറും** ഒരു **ഉലർദ്രത സെൻസറും** സംയോജിപ്പിച്ചിരിക്കുന്നു, പക്ഷേ ഈ ലാബിൽ നിങ്ങൾക്കു താപനില സെൻസർ ഘടകത്തിൽ മാത്രമേ താൽപര്യമുള്ളൂ. ഒരു ഫിസിക്കൽ ഐഒടി ഉപകരണത്തിൽ, താപനില സെൻസർ ഒരു [തെർമിസ്റ്റർ](https://wikipedia.org/wiki/Thermistor) ആയിരിക്കും, ഇത് താപനില മാറ്റുമ്പോൾ പ്രതിരോധം മാറുന്നതു തിരിച്ചറിയുന്നതിലൂടെ താപനില അളക്കുന്നു. താപനില സെൻസറുകൾ സാധാരണയായി ഡിജിറ്റൽ സെൻസറുകളാണ്, അവ അളക്കപ്പെട്ട പ്രതിരോധത്തെ ആന്തരികമായി ഡിഗ്രി സെൽഷ്യസ് (അഥവാ കേൽവിൻ, അല്ലെങ്കിൽ ഫാരൻഹൈറ്റ്) താപനിലയായി പരിവർത്തനം ചെയ്യുന്നു. ### സെൻസറുകൾ CounterFit-ൽ ചേർക്കുക ഒരു വെർച്വൽ ഉലർദ്രതയും താപനില സെൻസറും ഉപയോഗിക്കാൻ, രണ്ട് സെൻസറുകളും CounterFit ആപ്പിൽ ചേർക്കേണ്ടതാണ് #### ടാസ്ക് - സെൻസറുകൾ CounterFit-ൽ ചേർക്കുക ഉലർദ്രതയും താപനില സെൻസറുകളും CounterFit ആപ്പിൽ ചേർക്കുക. 1. `temperature-sensor` എന്ന ഫോൾഡറിൽ, `app.py` എന്ന ഒറ്റ ഫയൽ ഉള്ള ഒരു പൈതൺ ആപ്പ് നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ സൃഷ്ടിച്ച് ഒരു പൈതൺ വെർച്വൽ എൻവയറോൺമെന്റ് സജ്ജമാക്കി, CounterFit പിപ്പ് പാക്കേജുകൾ ചേർക്കുക. > ⚠️ ആവശ്യമെങ്കിൽ [പാഠം 1-ൽ CounterFit പൈതൺ പ്രോജക്ട് സൃഷ്ടിക്കൽ, സജ്ജീകരിക്കൽ നിർദ്ദേശങ്ങൾ കാണുക](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md). 2. DHT11 സെൻസറിനുള്ള CounterFit ഷിം സ്ഥാപിക്കാൻ ഒരു അധിക പിപ്പ് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക. വെർച്വൽ എൻവയറോൺമെന്റ് ആക്റ്റിവേറ്റ് ചെയ്ത ടെർമിനലിൽ നിന്ന് ഇത് ഇൻസ്റ്റാൾ ചെയ്യുന്നത് ഉറപ്പാക്കുക. ```sh pip install counterfit-shims-seeed-python-dht ``` 3. CounterFit വെബ് ആപ്പ് പ്രവർത്തനത്തിനായി ഉറപ്പാക്കുക 4. ഉലർദ്രത സെൻസർ സൃഷ്ടിക്കുക: 1. *Sensors* പാനലിലെ *Create sensor* ബോക്സിൽ നിന്നും *Sensor type* ലോഡ് ഡൗൺ ചെയ്ത് *Humidity* തിരഞ്ഞെടുക്കുക. 2. *Units* *Percentage* ആയി ഇരുത്തുക 3. *Pin* *5* ആയി ഉറപ്പാക്കുക 4. Pin 5-ൽ ഉലർദ്രത സെൻസർ സൃഷ്ടിക്കാൻ **Add** ബട്ടൺ തെരഞ്ഞെടുത്ത് അമർത്തുക ![The humidity sensor settings](../../../../../translated_images/ml/counterfit-create-humidity-sensor.2750e27b6f30e09c.webp) ഉലർദ്രത സെൻസർ സൃഷ്ടിച്ച് സെൻസർ ലിസ്റ്റിൽ പ്രദർശിപ്പിക്കും. ![The humidity sensor created](../../../../../translated_images/ml/counterfit-humidity-sensor.7b12f7f339e430cb.webp) 5. താപനില സെൻസർ സൃഷ്ടിക്കുക: 1. *Sensors* പാനലിലെ *Create sensor* ബോക്സിൽ നിന്നും *Sensor type* ലോഡ് ഡൗൺ ചെയ്ത് *Temperature* തിരഞ്ഞെടുക്കുക. 2. *Units* *Celsius* ആയി ഇരുത്തുക 3. *Pin* *6* ആയി ഉറപ്പാക്കുക 4. Pin 6-ൽ താപനില സെൻസർ സൃഷ്ടിക്കാൻ **Add** ബട്ടൺ അമർത്തുക ![The temperature sensor settings](../../../../../translated_images/ml/counterfit-create-temperature-sensor.199350ed34f7343d.webp) താപനില സെൻസർ സൃഷ്ടിച്ച് സെൻസർ ലിസ്റ്റിൽ പ്രദർശിപ്പിക്കും. ![The temperature sensor created](../../../../../translated_images/ml/counterfit-temperature-sensor.f0560236c96a9016.webp) ## താപനില സെൻസർ ആപ്പ് പ്രോഗ്രാം ചെയ്യുക താപനില സെൻസർ ആപ്പ് ഇപ്പോൾ CounterFit സെൻസറുകൾ ഉപയോഗിച്ച് പ്രോഗ്രാം ചെയ്യാവുന്നതാണ്. ### ടാസ്ക് - താപനില സെൻസർ ആപ്പ് പ്രോഗ്രാം ചെയ്യുക താപനില സെൻസർ ആപ്പ് പ്രോഗ്രാം ചെയ്യുക. 1. `temperature-sensor` ആപ്പ് VS Code-ൽ തുറന്നിരിക്കുന്നതോ എന്ന് ഉറപ്പാക്കുക 2. `app.py` ഫയൽ തുറക്കുക 3. CounterFit-നോടു കണക്ട് ചെയ്യാൻ `app.py` മുകളിൽ താഴുള്ള കോഡ് ചേർക്കുക: ```python from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000) ``` 4. ആവശ്യമായ ലൈബ്രറികൾ ഇറക്കുമതിക്ക് താഴെ കൊടുത്ത കോഡ് `app.py` ഫയലിൽ ചേർക്കുക: ```python import time from counterfit_shims_seeed_python_dht import DHT ``` `from seeed_dht import DHT` സ്റ്റേറ്റ്മെന്റ് `DHT` സെൻസർ ക്ലാസ്സ് ഇറക്കുമതി ചെയ്യുന്നുണ്ട്, ഇത് `counterfit_shims_seeed_python_dht` മോട്യൂളിലെ ഷിം ഉപയോഗിച്ച് വെർച്വൽ Grove താപനില സെൻസറുമായി ഇടപഴകാൻ ഉപകരിക്കുന്നു. 5. മുമ്പ് ചേർത്തിട്ടുള്ള കോഡിനുശേഷം താഴെ കൊടുത്ത കോഡ് ചേർത്ത് വെർച്വൽ ഉലർദ്രതയും താപനില സെൻസറും നിയന്ത്രിക്കുന്ന ക്ലാസ് ഒരു ഇൻസ്റ്റൻസ് സൃഷ്ടിക്കുക: ```python sensor = DHT("11", 5) ``` ഇത് വെർച്വൽ **D**igital **H**umidity and **T**emperature സെൻസറിനുള്ള `DHT` ക്ലാസ് ഒരു ഇൻസ്റ്റൻസ് പ്രഖ്യാപിക്കുന്നു. ആദ്യ പാരാമീറ്റർ ഉപയോഗിക്കുകയാണ് `DHT11` വെർച്വൽ സെൻസർ എന്നത്. രണ്ടാം പാരാമീറ്റർ സെൻസർ പോർട്ട് `5`-ൽ കണക്ട് ചെയ്തിരിക്കുന്നതായി സൂചിപ്പിക്കുന്നു. > 💁 CounterFit ഈ സമന്വയിച്ച ഉലർദ്രതയും താപനില സെൻസർയും 2 സെൻസറുകളായി സിമുലേറ്റ് ചെയ്യുന്നു; `DHT` ക്ലാസ് സൃഷ്ടിക്കുമ്പോൾ നൽകിയ പിനിൽ ഉലർദ്രത സെൻസർ പ്രവർത്തിക്കുന്നു, അടുത്ത പിനിൽ (Pin 6) താപനില സെൻസർ പ്രവർത്തിക്കുന്നു. ഉദാഹരണത്തിന്, ഉലർദ്രത സെൻസർ pin 5-ൽ ആണെങ്കിലോ, താപനില സെൻസർ pin 6-ൽ പ്രവർത്തിക്കണം. 6. താഴെ കൊടുത്ത കോഡ് ചേർത്ത് അനന്തമായ ലൂപ്പ് സൃഷ്ടിക്കുക, തീരില്ലാതെ താപനില സെൻസർ മൂല്യം ചോദിച്ച് കൺസിൾ വിൽ പ്രിന്റ് ചെയ്യുന്നു: ```python while True: _, temp = sensor.read() print(f'Temperature {temp}°C') ``` `sensor.read()` മേധാവിത്വം ഉലർദ്രതയും താപനിലയും കൂടിയ ആകൃതി തരുന്നു. നിങ്ങൾക്ക് വെറും താപനില മൂല്യമാണ് വേണ്ടത്, അതിനാൽ ഉലർദ്രതവിരൽ ഉപയോഗിക്കുന്നില്ല. താപനില മൂല്യം പിന്നീട് കൺസോളിൽ പ്രിന്റ് ചെയ്യുന്നു. 7. `loop` ന്റെ അവസാനം പത്ത് സെക്കന്റ് നേരത്തേ ഒരു ചെറിയ ഉറക്കം ചേർക്കുക, കാരണം താപനില നിരന്തരം പരിശോധിക്കേണ്ടതില്ല. ഉറക്കം ഉപകരണത്തിന്റെ വൈദ്യുതി ചെലവു കുറയ്ക്കാൻ സഹായിക്കുന്നു. ```python time.sleep(10) ``` 8. വെർച്വൽ എൻവയറോൺമെന്റ് ആക്റ്റിവേറ്റ് ചെയ്ത VS Code ടെർമിനലിൽ നിന്നും നിങ്ങളുടെ പൈതൺ ആപ്പ് പ്രവർത്തിപ്പിക്കാൻ താഴെ കൊടുത്തത് റൺ ചെയ്യുക: ```sh python app.py ``` 9. CounterFit ആപ്പിൽ നിന്നും, ആപ്പിന് വായിക്കാൻ സന്ദേശം നൽകുന്ന താപനില സെൻസറിന്റെ മൂലം മാറ്റുക. ഇതിന് രണ്ട് മാർഗ്ഗങ്ങളുണ്ട്: * താപനില സെൻസറിനുള്ള *Value* ബോക്സിൽ ഒരു സംഖ്യ നൽകുക, പിന്നെ **Set** ബട്ടൺ അമർത്തുക. നിങ്ങള്‍ നൽകിയ സംഖ്യ സെൻസർ തിരിച്ച് നൽകുന്ന മൂല്യമാകുന്നു. * *Random* ചെക്ക് ബോക്സ് ഓൺ ചെയ്തിട്ട്, *Min*യും *Max*യും മൂല്യങ്ങൾ നൽകുക, പിന്നെ **Set** ബട്ടൺ അമർത്തുക. ഓരോ തവണയും സെൻസർ ഒരു പ്രതീക്ഷിക്കപ്പെടുന്നതും അതിനിടയിലെ ഒരൊരുവശ സംഖ്യ വായിക്കും. നിങ്ങൾ നൽകിയ മൂല്യങ്ങൾ കൺസൂളിൽ പ്രത്യക്ഷപ്പെടുന്നതാണ്. *Value* അല്ലെങ്കിൽ *Random* ക്രമീകരണങ്ങൾ മാറ്റി വില മാറ്റം പരിശോധിക്കുക. ```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) ഫോൾഡറിൽ കണ്ടെത്താവുന്നതാണ്. 😀 നിങ്ങളുടെ താപനില സെൻസർ പ്രോഗ്രാം വിജയം കൈവന്നു! --- **ഉപദേശം**: ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്യപ്പെട്ടതാണ്. ഞങ്ങൾ സുതാര്യതയ്ക്ക് ശ്രമിച്ചിരിക്കുമ്പോഴും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിഴവുകൾ അല്ലെങ്കിൽ അസംശോധിതത്വങ്ങൾ ഉണ്ടാകാമെന്ന് कृപയാ മനസ്സിലാക്കി ചെയ്യുക. രേഖയുടെ നാടൻ ഭാഷയിലെ മൊഴിയാണ് പ്രാമാണികമായ ഉറവിടം ලෙස കണക്കാക്കേണ്ടത്. പ്രധാനമായ വിവരങ്ങൾക്ക് പ്രൊഫഷണലായ മനുഷ്യ വിവർത്തനം വേണമെന്ന് ശിപാർത്ഥിക്കുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്ന് ഉളവാകുന്ന അമർത്ഥങ്ങൾക്കോ തെറ്റിദ്ധാരണകൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.