[EDP] onenet智能热水循环泵
[EDP] onenet智能热水循环泵
主要是基于cortex——M3 stm32f103c8t6芯片的物联网 智能热水循环泵【大二学生,不喜勿喷,大神路过求指点】为啥每次都做热水循环系统,因为此次分享,主要是为了升级去年基于51单片机以及2272模块的无线温控时控系统,51系统在工作的3个月内,参与测试的用户反应,温控对于热水泵的运行效果有些鸡肋,热水泵出水口的温度过高,18B20单测点不能科学的反映室内温度,增加测温点显然对于个体用户来说成本过大,布线麻烦(18B20走线越长,信号越弱)。齐次,2272超再生传输距离太短,虽然第二次升级改用超外差模块传输,但是距离也没改善多少,穿墙效果太差。后续有考虑到用CC1000,穿墙王,lora,等进行改善,但成本大,功耗大,而且需要成对模组,单独控制电路。果断放弃了。 此次用8266WIFI模块,将控制器的数据打包发送到云服务器,再由云服务器下发到手机,通过手机进行控制。 用到的材料:5*7的洞洞板
主控仍然是stm32f103c8t6最小系统。
为了做这个项目在淘宝买了8个最小系统板,结果有5个怎么也下载不进去东西,鼓捣了半天 才想到可能有写保护。第一次在淘宝买系统板遇见出厂带写保护的 浪费了半天时间解除保护,焊上数码管,蜂鸣器,继电器,按键。wifie用esp8266模块。
移植麒麟miniv1.2 EDP的onenet源码
添加数码管驱动功能,dth11测温功能,按键功能(发现麒麟1.2版本的按键程序存在问题,并不能满足需求。自己改进了下)
GPIO接口根据自己硬件修改下后,就是主要改这个函数了,不知到源码是怎么实现单击,双击,和长按的。可能我下载到假源码了。这是我修改后的。其实就是把else语句去掉,还有无用的标志位。如果不去掉else内容 程序会在下面的按键功能函数里死掉.
可能看不清,看前面行序号,能大概知道用的switch语句,配合while死循环,来实现按键连按的。if语句加上break用了跳出死循环while(1)
数码管的源码很简单,贴一部分就不贴了,就是把温度,湿度,延时开,延时关。分开做了4个显示函数。用了显示特定状态下的模式字符。用来辨别。【数码管的动态扫描,在定时器中断里完成】
dth11驱动源码由于时间问题就不贴了,网上有很多源码,移植过来用就好了。
程序完成后,就开始做onenet界面