APP下载

基于嵌入式Android 系统的无线数据采集、传输综合实验设计实现

2020-10-09张世娇靳毅轩杜清河张翠翠张鹏辉

实验技术与管理 2020年9期
关键词:开发板串口嵌入式

张世娇,靳毅轩,杜清河,张翠翠,张鹏辉

(1. 西安交通大学 电子与信息学部 信通与通信工程学院,陕西 西安 710049;2. 西安交通大学 国家级通信与信息系统虚拟仿真实验教学中心,陕西 西安 710049)

嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统[1-2]。随着信息产业的迅速发展,嵌入式系统在智能手机、可视电话、高清电视、无人机、数码相机、医疗器械等领域的应用越来越广泛。嵌入式 Android 系统就是将 Android 作为嵌入式产品的操作系统,将嵌入式产品的灵活性和Android 系统的稳定性紧密结合起来,其具有灵活的应用程序框架、优化的图形处理、多样化的通信方式等特点[3],成为互联网、消费电子领域的应用热点之一[4-5]。

虽然高校开设了嵌入式实验课程,但是基于Android的嵌入式开发实验相对较少,学生嵌入式Android 方面的开发能力仍然欠缺。考虑到 Android 在当前移动通信市场的占有率达到70%以上,并且在未来一段时间内,可以预见嵌入式Android 开发需求将持续增加,因此增强学生在嵌入式 Android 方面的知识技术储备和应用开发能力十分必要。本文从嵌入式Android 系统的典型应用场景出发,结合应用开发过程的趣味性、实物展示的直观性、工业场景的实用性,设计了嵌入式Android 系统中无线数据采集、传输综合实验。通过实验,学生可掌握嵌入式 Android 系统的应用开发流程、界面设计、应用程序设计、网络通信应用开发、信号采集与传输应用开发的技能。一方面强化学生对硬件设备的认知,另一方面提高学生应用软件设计开发水平,以期达到增强学生工程实践能力、分析解决实际问题能力的目的[6-9]。

1 实验设计

1.1 实验软硬件基础

软件平台方面,相比于Eclipse,Google 推出的基于IntelliJ IDEA 的集成开发环境Android Studio 具有稳定速度快、界面美观度高、智能性强、插件系统丰富等特点,并且内置终端,更加容易上手,所以选择Android Studio 作为软件开发环境[10]。

硬件平台方面,除一般的实验需求外,还应考虑偏远地区及矿井信号探测的需求[11-12],故选用Exynos4412 为核心芯片的实验开发板,该开发板具有LCD 显示屏、Wi-Fi/BT 模块、4G 模块、串口模块、LED 灯等丰富的外设模块和接口,方便拓展使用。其他能够满足实验要求的开发板或者自制实验开发板亦可应用于该综合实验。

1.2 实验内容设计

考虑到学生几乎零基础进入嵌入式Android 实验教学课堂,将该综合实验设计为由浅入深的实验层次,见表1。

表1 实验体系设计

综合实验的四个层次分别为初阶、进阶、提升、设计,设计实验是在前三个层次实验的基础上完成的,其难点在于教师只给出实验要求,学生需根据要求独立进行实验分析、设计实验方案、完成应用开发,并在实验板上进行验证,此外在基本实验要求上自行设定应用场景、扩展应用需求,完善设计。设计实验对学生的综合设计能力和工程应用开发能力要求较高。综合实验内容设计如下。

1.2.1 初阶实验

实验内容包括:使用VMware、Ubuntu 搭建嵌入式交叉编译环境;使用交叉编译生成嵌入式系统内核文件;使用超级终端作为控制台将镜像烧写至开发板,完成硬件环境构建;安装Android Studio,搭建嵌入式软件开发环境。

该部分的主要目的是了解嵌入式系统的结构和发展历程,了解嵌入式系统发展中所使用的工具及嵌入式开发方法,了解嵌入式系统对软硬件平台的需求,搭建适合后续嵌入式开发的软硬件环境,增强软件开发对硬件资源需求的意识,树立全面客观的工程社会意识观。

1.2.2 进阶实验

实验内容包括:在 Android Studio 中使用各种Layout、Widget 设计用户界面;使用 Activity、Intent实现消息发送应用开发和用户注册应用开发;使用JNI 从上层控制底层硬件,实现LED 控制,实现蜂鸣器控制;引入线程概念,拓展完成LED 灯闪烁控制。

该部分的主要目的是在初阶实验的基础上,学习Java 编程知识,掌握Android 应用从界面设计到应用开发的全部流程,掌握嵌入式 Android 中上层应对外设的控制方法,掌握设计过程中问题分析的方法和设计完成后的验证方法,培养学生分析问题解决问题的能力。

1.2.3 提升实验

实验内容包括:在Android Studio 中完成简易游戏开发;使用UART 协议实现串口通信应用开发;使用TCP/IP 协议实现开发板间的无线通信;使用无线通信实现开发板间的远程控制,完成简易智能家居应用。

该部分的主要目的是在进阶实验的基础上,提升Java 编程能力,掌握网络编程基础知识,掌握TCP/IP网络协议、串口协议,实现无线网络通信应用开发,培养学生针对复杂应用分析、设计的能力。

1.2.4 设计实验

实验内容包括:使用嵌入式软硬件开发环境,设计并完成嵌入式 Android 系统中无线数据信号的采集、传输、处理。

