CN102170679B - 基于Android系统的多机蓝牙群通信方法 - Google Patents
基于Android系统的多机蓝牙群通信方法 Download PDFInfo
- Publication number
- CN102170679B CN102170679B CN 201110140972 CN201110140972A CN102170679B CN 102170679 B CN102170679 B CN 102170679B CN 201110140972 CN201110140972 CN 201110140972 CN 201110140972 A CN201110140972 A CN 201110140972A CN 102170679 B CN102170679 B CN 102170679B
- Authority
- CN
- China
- Prior art keywords
- equipment
- bluetooth
- main equipment
- data
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于Android系统的多机蓝牙群通信方法,主要解决现有移动G网或C网在弱信号区域数据通信质量差,通信费用高的问题。其实现步骤为:Android主、从设备开启蓝牙,主设备创建蓝牙适配器BluetoothAdapter,搜索周边从设备,主、从设备匹配连接,组建蓝牙微微网;主设备为每个从设备建立一个线程Thread,监听通信请求,每个从设备响应主设备建立的Thread线程,发起通信请求;主、从设备进行数据的发送与接收,并将收、发的数据信息即时更新到各自的消息界面上。本发明具有通信零费用,在弱信号区域通信效果好,且不需第三方介入的优点,适宜于短距离智能手机的数据通信。
Description
技术领域
本发明属于通信技术领域,涉及数据信息的传输,具体的说,是一种基于Android系统的多机蓝牙群通信方法。
背景技术
蓝牙,是一种支持设备进行短距离通信的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用蓝牙技术,能够有效地简化移动通信终端设备之间的通信、设备与Internet之间的通信,从而使数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,工作在全球通用的2.4GHz ISM,即工业、科学、医学频段,其数据传输速率理论最高为1Mbps。
蓝牙支持点对点及点对多点通信,在任意一个有效通信范围内,所有设备的地位都是平等的,首选提出通信要求的设备定为主设备,被动通信的设备为从设备。通过时分多址TDMA方式,1台主设备最多可同时与7台从设备进行通信,并可和更多个从设备保持同步。一台主设备和一台以上的从设备构成的网络成为微微网。
目前Android手机端的数据通信主要通过短信系统来实现。短信是伴随数字移动通信系统而产生的一种电信业务,通过移动通信系统的信令信道和信令网,传送文字或数字短信息,属于一种非实时的、非语音的数据通信业务,具有信息传递准确可靠、迅速及时等优点。但是,这种数据通信方式具有如下问题:
1.手机端的短消息通信为非实时通信,无法实现群组实时通信;
2.通过运营商进行短消息通信会产生费用问题;
3.在移动G网或C网信号弱的区域进行通信时,会严重影响数据通信质量;
4.通过运营商进行短消息通信会带来诸如信息泄露等潜在的安全问题。
发明内容
本发明的目的在于避免以上已有技术的不足,提出一种基于Android系统的多机蓝牙群通信方法,以提高移动G网或C网弱信号区域的数据通信质量,实现数据通信零费用的Android群通信。
本发明的技术方案是基于Android系统构造蓝牙微微网,通过多线程方法,实现多机群通信。Android系统作为主流的操作系统,以其低廉的价格、系统开源、机型多、硬件配置占优等优点,在Google及摩托罗拉、三星、HTC、LG、Lumigon等加盟厂家的鼎力支持下,以逐步占据相当大的市场份额。本发明正是利用Android系统的这些优点进行具体的蓝牙网络构建与通信,其实现步骤包括如下:
(1)设置Android群通信主设备与从设备,开启主、从设备的蓝牙使用权限;创建主设备的蓝牙适配器BluetoothAdapter,作为所有蓝牙交互的入口,为搜索周边蓝牙从设备做好准备;
(2)通过主设备搜索其周边从设备,显示在主设备界面上,并由主设备向从设备发起蓝牙连接请求,若是第一次与该从设备进行连接,则先进行主、从设备的信息匹配,接收从设备的反馈信息并保存;反之,则创建一个列表,用来显示已经匹配好了的从设备,从中选取要通信的从设备,直接使用蓝牙API进行连接;
(3)主、从设备信息匹配、连接成功后,主设备为每一个从设备建立一个通信线程Thread,并通过调用Android系统自带的ListenUsingRfcommWit-
hServiceRecord方法,获取蓝牙服务套接字BluetoothServerSocket,以监听从设备的通信请求;
(4)每一个从设备都调用Android系统自带的CreateRfcommSocketToSe-
rviceRecord方法,获取蓝牙套接字BlueSocket,以管理从设备当前的连接信息;每一个从设备都响应主设备建立的通信Thread线程,并向主设备发起通信请求;当主设备监听到从设备的通信请求并接受后,开始进行数据通信;
(5)主设备进行数据的读取接收与广播转发,并将数据信息更新到消息界面中;
(6)每一个从设备进行数据信息的发送与接收,并对数据信息更新到各自的消息界面中。
本发明基于Android系统,具有如下优点:
本发明由于利用蓝牙无线技术与多线程技术,通过组建蓝牙微微网进行点对多点的无线连接,实现了Android多机群通信,即可提供最多8人进行实时群组数据通信,并且在诸如隧道和郊区这些移动G网或C网信号较弱的区域,可以进行高质量的群组通信,有效的弥补了移动G网或C网的不足之处;
同时由于本发明利用了蓝牙技术的开放、免费特性,故不需任何的通信费用;
此外由于本发明利用蓝牙技术进行通信,不需要第三方介入,有效的避免了信息泄露问题。
附图说明
图1是本发明的基于Android系统的多机蓝牙群通信流程图。
具体实施方式
以下参照附图对本发明作进一步详细描述:
一、本发明所应用的技术理论说明:
1、蓝牙微微网
蓝牙提供点对点和点对多点的无线连接,在任意一个有效通信范围内,网络内所有设备的地位都是平等的,首先提出通信请求的设备定为主设备,被动进行通信的设备为从设备,通过时分多址TDMA方式,1台主设备最多可同时与7台从设备进行通信,并可和更多个从设备,最多256个保持同步但不进行通信。一台主设备和一台以上的从设备构成的网络称为蓝牙微微网。
2、通用唯一识别码UUID
通用唯一识别码UUID是指在一台机器上生成的128位字符串,代表了主、从设备连接的一个标识,它由当前日期和时间、时钟序列、全局唯一的机器识别号三部分组成,对在同一时空中的所有机器都是唯一的。
二、本发明的具体实现
参照图1,本发明的具体实现步骤如下:
步骤一,Android主、从设备的初始蓝牙设置。
(1.1)设置Android主设备与从设备的蓝牙使用权限,若主、从设备的蓝牙使用权限未开启,则通过以下程序代码来开启,以确保主、从设备对蓝牙的支持:
<uses-permission android:name=″android.permission.BLUETOOTH″/>
<uses-permission android:name=″android.permission.BLUETOOTH_ADMIN″/>;
(1.2)主设备通过调用系统静态方法getDefaultAdapter(),自动生成蓝牙适配器BluetoothAdapter,作为所有蓝牙交互的入口,为搜索周边蓝牙从设备做好准备。
步骤二,Android主、从设备的匹配连接。
(2.1)主设备搜索其周边从设备,将搜索结果显示在主设备界面上,由于搜索过程很耗费资源,所以一旦主设备查找到所需的蓝牙从设备,则先停止搜索,然后再向从设备发起连接请求;
(2.2)主设备向从设备发起蓝牙连接请求,若是第一次与该从设备进行连接,则先进行主、从设备的信息匹配,即主设备向从设备发送一个请求匹配的信息,从设备接收到该信息后,反馈自己的姓名、物理MAC地址信息给主设备,主设备将该信息保存,然后创建一个列表,用来显示已经匹配好了的从设备,并从中选取要通信的从设备,使用蓝牙API接口与从设备进行连接;反之,主、从设备不进行信息匹配,主设备直接创建一个列表显示已匹配好的从设备,选取要通信的从设备,使用蓝牙API与从设备进行连接;
步骤三,Android主设备建立多线程,监听通信请求。
(3.1)主、从设备信息匹配、连接成功后,主设备通过调用Android系统自带的ListenUsingRfcommWithServiceRecord方法,获取蓝牙服务套接字BluetoothServerSocket,用来监听从设备的通信请求,该ListenUsingRfcommWithServiceRecord方法包含String和UUID两个参数,其中参数String代表了此次通信的名称,UUID为主设备的通用唯一识别码;
(3.2)当监听到一个通信请求并接受后,则关闭监听程序,并为每一个从设备建立一个通信线程Thread,用于进行数据通信。
步骤四,Android从设备响应多线程,发起通信请求。
(4.1)每一个从设备都调用Android系统自带的CreateRfcommSocket-
ToServiceRecord方法,获取蓝牙套接字BlueSocket,以管理当前主、从设备间的连接;该CreateRfcommSocketToServiceRecord方法包含一个参数,即从设备的UUID,此处的UUID与主设备的UUID相同;
(4.2)每一个从设备在获取蓝牙套接字BlueSocket之后,都向主设备发起通信请求,并响应主设备建立的通信线程Thread;
(4.3)当主设备监听到从设备的通信请求并接受,且从设备响应了主设备建立的通信线程Thread后,主、从设备之间开始进行数据通信。
步骤五,Android主设备的数据收发与消息界面的同步更新。
(5.1)当主设备要接收来自于每一个从设备的数据信息时,调用getInputStream方法不断的获取输入数据流,通过读操作read(byte[])按字节读取输入数据流中的数据;当主设备要发送数据信息给每一个从设备时,通过写操作write(byte[])将数据写入输出数据流,调用getOutputStream方法将输出数据流广播给每一个从设备;
(5.2)主设备将收、发的数据信息即时传送给自身的用户界面进程,通过用户界面进程,将数据传送到自身的消息界面,调用update方法实现对消息界面的同步更新。
步骤六,Android从设备的数据收发与消息界面的同步更新。
(6.1)当每一个从设备要接收来自于主设备的数据信息时,调用getInputStream方法不断的获取输入数据流,通过读操作read(byte[])按字节读取输入数据流中的数据;当每一个从设备要发送数据信息给主设备时,通过写操作write(byte[])将数据写入输出数据流,调用getOutputStream方法将输出数据流发送给主设备;当每一个从设备要发送数据信息给其它从设备时,通过写操作write(byte[])先将数据发送给主设备,主设备用读操作read(byte[])按字节读取该数据信息,然后主设备再用写操作write(byte[])将该数据转发给其它从设备,其它从设备用读操作read(byte[])按字节读取该数据信息;
(6.2)每一个从设备都将收、发的数据信息即时传送给自身的用户界面进程,通过用户界面进程,将数据传送到自身的消息界面,调用update方法实现对消息界面的同步更新。
Claims (6)
1.一种基于Android系统的多机蓝牙群通信方法,包括如下步骤:
(1)设置Android群通信主设备与从设备,开启主、从设备的蓝牙使用权限;创建主设备的蓝牙适配器BluetoothAdapter,作为所有蓝牙交互的入口,为搜索周边蓝牙从设备做好准备;
(2)通过主设备搜索其周边从设备,显示在主设备界面上,并由主设备向从设备发起蓝牙连接请求,若是第一次与该从设备进行连接,则先进行主、从设备的信息匹配,接收从设备的反馈信息并保存;反之,则创建一个列表,用来显示已经匹配好了的从设备,从中选取要通信的从设备,直接使用蓝牙API进行连接;
(3)主、从设备信息匹配、连接成功后,主设备为每一个从设备建立一个通信线程Thread,并通过调用Android系统自带的ListenUsingRfcommWithServic-eRecord方法,获取蓝牙服务套接字BluetoothServerSocket,以监听从设备的通信请求;
(4)每一个从设备都调用Android系统自带的CreateRfcommSocketToSer-viceRecord方法,获取蓝牙套接字BluetoothSocket,以管理从设备当前的连接信息;每一个从设备都响应主设备建立的通信线程Thread,并向主设备发起通信请求;当主设备监听到从设备的通信请求并接受后,开始进行数据通信;
(5)主设备进行数据的读取接收与广播转发,并将数据信息更新到消息界面中;
(6)每一个从设备进行数据信息的发送与接收,并对数据信息更新到各自的消息界面中。
2.根据权利要求1所述的基于Android系统的多机蓝牙群通信方法,其中步骤(2)所涉及的主、从设备的信息匹配,是指主设备中应保存有从设备的姓名、物理MAC地址信息;若没有,则由主设备向从设备发送一个请求匹配的信息,从设备接收到该信息后,反馈自己的姓名、物理MAC地址信息给主设备,主设备将该信息保存。
3.根据权利要求1所述的基于Android系统的多机蓝牙群通信方法,其中步骤(3)所述的蓝牙服务套接字BluetoothServerSocket,是用来监听通信请求的,当监听到一个通信请求并接受时,会生成一个蓝牙套接字BluetoothSocket来管理当前主设备的连接。
4.根据权利要求1所述的基于Android系统的多机蓝牙群通信方法,其中步骤(5)所述的主设备进行数据的读取接收与广播转发,一是指主设备通过读操作读取每一个从设备发送来的数据,并将该数据信息显示到消息界面中;二是指主设备通过写操作将数据广播给其它每一个从设备,并将该数据信息显示到消息界面中。
5.根据权利要求1所述的基于Android系统的多机蓝牙群通信方法,其中步骤(5)和(6)所涉及的将数据信息更新到消息界面中,是指将数据信息传送给主、从设备各自的用户界面进程,通过用户界面进程,将数据传送到主、从设备各自的消息界面,实现对消息界面的更新。
6.根据权利要求1所述的基于Android系统的多机蓝牙群通信方法,其中步骤(6)所述的每一个从设备进行数据信息的发送与接收,一是指每一个从设备都通过读操作读取主设备发送来的数据,并将该数据信息显示到消息界面中;二是指每一个从设备都通过写操作将数据发送给主设备,并将该数据信息显示到消息界面中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110140972 CN102170679B (zh) | 2011-05-28 | 2011-05-28 | 基于Android系统的多机蓝牙群通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110140972 CN102170679B (zh) | 2011-05-28 | 2011-05-28 | 基于Android系统的多机蓝牙群通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102170679A CN102170679A (zh) | 2011-08-31 |
CN102170679B true CN102170679B (zh) | 2013-06-26 |
Family
ID=44491619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110140972 Active CN102170679B (zh) | 2011-05-28 | 2011-05-28 | 基于Android系统的多机蓝牙群通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102170679B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200527B (zh) | 2013-02-27 | 2015-09-16 | 中兴通讯股份有限公司 | 一种语音和/或视频的通讯方法及装置 |
CN103561479B (zh) * | 2013-10-17 | 2017-03-08 | 东软熙康健康科技有限公司 | 一种蓝牙设备通信方法和装置 |
CN104038261B (zh) * | 2014-06-03 | 2016-08-24 | 深圳天珑无线科技有限公司 | 多个设备之间的位置信息管理和共享方法及相关设备 |
CN105634561B (zh) * | 2014-11-03 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 一种信息交互方法及装置 |
CN104378838B (zh) * | 2014-11-11 | 2018-05-25 | 广东欧珀移动通信有限公司 | 一种建立无线连接的方法及装置 |
CN104661229A (zh) * | 2015-02-04 | 2015-05-27 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种降低蓝牙与Wi-Fi工作中互扰的方法 |
CN104615528B (zh) * | 2015-02-09 | 2018-03-09 | 兰州理工大学 | 一种智能手机传感器数据在线采集与实时处理方法 |
CN104780499B (zh) * | 2015-04-01 | 2018-05-08 | 惠州Tcl移动通信有限公司 | 一种基于蓝牙的多设备智能互连方法及系统 |
CN104835304B (zh) * | 2015-05-25 | 2019-01-01 | 中颖电子股份有限公司 | 蓝牙遥控装置及其配置方法 |
CN104994518B (zh) * | 2015-05-26 | 2019-01-22 | 惠州Tcl移动通信有限公司 | 一种用于增强移动设备接收信号的系统及其方法 |
US9794981B2 (en) * | 2015-09-17 | 2017-10-17 | Casio Computer Co., Ltd. | Wireless communication device, electronic timepiece and wireless communication method |
CN105868013B (zh) * | 2016-04-04 | 2019-06-04 | 上海大学 | 一种面向多点续采蓝牙通信的Android线程池设计方法 |
CN107147990B (zh) * | 2017-05-12 | 2019-11-05 | 杭州天宽科技有限公司 | 一种蓝牙设备的通信方法及系统 |
CN107920171A (zh) * | 2017-12-21 | 2018-04-17 | 赛意(上海)信息科技有限公司 | 一种基于智能手机下的App擦肩连接方法及系统 |
CN110853263A (zh) * | 2019-11-15 | 2020-02-28 | 宁波兴为汽车电子有限公司 | 一种车载无线门铃配对方法 |
CN113207114B (zh) * | 2021-05-06 | 2022-10-18 | 南京西觉硕信息科技有限公司 | 蓝牙音频主设备、从设备、蓝牙通信方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807168A (zh) * | 2010-03-15 | 2010-08-18 | 北京航空航天大学 | 一种支持版本兼容的数字终端测试环境及其构建方法 |
CN101872420A (zh) * | 2010-06-10 | 2010-10-27 | 石明霞 | 一种可加密的手写签批移动终端 |
-
2011
- 2011-05-28 CN CN 201110140972 patent/CN102170679B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807168A (zh) * | 2010-03-15 | 2010-08-18 | 北京航空航天大学 | 一种支持版本兼容的数字终端测试环境及其构建方法 |
CN101872420A (zh) * | 2010-06-10 | 2010-10-27 | 石明霞 | 一种可加密的手写签批移动终端 |
Non-Patent Citations (2)
Title |
---|
Design and implementation of heterogeneous network management algorithm;yonghua cheng;《ICSP 2010》;20101203;全文 * |
yonghua cheng.Design and implementation of heterogeneous network management algorithm.《ICSP 2010》.2010, |
Also Published As
Publication number | Publication date |
---|---|
CN102170679A (zh) | 2011-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102170679B (zh) | 基于Android系统的多机蓝牙群通信方法 | |
AU2016313610B2 (en) | Method, device, and system for fast wireless accessory devices pairing | |
WO2020132922A1 (zh) | 一种连接蓝牙设备方法及设备 | |
US9955409B2 (en) | Method and apparatus for device-to-device communication | |
CN103179635A (zh) | 一种基于蓝牙的Android移动设备自组网和通信的方法 | |
CN104300999A (zh) | 一种通过手机实现对讲机功能的外部装置及其控制方法 | |
EP4271123A3 (en) | Rrc connection method and terminal | |
TW200709700A (en) | Method of communicating signals in a mobile communication system | |
WO2018137364A1 (zh) | 数据发送方法、数据发送终端以及基站 | |
CN102036240A (zh) | 将手机信息同步到pc的方法、手机、计算机及网络系统 | |
CN105682255A (zh) | 一种基于无指挥机模式的北斗通信终端自组网技术 | |
CN104363658B (zh) | 直通资源的管理方法和直通资源的管理系统 | |
US9392631B2 (en) | Wireless communication apparatus | |
CN108432311A (zh) | 一种资源请求方法、设备、网络侧节点及系统 | |
WO2014086180A1 (zh) | 一种集群接入网、终端设备和加入集群组的方法 | |
CN103457640A (zh) | 一种快速数据传输方法、系统及移动终端 | |
WO2019201127A1 (zh) | 数据传输方法及装置 | |
CN107231604B (zh) | 一种数字通信方法及系统 | |
CN105246129B (zh) | 一种智能终端的组网方法及装置 | |
CN102137394A (zh) | 网络接入下加密移动通信终端系统及方法 | |
EP3573418A3 (en) | Method of establishing ultra-reliable transmission and user equipment and server using the same | |
CN106792429A (zh) | 用户设备、基站及近距离业务单播通信、资源调度方法 | |
CN108337659B (zh) | 一种传输配置信息、监听消息的方法及设备 | |
CN103634744A (zh) | 一种集群组呼端到端加密的实现方法 | |
CN104166637A (zh) | 一种接收和发送信息的方法、终端以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |