
Python
模仿小米新风机
这次我们会在根据小米新风机的部分控制逻辑进行模仿,当然啦,因为这些肯定是小米的机密,我是拿不到人家的性能参数的,只能根据其用户说明书上能看到的信息来猜想。
性能猜想
我可以通过小米智能家居APP控制新风机1至7档风速,那么不考虑其产品的隐藏风挡,我认为其有1至7档风。然后参考功能书介绍,其中有一个关于CO2,即二氧化碳浓度的参数,上面说,550以下为优、500至800为良、800至1000为差、1000以上为严重污染。
同时摸索时,我发现风挡变化的不是即时的,同时也不是完全按显示的控制质量的,比如说从良变成优的时候,大约100的延迟,虽然搞不懂他的原理,但是我也照他们的样子做了一下,大概研究出了变化的曲线。
控制逻辑模仿
下面为相关控制的模仿
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('输入当前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
实现过程
发现有些冗长,可以再优化一下,不需要这么多。还有延时我没试出来,大概有3到5分钟变化一下的样子,懒得试了,我也就是好奇一下,又不是想自己弄一个出来。

大概有点样子了
大概了解他的原理了,就是空气差就开高点风机,多吹点经过滤网换进来的新空气,空气好点,风机可以慢点,就不需要换气换这么快。
新风机的概念,灰尘大的地方,平时关死门窗,只用新风机来换新鲜空气进来,这样就可以减少家里的灰尘。
然后突然发现,多余的空气呢?怎么排出去的,明天再研究研究。