在上一篇分享 轻松编译基站和终端的二次开发包并下载到设备 中,我们已经使用官方的二次开发源码,编译并下载到了基站(AP)开发板和2块终端(IOTE)开发板上,现在,我们就可以开始进行通讯测试了。
一、下载专用串口工具
二次开发源码默认编译出来的,是AT镜像,所以需要通过串口工具来进行操作。
好在官方提供了专用的基站和终端串口工具,直接内置了许多AT操作指令,非常方便我们的操作。
要下载专用的基站和终端串口工具,请访问:WIOTA 串口工具 - UCchip Docs (ucthings.com),其中,ap对应基站,iote对应终端。
二、连线
在测试前,需要先进行连线。给开发板下载好镜像之后,就可以不使用专用烧写器了,用microusb数据线,连接各开发板,就能使用对应的串口控制开发板了。
具体连线如下:
3块开发板,需要3个microusb数据线,我用了一个USB HUB,方便连接。数据线和USB HUB的质量,一定要好,避免使用过程中,出现莫名其妙的问题。
连接好以后,在设备管理器中,会新增三个CH340的串口:
CH340的驱动比较通用,可以在 CH341SER 下载安装。如果已经成功识别了,就不用安装了。
三、确认串口和开发板的对应关系
三个串口连上来以后,可能我们一时不清楚,到底哪个串口,对应的是哪块开发板。
那么,下面的办法,就能让你快速确认了。
首先,打开专用的基站串口工具ap,先任意选择一个串口,然后找一块开发板,按一下标注了RST的按钮。如果是基站(AP)开发板,则两个RST一起按一下。
如果当前打开的是刚按了RST的开发板对应的串口,那么在串口中,按完按钮,就会有对应的显示。如果没有显示,那就分别按剩下2块开发板的RST按钮,直到有显示为止。
基站(AP)开发板在按了RST后,串口工具中的显示如下:
其中 D or M中的M,表示Master,也就是基站。
终端(IOTE)开发板在按了RST后,串口工具中的显示如下:
可以看到,模式只有D,表示终端。
通过以上方式,我们就能够确定各串口和开发板对应的关系。
最终,我们打开1个基站ap串口工具,2个终端iote工具,分别连接到对应的串口,以便进行下一步的测试。请务必确保各串口工具,打开的是对应的串口。
四、基站和终端初始化
要进行通讯,首先需要初始化开发板,然后才能进行通讯操作。
在基站ap串口工具,点击 一键启动选项 ,就能初始化基站了。
一路OK,表示启动成功。
在第1个终端iote串口工具中,设置uid为0000001,表示第一个终端,然后点击 一键启动选项 ,就能初始化终端1了:
如法炮制,给第二个终端,设置uid为00000002,然后点击 一键启动选项 ,就能初始化终端2了:
基站(AP)和终端(IOTE)一路OK,都正常启动后,就可以开始下面的测试了。
五、终端给基站发送数据:
在终端1对应的串口工具中,点击发送数据:
然后查看基站对应的串口工具,将会收到对应的信息。
收发信息,需要遵循一定的规则。
发送规则:
- 终端发送数据的格式:
at wiotasend=超时时间,数据长度, 数据内容
- 实际发送的数据:
at wiotasend=10000,14 Hello from 1
其中:
- 超时时间:按照默认的,给10000即可,表示10秒,其单位为毫秒。
- 数据长度:包含
及以后内容的字节长度
接收规则:
-
基站收到的数据格式: WIOTARECV,0,0x终端uid,数据长度,数据内容
-
实际收到的数据: WIOTARECV,0,0x1,14,Hello from 1
其中:
- 数据长度:包含了
在内的,所以会比实际得到的数据内容的长度多2个
使用类似的方法,我们再用终端2,给基站发送数据:
可以看到,基站收到了数据,并且对应的终端uid为2
到这里,已经可以在2个终端上,给基站发送数据了。
六、基站给终端发送数据
在基站(AP)对应的串口工具中,也有发送数据按钮,发送之前,我们也需要按照规则,编辑一下其内容,再发送:
-
发送数据的格式:at wiotasend=数据长度,终端uid,1,超时时间 数据内容
-
实际发送的数据:at wiotasend=13,2,1,10000 Hello to 02
其中:
- 终端uid:为之前启动终端设备时,给终端设置的uid,没有前导0x
- 超时时间:和终端给基站发送数据的超时时间用途一样
- 数据长度:同样包含了
的长度
安装上面的规则,在基站串口工具中,先给终端1发送数据:
在终端1的串口工具中,就能接收到对应的数据。
然后,在基站串口工具中,给终端2发送数据:
不管是在终端给基站发送数据中,还是在基站给终端发送数据中,一定要注意好数据长度(包含了
,为2个字节长度)。基站给终端发送数据时,还需要注意用户编号。
七、基站广播数据
在上一步的测试操作中,是基站给指定的中的发送数据。
基站同样可以通过广播的方式,一次给所有的终端发送数据。
同样的,广播数据也有规定的格式:
- 广播数据的格式:
at wiotabc=数据长度,0,超时时间 数据内容
- 实际发送的数据:
at wiotabc=12,0,10000 AP is here
按照上述规则,我们来发送一次广播:
广播发送后,所有终端的串口工具中,都收到了对应的广播。
八、基站查看连接的终端信息
在基站的串口工具中,还提供了查看连接的终端信息的按钮,点击后,具体返回如下:
从中我们可以看到,当前有两个终端连接上来,分别为0x1和0x2。
九、总结
到这里,我们已经进行了基站和终端互通互联互发数据的测试了。
在以上的操作中,各串口工具,都会把当前执行的指令,完整的显示出来,AT开头的信息,就表示执行的指令。
如果我们要进行二次开发,要在程序中发送AT指令,就可以参考上面的输出。
关于上述操作中,指令的具体含义,可以查看官方文档:
在了解了AT指令的基础上,后续我们就可以投入实际的二次开发,应用AT指令,来收发数据,并进行解析操作处理了。