摘 要:设计了一款基于Arduino的便携式无线传输通信系统。本系统采用Arduino嵌入式单片机、HLK-RM04无线通信模块、传感器和数据接收终端等设备集数据采集、处理、传输于一体,文中介绍了系统的硬件选型和设计思路[1]。通过实验测试表明基于Arduino的无线通信系统实时性强、准确率高、且容易操控。可广泛应用于高程测量、航空气象、环境检测等诸多领域。
关键词:无线传输;Arduino;传感器;通信系统
DOI:10.16640/j.cnki.37-1222/t.2018.20.132
1 引言
随着无线网络通信技术的快速发展,采用标准的TCP/IP协议对传感器数据通过无线方式传输逐渐增多,无线传输的设计方法具有较强的通用性、兼容性和移动性,可以获取各类传感器数据,将数据采用无线传输供IOS系统、 Andriod系统和windows系统等终端接收并存储使用,系统数据的传输具有实时性、实用性和稳定性,数据的获取效率较高。在高程测量、航空气象、飞行航迹应用等领域有较好的应用[2]。
2 系统总体设计
无线传输通信系统由:传感器模块、无线通信模块、Arduino主控模块、数据系统接收终端等四部分组成。系统的工作原理是将传感器采集获取的数据发送到Arduino主控系统上,主控系统对获取的数据处理并打包发送到无线通信模块,同时主控系统对无线通信模块控制设置热点,将打包的数据发送出去,外部终端设备扫描连接热点接收并解析出获取的传感器数据信息,并将数据下载保存到终端系统存储[4]。
3 系统硬件设计
无线通信系统硬件电路由Arduino 控制模块、无线通信模块和气压温度传感器等部分组成。
3.1 主控系统模块
本系统采用的主控模块是Arduino Mega2560嵌入式单片机。Arduino有类似于C语言IDE集成开发环境,用户可以通过USB接口直接进行硬件设备连接和通信。
3.2 传输模块
无线通信模块采用的是HLK-RM04模块,该模块兼容串口、以太网和无线网三个接口之间的转换,内部嵌入了标准TCP/IP协议栈,为数据网络传输提供了完整快速的解决方案,模块的工作模式如图1所示。
传感器模块采用温度、气压传感器等分别对数据检测。系统对数据获取测试的传感器采用气压温度传感器BMP085,该传感器精度高,对环境温度敏感、采集环境温度气压数据误差较小,数据的处理采用插值、采样算法,算法复杂度较低,容易实现[1,4]。
主系统由Arduino控制协调各部件工作,整个系统模块的硬件布线图如图2所示[1]。
4 系统软件设计
本系统拟采用苹果手机、Arduino手机和笔记本电脑等终端系统作为接收客户端。无线通信HLK-RM04模块能支持的热点发送有效范围有限制,实验采用无线信号覆盖范围20米区域进行测试接收数据,此范围基本满足了本系统的测试要求。
通信系统要达到兼容性,系统需采用标准的TCP/IP无线通信方式才能满足各种终端系统对数据的接收和解析。系统对传感器数据的采集、处理、打包、建立无线热点,客户端采用IP输入、密码验证登录连接无线热点,接收并解析获取数据。系统的软件流程图如3所示[1-2]。
从上面主要算法流程程序看出,数据采集终端的软件编程语言结构清晰,语言复杂度不高,较好的满足了系统设计需求。
5 系统测试
5.1 WLAN安全配置
系统的无线通信模块采用的是嵌入式编程应届模块HKL-RM04 WiFi。模块工作的模式采用WiFi/串口转无线AP。该模式下,WiFi模式工作,其他模式关闭。WiFi模式下安全方面支持目前所有的加密方式。通过程序控制,使得整个系统数据采集终端成为WiFi局域网下的设备[3]。无线模块安装完成后,系统开启串口转无线AP模式,系统可以通过浏览器登录设置界面,设置网络热点连接。
无线模块的内置TCP/IP标准设置IP地址,链接密码,网络端口号,网络设置完成以后终端系统数据采集传输模型的建立就布置完成。当系统开启了热点后扫描连接热点。
5.2 系统数据处理
数据接收工具系统需要有解析出标准TCP/IP数据包的功能,能打开当前的网络热点连接,并开启连接以及打开网络端口,将接收数据保存等功能。为了有效获取终端系统发送的数据信息,须将接收终端系统放置在数据采集终端系统设置的热点覆盖范围内,扫描终端系统的WiFi热点并连接热点,待连接稳定以后开启TCP/IP接收工具系统设置连接网絡IP,端口号,测试工具开启接收数据功能,将接收的数据解析出来显示并保存到数据库[4]。
6 结语
本文设计并实现了一种基于Arduino的传感器数据采集传输通信系统,并利用该系统采集了气压传感器检测的环境气压和温度数据实现WiFi通信。整个系统采用嵌入式的终端设备、系统结构完整、具有便携性、可靠性、满足了日常应用无线通信的需求。在日常生活中有一定的社会应用价值。
参考文献:
[1]朱红军.基于气压传感器的海拔高度测量系统设计[J].中国民用航空飞行学院学报,2015:67-70.
[2]陈吕洲.Arduino程序设计基础[M].北京航天航空出版社,2014.
[3]周绪贵.TCP/IP通信测试工具的开发与应用[J].工业控制计算机,2014.
[4]王登宏.基于Arduino的手机同步显示温湿度检查系统的设计[J].工业控制计算机,2016(07).
课题:本文由中国民用航空飞行学院青年基金项目基于Arduino的无线传输通信系统研究(编号:Q2018-167)、基于GPS组合导航的地图匹配定位技术研究项目(编号:J2018-17)支持
作者简介:朱红军(1990-),男,安徽宿松人,硕士研究生,研究实习员,研究方向:电子科学技术及应用、计算机信息和通信系统。