该设计实验只给出实验要求,每两位学生组成团队,团队根据实验要求进行分析、设计,并完成硬件验证,此外可在基本要求的基础上进行功能拓展,完善应用设计,以培养学生的工程实践能力、交流沟通能力和团队协作意识。

2 实验设计及实现

2.1 实验设计架构图

综合实验的总体架构如图1 所示。

图1 综合实验总体架构

针对该架构图说明如下:

(1)初阶、进阶实验均可在一块开发板上完成;

(2)提升实验中无线网络通信实验和设计实验需要两块以上的开发板配合;实现验证时,可使用多个开发板接入同一网络,通过多跳传输实现远距离通信。

2.2 实验设计实现

鉴于综合实验中初阶、进阶、提升实验的实现复杂度低于设计实验,因此本文着重阐述设计实验的具体设计实现。

设计实验的实验要求:根据自行设计的应用场景,监测应用区域的环境信息,将该信息通过无线信号传输至主控台,由主控台进行信息处理。基本要求:准确采集环境信息,高效进行信息传输,如环境信息超出阈值范围时主控台处应给出预警,主控台可远程控制信息采集板的工作状态。

根据实验要求,选取SHT20 温湿度传感器作为环境数据采集器,开发板间使用无线通信实时传输数据,连接主控台的开发板接收数据并判断是否超过阈值,如果超过则报警,同时该开发板将数据传至主控台,主控台进行数据分析,并发出调整采集板工作状态的指令,采集板实时响应主控台的指令,如停止采集、开始采集、调整采集速率等。

该设计实验划分以下模块实现。

2.2.1 环境信息的采集控制

SHT20 为主芯片的数字温湿度传感器为全量程标定,两线数字接口,抗干扰能力强,温湿一体,兼有露点测量,可适用的测量场合多。SHT20 测得的环境信息通过串口传至开发板。

SHT20 采集到的温湿度数据信息为串行通信数据格式,为了能够通过串口与开发板进行通信,需通过TTL 转串口芯片将采集到的数据转化为可以通过串口传输的数据,考虑到 SHT20 芯片和 TTL 转串口芯片需要供电才能工作,需为 SHT20 和TTL 转串口芯片提供外部供电。如图2 所示。

图2 SHT20 与TTL 转RS232 模块的连接

SHT20 温湿度传感器模块与 TTL 转 RS232 模块连接后,通过串口连接开发板,由开发板发送指令控制SHT20 的工作状态。

2.2.2 开发板之间无线信号传输

考虑到信号传输的实时性、空旷地区及矿井等应用场景使用有线传输的布线成本过高、环境信息采集开发板可移动探测等要求,开发板之间采用无线传输。

采用网络通信编程实现嵌入式Android 开发板间的无线传输应用。无论借助于Wi-Fi 或者4G,在网络传输层所用的协议均为 TCP/IP,使用套接字 Socket编程。Android 中基于Socket 的通信模型如图3 所示。

图3 Android 中Socket 通信模型

在网络通信的实现过程中,Socket 的建立和数据收发通过线程完成。因为多线程程序设计相对复杂,学生可先完成单线程通信程序,实现点到点之间信息传输,测试成功后再实现多线程。多线程通信时,多个板子组成星型网络,处于中心结点的板子作为服务器,其他板子作为客户端,网络中任意节点发送的信息均可以通过中心结点的转发实现多点通信。在多线程的支持下,通过多跳转发实现远距离通信。

实时通信确保了信息的传输,当环境信息超过阈值时,连接主控台的开发板应产生警告,因此需实现开发板间的远程控制。Android 的应用开发使用 Java语言,对底层硬件的控制需要借助 JNI。采集到的环境信息达到告警门限时,连接主控台的开发板蜂鸣器报警,LED 灯闪烁。

2.2.3 开发板与主控台间通信

在数据采集、传输通信网络中,采集到的环境信息通过无线传输至终端的开发板,为了更好地进行数据分析和处理,需将终端开发板与主控台相连。

开发板与主控台之间使用串口或无线通信。可设计终端开发板的控制界面(图4),选择将接收的数据发送、丢弃、定期发送至主控台。同时主控台根据数据分析结果向环境信息采集开发板发送控制指令,调整信息采集开发板上传感器的工作模式。

图4 数据接收控制板界面

2.3.4 环境信号采集、传输结果展示

传感器采集环境数据,通过开发板组成的无线网络多跳传输至终端开发板,并最终传至主控台处理。图5 为环境采集端的控制界面。图6 为主控台收到的可供Matlab 等软件处理的环境数据。

图5 数据采集板实时采集数据

图6 主控台收到的传感器数据

3 结语

实践教学是本科生教学的一个重要组成部分,相对于理论教学,更加注重培养学生运用理论分析问题、解决问题的能力。本文从嵌入式 Android 实验教学出发,考虑工业现场生产实际需求,设计了无线信号采集与传输综合实验,范围涵盖底层硬件到上层应用,设计实验部分充分体现了嵌入式 Android 开发的关键技术要点,目前该综合实验已应用于实验教学,具有较高的教学实用性。

猜你喜欢

开发板串口嵌入式
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
浅谈AB PLC串口跟RFID传感器的通讯应用
基于STM32H7的FDCAN通信系统设计与实现∗
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
浅析单片机开发板的设计与制作
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证