求十里春风春风十里不如你云资源全集百度资源,骗子路过,谢谢

3623人阅读
android应用(2)
& & 如果你还没有看上一篇&,你就先看看吧,因为这一篇要接着讲搜索到蓝牙后的连接,和连接后的发送和接收数据。
& & 评论里有很多人问如果一条信息特别长,怎么不丢包,或者怎么判断一个完整的信息发送完了呢。我写的时候连的串口是我们公司硬件工程师设计的,他定义好了信息的格式,什么字符开头,什么字符结尾,中间哪几位代表什么意思,我如果不能成功取到一对开头和结尾并且长度也符合我就会丢弃那点信息,取得的完整信息则会根据硬件工程师的文档取出app相应地方用到的相应信息,嗯,就是这样。如果你不知道一个串口发给你什么信息,那一定是你拿来玩的串口,工作中用到的都是定制的,不然连接串口干什么呢。
& & 我的基本实现就是所有蓝牙操作都写在BluetoothController中,他有消息要发送时发送到BLEService中,service再发广播提示MainActivity更新页面。好了,切入正题。。
& & 1,连接
& & 首先点击搜索到的蓝牙的listview,连接点击的那个蓝牙:
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView&?& arg0, View arg1, int index,
long arg3) {
BluetoothController.getInstance().connect(list.get(index));
});connect方法仍然写在controller中,那个与蓝牙控制类。/**
* 连接蓝牙设备
* @param device
待连接的设备
public void connect(EntityDevice device) {
deviceAddress=device.getAddress();
deviceName=device.getName();
BluetoothDevice localBluetoothDevice = bleAdapter
.getRemoteDevice(device.getAddress());
if (bleGatt != null) {
bleGatt.disconnect();
bleGatt.close();
bleGatt = localBluetoothDevice.connectGatt(App.app, false,
bleGattCallback);
}bleGatt是与蓝牙沟通的控制类,系统自带的BluetoothGatt类,它可以连接,断开某设备,或者获取服务,写数据。蓝牙有很多服务,但我们要找那个可读写的服务,下面会有查找服务。
你应该注意到bleGattCallback,BluetoothGattCallback,也是系统自带的类,是连接回调类,连接后出现什么情况怎么处理就在这里了。它有很多方法需要重写,我们只重写两三个。关于连接我们需要重写的是onConnectionStateChange(BluetoothGatt paramAnonymousBluetoothGatt, int oldStatus,int newStatus),第一个参数不用管,我也不知道是什么,第二个参数是原来的状态,第三个参数是后来的状态,这本来就是状态改变回调方法嘛。对了,0表示未连接上,2表示已连接设备。当成功连接后我们要更新界面,未连接也要更新,因为可能是连接过程中意外中断,也可能有意中断,提醒下亲爱的用户还是比较好的。
* 连接状态改变
public void onConnectionStateChange(
BluetoothGatt paramAnonymousBluetoothGatt, int oldStatus,
int newStatus) {
if (newStatus == 2)// 已连接状态,表明连接成功
Message msg=new Message();
msg.what=ConstantUtils.WM_BLE_CONNECTED_STATE_CHANGE;
Bundle bundle=new Bundle();
bundle.putString(&address&, deviceAddress);
bundle.putString(&name&, deviceName);
serviceHandler.sendMessage(msg);
paramAnonymousBluetoothGatt.discoverServices();
//连接到蓝牙后查找可以读写的服务,蓝牙有很多服务
if (newStatus == 0)// 断开连接或未连接成功
serviceHandler.sendEmptyMessage(ConstantUtils.WM_STOP_CONNECT);
paramAnonymousBluetoothGatt.disconnect();
paramAnonymousBluetoothGatt.close();
}这样连接状态改变的消息就发到了service, service接收到消息后发广播提醒界面更新
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case ConstantUtils.WM_BLE_CONNECTED_STATE_CHANGE:// 连接上某个设备的消息
Bundle bundle = (Bundle) msg.
String address = bundle.getString(&address&);
String name = bundle.getString(&name&);
// 连接状态改变广播
Bundle bundle1 = new Bundle();
bundle1.putString(&address&, address);
bundle1.putString(&name&, name);
Intent intentDevice = new Intent(
ConstantUtils.ACTION_CONNECTED_ONE_DEVICE);
intentDevice.putExtras(bundle1);
sendBroadcast(intentDevice);
case ConstantUtils.WM_STOP_CONNECT:
Intent stopConnect = new Intent(
ConstantUtils.ACTION_STOP_CONNECT);
sendBroadcast(stopConnect);
然后主界面MainActivity接收到广播后更新页面。如果是连接就把连接的设备地址打印出来,如果是断开了,就清除打印并且弹一个toast.当然这些代码在一个receiver中。
else if (intent.getAction().equalsIgnoreCase(ConstantUtils.ACTION_CONNECTED_ONE_DEVICE)){
connectedDevice.setText(&连接的蓝牙是:&+intent.getStringExtra(&address&));
else if (intent.getAction().equalsIgnoreCase(ConstantUtils.ACTION_STOP_CONNECT)){
connectedDevice.setText(&&);
toast(&连接已断开&);
}为了测试断开,我关了蓝牙,你可以试试。
2,接收数据
& 首先你需要下载一个串口助手,可以看到串口接收到的数据,也可以通过串口发送数据到跟他连接的设备。
& 查看接收到的数据只需要重写上面串口回调BluetoothGattCallback的一个方法,public void onCharacteristicChanged(BluetoothGatt paramAnonymousBluetoothGatt, &BluetoothGattCharacteristic paramAnonymousBluetoothGattCharacteristic)&
* 与蓝牙通信回调
public BluetoothGattCallback bleGattCallback = new BluetoothGattCallback() {
* 收到消息
public void onCharacteristicChanged(
BluetoothGatt paramAnonymousBluetoothGatt,
BluetoothGattCharacteristic paramAnonymousBluetoothGattCharacteristic) {
byte[] arrayOfByte = paramAnonymousBluetoothGattCharacteristic
.getValue();
if(BluetoothController.this.serviceHandler!=null){
Message msg=new Message();
msg.what=ConstantUtils.WM_RECEIVE_MSG_FROM_BLE;
//byte数组转换为十六进制字符串
msg.obj=ConvertUtils.getInstance().bytesToHexString(arrayOfByte);
BluetoothController.this.serviceHandler.sendMessage(msg);
//也可以先打印出来看看
Log.i(&TEST&,ConvertUtils.getInstance().bytesToHexString(arrayOfByte));
}接下来的操作还是一样,接受到数据发消息到service,service发广播更新到activity界面。
byteToHexString是把byte数组转化成16进制的数值的字符串。
3,发送数据
在输入框上填入要发送的数据,点按钮发送数据
btnSend.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
String str=editSend.getText().toString();
if(str!=null&&str.length()&0){
controller.write(str.getBytes());
toast(&请填上要发送的内容&);
});发送方法也在controller中
* 传输数据
* @param byteArray
public boolean write(byte byteArray[]) {
if (bleGattCharacteristic == null)
if (bleGatt == null)
bleGattCharacteristic.setValue(byteArray);
return bleGatt.writeCharacteristic(bleGattCharacteristic);
* 传输数据
* @param byteArray
public boolean write(String str) {
if (bleGattCharacteristic == null)
if (bleGatt == null)
bleGattCharacteristic.setValue(str);
return bleGatt.writeCharacteristic(bleGattCharacteristic);
}这里又用来了一个新类,BluetoothGattCharacteristic,他封装了要发送数据,通过bleGatt发送就可以了,bleGatt管的就是连接,断开连接和发送。
最后,一定不要忘了蓝牙的服务,蓝牙有很多服务,要找到我们要的,你怎么知道要那个服务呢,把每个服务的属性都打印出来,你就发现只有一个服务的属性是可读可写的,找到它赋值给数据封装类bleGattCharacteristic就行了。
重写回调的onServicesDiscovered(BluetoothGatt paramAnonymousBluetoothGatt, int paramAnonymousInt)方法发现服务。
public void onServicesDiscovered(
BluetoothGatt paramAnonymousBluetoothGatt, int paramAnonymousInt) {
BluetoothController.this.findService(paramAnonymousBluetoothGatt
.getServices());
* 搜索服务
* @param paramList
public void findService(List&BluetoothGattService& paramList) {
Iterator localIterator1 = paramList.iterator();
while (localIterator1.hasNext()) {
BluetoothGattService localBluetoothGattService = (BluetoothGattService) localIterator1
if (localBluetoothGattService.getUuid().toString()
.equalsIgnoreCase(ConstantUtils.UUID_SERVER)) {
List localList = localBluetoothGattService.getCharacteristics();
Iterator localIterator2 = localList.iterator();
while (localIterator2.hasNext()) {
BluetoothGattCharacteristic localBluetoothGattCharacteristic = (BluetoothGattCharacteristic) localIterator2
if (localBluetoothGattCharacteristic.getUuid().toString()
.equalsIgnoreCase(ConstantUtils.UUID_NOTIFY)) {
bleGattCharacteristic = localBluetoothGattC
bleGatt.setCharacteristicNotification(bleGattCharacteristic, true);
public final static
String UUID_SERVER=&0000ffe0-00-fb&;
public final static
String UUID_NOTIFY=&0000ffe1-00-fb&;
到哪儿都一样。
如果你看到这儿了,恭喜你,下面都是必备干货:
代码就是这样,包括上次的搜索都在下面的连接里,里面有.apk文件,你先跑跑看效果,还有串口助手exe文件,还有es里的代码,还有串口怎样使用,怎样配置,我真是太贴心了。
/s/1geCKYJL
(不要忘了在manifest中加一个权限,为了兼容6.0以上手机:
&uses-permission-sdk-23 android:name=&android.permission.ACCESS_COARSE_LOCATION&/&
对了,前几篇文章怎么没人拍砖呢,让我看看哪里不对了好改呀,实在找不到不对的,怎么也没人说句好听的呢?总之,怎么一点互动都没有呢,唉。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6290次
排名:千里之外
评论:30条
(1)(1)(4)(2)(1)Android蓝牙串口调试助手源码 蓝牙通信源码+蓝牙串口模块 - 单片机论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
Android蓝牙串口调试助手源码 蓝牙通信源码+蓝牙串口模块
23:07:25  
33915&查看
功能跟传统的、电脑上的串口调试助手功能一样,只要配合“蓝牙串口模块”,就可以让串口调试这一工作在你的Android只能设备上进行!软件的具体功能可以免费下载试用:[url=]/archives/1303[/url]本软件基于Android 2.3.4版本,更高版本的可能遇到BUG,兼容情况大家可以亲自测试软件兼容性之后再决定是否购买,小店只是帮朋友代卖,不提供代码修改服务也不会改Android代码!如果想参考本软件的源码,需要购买……代码是小林童鞋辛辛苦苦一点点敲出来的,希望理解。(小林是谁?曾经的PS Vita破解者,UNO的漏洞就是他找到并发布的;掌柜的朋友;技术宅一枚……这里出售源码的收入将付给他用以维持[url=]【小林博客】[/url])
此处出售的是该软件的源码,由[url=]小林[/url]编写……不用担心版权之类的问题,[url=]/archives/1303[/url]这里是他关于此软件的介绍和授权。蓝牙模块从机HC-06
主机和从机的区别
主机只能与从机配对,适合两个设备直接通过蓝牙串口通信,如单片机与单片机之间,有线串口跟单片机间等,使用方法与串口一样;
从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、PDA、PSP等智能终端配对,从机之间不能配对。
主机和从机之间只能一对一进行配对。 特别注意;以下均为错误的连接方法:以下情况不属产品质量问题,均为接线错误导致,不保修不退换:
1、自收自发测试成功后,使用中造成TXD或RXD跟地短路的
2、模块接反电源导致损坏的以下为蓝牙模块使用相关视频链接,复制至浏览器地址栏即可打开
蓝牙模块与电脑配对:[url=]/v_show/id_XNDExNTc4MDg0.html[/url]
蓝牙模块与WM手机配对:[url=]/v_show/id_XNDExNTg3MjI4.html[/url]
蓝牙模块与安卓手机配对:[url=]/v_show/id_XNDExNTg2NjEy.html[/url]
蓝牙模块与单片机(实例为arduino控制器,可以认为是你的单片机)做无线串口通信:[url=]/v_show/id_XNDExNTY3MDQw.html[/url]产品图片:产品特性:
1、核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接,KEY引脚对从机无效
2、led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口
3、底板3.3V LDO,输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!
4、接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!
5、空旷地有效距离10米,超过10米也是可能的,但不对此距离的连接质量做保证
6、配对以后当全双工串口使用,无需了解任何蓝牙协议,但仅支持8位数据位、1位停止位、无奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。
7、在未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式
8、体积小巧(3.57cm*1.52cm),工厂贴片生产,保证贴片质量。并套透明热缩管,防尘美观,且有一定的防静电能力。
9、该链接为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、PDA、PSP等智能终端配对,从机之间不能配对。小常识(非常重要):
TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。
RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。
正常通信时候本身的TXD永远接设备的RXD!
自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。
22:22:32  
顶一个,{:12:}{:12:}{:12:}
大家顶起走啊
助理工程师
18:51:14  
谢谢分享{:3:}{:3:}{:3:}{:3:}
14:08:21  
看看啦{:3:}
14:34:04  
想楼主学习啊,谢谢分享
10:03:55  
谢谢分享,学习了
08:05:11  
很好的分享,可以学习学习
20:50:12  
怎么找不到下载地址?
10:21:24  
怎么好像在淘宝上看见过?
21:46:33  
顶一个走起
17:24:07  
本帖最后由 chenhuawbab 于
17:29 编辑
不错,有没有蓝牙模块的串口协议,交流下。
等待验证会员
14:55:52  
学习学习顶起
21:44:12  
本帖最后由 我的蓝牙 于
21:46 编辑
我要买这个的源代码,怎么买?我QQ:
13:58:43  
蓝牙串口模块主要有蓝牙低功能耗应用、智能穿戴两方面应用,喆华电子两方面都有涉及
(24.48 KB, 下载次数: 7)
13:53 上传
蓝牙串口模块
17:07:32  
好像没有下载地址的?
23:13:36  
谢谢,看看情况呗
Powered by查看: 20438|回复: 640
分享下WIFI串口调试助手!手机程序!
SRC_747.jpg (267.53 KB, 下载次数: 228)
12:21 上传
SRC_035.jpg (253.85 KB, 下载次数: 150)
12:21 上传
SRC_958.jpg (196.9 KB, 下载次数: 152)
12:21 上传
SRC_025.jpg (317.43 KB, 下载次数: 130)
12:21 上传
WIFI串口助手简介:
WIFI串口助手是一款基于WIFI串口服务的传输软件,通过该软件可以连接WIFI串口模块进行通信,实现手机串口连接。类似计算机的串口助手,是电子工程师的开发利器。该软件有以下功能:
1.wifi串口分为客户模式与服务端模式
2.发现和连接WIFI串口模块
3.接收和发送数据
4.可选择文本显示或者是HEX十六进制显示
5.发送十六进制数据
(379.2 KB, 下载次数: 331)
12:25 上传
点击文件名下载附件
下载积分: 黑币 -5
(479.94 KB, 下载次数: 1330)
12:25 上传
点击文件名下载附件
下载积分: 黑币 -5
共享资料的黑币奖励!
共享资料的积分奖励!
共享资料的积分奖励,希望大家多多发布各种.
 51黑有你更精彩!!
 呼呼~~~~看看~~~
配合wifi接收模块使用& &也可以做聊天使用~!
这么好的东西
要是有源码就好了
谢谢分享!!!
叼,就差这个软件
谢谢分享。这个很好,。
wgz围观中。。。。。。。。。。。。。。。。
对我很有用~下载试试
这个有意思
我正好需要
这么好的东西
感谢楼主分享
丁丁 ,楼主的飞行很好用
多谢楼主的手机上位机,很好用,给个大大的赞
多谢楼主的分享,很好用的手机上位机软件
急需要这个,看看合不合用。
分享下WIFI串口调试助手!手机程序
谢谢分享,正需要呢
哈哈哈和哈哈哈
下载是不是能用
牛人大作啊 值得仔细研读.
看看内容再说了
好东西,先看看。
 haodongxi
Powered by蓝牙串口调试助手
下载 / 0人评论
用户对 蓝牙串口调试助手 的评论
亲,想发表评论请下载哦~
我们的产品
客服邮箱:
24小时举报电话号码:
微博/微信合作QQ:
网游玩家客服QQ:
广告合作QQ:
单机合作QQ:
网游合作QQ:北区
北京掌汇天下科技有限公司 版权所有
京公网安备39号|

我要回帖

更多关于 求春风十里不如你全集 的文章

 

随机推荐