7.6 KiB
Pima joto - Vifaa vya IoT vya Kijumla
Katika sehemu hii ya somo, utaongeza kihisi cha joto kwenye kifaa chako cha IoT cha kijumla.
Vifaa vya Kijumla
Kifaa cha IoT cha kijumla kitatumia kihisi cha Grove Digital Humidity and Temperature kilichosimuliwa. Hii inafanya maabara hii kuwa sawa na kutumia Raspberry Pi na kihisi halisi cha Grove DHT11.
Kihisi hiki kinachanganya kihisi cha joto na kihisi cha unyevunyevu, lakini katika maabara hii utajihusisha tu na sehemu ya kihisi cha joto. Katika kifaa halisi cha IoT, kihisi cha joto kingekuwa thermistor ambacho hupima joto kwa kuhisi mabadiliko ya upinzani kadri joto linavyobadilika. Vihisi vya joto mara nyingi ni vihisi vya kidijitali ambavyo ndani yake hubadilisha upinzani uliopimwa kuwa joto katika nyuzi za Celsius (au Kelvin, au Fahrenheit).
Ongeza vihisi kwenye CounterFit
Ili kutumia kihisi cha unyevunyevu na joto cha kijumla, unahitaji kuongeza vihisi viwili kwenye programu ya CounterFit.
Kazi - ongeza vihisi kwenye CounterFit
Ongeza vihisi vya unyevunyevu na joto kwenye programu ya CounterFit.
-
Tengeneza programu mpya ya Python kwenye kompyuta yako katika folda inayoitwa
temperature-sensor
yenye faili moja inayoitwaapp.py
na mazingira ya kawaida ya Python, kisha ongeza pakiti za CounterFit pip.⚠️ Unaweza kurejelea maelekezo ya kutengeneza na kusanidi mradi wa Python wa CounterFit katika somo la 1 ikiwa unahitaji.
-
Sakinisha pakiti ya ziada ya Pip ili kusakinisha shim ya CounterFit kwa kihisi cha DHT11. Hakikisha unafanya hivi kutoka kwa terminal yenye mazingira ya kawaida yakiwa yamewezeshwa.
pip install counterfit-shims-seeed-python-dht
-
Hakikisha programu ya wavuti ya CounterFit inaendelea kufanya kazi.
-
Tengeneza kihisi cha unyevunyevu:
-
Katika kisanduku cha Create sensor kwenye paneli ya Sensors, shusha kisanduku cha Sensor type na uchague Humidity.
-
Acha Units zikiwa zimewekwa kwa Percentage.
-
Hakikisha Pin imewekwa kwa 5.
-
Chagua kitufe cha Add ili kutengeneza kihisi cha unyevunyevu kwenye Pin 5.
Kihisi cha unyevunyevu kitatengenezwa na kuonekana kwenye orodha ya vihisi.
-
-
Tengeneza kihisi cha joto:
-
Katika kisanduku cha Create sensor kwenye paneli ya Sensors, shusha kisanduku cha Sensor type na uchague Temperature.
-
Acha Units zikiwa zimewekwa kwa Celsius.
-
Hakikisha Pin imewekwa kwa 6.
-
Chagua kitufe cha Add ili kutengeneza kihisi cha joto kwenye Pin 6.
Kihisi cha joto kitatengenezwa na kuonekana kwenye orodha ya vihisi.
-
Programu ya kihisi cha joto
Sasa programu ya kihisi cha joto inaweza kuandikwa kwa kutumia vihisi vya CounterFit.
Kazi - andika programu ya kihisi cha joto
Andika programu ya kihisi cha joto.
-
Hakikisha programu ya
temperature-sensor
imefunguliwa kwenye VS Code. -
Fungua faili ya
app.py
. -
Ongeza msimbo ufuatao juu ya
app.py
ili kuunganisha programu na CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Ongeza msimbo ufuatao kwenye faili ya
app.py
ili kuingiza maktaba zinazohitajika:import time from counterfit_shims_seeed_python_dht import DHT
Kauli ya
from seeed_dht import DHT
inaingiza darasa laDHT
ili kuingiliana na kihisi cha joto cha Grove cha kijumla kwa kutumia shim kutoka moduli yacounterfit_shims_seeed_python_dht
. -
Ongeza msimbo ufuatao baada ya msimbo hapo juu ili kuunda mfano wa darasa linalosimamia kihisi cha unyevunyevu na joto cha kijumla:
sensor = DHT("11", 5)
Hii inatangaza mfano wa darasa la
DHT
linalosimamia kihisi cha Digital Humidity na Temperature cha kijumla. Kigezo cha kwanza kinaambia msimbo kuwa kihisi kinachotumika ni kihisi cha kijumla cha DHT11. Kigezo cha pili kinaambia msimbo kuwa kihisi kimeunganishwa kwenye bandari5
.💁 CounterFit inasimulia kihisi hiki cha unyevunyevu na joto kilichounganishwa kwa kuunganisha na vihisi viwili, kihisi cha unyevunyevu kwenye pini iliyotolewa wakati darasa la
DHT
linatengenezwa, na kihisi cha joto kinachofanya kazi kwenye pini inayofuata. Ikiwa kihisi cha unyevunyevu kiko kwenye pini 5, shim inatarajia kihisi cha joto kuwa kwenye pini 6. -
Ongeza kitanzi kisicho na mwisho baada ya msimbo hapo juu ili kuchukua thamani ya kihisi cha joto na kuitoa kwenye koni:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
Simu ya
sensor.read()
inarudisha jozi ya unyevunyevu na joto. Unahitaji tu thamani ya joto, kwa hivyo unyevunyevu unapuuzwa. Thamani ya joto kisha inatolewa kwenye koni. -
Ongeza muda mfupi wa sekunde kumi mwishoni mwa
loop
kwani viwango vya joto havihitaji kuchunguzwa kila wakati. Muda wa kulala unapunguza matumizi ya nguvu ya kifaa.time.sleep(10)
-
Kutoka kwa Terminal ya VS Code yenye mazingira ya kawaida yakiwa yamewezeshwa, endesha msimbo ufuatao ili kuendesha programu yako ya Python:
python app.py
-
Kutoka kwa programu ya CounterFit, badilisha thamani ya kihisi cha joto ambayo itasomwa na programu. Unaweza kufanya hivi kwa njia mbili:
-
Weka namba kwenye kisanduku cha Value cha kihisi cha joto, kisha chagua kitufe cha Set. Namba unayoingiza itakuwa thamani inayorudishwa na kihisi.
-
Angalia kisanduku cha Random, na weka thamani ya Min na Max, kisha chagua kitufe cha Set. Kila wakati kihisi kinaposoma thamani, kitatoa namba ya nasibu kati ya Min na Max.
Unapaswa kuona thamani unazoweka zikitokea kwenye koni. Badilisha Value au mipangilio ya Random ili kuona thamani ikibadilika.
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 Unaweza kupata msimbo huu katika folda ya code-temperature/virtual-device.
😀 Programu yako ya kihisi cha joto imefanikiwa!
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, inashauriwa kutumia tafsiri ya kitaalamu ya binadamu. Hatutawajibika kwa maelewano mabaya au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.