linux蓝牙传送的文件存放,嵌入式蓝牙文件传送方案的实现

本文介绍了蓝牙技术在文件传输中的应用,尤其是蓝牙2.0规范中增加的EDR技术,提高了数据传输速率,支持多点通信。文章详细阐述了基于ARM嵌入式系统和Linux操作系统的蓝牙文件单点和多点传送方案,利用TDD技术和EDR实现了文件的并发传输,并通过个人区域网络技术实现了与PC机的网络文件传送。该方案具有广泛的应用前景,尤其在广告和信息发布领域。
摘要由CSDN通过智能技术生成

蓝牙是一种低成本、短距离无线通信技术,工作频段使用全球统一开放的2.4 GHz的ISM频段[1],并将此频段分为79个跳频点,采用跳频技术,增强了蓝牙通信的可靠性。蓝牙技术现已被广泛应用于无线通信领域中,如个人无线通信设备、无线网络通信以及各种传宣系统[2]。

利用蓝牙技术实现不同类型的文件传送是蓝牙通信的重要应用,而传统的基于蓝牙1.0规范的蓝牙通信只支持单点传输,随着蓝牙技术的发展,蓝牙2.0规范中增加了EDR(Enhance Data Rate)技术,提高了蓝牙数据传输的吞吐量,为蓝牙多点通信提供了条件。本文依据蓝牙2.0规范,结合TDD技术,在实现了单点文件传送的基础上,成功完成了嵌入式系统对远程蓝牙设备的多点文件传送方案,并应用个人区域网络技术实现了嵌入式系统与PC机之间的网络文件传送,扩展了蓝牙通信在网络领域的应用。蓝牙文件传送和网络文件传送功能为广告产业及其他信息发布相关产业提供了广阔的发展空间,具有良好的市场前景。

1 方案设计概述

方案设计以ARM嵌入式系统作为硬件实现平台,并基于Linux操作系统,完成蓝牙文件传送方案。文件单点传送方案依据对象交换协议OBEX(Object Exchange),利用蓝牙官方协议栈BlueZ以及openobex上层应用函数库实现对象推送功能,从而完成对远程设备的文件单点传送。文件多点传送方案将在底层应用全双工时分复用(TDD)技术以及EDR(Enhance Data Rate)技术实现蓝牙数据通道共享和宽带、高吞吐量数据发送,在上层以文件单点传送方案为基础,辅以嵌入式技术建立并管理多个文件发送进程,完成文件向多个远程设备的同时发送,加入了重发机制以保证文件多点传送的可靠性。此外,基于个人区域网络技术的网络文件传送功能,使用户可在PC机端以FTP方式访问并更新嵌入式系统中的文件。

2 方案硬件架构

本方案基于ARM硬件开发平台,以SAMSUNG S3C2440作为核心处理器,并与64 MB SDRAM和64 MB Flash共同组成核心嵌入式系统,运行ARM-Linux-2.6.12内核操作系统,其中内核配置蓝牙子系统,可为USB蓝牙适配器提供驱动。蓝牙适配器作为系统的核心通信部件接至USB Device接口,并通过适配器完成文件传送功能。同时本硬件系统易于功能扩展和系统移植,开发人员可通过USB Host接口将操作系统内核以及上层应用程序下载到SDRAM或烧写至Flash中,并通过RS232串口对应用程序进程调试。硬件整体架构如图1所示。

bc02ee9f352cb82796ab87052e3e7ea0.png本文引用地址:http://www.eepw.com.cn/article/151967.htm

3 方案软件框架

软件框架主要由蓝牙核心协议、会话层协议以及上层应用程序构成,如图2所示。其中蓝牙核心协议包括:RF协议、基带(Baseband)协议、LMP、L2CAP,主要完成蓝牙数据由逻辑链路层到实际物理通道的控制和处理。

2f97d23055f0fa95bd45ac950ea53eb8.png

会话层协议将建立对应功能的模型描述,并定义相关操作方法,为上层应用程序提供接口。其中RFCOMM协议提供对基于L2CAP协议的串口仿真,基于ETSI07.10,可支持在两个蓝牙设备之间同时保持高达60路的通信连接。其次,本方案利用服务发现协议(SDP)获取周边蓝牙设备服务信息,并自动筛选出带有对象推送服务的远程设备作为发送目标,此协议由BlueZ所提供的接口函数实现。而OBEX作为实现文件传送的核心协议,将为被传送文件建立对象模型,并面向对象及传送过程定义对应操作方法,以实现文件传送。PAN协议用于建立蓝牙无线网络与以太网之间的访问点,以完成与TCP/IP之间的无缝连接。

上层应用程序将基于应用层协议所提供的接口函数,主要依据对象交换协议(OBEX)实现对象推送(OBEX PUSH)功能,从而完成文件的单点传送,并在此基础上,结合Linux多进程技术实现文件多点传送。此外,利用BlueZ提供的PAN工具实现嵌入式系统与PC机之间的组网,完成网络文件传送功能。

4 文件传送功能实现

4.1 文件单点传送实现

文件单点传送是多点传送的基础,也是本方案的核心技术,并基于对象交换协议(OBEX)。应用于蓝牙系统的对象交换协议其目标是完成两蓝牙设备间的数据对象通信,其典型应用为实现对象推送功能。OBEX本身包括两部分:数据对象模型和会话协议。对象模型包括将要传输的数据对象的各种信息以及数据对象本身。该模型的建立完全基于各种标准的或者用户自定义的可分析的信息头(headers),信息头由信息头ID和信息头的值两部分构成,ID描述了信息头的内容及格式,信息头的值由一个字节或多个字节组成,描述了对象属性的具体含义。OBEX会话层操作由请求-应答成对组成,由客户端发出请求,服务器做出应答,客户端必须等待服务器做出应答后才能发起新的请求。

本方案利用openobex应用函数库实现了系统对某一远程设备的文件对象推送功能。openobex函数库实现了OBEX协议的会话层操作及相应对象模型描述。图3显示了完成对象推送功能的全过程。

通过图3所述过程,系统与目标设备可完成一次文件单点传送。在实现文件多点传送时,可循环调用此过程,完成文件传输。

b9a44624c035f96852287ccfe828565a.png

4.2 文件多点传送实现

文件多点传送基于单点传送,并利用蓝牙协议中的TDD技术和EDR技术实现了嵌入式系统向多个蓝牙设备节点并发传送文件的功能。同时利用多进程技术,对多个发送进程进行合理管理,保证文件能高效及时地被发送到远程设备中。其中采用TDD技术,使多台设备能够共享一个物理通道[4],并将数据进行分组,按时分复用方式发送。而EDR技术增加了蓝牙数据的传输带宽和传输吞吐量,从而提高了文件多点传送的带宽和吞吐量。

多点传送流程如图4所示。首先由文件发送父进程,根据查询到的蓝牙设备数目创建与之数目相等的文件发送子进程,每个文件发送子进程将独立承担向相应蓝牙设备发送文件的任务,使文件向多台设备同时进行传送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值