[经验] 基于BLE协议和SMAC协议的Wireless UART实测对比

bjemt   2017-5-2 17:22 楼主
NXP 提供的MKW41Z_ConnSw_1.0.2开发套件中提供了两个Wireless UART示例程序:一个是基于BLE协议,一个是基于SMAC协议。这两种无线通信协议哪个更好一些呢?NXP提供的文档并没有给出相关说明。仅说明BLE的服务仅提供ASCII字符传输,而SMAC则可以传输非ASCII字符。
1.png
2.png

为了对比这两种无线串口的实际通信效果,我使用两块frdm-kw41z模块分别采用BLE示例程序和SMAC示例程序虚拟出一对无线串口。一个frdm-kw41z模块的串口接一台数据集设备(如下图所示),另一个frdm-kw41z模块的串口通过USB转串口模块接电脑。

IMG_20170428_123304.jpg

串口通信速率为57600bps,包长度从1字节到255字节可变长度,同一数据包内的字节采用中断方式连续发送,每个数据包带有CRC效验,当接收端发现收到的数据包有错误时会自动要求发送端重新传输数据包。

实际测试结果是BLE方式比SMAC方式要好很多

SMAC无论距离再近也无法避免丢包和错包的发生,增加发送功率也无法避免,而在通信距离大于5米时丢包和错包会非常严重,基本无法正常使用。

BLE方式在8米时无丢包和错包情况,通信非常稳定,事实证明BLE的示例在frdm-kw41z模块层面是完全支持非ASCII字符的,可以实现串口的无线透明传输。只是配套的手机应用不支持ASCII字符而已。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复