17 KiB
အပူချိန်တိုင်းတာခြင်း - အတု IoT ဟာ့ဒ်ဝဲ
ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့အတု IoT စက်ပစ္စည်းမှာ အပူချိန်အာရုံခံကိရိယာတစ်ခု ထည့်သွင်းပါမည်။
အတု ဟာ့ဒ်ဝဲ
အတု IoT စက်ပစ္စည်းသည် Grove Digital Humidity နှင့် Temperature အာရုံခံကိရိယာကို အတုအဖြစ်အသုံးပြုပါမည်။ ဒါက Raspberry Pi နှင့် Grove DHT11 အာရုံခံကိရိယာကို သုံးသလိုပဲ ဖြစ်စေပါသည်။
ဒီအာရုံခံကိရိယာသည် အပူချိန်အာရုံခံကိရိယာ နှင့် စိုထိုင်းဆအာရုံခံကိရိယာ ကိုပေါင်းစပ်ထားပြီး၊ ဒီသင်ခန်းစာမှာတော့ အပူချိန်အာရုံခံကိရိယာကိုသာ အဓိကထားပါမည်။ ရုပ်ပိုင်းဆိုင်ရာ IoT စက်ပစ္စည်းတွင် အပူချိန်အာရုံခံကိရိယာသည် thermistor တစ်ခုဖြစ်ပြီး၊ အပူချိန်ပြောင်းလဲမှုကြောင့် တိုက်ရိုက်ခံစားရသော အားပြောင်းလဲမှုကိုတိုင်းတာသည်။ အပူချိန်အာရုံခံကိရိယာများသည် များသောအားဖြင့် ဒစ်ဂျစ်တယ်အာရုံခံကိရိယာများဖြစ်ပြီး၊ အတွင်းပိုင်းတွင် တိုင်းတာထားသော အားကို အပူချိန် (Celsius, Kelvin, Fahrenheit) အဖြစ် ပြောင်းလဲပေးပါသည်။
CounterFit တွင် အာရုံခံကိရိယာများ ထည့်သွင်းခြင်း
စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာများကို အသုံးပြုရန်အတွက်၊ CounterFit အက်ပ်တွင် အာရုံခံကိရိယာနှစ်ခုကို ထည့်သွင်းရမည်ဖြစ်သည်။
လုပ်ငန်းစဉ် - CounterFit တွင် အာရုံခံကိရိယာများ ထည့်သွင်းခြင်း
CounterFit အက်ပ်တွင် စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာများကို ထည့်သွင်းပါ။
-
သင့်ကွန်ပျူတာတွင်
temperature-sensor
ဟုခေါ်သော ဖိုလ်ဒါတစ်ခုတွင်app.py
ဟုခေါ်သော ဖိုင်တစ်ခုနှင့် Python အမှန်တကယ်ပတ်ဝန်းကျင် (virtual environment) တစ်ခုဖြင့် Python အက်ပ်အသစ်တစ်ခု ဖန်တီးပါ။ ထို့နောက် CounterFit pip packages များကို ထည့်သွင်းပါ။ -
DHT11 အာရုံခံကိရိယာအတွက် CounterFit shim တစ်ခု ထည့်သွင်းရန် အပို Pip package တစ်ခု ထည့်သွင်းပါ။ သင့် virtual environment ကို အက်တိတ်ထားသော terminal မှ ထည့်သွင်းရမည်ဖြစ်သည်။
pip install counterfit-shims-seeed-python-dht
-
CounterFit web app ကို အလုပ်လုပ်နေကြောင်း သေချာပါစေ။
-
စိုထိုင်းဆအာရုံခံကိရိယာတစ်ခု ဖန်တီးပါ:
-
Sensors ပန်းကန်ရှိ Create sensor ပုံးတွင် Sensor type ကို Humidity အဖြစ်ရွေးချယ်ပါ။
-
Units ကို Percentage အဖြစ်ထားပါ။
-
Pin ကို 5 အဖြစ်ထားပါ။
-
Add ခလုတ်ကိုနှိပ်ပြီး Pin 5 တွင် စိုထိုင်းဆအာရုံခံကိရိယာကို ဖန်တီးပါ။
စိုထိုင်းဆအာရုံခံကိရိယာကို ဖန်တီးပြီး အာရုံခံကိရိယာများစာရင်းတွင် ပေါ်လာမည်။
-
-
အပူချိန်အာရုံခံကိရိယာတစ်ခု ဖန်တီးပါ:
-
Sensors ပန်းကန်ရှိ Create sensor ပုံးတွင် Sensor type ကို Temperature အဖြစ်ရွေးချယ်ပါ။
-
Units ကို Celsius အဖြစ်ထားပါ။
-
Pin ကို 6 အဖြစ်ထားပါ။
-
Add ခလုတ်ကိုနှိပ်ပြီး Pin 6 တွင် အပူချိန်အာရုံခံကိရိယာကို ဖန်တီးပါ။
အပူချိန်အာရုံခံကိရိယာကို ဖန်တီးပြီး အာရုံခံကိရိယာများစာရင်းတွင် ပေါ်လာမည်။
-
အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ပရိုဂရမ်ရေးခြင်း
အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ယခု CounterFit အာရုံခံကိရိယာများကို အသုံးပြု၍ ပရိုဂရမ်ရေးနိုင်ပါပြီ။
လုပ်ငန်းစဉ် - အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ပရိုဂရမ်ရေးခြင်း
အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ပရိုဂရမ်ရေးပါ။
-
temperature-sensor
အက်ပ်ကို VS Code တွင် ဖွင့်ထားကြောင်း သေချာပါစေ။ -
app.py
ဖိုင်ကို ဖွင့်ပါ။ -
CounterFit နှင့် အက်ပ်ကို ချိတ်ဆက်ရန်
app.py
ရဲ့ အပေါ်ဆုံးတွင် အောက်ပါကုဒ်ကို ထည့်ပါ:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
လိုအပ်သော လိုက်ဘရရီများကို သွင်းယူရန် အောက်ပါကုဒ်ကို
app.py
ဖိုင်တွင် ထည့်ပါ:import time from counterfit_shims_seeed_python_dht import DHT
from seeed_dht import DHT
ဟူသော ကြေညာချက်သည်counterfit_shims_seeed_python_dht
မော်ဂျူးမှDHT
အာရုံခံကလပ်ကို သွင်းယူပြီး၊ အတု Grove အပူချိန်အာရုံခံကိရိယာနှင့် အပြန်အလှန်ဆက်သွယ်ရန် အသုံးပြုသည်။ -
အောက်ပါကုဒ်ကို အထက်ပါကုဒ်အောက်တွင် ထည့်ပါ၊ ဒါက အတု စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာကို စီမံခန့်ခွဲသော ကလပ်၏ အတန်းတစ်ခုကို ဖန်တီးသည်:
sensor = DHT("11", 5)
ဒီကုဒ်က Digital Humidity နှင့် Temperature အာရုံခံကိရိယာကို စီမံခန့်ခွဲသော
DHT
ကလပ်၏ အတန်းတစ်ခုကို ကြေညာသည်။ ပထမအချက်က သုံးနေသော အာရုံခံကိရိယာသည် အတု DHT11 အာရုံခံကိရိယာဖြစ်ကြောင်း ပြောသည်။ ဒုတိယအချက်က အာရုံခံကိရိယာသည် port5
တွင် ချိတ်ဆက်ထားကြောင်း ပြောသည်။💁 CounterFit သည် စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာကို 2 ခု ချိတ်ဆက်ခြင်းဖြင့် အတုအဖြစ် ပြုလုပ်သည်။ စိုထိုင်းဆအာရုံခံကိရိယာသည်
DHT
ကလပ် ဖန်တီးစဉ် ပေးထားသော pin တွင် ချိတ်ဆက်ပြီး၊ အပူချိန်အာရုံခံကိရိယာသည် နောက်တစ်ခု pin တွင် အလုပ်လုပ်သည်။ စိုထိုင်းဆအာရုံခံကိရိယာသည် pin 5 တွင်ရှိပါက၊ shim သည် အပူချိန်အာရုံခံကိရိယာကို pin 6 တွင် ရှိသည်ဟု ခန့်မှန်းသည်။ -
အောက်ပါကုဒ်ကို ထည့်ပြီး၊ အပူချိန်အာရုံခံကိရိယာ၏ တန်ဖိုးကို စစ်ဆေးပြီး console တွင် ပုံနှိပ်ရန် အဆုံးမဲ့ loop တစ်ခု ဖန်တီးပါ:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
sensor.read()
ကို ခေါ်ဆိုခြင်းဖြင့် စိုထိုင်းဆနှင့် အပူချိန် တန်ဖိုးများပါဝင်သော tuple တစ်ခုကို ပြန်ပေးသည်။ သင့်အား အပူချိန်တန်ဖိုးသာ လိုအပ်သောကြောင့် စိုထိုင်းဆကို မသုံးပါ။ အပူချိန်တန်ဖိုးကို console တွင် ပုံနှိပ်ပါမည်။ -
loop အဆုံးတွင် တစ်ဆယ်စက္ကန့်အနည်းငယ် sleep ထည့်ပါ၊ အပူချိန်အဆင့်များကို အဆက်မပြတ် စစ်ဆေးရန် မလိုအပ်ပါ။ sleep သည် စက်ပစ္စည်း၏ လျှပ်စစ်စွမ်းအင်သုံးစွဲမှုကို လျှော့ချပေးသည်။
time.sleep(10)
-
VS Code Terminal မှ virtual environment ကို အက်တိတ်ထားပြီး အောက်ပါအတိုင်း Python အက်ပ်ကို အလုပ်လုပ်ရန် run ပါ:
python app.py
-
CounterFit အက်ပ်မှ အက်ပ်က ဖတ်မည့် အပူချိန်အာရုံခံတန်ဖိုးကို ပြောင်းလဲပါ။ ဒါကို အောက်ပါနည်းလမ်းနှစ်ခုထဲမှ တစ်ခုဖြင့် ပြုလုပ်နိုင်သည်:
-
အပူချိန်အာရုံခံကိရိယာ၏ Value ပုံးတွင် နံပါတ်တစ်ခု ထည့်ပြီး Set ခလုတ်ကိုနှိပ်ပါ။ သင်ထည့်သွင်းသော နံပါတ်သည် အာရုံခံကိရိယာမှ ပြန်ပေးမည့် တန်ဖိုးဖြစ်သည်။
-
Random checkbox ကို စစ်ဆေးပြီး၊ Min နှင့် Max တန်ဖိုးများ ထည့်သွင်းပါ၊ ထို့နောက် Set ခလုတ်ကိုနှိပ်ပါ။ အာရုံခံကိရိယာသည် တန်ဖိုးတစ်ခု ဖတ်စဉ်တိုင်း Min နှင့် Max တန်ဖိုးအတွင်းရှိ အမှတ်တစ်ခုကို ဖတ်မည်ဖြစ်သည်။
သင်ထည့်သွင်းထားသော တန်ဖိုးများကို console တွင် မြင်ရမည်။ Value သို့မဟုတ် Random ဆက်တင်များကို ပြောင်းလဲပြီး တန်ဖိုးပြောင်းလဲမှုကို ကြည့်ပါ။
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 ဒီကုဒ်ကို code-temperature/virtual-device ဖိုလ်ဒါတွင် ရှာနိုင်ပါသည်။
😀 သင့်ရဲ့ အပူချိန်အာရုံခံကိရိယာ အက်ပ်အောင်မြင်ခဲ့ပါပြီ!
အကြောင်းကြားချက်:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု Co-op Translator ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။