蓝牙应用开发指南近程互联解决方案文档格式.docx

上传人:b****5 文档编号:18560026 上传时间:2022-12-27 格式:DOCX 页数:9 大小:22.18KB
下载 相关 举报
蓝牙应用开发指南近程互联解决方案文档格式.docx_第1页
第1页 / 共9页
蓝牙应用开发指南近程互联解决方案文档格式.docx_第2页
第2页 / 共9页
蓝牙应用开发指南近程互联解决方案文档格式.docx_第3页
第3页 / 共9页
蓝牙应用开发指南近程互联解决方案文档格式.docx_第4页
第4页 / 共9页
蓝牙应用开发指南近程互联解决方案文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

蓝牙应用开发指南近程互联解决方案文档格式.docx

《蓝牙应用开发指南近程互联解决方案文档格式.docx》由会员分享,可在线阅读,更多相关《蓝牙应用开发指南近程互联解决方案文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

蓝牙应用开发指南近程互联解决方案文档格式.docx

  智能甲醛检测仪APP开发方案:

APP给你更只管的界面让你观测到甲醛的危害及目前环境中的甲醛浓度。

另外,温度、湿度、气压、噪音等同样可监测到。

  智能水壶APP开发方案:

一个水壶能有啥智能?

通过APP,您可以观测当前水的过滤程序、纯净度、过滤进度,通过强大的APP,还可以显示杂质。

  空气检测仪APP开发方案:

当前社会,空气污染严重,您可以通过APP非常清晰的知道何时出门为最佳时间,让您的受的污染降至最低,不要指望该设备能解决问题,但起码有了APP,您可以知道您避免了多少的危害。

  蓝牙体重秤APP开发方案:

APP及后台算法可以分析您近月的体重趋势,当数据更长的时候,您可以清晰看见自己的体重变化,且APP提醒了您每天必须录入您的饮食记录,当您数月后查看,您该知道多后悔当初某天漏掉了记录饮食,而导致数据没被采集。

  智能闹钟APP开发方案:

无需小看智能闹钟,您可以让它固定在床头,而无需理会它。

每次闹铃都是手机响起,您可以选择提醒的声音,如模仿林志玲叫你起床、或者饭岛爱。

  智能睡衣APP开发方案:

将传感器芯片内置于内裤中,当你勃起,或下体温度过高,APP都将会有记录。

  智能电视APP开发方案:

在您的手机上直接选择各类节目,通过电视放映,没有比APP更为方便,您可以清楚的看到电视剧点评及热度,从而决定是否观看。

  智能厨房APP开发方案:

未来的世界全是智能的,有了智能厨房,您可以基于定制的APP,选择菜谱来如何做菜,智能冰箱中的食物有存放几天,哪些是新鲜或不新鲜的;

智能锅能根据你在APP中选择的模式来进行烹调。

  智能轮胎APP开发方案:

您的爱车轮胎目前的状况,耐磨等,都可以通过APP来掌握,包括其他等一些智能车载设备。

  篇二:

蓝牙开发

  蓝牙协议栈BlueZ的移植与开发*

  欧阳鑫于红岩吕杨

  (昆明理工大学信息工程与自动化学院,昆明,650051)

  摘要:

蓝牙技术是当前国内外科技界和产业界研究开发的热点技术,其应用范围包括手机、PDA、信息家电设备等领域,蓝牙技术在嵌入式系统上必将得到广泛的应用。

而要在嵌入式系统上提供蓝牙开发支持,蓝牙协议栈的移植是关键。

本文分析了蓝牙协议栈BlueZ体系结构,详细介绍了在S3C2410开发板上移植BlueZ的步骤,建立了嵌入式蓝牙应用开发平台,并提出了用BlueZ开发蓝牙应用程序的思路。

  关键字:

蓝牙技术;

蓝牙协议栈BlueZ;

移植;

S3C2410;

Linux

  中图分类号:

文献标识码:

A

  BlueZPortingandProgramming

  OuYangxin,YuHongyan,LvYang

  (CollegeofInformationEngineeringandAutomation,KunmingUniversityofScience

  andTechnology,Kunming650051,China)

  Abstract:

