原来计划做的东西还没有机会实施,基友让我给做一个控制器远程控制位于老家的服务器,因为尽管有UPS也设置了BIOS来电自动开机,还是会出现一些意外的关机情况。
本来想用单片机做个串口的用路由控制(路由在外网也可以访问到),也是因为还没有时间,因此就先用这个搞了,,风扇因为还没有买到插座,也没加12V,所以先用这个mini的看看效果吧。
用的是温湿度RGB的demo,(SDK_MiCOKit_v2.3.0.1)
除了官方demo功能外还实现了执行云端发送的多步骤操作指令,并上报操作结果功能,风扇根据温度值自动控制风扇开关,为了方便测试,设置成了大于28℃即开启,
微信端switch button由板端上报的状态驱动,可直观了解到继电器的执行情况。
把这个玩起来也是走了很多弯路啊 ,也来总结总结吧
1.MDK版本,我不知道官方有没有准确的说明,我是从5.11-->5.13-->5.16装了一遍,其中5.16的link出错,
所以又重装了n遍+虚拟机里装了一遍+跑公司又装了一遍还是没成功,最后用了5.15的才过了。
2.官方PDF电路似乎有点问题,
实际上这个传感器最下排的GPIO接口只有D6是有物理连接的,(我感觉到了深深的恶意 ),可把我给坑了,反复检查了好几遍自己做的板,
经过万用表检测发现了如上情况。。。
大半夜了,就不叫基友拍视频了,把改动的几个文件传一下,方便有类似功能需求的朋友。
首先是“填坑”的,跟着村长的步伐,下拉电阻解决复位及下载时motor震个不停的问题,其次是加个插针解决GPIO引出不足问题。
接下来是做的测试板了
主要是一个干簧管继电器(带led指示),一个mini风扇。
很久没焊东西了,挺丑的
这个接线母头接到电脑主板电源插针上,公头接到机箱电源开关上,不影响开关功能。
下面是测试工作状况的
28℃风扇未工作
29℃,风扇自动开启了
微信上的界面,主要改动了电源按钮的功能。
这里需要提一下,板端继电器吸合时间定义为800ms,时间比较短,经常还来不及将吸合状态上报就转入分离状态了,
结果就是微信端看不到有吸合动作,我的解决方法是多定义了一个1800ms的时间,即在继电器释放后再延时1000ms再修改状态,
从较大概率上提高状态上报的成功率。
下面是代码的主要改动
网页改动,增加风扇控制和继电器上报数据处理
这是MICO主板固件修改,增加了端口操作的功能
这是增加上报数据的方法。
下面是主要修改的文件:
user_downstream.rar
(1.75 KB)
user_main.rar
(2.44 KB)
user_upstream.rar
(1.71 KB)
yourDeviceId.rar
(3.2 KB)
另外,有一个问题或者说疑问,设备上电后好像不会直接执行云端的配置(已连接到云),而要等到微信连接了打开设备面板才会执行?
对于这个demo,device_switch是已经初始化为true的也一样。
最后,感谢安哥,感谢MICO的小伙伴,感谢庆科。
好累,准备休息了,有空想起来什么再补充上吧。
原作者:lxvtag
感谢!
|