如何让自己的既有设备联网?我想这是多数产品设计者们正在考虑的问题。笔者作为一名研发工程师,分享本篇文章给大家,介绍我们通过添加WGM110 WiFi模块的方式将公司原有设计产品成功接入物联网的实现案例。
设计一个可实现既有产品功能的带有以太网连接的主控芯片,无论从集成度,还是硬件成本上来说,都是非常优的选择。但是,公司原有产品已经投入市场多年,无论硬件还是软件都经过了多年的实验与客户实地的验证,如果修改硬件设计,那么稳定性方面的潜在风险将突显出来。另外,自行设计射频类模块的研发技术风险、认证费用与整体设计成本也较难估算,综合考虑之后,我们选择了Silicon Labs的低功耗即插即用型WiFi模块WGM110。
Silicon Labs公司为WGM110模块的设计提供了全套的layout设计指导与物料清单,其高度集成的模块设计使得母板设计非常轻松,有效地降低了开发难度,节省了开发时间。我们的硬件工程师也只花一天的时间就设计完成了测试原型机。
在原有设计的基础上添加一个功能实现模块,从技术风险的角度上,我们还是能接受的。WGM110模块在硬件连接方面,提供了多种通讯接口,如I2C接口、USB接口和Uart接口。在此次设计中,我们使用了Uart接口作为主控芯片与WiFi模块数据交流的桥梁(这里小小的提示一下,双方的Uart接口的TXD与RXD要交叉连接),硬件连接图如下图1所示:
图1:硬件连接图
该优化方案,软硬件设计均简单。WGM110模块的默认串口波特率为115200,主控仅需要常规配置就可完成双方通讯链路的建立。WGM110模块内嵌BG Script脚本语言,提供了GUI与命令行两种非常贴心的配置方式。Silicon Labs官网提供了BGTool软件,可以在GUI环境下配置模块参数,即使对技术不是很熟悉的工程师也能轻松胜任参数配置,这里不再赘述。而我们采用的单片机与模块通讯,不需要界面,所以采用BGAPI的方式来配置参数更加实用。
BGAPI协议与AT指令类似,采用“发送-应答”的数据交换方式,数据流如下图所示:
图2:“发送-应答”的数据交换方式数据流
剩下的事情就是阅读官方提供的api指令集,发送对应的指令,然后再解析应答指令了。下面我再举一个BGAPI配置的例子来说明:
示例:读出当前WiFi模块的MAC地址,用于显示。
发送(16进制):08 01 02 00 00
应答(16进制):08 03 02 00 00 00 00(应答成功)
事件(16进制):88 07 02 00 00 08 D4 0C 3D 29 63
上面示例中红色字体即为当前WiFi的Mac地址,我们解析后,就可以将Mac地址通过液晶屏显示给终端客户了。是不是很简单!
我们的产品仅仅新增一个WGM110 WiFi小模块即成功支持了以太网无线连接,我们的客户也简单、易学地将我们产品接入到自己的网络里;由于并未改动我们产品的主体设计,而且WGM110本身拥有CE、FCC认证,我们的产品认证关也是轻松通过。近2个月的带载测试WGM110模块稳定地通过WiFi方式接入物联网服务,让我们更多的将精力专注于自己产品本身。
再接再厉Silicon Labs WiFi模块!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)