DTU Tool 使用教程

概述

本文档主要介绍如何使用DTU Tool配合移远DTU方案进行开发调试。

DTU工具的功能有两大类:

  • 查询与配置DTU设备参数。
  • 数据收发:通过DTU设备与云端进行数据收发。

参数查询与设置

功能 描述
查询IMEI号 获取设备的IMEI号
查询本机号码 获取DTU设备中SIM卡手机号码
查询信号强度 获取csq信号强度,信号强度值范围0~31,数值越大表示信号越好
设备重启 重启DTU设备
获取当前参数 获取DTU设备当前的配置参数,并跳转到参数配置和展示界面
恢复出厂参数 恢复出厂参数并重启DTU设备
保存所有设置参数 系统配置参数:云平台类型、固件升级、脚本升级、历史数据存储
串口参数配置:串口号、波特率、数据位、校验位、停止位、流控、R485
云参数配置:华为云、阿里云、腾讯云、Mqtt私有云、Socket私有云

查询IMEI号

在左侧串口数据显示框中以字符串格式显示出详细地串口数据,右侧命令消息框显示出查询获得的IMEI号。

查询本机号码

查询信号强度

设备重启

读取当前云平台参数

指令区域按键get current setting,点击后请求DTU设备当前云参数配置,界面自动跳转配置展示窗口。

云参数配置和展示窗口。

保存配置参数

读取当前配置参数后,进入参数配置界面,可以根据实际需求修改配置(也可以不读取,直接填写配置)。

在修改完成后,返回交互页面,点击按键save setting即可保存配置。

点击按键restore factory setting即可恢复出厂设置。

系统参数配置


基本配置参数项如上图

参数名 含义
云平台通道类型 云平台选择,可选项:阿里云腾讯云华为云移远云TCP私有云MQTT私有云
固件升级 是否开启固件OTA升级
脚本升级 是否开启项目脚本OTA升级
历史数据存储 当通信异常,DTU无法向云端发送数据时,将发送数据保存,待通信恢复正常后重新发送
串口号 外部MCU连接DTU串口号,可选项:012
波特率 串口波特率
数据位 奇偶校验
停止位 停止位长度,可选项:12
流控 硬件控制流,可选项:FC_NONEFC_HW
控制485通信方向Pin 串口发送数据之前和之后进行拉高拉低指定GPIO,用来指示485通信的方向。如12代表UART.GPIO1UART.GPIO2

云参数配置

云参数配置项会根据基本云平台通信类型选择值变化。当云平台通信类型为MQTT时,云参数配置项如下:

订阅主题和发布主题,均采用"主题id为key,主题字符串为value的json格式"。

举例说明:参数{"0":"/F79933DC83A4/connect_packet/adv_publish"},表示id为"0"的主题"/F79933DC83A4/connect_packet/adv_publish"

DTU数据收发调试

数据发送框的格式要求:数据发送的格式与MCU和DTU通信格式一致。针对和云端通信协议的不同,模块和外部设备(如MCU)通信协议也会不同。当模块和云端通信使用TCP协议时,由于TCP和串口都是数据流的形式,所以直接透传数据,不做任何处理;当模块和云端通信使用MQTT协议时,为了区分不同的数据帧,模块的串口对外协议采用简单的数据帧:<topic_id>,<msg_len>,<msg_data>"

示例报文:

上行报文:“1,6,abcedf”

下行报文:“1,6,ijklmn”

模块和外部设备(MCU)上行报文和下行报文都是采用字符串格式,数据项之间采用","相隔。

二次开发

DTU工具是基于图形框架wxPython开发,现阶段已编译成dtu_tool.exe仅支持Windows系统。用户可在Linux或macOS配置Python环境并安装wxPython后可直接运行dtu_tool.py或自行编译对应版本的二进制程序即可(编译脚本:dtu_tool/build.sh)。

DTU Tool源代码仓库链接:https://github.com/QuecPython/DTU-tool.git

wxPython官方网站:https://www.wxpython.org

安装依赖

配置Python开发环境后,使用pip工具安装如下依赖库:

Pypubsub==4.0.3
wxPython==4.1.1
pubsub==0.1.2
pyserial==3.5

执行脚本

python dtu_tool.py

界面展示

注:调试前请启动DTU设备,并在DTU工具的串口配置区域选择与DTU设备通信的串口并打开该串口。