【御芯微WIoTa®自组网协议开发套件试用体验】轻松联调让基站和终端互联互通互发信息

描述

本文来源电子发烧友社区,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2289619_1_1.html

在上一篇分享 轻松编译基站和终端的二次开发包并下载到设备 中,我们已经使用官方的二次开发源码,编译并下载到了基站(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指令,来收发数据,并进行解析操作处理了。

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

全部0条评论

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

×
20
完善资料,
赚取积分