更全的杂志信息网

基于Android平台的蓝牙及GPS驱动设计与实现

更新时间:2009-03-28

本文研究内容主要是实现NL5500蓝牙模块在Android系统上的底层驱动实现。采用以TCC8900处理器为核心的开发板和Ti公司NL5500蓝牙芯片作为硬件设备,开发板和蓝牙芯片实验板通过串口进行通信。通过在计算机上利用测试软件对蓝牙模块进行测试,获取必要的参数信息。在系统底层驱动上实现串口驱动和GPS数据接收格式解析。

此事,又见于《淮南子·道应》《新序·杂事》《史记·宋世家》等。这段记载再一次提到了“心者,宋之分野也”,此外,文中提到的子韦,《汉书·艺文志》“阴阳家”类著录:“《宋司星子韦》三篇。(景公之史)”《史记·天官书》称:“昔之传天数者……于宋子韦。”宋国是殷人后裔微子所建,由此进而可以推想当年殷商天文之学的些许端倪。

1. 整体系统架构

1.1 整体硬件系统框架

整个系统由FLC-DMP533开发板与NL5500蓝牙模块实验板通过串口连接搭建而成。系统框架如下图1所示。

一是加强工业点源治理。工业企业均实现了达标排放。二是加快生活污水处理设施的建设。城区生活污水处理率达到98%,镇区生活污水处理率达到80%,农村污水处理率达到41.8%。三是强化农业污染综合治理。执行规模化养畜禽养殖禁养区制度,对42家规模化养殖场,实施雨污分流、固液分流、粪便处理和污水处理等限期治理;推进化肥、农药减量化措施,稻麦测土配方施肥面积达到95%,配方肥使用占65%,化肥使用强度204.1 kg/hm2,水稻生物农药防治覆盖面达到100%,生物及生物源农药使用占46%;秸秆综合利用率98%;塘循环水养殖率达到50%。

  

1 系统设计平台连接示意图

1.2 整体软件系统框架

软件以基于Linux内核的Android操作系统为应用平台,整体框架如图2所示。

启动hciattach服务的函数是在硬件适配层的bluetooth.c文件中的bt_enable()函数,它将通过调用property_set("ctl.start", "hciattach")语句而实现。同时,需要调用命令,使hciattach层能够与串口进行数据通信连接。hciattach守护进程运行在BlueZ核心子系统当中,它主要的一个任务是将命令语句中选定的实际硬件串口驱动添加到内核。调用的命令通过在文件init.tcc92xx.rc中配置实现,命令为:

2 串口驱动程序设计

  

2 软件设计框架示意图

本设计方案使用UART0_TXD向蓝牙模块发送初始化和控制指令,同时UART0_RXD接收蓝牙模块发送过来的数据或者一些指令,实现蓝牙和开发板通信功能。为进行串口驱动的设计实现,主要需要完成的工作如下:

在Hciattach_ti.c文件中调用texas_init()函数,在该函数中添加以下2条语句

万物皆被设计,社会进入了场景设计力时代,电商场景的数据化、场景化,旨在建立每个人都不能置身事外的新型社会关系。

2)在模块初始化调用uart_register()和uart_add_one_port用来注册UART驱动并添加相应端口,在模块卸载时调用uart_unregister_driver()和uart_remove_one_port()用来注销UART驱动以移除端口。

(3)通过hciattach机制实现串口和蓝牙协议层两者之间的连接通道,从而实现数据从底层到上层的传输。

3 蓝牙驱动分析与实现

当前,部分企业为了实现企业经济效益的最大化,尽可能最大程度化满足消费者的实际需求。通常情况下,会将电气自动化控制设备应用到具体的生产环节当中,提高电气自动化控制设备的实际运行效率,提高电气企业的实际生产效率,加大对生产产品的科技投入,提高产品的科技含量。因此,基于当前企业发展的需要,只有不断提升电气自动化控制设备的可靠性,才能够有效的保证其设备的运行效率,提高生产企业的产品服务质量,进而提升产品生产企业的经济效益。

(1)蓝牙和开发板之间通过串口连接通信,对于蓝牙模块而言,数据先从串口驱动发出,通过ldisc进入到蓝牙的hci_uart层,然后再继续向上通过上面的协议层。

其次,当前电子商务专业培养出来的学生,往往更加侧重于运营管理,匮乏懂技术又懂运营管理的复合型电子商务人才。其对于云计算、大数据、物联网、云媒体等新一代信息技术运用相对陌生或不了解,尤其现在的大数据对于经济发展具有重要的风向标作用,缺乏对大数据的收集和分析能力,导致不能紧跟互联网发展的大潮流,使得电子商务的发展出现一定的滞后性,人才因素已经成为阻碍宿迁市电子商务发展的重要因素。

华中师大杨道麟教授在提交的《文字作品中的“美丽中国”解读——学习十八大精神的一点体会》论文中论述了文字作品呈现的中国的自然美、社会美、艺术美和科学美,指出,党的十八大报告提出的“美丽中国”这一热词,是一个十分精当的美学表述,从美学的意义上阐发“美丽中国”,不仅有助于对“美丽中国”的准确把握,还有助于对“美丽中国”的深刻理解。

