【RT-Thread作品秀】远程调试终端-电路方案

上传者: 38571453 | 上传时间: 2021-12-01 09:46:13 | 文件大小: 1.37MB | 文件类型: -
【RT-Thread作品秀】远程调试终端作者:钟良涛 概述本设计灵感来源于调试人员出差调试设备遇到困难时,提供指导的工程师可以远程实时查看调试数据,以提供指导。本设计实现了一个远程调试助手,ART-Pi接收到无线串口按一定协议发送的数据后,将数据解析并打包为json格式发送给订阅该话题的MQTT上位机。搭配ART-Pi Mate可实现多种通信接口的调试。 开发环境硬件:ART-Pi ART-Pi Mate(自主设计) RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio 2.0.0 PyCharm20.2 Python3.7 RT-Thread使用情况概述组件:finsh、lwIP、SPI、串口、Pin 软件包:cjson、wlan_wiced、phaomqtt、AT command 内核:信号量、多线程 硬件框架硬件框图如上图所示,硬件部分由ART-Pi和ART-Pi Mate和以CC2530无线透传模块模拟的调试设备组成。其中ART-Pi Mate为专为ART-Pi设计的扩展板,包含LCD、UART、NRF24L01等功能。 以CC2530无线透传模块模拟待调试的设备,将该模块连接到PC机,按照固定的协议格式发送数据包到ART-Pi Mate上焊接的CC2530无线透传,ART-Pi以串口中断的方式进行数据读取并解析,随后将数据打包为Json格式通过Wifi发送至MQTT上位机。 软件框架说明该应用中软件分为嵌入式软件部分和桌面端软件。嵌入式软件实现调试终端的数据接收、解析、打包、发布等功能,桌面端软件实现数据的接收和显示功能。软件流程如上图所示,调试终端数据处理线程对CC2530无线透传模块发送的数据进行解析、打包,然后由MQTT客户端线程进行数据发布。桌面端软件的MQTT客户端线程订阅调试终端发送的话题,然后通过信号槽的方式通知Qt界面线程刷新界面以显示数据。 软件模块说明数据接收模块: 数据接收模块通过串口中断的方式实现,首先以中断的方式打开串口设备,然后每当有数据达到时,触发相应的中断回调函数,在中断回调函数里发送有数据到达的信号量,通知数据处理线程进行数据读取。 数据解包: 数据包的格式定义如下: 以状态机的方式进行数据解包,状态机转移图如下图所示: 数据打包: 该设计将JSON打包为如下格式: 演示效果演示视频: 比赛感悟通过本次比赛熟悉了rt-thread的操作系统以及rt-thread studio的使用方式,被rt-thread优雅的设计所折服。通过这次比赛,使用了rt-thread的线程、信号量、设备模型、组件、软件包等功能,在搭配rt-thread studio进行开发时,是非常的便捷的,直接在设置中打开对应的功能,rt-thread studio就会自动下载好相应的资源并为我们配置好,使原本复杂的配置过程简单化,极大程度的提高了开发效率。 在参赛过程中也遇到了不少问题,其中包括开发板启动不成功,最后通过重新刷写bootloader解决;还有出现了线程堆栈溢出,通过调整堆栈大小解决;还有自己编写的软件模块在重新配置软件包后在工程中消失的问题,最后重新新建源代码文件夹解决;选择MQTT软件包并使能例程后,源代码中没有对应代码,最后发现和软件包版本有关系。总之,开发过程中遇到了一些大大小小的问题,但解决问题的过程就是能力提升的过程,也很感谢主办方提供的这次宝贵的比赛机会。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明