IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 嵌入式开发<网络调试工具> -> 正文阅读

[嵌入式]嵌入式开发<网络调试工具>


前言

?? 为何设计此调试工具软件,完全因为在工作中遇到的问题。如产品开发过程中涉及到众多的命令调试(可能需要使用人员记住各种命令),参数及状态数据查看、修改,串口或网口通信调试,软件在线升级等等。同样,在测试及生产过程中也会涉及到诸多的操作需求,甚至对于测试中的问题跟踪提供便利操作,包括跟踪信息、操作日志跟踪等等。所有这些可能的需求,都将其集中在一个工具软件中执行,其所具有的功能完全已经超出了普通的串口助手或网络调试助手。
?? 这里本人对日常产品开发中对设备参数做一个说明。

1,设备参数分类

?? 在实际产品软件开发时,往往对设备来说有较多参数需要设置。对其归纳一下,大致可以分为4类:设备基本信息、设备工作参数、设备通信参数、设备状态,当然可能还会有一些其它参数,比如我在工作中就还会有拟合数据参数,但这不太具有一般性,以下仅说明前述的4类参数。
?? 1) 设备基本信息:主要描述设备名称、设备ID、设备型号、软硬件版本号、生产日期、生产厂商等信息。基本信息主要用于标识一个具体设备,其信息大部分往往是固定;这个参数可读写;
?? 2) 设备工作参数:主要描述设备工作中使用的可变参数,如某个阈值,某个时间值等。这部分参数即可以包括工厂模式修改,也可以包括客户模式修改,只需要软件进行区分即可;这个参数可读写;
?? 3) 设备通信参数:这个参数仅对具备通信功能的设备,可能包括通信参数的修改,也可以包括通信协议的选择(设备支持多种通信协议);这个参数可读写;
?? 4) 设备状态:主要是对设备运行的各种数据的及时读取及显示,可能包括电池电压、设备温度、通信模块信号等;这个参数仅可读;

2,设备参数修改

??以上4类参数,实际在软件进行设计时需要考虑如何对其进行读取或配置。不仅在开发调试可能使用,同时在生产、测试时同样需要使用,甚至在产品出货后在用户现场还可能进行配置修改。这就涉及到如何对参数进行修改,也属于软件设计需要考虑的内容。以下对各种修改方式作一个说明。
?? 1) 串口调试工具修改:这是最简单也最原始的方法,也就是软件设计一组命令,并通过调试串口接收命令及数据完成设备参数的读取或修改;这种修改方式有一定的缺陷,即作为产品来说,必须在外壳提供一个串口的接口,否则就需要开盖处理;
?? 2) 网口调试工具修改:这种方式对比串口调试工具稍微方便一些,可以设计为同样的修改方法,并且网口应该属于产品本身具有的一个接口,这样就不需要单独再为此开一个接口;
?? 3) 网页方式修改:这种方式与第二种方式有些相似之处,并且不需要工具软件,属于比较流行的方式。但对设备MCU的资源要求较高,对于一般的单片机,尤其是资源有限的MCU,其必然不太合适;
?? 4) 通信协议方式修改:也就是定义一个通信协议,由上位机或其它设备对它进行读取或修改。这种方式比较适合于有上位机通信的情况,并且其通用性不是太好;

3,调试工具软件

?? 本人根据工作需要自行开发了两款相似功能的软件工具,即串口调试工具和网络调试工具软件,这两款工具软件即具有一般的通用性(如普通的串口助手和网络助手),也有一定针对性(如考虑到调试或生产的使用)。本文主要针对网络调试工具做一个说明,至于串口调试工具,已经在另一份文档中说明。并且,网络调试工具中与串口调试工具有相当部分功能部分一致,这里除非有必要,否则不再重复。串口调试工具的使用说明,请参考:嵌入式开发<串口调试工具>
?? 此工具软件最大的特点是设计了功能按钮(与串口调试工具软件共享),设备可以输出指定格式的按钮文本,并进行保存,或者用户可以导入指定格式的按钮文本。在此后的调试中,用户无需记住所需的调试命令便可进行操作,同时若设备导入了按钮说明信息,则操作用户还可以查阅使用说明。
?? 同时,工具软件还提供了一套自定义的设备软件升级功能,并提供了协议说明;
?? 此外,工具软件也提供了诸多方便使用的小功能,可以更多的帮助开发人员使用;
网络调试工具软件下载

一、软件界面

!主界面](https://img-blog.csdnimg.cn/20210618144605504.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhaWp1bjA0,size_16,color_FFFFFF,t_70)

说明: 发送区的功能按钮取消勾选,则显示如下的升级区
升级区

二、功能说明

1.网络设置

这个区域较为复杂,主要是不同的协议类型对应的设置有所差别,以下将分开进行说明

1)TCP Client设置

A, 协议类型:

在协议类型下拉菜单中选择TCP Client,则对应的设置项如下;
??????????在这里插入图片描述

B, 远程主机地址:

??看点击远程主机地址下拉列表选择保存过的主机地址,或直接在列表框中输入希望连接的IP地址(输入完成后按回车键则可保存);