Bluetoothtechnologyisthefocusedonbythedomesticandoverseasresearchinstitutes.Thistechnologyiswidelyusedinmobilephone,PDA,andInformationAppliancedevices.Inthefuture,bluetoothtechnologywillbewidelyusedinembeddedsystem.Builtsomebluetoothapplicationsonembeddedsystem,thekeytechnologyisportingbluetoothprotocolsuitestoplatform.Inthispaper,westudytheBlueZarchitecture,describethestepsofPortingBlueZtoS3C2410Platformindetail,andbuildtheembeddedbluetoothapplicationprogrammingplatform.Intheend,wealsogivetheideaofbluetoothprogramming.

  Keywords:

bluetoothtechnology,bluetoothprotocolsuitesBlueZ,porting,S3C2410,Linux

  1引言

  蓝牙技术是一项低价格、低功耗的射频技术,它能使蓝牙设备实现近距离无线通信。

由于蓝牙技术有广泛的应用前景,它已成为当前国内外科技界和产业界研究开发的热点技术。

Linux操作系统的开放的蓝牙协议栈主要包括IBM公司的BlueDrekar,Nokia公司的Affix,Axis公司的OpenBT和官方协议栈BlueZ[1]。

BlueZ是公布在Internet上的免费蓝牙协议栈,由于它结构简单,应用方便,具有灵活、高效和模块化的特点且具有较强的兼容性,因此BlueZ已经成为Linux操作系统下的官方的蓝牙协议栈。

  S3C2410x是三星公司推出的一款高性价比32位的RISC处理器,内含一个由ARM公司设计的ARM920T核,具有低功耗高性能的特点,适用于对价格及功耗敏感的场合。

本文使用的S3C2410开发板主要包含以下部件:

S3C2410x芯片,32MBNorFlash,64MBSDRAM,IIC存储器接口,LCD控制器,UART接口,一个USB(Host)接口。

  利用S3C2410开发板上的USB接口,可以外扩蓝牙适配器,但S3C2410开发板上没有实现蓝牙设备驱动。

本文对蓝牙协议栈BlueZ进行分析,移植BlueZ到开发板上实现蓝牙设备驱动,提出了使用BlueZ开发蓝牙应用程序的基本思路。

*基金项目:

云南省自然科学基金项目(XXF0024M)。

  2BlueZ的体系结构

  使用不同蓝牙协议栈的设备在通信时会遇到互操作性的问题。

开发者需要了解各种协议栈的体系结构并考虑其差异。

通过分析源码,给出了如图1所示的BlueZ的体系结构[2]。

  图1BlueZ蓝牙协议栈。

  蓝牙协议栈BlueZ分为两个部分:

内核代码和用户态程序及工具集。

其中内核代码由BlueZ核心协议和驱动程序等模块组成;

用户态程序及工具集包括应用程序接口和BlueZ工具集。

  在内核代码中,BlueZ协议的bluez-kernel和bluez-libs软件包实现了主机控制接口(HCI)和套接字接口的全部功能。

内核源代码采用模块化设计,由设备驱动程序模块和蓝牙核心协议模块组成,分别位于Linux内核代码的drivers子目录和net子目录下。

drivers子目录下的代码包括Linux内核对各种接口的蓝牙设备的驱动。

net子目录下代码包括蓝牙核心协议和一部分扩展协议的内核代码,如L2CAP、RFCOMM、SCO、SDP、BNEP等协议。

  对于用户态程序,BlueZ提供函数库及应用程序接口,便于程序员开发蓝牙应用程序。

BlueZutils是蓝牙设备配置和应用的主工具集,实现对蓝牙设备的初始化和控制。

  3BlueZ在S3C2410开发板上的移植

  蓝牙模块除了需要Linux内核的支持外,还需要相关工具集来帮助管理蓝牙设备。

本文涉及的S3C2410开发板[3]操作系统内核版本是Linux,为了在开发板上实现对蓝牙设备的驱动,必须在PC机上交叉编译Linux内核,移植BlueZ协议栈,然后烧写到开发板上。

  创建交叉编译环境

  为进行Linux操作系统下的嵌入式开发,完成编译内核、驱动程序和应用程序等工作,首先要做的工作就是建立交叉编译环境,在Linux上可以使用GNU提供的arm工具链。

创建交叉编译环境和编译Linux内核不是本文研究的重点,这方面具体可以参考相应的文献。

  配置、编译开发板上Linux内核

  创建了交叉编译环境,其后配置内核使之支持蓝牙协议栈BlueZ和蓝牙设备。

配置、编译Linux内核的具体步骤:

  

(1)下载,为开发板的的内核打补丁。

通过给Linux内核

  打补丁,BlueZkernel被安装到Linux操作系统上。

具体执行命令如下:

  #gzip-dc../|patch-p1

  