3)根据开发板相应的配置设计tcc_serial_ops结构体中的成员函数,这些函数包括读和写,启动和关闭等操作函数,而这些函数将通过对串口的操作实现串口驱动的主体工作。

3.1 蓝牙模块初始化

(1)在BlueZ编译配置时需要开启对蓝牙功能的支持,通过在BoardConfig.mk中进行设置。配置语句为BOARD_HAVE_BLUETOOTH := true。

(2)蓝牙模块初始化,包括蓝牙模块的上电,以及下载固件,固件是由芯片厂家提供的Ti.bts文件。

(2)打开蓝牙电源,通过硬件适配层bluetooth.c文件中的init_rfkill()函数调用使其上电。

蓝牙驱动过程主要实现的是处理器和蓝牙模块之间的接口,以及在这个接口上数据的传输过程。其步骤主要有如下三点:

(3)下载Ti.bts固件,固件将完成对蓝牙模块一些初始化的设置工作。

1)定义uart_driver、uart_ops、uart_port等结构体的实例,并封装在serial_core.c接口函数中,实现初始化。根据开发板原来的设计方式,将这些结构体套在了新定义的static struct uart_driver tcc_uart_drv,static struct uart_ops tcc_serial_ops,struct tcc_uart_port函数当中。

bts_file = "/nand/Ti.bts";

n = brf_do_script(fd, ti, bts_file);

通过此语句的调用则会利用拷入开发板NAND区域里的Ti.bts文件对蓝牙模块的硬件配置进行初始化。

3.2 启动HCIATTACH服务

本文分析与研究是以Android操作系统平台以及BlueZ蓝牙主流开源协议为基础,根据硬件设备的特点和实际应用,对底层软件进行研究和改进。在底层软件的实现中,串口驱动、蓝牙驱动以及GPS数据解析为本次设计的重点。下面将分别就这三方面进行分析。

service hciattach /system/bin/hciattch -n -s 115200 /dev/tcc-uart1 texas 115200

user bluetooth

综上所述,在临床护理教学中采用CPBL教学模式,力求提高临床护理教学质量,为CPBL教学法在临床护理学中广泛应用提供参考。

The teacher gives the students different tasks according to their interests,levels,need and strategies.So the students can improve in the field they like.With the development of their language skills and competence,they can be encouraged to enlarge their interestsand need.

通过多种业务渠道,支持驻地小微企业、实体经济发展,并形成包括抵押、信用、保证等担保方式在内的一套完善的产品体系。截至2018年9月末,恒丰银行昆明分行普惠型小微企业贷款在全行贷款占比大幅提高,业务增长率高达48%。此外,恒丰银行昆明分行还积极响应国家号召,迅速出台无还本续贷政策,并大幅降低小微企业贷款利率,免除小微企业抵押物评估费、公证费等,切实减轻小微企业融资成本,用实际行动执行党中央的决策部署。

group bluetooth net_bt_admin

disabled

在初始化完成之后,检测HCI是否成功开启,可利用hciconfig hci0 up命令查看。

3.3 数据在驱动中的传递流程

在serial_core.c文件中通过触发调用uart_open()函数,进而调用uart_startup()函数,该函数将会调用tcc_serial.c文件中的tcc_serial_startup()函数,在该函数当中包含一条中断号的申请和中断处理函数的设置,中断函数tcc_serial_interrupt()会接收到来自于蓝牙模块的数据。

4 GPS协议转换及处理

NL5500芯片采用的AI2的数据格式,为了进一步解析出经纬度,时间等实时信息,需要转换成工业标准的接收机信号输出协议NMEA数据格式。

NMEA数据解析的工作在nmea_reader_parse()函数中进行。

5 测试结果

1) 通过hciattach命令查看蓝牙驱动是否开启。

2) 通过hciconfig和hcitool命令查看结果,显示蓝牙模块信息以及搜寻到的蓝牙设备。

3)对GPS功能部分进行测试,在安装了天线之后,将获取到的是解析后的实时数据,如图3所示,获取到经纬度,时间等实时的信息。

  

3 GPS数据解析测试结果

6 结论

本文主要实现蓝牙模块NL5500芯片在Android平台上的移植。通过修改内核代码实现包括串口驱动、蓝牙驱动以及GPS驱动的底层软件设计。所实现的驱动开发具有实际的工程应用和市场价值。

参考文献

〔1〕单李旺.Android操作平台的研究与应用〔D〕.天津:南开大学,2009.

〔2〕刘俊贤.基于Android平台的桥梁监测终端应用程序设计与开发〔D〕.西安:西安科技大学,2011.

〔3〕王园园.基于Linux的工业控制终端的设计与开发〔D〕.杭州:杭州电子科技大学,2010.

〔4〕李佳骏.Android Activity生命周期解析〔J〕.北京:计算机光盘软件与应用,2011,(10).

〔5〕刘晓晨.蓝牙射频自动测试系统的设计〔D〕.北京:北京邮电大学,2010.

〔6〕刘国锦等. GPS远端定位监控系统的设计〔J〕.电子工程师,2007,(8).

 
姬翔宇
《辽宁科技学院学报》2018年第01期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号