时间:2024-08-31
柴亚南(山东大学电气工程学院,250061)
基于移动终端的串口调试系统的设计与实现
柴亚南
(山东大学电气工程学院,250061)
摘要:许多电子产品都带有串口,启用它们之前或复位以后都需要通过自身所带的串口进行一些初始化设置,通常都是使用笔记本电脑的串口,通过串口线连接进行初始化设置,由于接线麻烦,距离短,笔记本笨重,很不方便。随着手机和平板电脑等移动终端的普及和应用,为我们的工作带来了许多方便,也为实现无线调试这些设备成为可能。本文设计了一个基于安卓移动终端的串口调试系统,可以完成与各种具有串口的电子设备进行初始设置、调试等功能,极大提高了设备设置和调试的方便性。
关键词:移动终端;串口调试;android;Bluetooth;无线通讯
随着计算机、电子通信以及物联网等的迅猛发展,各种先进的通讯技术已被广泛应用于各种工业和家用电子设备之中,使得对各种电子设备的维护管理提出了更搞得要求,使用轻便而实用的无线调试工具是很必要的,特别是各种便携式智能手机终端的出现,使得已成为它成为可能,也成为研究的热点。智能手机和平板电脑因其具有全功能性、携带方便、可进行二次开发和应用广泛的独特优势,它成为各种应用的最佳选择。特别是安卓平台良好的开放性,它被广泛的应用在手机和平板电脑中,它支持各种通讯方式,为我们的开发基于智能终端的应用提供了很好的平台。本文主要在安卓系统的移动智能终端上设计实现了一个超级串口调试助手SSPA(Super serial port assistant),用于调试检测各种通过串口进行设置的电子设备,它不仅可以用作调试和设置工具,也可以用作设备的监控。
通过对当前主流智能终端操作系统的开放性和普及性分析对比,我们最终决定采用Android平台、Socket通信与SQLite数据库设计串口调试助手SSPA;应用测试结果表明,该系统运行正常、稳定,完全满足要求。
该系统主要由硬件和软件两部分组成,硬件部分主要是智能移动终端和由蓝牙模块与串口芯片构成的通讯模块,通讯模块接插在被调试设备的串行口上。软件部分则运行在安卓移动智能终端上,通过智能终端上的蓝牙无线系统与连接到被调试设备的蓝牙无线模块实现点到点的通讯,达到对设备的调试和设置。
1.1 硬件部分
硬件部分原理图如下图,它由蓝牙转串口模块和串口通信模块组成,蓝牙串口透传模块采用市面上采购的SPP-C蓝牙无线透传模块,它符合V2.1+EDR蓝牙规范,支持UART接口和蓝牙串口协议,内置PCB射频天线,3.3V电源,具有成本低、体积小、功耗低、收发灵敏性高等优点,只需配备少许的外围元件就能实现其强大功能,而且可以通过串口AT命令就可以修改串口参数。该模块采用了CC2541芯片,他是由TI公司生产的低功耗的芯片,支持250Kbps,500Kbps,1Mbpshe 2Mbps的数据速率,高达0dBm的可编程输出功率和出色的接收灵敏度,采用极少的外部组件,采用QFN-40封装,体积小,目前市场上很容易买到已经集成的蓝牙串口模块。
由于蓝牙模块需要有源运行,本系统采用3.3V可充电锂电池供电,因此串口芯片采用SP323E,它要求的工作电压可以低到3V,工作非常稳定可靠,通过测试,其他串口芯片在3.3V下工作不是很稳定,有数据丢失和乱码的现象。因此选用SP323E芯片,它和蓝牙串口透传模块能很好的配合运行,在600mAh的电池下可以连续运行24小时以上。电源采用3.3V锂电池供电,外加一块锂电充电保护模块,我们选用了TP4056锂电池专用充电芯片,它外围电路简单,保护性能好,充电精度高,采用线性充电,1A充电电流,输入电压为4.5-5.5V,充电电流可调节调节,充电口设计为微型USB接口。
调节R1的阻值确定电池充电电流的大小,R1与充电电流的关系见下表1,该系统采用2K电阻,充电电流位580毫安。计算公式为:
整个软件系统基于安卓系统平台,利用Eclips+Andriod SDK开发平台,用java语言和XML编程。软件主要分为两部分组成,用户界面和串行设备的通讯模块。
2.1 用户界面
用户界面采用标准的安卓控件,界面如下图所示:
图3:蓝牙转串口通讯模块实物图
图1:系统硬件原理图
图2:充电保护电路原理图
表1
图4:系统运行界面和设置界面
图5:系统运行界面和设置界面
系统启动时自动进入主界面,它具有连接,命令清单,发送命令,发送邮件,设置等按钮,实现命令的编辑发送和数据的接收等功能。设置界面主要是对系统的参数设置,包括串口通讯参数设置,数据显示字体大小和字号设置, 电子邮件设置等。
系统运行前,首先通过手机的蓝牙设置找到连接的蓝牙串口设备,并进行配对,然后就可以运行该系统了。系统启动后,软件会自动发现要连接的串行设备,当串行设备的序列号(上图蓝色字)出现后,点击连接(connect),安卓系统就和相应的串行设备连接起来了。连接建立后,用户可以通过“CmdList” 选择预先设置好的命令,或者在界面上输入自己的命令。点击发送,命令就会通过通讯模块传送给设备,同时,设备执行命令后的数据会通过通讯模块传送回来并显示在界面中间部分。点击右上角的信封,命令的执行结果就会通过电子邮件传送到相应的人员信箱中,为了方便,用户可以发送一系列的命令后再发送邮件,中间数据的显示没有限制,可以轻松支持上千行指令信息。点击红色的垃圾桶,显示的数据就会被删除。点击右上角的齿轮,进入系统设置界面,可以设置通讯参数和屏幕显示参数。
2.2 通讯模块
为了提供运行效率,整个通讯模块采用安卓绑定服务(bounded service)的形式运行在安卓系统。它是一个独立的线程,在系统启动的时候由用户界面主模块启动。它主要负责和串行设备的通讯,用户命令通过主模块发送给通讯模块,通讯模块以一定的格式将命令发送给串行设备,串行设备返回的数据由通讯模块接收并传送给主模块进行回显处理。通讯模块的流程图如下所示:
主要程序代码:
1.主模块启动绑定服务并定义接口:
绑定服务收到串行设备的数据后会发送给主模块,主模块通过以下程序处理接受的数据,并将数据显示在主界面中
2.绑定服务通过蓝牙连接串行设备
3.绑定服务接收串行设备的数据后通过广播的形式发送给主模块
用户可以通过设置界面进行串口波特率的设置,缺省设置为9600,N,8,1。显示的字体也可以进行改变。
本文详细介绍了基于移动终端的串口调试系统的基本原理和功能,它是一个很好的基于串口的设备调试工具,完全可以替代笔记本电脑的串口调试程序,它携带和使用非常方便,很适合工程设备现场调试使用,同时调试的过程数据可以通过电子邮件保存,以便作为文档使用和共享。常用的调试命令可以保留在移动终端中随时调用。
参考文献
[1] 翟大昆.《Android项目开发详解》.北京:机械工业出版社,2012-06-01
[2] 李兴华.《 Java开发实战经典》.北京:清华大学出版社,2009-8-1
[3] Mitch,《XML案例解析教程》,北京:清华大学出版社,2007-11
[5] http://www.ti.com/lit/ug/swru191f/swru191f.pdf?keyMa tch=cc2541f256&tisearch=Search-EN-TechDocs
[6] http://www.ti.com/lit/df/tidr203a/tidr203a.pdf
[7] SP3232E中文资料 http://www.sipex.com/
柴亚南(1982-),女,山东济南人,硕士,助理工程师,主要研究方向为计算机应用
Android serial port assistant system design and development
Chai Yanan
(School of Electrical Engineering, Shandong University,Jinan Shandong 250061,China)
Abstract:Many devices have built-in serial ports for the purpose of configuration and diagnosis.Usually a laptop and a serial cable are used together to communicate with the device.We argue that this method is not a perfect solution due to the heavy weight of a laptop and the distance limitation of the serial cable. With the wide availability of cell phones and IPads,in this paper,we developed a new system that uses Android smart phone and Bluetooth technology to connect serial devices wirelessly.We developed a hardware bridge that can attach to the device serial port and translate the serial communication to Bluetooth,and hence can talk to Android phones.The software running at Android phone can send commands to and receive data from serial device through the hardware bridge.Our system removes the distance limitation of the serial cable and is also very lightweight and portable.
Keywords:Mobil terminal;Serial port debug;Android;Bluetooth;Wireless communication
作者简介
中图法分类号:TP393.08
文献标识码:A
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!