(2)配置Linux内核使支持蓝牙协议栈BlueZ,BlueZ协议配置选项说明如表1。

  表1BlueZ协议配置选项。

  (3)配置Linux内核使支持BlueZ硬件,在BlueZ硬件支持设置选项中,设置关于USB接

  口蓝牙设备支持,具体方法:

CONFIG_BLUEZ_HCIUSB=y;

  (4)用makezImage编译修改后的Linux内核。

  安装BlueZ软件包

  BlueZ软件包主要由bluez-kernel,bluez-libs,bluez-utils和bluez-pin等组成。

软件包的具体构成和主要程序包的功能见表2。

  表2BlueZ软件包。

  由于BlueZ协议栈核心代码已经通过打补丁的形式安装到Linux操作系统上,因此只需安装bluez-libs、bluez-utils和bluez-pin三个程序包。

  

(1)下载BlueZ的基础库。

解压后,源代码在/src/下,

  编译动态库:

#/usr/local/arm//bin/arm-linux-gcc-shared-o,然后建立动态连接,执行以下命令:

  #ln-s

  库交叉编译完毕后,BlueZ的基础库被安装到S3C2410/application/bluezport/libs/lib目录下。

  

(2)下载、安装Bluez的工具集。

安装成功后,BlueZ的工具集被安装

  至S3C2410/applications/bluezport/utils目录下。

  (3)安装bluez-pin,编写pin_helper程序;

  由于BlueZ协议栈所携带的pin_helper是用python写的代码,在S3C2410开发板上不能使用,所以须重新编写pin_helper的程序,用C语言实现:

  #include

  intmain(intargc,char*argv[]){

  printf("

PIN:

123"

);

  }

  用arm-linux-gcc交叉编译工具,将pin_helper程序编译成my_pin_helper,放至开发板内核的/usr/bin下,然后修改:

pin_helper/usr/bin/my_pin_helper

  向S3C2410开发板的移植

  

(1)烧写Linux内核到开发板

  编译后的Linux内核映像zImage放至在S3C2410/kernel/arch/arm/boot下。

用FlashProgrammer工具将zImage烧写到Flash的6-17扇区。

  

(2)烧写文件系统和BlueZ软件包到开发板

  将cramfs文件系统和其目录下的BlueZ库、BlueZ工具集和bluez-pin,使用mkcramfs在Linux下编译生成文件系统映像,烧写到Flash的18-35扇区。

  给S3C2410开发板加电,系统自动加载内核和文件系统。

出现Linux操作系统shell提示符。

然后插上USB接口的蓝牙适配器,手动加载蓝牙协议栈各模块到开发板的Linux内核上,加载模块的命令如下:

#modprobebluez

  #modprobehci_usb

  #modproberfcomm

  #modprobel2cap

  接着启动hci设备和hci精灵进程,执行命令:

#hciconfighci0up

  #hcid-f/etc/bluetooth/

  用命令#hciconfig–a查看蓝牙适配器的配置情况。

运行结果显示蓝牙适配器工作正常,验证USB蓝牙适配器驱动已经安装成功。

  4用BlueZ开发应用程序

  移植蓝牙协议栈BlueZ后,一个嵌入式蓝牙应用开发平台就已经搭建好了。

用户可以充分利用协议栈提供的蓝牙函数库,进行蓝牙应用程序的开发。

蓝牙系统开发结构如图2所示。

  图2蓝牙系统开发结构。

  从图2中可以看出,蓝牙协议栈是蓝牙系统开发结构的核心。

在操作系统的用户模式下,蓝牙协议栈主要功能包括:

负责和硬件打交道,处理蓝牙的数据包;

处理服务浏览程序发来的服务发现和设备管理请求;

和虚拟串口ttyBx交互。

  在蓝牙协议栈启动的时候,通过读入一个配置文件来判断HCI传输层使用的硬件类型和硬件的配置状况。

HCI可以通过USB传输层来实现,USB传输层模块以动态链接库(.so)方式体现。

  在Linux操作系统下,蓝牙系统向用户提供若干个虚拟串口ttyBx,ttyBx和实际串口的操作是一样的。

可以通过对虚拟串口的读写来与其它蓝牙设备进行数据通信。

  开发板上应用程序是用户进行访问服务或是提供服务的程序[4],如局域网访问服务,或以服务器运行等。

对于局域网访问的应用,可使用开发板上的ftp等;

