基于Android系统蓝牙开发的研究与实现
摘要: 蓝牙作为一种短距离的无线通讯技术已经在电子设备中得到了广泛的应用,能够将不同的设备连接起来,摆脱了传输线的限制。基于Android系统蓝牙编程的研究较少,因此对Android系统蓝牙协议栈进行了简单的介绍,对蓝牙开发流程进行了分析,并在此基础上实现了Android系统与单片机之间的蓝牙通信,控制步进电机运转。实际应用表明:该系统能够通过蓝牙准确地发送、接收数据,控制精度高、稳定,时间响应快。
关键词: Android系统; 蓝牙; 单片机; 步进电机
中图分类号: TP 316文献标识码: Adoi:
引言Android是Google开发的一款基于Linux的开源手机系统,由于其完全开放的特点,Android开发群体和用户越来越多,逐渐成为市场份额最大的智能手机操作系统。除了在移动通信方面,Android系统已经应用到其它电子领域,如平板电脑、手持设备等。设备间的数据传输方式主要包括USB传输、红外传输、蓝牙传输,USB传输速度快、即插即用、便于扩展,(accessory development kit),使不支持USB Host功能的Android设备可以与其它USB设备通信。红外传输是一种无线通信技术,因为传输距离较短、易受干扰,现在更多使用蓝牙作为无线传输[1],蓝牙传输方便稳定。Android系统同时支持蓝牙通信,通过对Android系统的蓝牙开发研究,对蓝牙、单片机编程,以实现与单片机通信。 1系统设计原理Android系统控制单片机步进电机系统结构图如图1所示。首先由Android系统提供的蓝牙API接口,编写应用程序,实现蓝牙设备的基本操作,设备连图1系统结构框图
diagram of system structure接正常后,通过Bluetoothsocket实现数据的输入、输出。单片机蓝牙模块接到数据命令后,调用单片机控制程序,控制步进电机的加速、减速、转向。2Android蓝牙应用程序设计
,使用了BlueZ协议栈,BlueZ通过DBUS来通信交互的。BlueZ是Linux内核的官方蓝牙协议栈,目前在较高Linux内核版本中已有支持,也是目前应用最广泛的蓝牙协议栈,几乎支持所有已通过认证的蓝牙设备。该协议栈由多个相对独立的模块组成,内核空间主要包括设备驱动层(蓝牙的设备驱动一般是指电源的开关驱动以及通信接口的驱动,如串口、USB等)、L2CAP层与SCO音频层、M、蓝牙核心及HCI层、BNEP、CMTP层与HIDP层、通用蓝牙SDP库和后台服务及面向所有层的标准套接字接口。Android提供Bluetooth通信的API是BlueZ M的封装,M层支持标准的套接口,图2蓝牙通信流程图
of munication process并提供了串行仿真TTY接口,这使串行端口应用程序和协议可以不加更改地运行在蓝牙设备上[24]。蓝牙应用程序设计主要包括:蓝牙打开、蓝牙查找、蓝牙连接、数据通信等四个模块[56],流程图如图2所示。Android系统为蓝牙开发提供了API,其中最主
基于android系统蓝牙开发的研究与实现 来自淘豆网m.daumloan.com转载请标明出处.