模仿小米新風(fēng)機(jī)
?這次我們會(huì)在根據(jù)小米新風(fēng)機(jī)的部分控制邏輯進(jìn)行模仿甥捺,當(dāng)然啦抢蚀,因?yàn)檫@些肯定是小米的機(jī)密,我是拿不到人家的性能參數(shù)的镰禾,只能根據(jù)其用戶說明書上能看到的信息來猜想皿曲。
性能猜想
?我可以通過小米智能家居APP控制新風(fēng)機(jī)1至7檔風(fēng)速唱逢,那么不考慮其產(chǎn)品的隱藏風(fēng)擋,我認(rèn)為其有1至7檔風(fēng)屋休。然后參考功能書介紹坞古,其中有一個(gè)關(guān)于CO2,即二氧化碳濃度的參數(shù)劫樟,上面說痪枫,550以下為優(yōu)、500至800為良叠艳、800至1000為差奶陈、1000以上為嚴(yán)重污染。
?同時(shí)摸索時(shí)附较,我發(fā)現(xiàn)風(fēng)擋變化的不是即時(shí)的吃粒,同時(shí)也不是完全按顯示的控制質(zhì)量的,比如說從良變成優(yōu)的時(shí)候拒课,大約100的延遲徐勃,雖然搞不懂他的原理,但是我也照他們的樣子做了一下早像,大概研究出了變化的曲線疏旨。
控制邏輯模仿
?下面為相關(guān)控制的模仿
def Mod_611_CO2_up(coo_in):
if coo_in >= 1000:
fan_out = 6
elif coo_in >= 800:
fan_out = 4
elif coo_in >=550:
fan_out = 3
else:
fan_out = 2
return(fan_out)
def Mod_611_CO2_down(coo_in):
if coo_in < 450:
fan_out = 2
elif coo_in < 700:
fan_out = 3
elif coo_in < 900:
fan_out = 4
else:
fan_out = 6
return(fan_out)
# Initialize
coo = 0
coo_bak = 0
circle = 1
while circle == 1:
print('輸入當(dāng)前CO2濃度')
coo = int(input())
if coo >= coo_bak:
fan = Mod_611_CO2_up(coo)
else:
fan = Mod_611_CO2_down(coo)
print(fan)
coo_bak = coo
實(shí)現(xiàn)過程
?發(fā)現(xiàn)有些冗長(zhǎng),可以再優(yōu)化一下扎酷,不需要這么多。還有延時(shí)我沒試出來遏匆,大概有3到5分鐘變化一下的樣子法挨,懶得試了,我也就是好奇一下幅聘,又不是想自己弄一個(gè)出來凡纳。
?大概了解他的原理了,就是空氣差就開高點(diǎn)風(fēng)機(jī)帝蒿,多吹點(diǎn)經(jīng)過濾網(wǎng)換進(jìn)來的新空氣荐糜,空氣好點(diǎn),風(fēng)機(jī)可以慢點(diǎn)葛超,就不需要換氣換這么快暴氏。
?新風(fēng)機(jī)的概念,灰塵大的地方绣张,平時(shí)關(guān)死門窗答渔,只用新風(fēng)機(jī)來換新鮮空氣進(jìn)來,這樣就可以減少家里的灰塵侥涵。
?然后突然發(fā)現(xiàn)沼撕,多余的空氣呢宋雏?怎么排出去的,明天再研究研究务豺。