开发板作为服务器,可以用

  [5]开发板上的httpd提供web服务,也可使用自行编写的TCP的Server端程序。

  5结束语

  本文在对蓝牙协议栈BlueZ分析的基础上,将BlueZ成功移植到S3C2410开发板上,建立了嵌入式蓝牙应用开发平台,并提出了用BlueZ开发蓝牙应用程序的基本思路。

BlueZ的移植在蓝牙系统开发中具有重要的作用。

文中介绍的方法已成功应用于嵌入式信息家电蓝牙网关系统中。

实践证明,以上方法切实可行,具有实际意义。

  本文作者创新点:

在系统的底层上对蓝牙协议栈BlueZ的结构进行分析,总结在该协议栈下进行编程的思路,并在S3C2410开发板实现移植及开发。

  参考文献

  [1]InternetReference:

B1ueZprotocolstack,http:

//www

  [2]InternetReference:

BSIG.SpecificationoftheBluetoothSystem(Core)

  [EB/OL]./.Nov.XX

  [3]SamsungElectronicData

  [4]DavidKammer著,李静等译.蓝牙应用开发指南-近程互连解决方案[M].北京:

科学

  出版社,XX

  [5]马洪连,丁男,林晓惠.基于S3C2410的烟气采样控制系统的设计与实现.微计算机信

  息,XX(4):

107~109

  作者简介:

欧阳鑫(),男,汉族,硕士,讲师,研究方向为嵌入式应用;

E-mail:

kmoyx@;

于红岩(),女,汉族,在读硕士研究生,研究方向为嵌入式技术与计算机控制;

吕杨(),教授,研究方向为嵌入式技术与计算机控制。

  Authorbriefintroduction:

OuYangxin(),Male,Hannation,GraduateStudent,Teacher,mainresearchfield,embeddedtechnologyapplication;

YuHongyan,Female,GraduateStudent,mainresearchfield,embeddedtechnologyandcomputercontrolsystem;

LvYang,Femail,Professor,mainresearchfield,embeddedtechnologyapplicationandcomputercontrolsystem。

  篇三:

智能手环开发方案--蓝牙通讯协议

  智能手环开发方案--蓝牙通讯协议

  深圳智能手环方案公司《酷点网络》定制手环方案,本文档针对手环显示,控制的需求说明。

  编写目的

  本协议针对智能手环显示,控制的需求说明,供开发人员,测试人员,美工参考。

  项目术语

  数据库字段全为小写

  参考资料

  手机端app和手环蓝牙模块通讯协议采用10Byte数据传输,1Byte校验码,1Byte

  :

  数据校验方式Byte10=(Byte1+Byte2+Byte3+Byte4+Byte5+Byte6+Byte7+Byte8+Byte9)&

0xFF

  2系统需求

  任务概述

  1,睡眠追踪记录2,运动步数追踪记录3,手机来电提示。

4,手机短信提示。

5,定时定点提醒

  6,手机APP设置手环时间。

  功能描述睡眠追踪记录

  1,手环蓝牙模块1分钟检测到Sensor数据变化在某一区间(代表不运动)时开始进行记录时间A,直到Sensor数据开始变化(1分钟内都在大范围变化)时结束,时间为B。

B-A的时间间隔就为此次睡眠时间。

此时将数据上报给手机端App。

  3,读取历史睡眠记录数

  ,运动步数追踪记录

  1,计步模式两种

  1,按目标计步

  2,随意走动即计步统计2,数据保存

  1,如果到23:

59分目标还未完成,保存目标记步,且自动切换到随意模式。

  定时提醒

  手机到手环蓝牙芯片1秒震动

  手机设置手环时间,日期,星期设置

  1,日期年月日4Byte,数据位的前4个Byte表示,高位为年低位为日。

eg:

XX-10-31数据位表示为:

0x140E0A1F

  20:

0x1414:

0x0E10:

0x0A31:

0x1F

  2,时间2Byte,数据为的后2个Byte表示高位为小时,低位为分钟,eg:

15:

56数据表示为:

0x0F38

  3,秒1Byte

  eg:

30秒数据表示为0x1E

  5,星期几1Byteeg:

星期1,0x01范围:

0x01到0x07

  ,设置闹钟时间。

  ,手机发出,寻找WATCH提示4秒

  ,手环和手机断开后手环是否提示的开关功能

  手环电池电量显示

  手环硬件信息

  手机和手环连上后,手环设置闹钟时间

  名字传输

  智能蓝牙手环方案开发----酷点网络

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1