基于Infineon开发板的MQTT无线卷帘门控制设计实现

电子说

1.2w人已加入

描述

背景:

现在的车库门(卷帘门)一般就是手动,电动,遥控,感应这几类。

这里面电动和遥控是最常见的,其控制方案主要有2类:

1、433射频遥控。
2、固定开关。

其标准操作为:开车到了车库门口,按一下遥控,等待片刻,开进去。要在这个基础上体验更进一步。一般是要解决两个痛点。

一个就是车库门可以适当的提前打开,这样到家直接开进去,就免了按键和等待。

另一个就是这种遥控的车库门没办法显示当前状态,强迫症容易怀疑门关好了没?

于是,便有了本文的方案由来,利用PSoC™ 62 的CAPSENSE模块,可以实现卷帘门的位置控制,同时借助RW007无线wifi模块实现卷帘门的物联网接入,
配合MQTT通讯可以在远程手机端(Android或IOS系统)控制卷帘门,只要手机(或PAD)上安装应用程序就可以实现手机遥控卷帘门,即使处理异地甚至异国,

只要卷帘门有正常通电,也可用实现远程控制、查看。

1 硬件组成

实验模拟搭建一套卷帘门实验环境,主要有57步进电机、步进电机驱动器、控制器Psoc62等组成
1 Psoc6-evaluationkit-062S2 开发板
2 RW007 无线模块
3 卷帘门步进电机驱动器
4 直流电源

直流电源

2 软件架构

基于RT-Thread的软件开发,使用的系统框架及组件有:DFS、FATFS、SAL、LWIP、ULOG、FLASHDB、CJSON、KAWAII-MQTT、RW007
其中使用的驱动框架及驱动程序有:serial、pin、spi(sdio)、rtc、pwm、capsense
其组成如下图所示:

直流电源

3 功能实现

其业务流程逻辑为:上电开始,初始化系统组件、读取配置参数,连接wifi网络,初始化卷帘门电机(回至原点,并从kv数据库中读取记忆位置,执行至上次目的位置),注册MQTT客户端,订阅卷帘门控制topic,等待新的指令。

直流电源

4、交互软件

本项目是基于MQTT的远程控制方案,所以需要搭建一套本地MQTT服务器用于测试,这里使用的是emqx-5.1.0-windows-amd64。

直流电源

客户端使用的是MQTTX-Setup-1.9.3-x64,订阅RTT-SUB话题,发布了RTT-PUB话题,实现了信息(命令)的交互,命令内容为json格式的字符串。

直流电源

6、实验总结

Psoc6 CY8C624ALQI-S2D42这颗MCU的性能很强悍,配合定时器实现步进电机的T型加减速控制计算非常快捷,芯片的FLASH及RAM资源也很充裕,使用起来得心应手。

基于RT-Thread的软件开发是让人非常愉悦的过程,各种flash组件,网络组件、文件系统仅仅需要几步简单的配置即可强壮的运行,开发人员仅仅需要关注上层应用的开发即可。

也归功于RTThread的丰富的功能,使得之前完全没有使用infineon的开发经验的工程人员也可以快速完成产品验证。

while(1)
{
rt_kprintf("thanks to rt-thread & infineon!")
}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分