本帖最后由 allenliu 于 2017-4-10 01:54 编辑
测试环境
节点
远程节点A采用移动电源供电(CR2032电池还在路上, 开发板不带电池, 如果有就方便了, 这个有点冏), 节点刷router_eligible_device程序
本地节点B通过USB连接PC,节点刷修改后的router_eligible_device程序, 程序修改如下:
shell_ip.c 插入#include "phy.c",并且在2633行插入shell_printf("%d\n\r", PhyGetLastRxRssiValue());
/* coap rsp from : */
shell_printf("coap rsp from ");
shell_printf("%d\n\r", PhyGetLastRxRssiValue());
这样可以在串口同时输出RSSI值。
测试程序使用自己编写的串口程序不断访问节点A获取温度数据, 数据访问间隔为500ms,记录下出错的数目。
测试1:
节点之间距离5米, 中间隔着30CM承重墙的RSSI大概200左右(255最大),未发现丢包。
测试2:
节点之间距离距离12米左右, 设备放厨房最内测, 关上厨房门(手机WIFI信号1格多点), 测试显示RSSI大概170左右, 丢包率在10%左右。
总结:
在2个节点的Thread网络下通信还是令人满意的, 在实际使用情况下路由和设备之间的距离一般不会那么远, 能过满足大部分情况需求, 不过开发板采样的是PCB天线中性能比较好倒F天线, 而实际设备由于体积方面的原因, 天线面积不会那么大, 实际开发的产品很可能达不到这种效果。
测试C#程序:
SerialTest.zip
(2.73 KB, 下载次数: 23)