C, 远程主机端口:

??其操作方法与远程主机地址相同;

D, 连接:

设置好以上两项后,即可点击连接按钮,连接过程、连接成功、连接失败显示如下:
??????在这里插入图片描述在这里插入图片描述
??????连接中 ?????? ??????连接成功
??????在这里插入图片描述
??????连接失败(如勾选了“重连”选项框,则不会显示连接失败)

连接中: 连接按钮背景色将由黄色和灰色交替显示,同时会动态显示1至3个点;
连接成功: 连接按钮将变为绿色,同时发送区与接收区将变得有效;
连接失败: 如勾选“重连”选项框,则不会显示连接失败提示框;
连接执行过程中再次点击“连接”(或显示的是“断开”)按钮,则恢复显示;

E, 复选项:

心跳: 勾选后,工具软件将根据“心跳设置”执行心跳检测(默认心跳数据由本地发送),当设备在规定时间规定次数没有响应心跳(或发送心跳)时,将断开连接,并重新连接;
断开提示: 勾选后,工具软件将在被断开连接后已提示框方式提示用户;
重连: 在连接中已经说明,勾选后起作用;
自动换行: 勾选后,接收完一帧数据时自动添加回车换行符,使其自动换行;

F, 心跳设置:

??其设置界面如下
??在这里插入图片描述
心跳周期: 设置连续检测心跳次数达到后,认定为连接断开;
心跳时间: 设置2次检测心跳的时间间隔;
心跳数据: 设置心跳报文识别符(可以是16进制数据);
十六进制格式: 勾选后,心跳数据为16进制数据;
本地发送/远程发送: 选择有工具软件(本地)或远程设备发送心跳数据,如本地发送,则远程设备在接收到此数据后,需将原文发回;如远程发送,则工具软件检测到设置的心跳报文数据后,同样将原文发回远程端;
默认值: 恢复默认参数;

G, 搜索主机:

其设置界面如下
????????在这里插入图片描述
搜索延时: 设置的时间为执行搜索时的响应等待时间(其值影响搜索的速度及准确性);
主机起始IP地址/结束IP地址:设置搜索主机IP地址范围,如192.168.30.1—192.168.50.255;
主机端口: 定连接端口;

a, 开始:

在设置完参数后,点击执行搜索,其界面如下
????????在这里插入图片描述

b, 搜索过程:

在当前搜索IP地址下的列表文本框中将显示当前正在搜索的IP地址,在此过程中可随时点击停止按钮;

c, 搜索到主机:

搜索到目标主机时,将暂停并显示搜索到的IP地址,界面如下
????????在这里插入图片描述
此时,可点击“继续”搜索其它主机,或点击“添加到网络设置”,则会将IP及端口添加的客户端的设置列表中;如搜索到多个IP地址,则在下列列表框中可选择需要的IP地址;

2) TCP Server设置

??串口接收按照设置的分帧时间,在结束时自动添加回车换行符号;

A, 协议类型:

在协议类型下拉菜单中选择TCP Server,则对应的设置项如下
????????在这里插入图片描述

B, 本地主机地址:

从下拉列表中选择本地IP地址,可能会有多个IP地址(尤其安装了虚拟机时)

C, 本地主机端口:

其操作方法与TCP Client远程主机端口相同

D, 打开:

执行本机作为服务器的启动命令,并开始侦听客户端的连接,以下为客户端连接与断开时界面图
有客户端连接
在这里插入图片描述
查看所有连接IP
????????????在这里插入图片描述
客户端断开
在这里插入图片描述
其它设置请参考TCP Client设置。注:设置为TCP Server时,无搜索操作

3) UDP设置

A, 协议类型:

在协议类型下拉菜单中选择UDP,则对应的设置项如下
????????????在这里插入图片描述

B, 本地主机地址:

参考TCP Server设置;

C, 本地主机端口:

参考TCP Client设置;

D, 分包发送:

在执行数据发送时,根据设置的大小分别进行拆包发送,如选择无限制则不会拆包,但当包数据过大时,可能UDP接收方无法正常接收完成(可能受接收方自身限制)
??????????在这里插入图片描述

2.接收操作

这部分功能与串口调试工具相同,请参考其文档说明;

3.发送操作

这部分功能与串口调试工具相同,请参考其文档说明;

4.发送区

这部分功能与串口调试工具相同,请参考其文档说明;

5.接收区

这部分功能与串口调试工具相同,请参考其文档说明;

6.按钮区

这部分功能与串口调试工具相同,请参考其文档说明;

7.升级区

这部分功能与串口调试工具基本相同,请参考其文档说明;但有一个参数需要作一定说明,如下图
在这里插入图片描述
响应时间: 这个设置与网络连接有关系,特别是针对无线通信,如2G模块,因其通信速度较低,且有时存在较大延时,故此值在这种情况下应该设置为较大的值才可靠,如设置为30秒或60秒;但对于以太网连接可使用默认值,即1秒即可。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-13 12:17:17  更:2021-08-13 12:23:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 9:21:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码