前一篇文章讲述了如何向蓝牙模块发送数据,这一篇讲述如何接收数据,点击开关按钮发送AT指令,模块会返回OK

先做一个广播接收器,按Ctrl+F关注mBluetoothLeService的操作

public class BleAtActivity extends Activity implements View.OnClickListener{private BroadcastReceiver mGattUpdateBroadcastReceiver=new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {String action=intent.getAction();if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action)){mBluetoothLeService.connect(mAddressString);}if (BluetoothLeService.ACTION_DATA_AVAILABLE.equals(action)){displayData(intent.getByteArrayExtra(BluetoothLeService.EXTRA_DATA));}}};}    

其中接收到的数据是byte[]类型,转换成string类型,以吐司的方式显示出来,核心是对bytes的操作

public class BleAtActivity extends Activity implements View.OnClickListener{private void displayData(byte[] buf) {String s =asciiToString(buf);Toast.makeText(this,s,Toast.LENGTH_SHORT).show();}public String asciiToString(byte[] bytes) {char[] buf = new char[bytes.length];StringBuilder sb = new StringBuilder();for (int i = 0; i < buf.length; i++) {buf[i] = (char) bytes[i];sb.append(buf[i]);}return sb.toString();}}    

再做一个过滤器,用于选择与蓝牙有关的广播

public class BleAtActivity extends Activity implements View.OnClickListener{private IntentFilter makeGattUpdateIntentFilter(){IntentFilter intentFilter = new IntentFilter();intentFilter.addAction(BluetoothLeService.ACTION_GATT_CONNECTED);intentFilter.addAction(BluetoothLeService.ACTION_GATT_DISCONNECTED);intentFilter.addAction(BluetoothLeService.ACTION_GATT_SERVICES_DISCOVERED);intentFilter.addAction(BluetoothLeService.ACTION_DATA_AVAILABLE);intentFilter.addAction(BluetoothLeService.ACTION_WRITE_SUCCESSFUL);return intentFilter;}}

注册。上面做了那么多都是为了registerReceiver函数,前面都是初始化,只有这一步是有效操作

public class BleAtActivity extends Activity implements View.OnClickListener{@Overrideprotected void onResume() {super.onResume();registerReceiver(mGattUpdateBroadcastReceiver, makeGattUpdateIntentFilter());if (mBluetoothLeService!=null){mBluetoothLeService.connect(mAddressString);}}@Overrideprotected void onPause() {super.onPause();unregisterReceiver(mGattUpdateBroadcastReceiver);}}

其他部分基本和前一篇没什么区别,其实应该写成一篇,不过考虑到前面一篇那么长,还是分开吧

源码地址

【TL8266】APP接收蓝牙模块发送过来的消息相关推荐

  1. 【TL8266】向蓝牙模块发送AT指令的APP

    前一篇文章写了如何显示BLE设备,在子项点击事件中只弹出了一个吐司提示点击的是哪个模块的地址,这一篇就将它改成发送指令 public class MainActivity extends AppCom ...

  2. 嵌入式单片机基础篇(二十七)之Stm32F103单片机给蓝牙模块发送AT指令程序

    Stm32F103单片机给蓝牙模块发送AT指令程序 #include "stm32f10x.h" #include "string.h" #include &q ...

  3. Android开发-连接开发板蓝牙模块发送和接收数据

    帮同学写一个连接小车蓝牙模块遥控小车的APP,在网上搜阅了很多资料,大概了解了蓝牙的工作原理,再经历了种种BUG后终于是成功连上了小车蓝牙,并可以发送数据,小车可以接收到,测试的蓝牙是Arduino小 ...

  4. 微信小程序连接蓝牙模块发送数据的详解以及封装版

    连接蓝牙 前言 详解 小程序链接蓝牙流程图 需要的数据 api openBluetoothAdapter:打开蓝牙适配器 getBluetoothAdapterState:查看蓝牙适配器状态 star ...

  5. 蓝牙模块通信c语言,求一个蓝牙模块发送数据的例子

    #include #include #define uchar unsigned char #define uint unsigned int /******led定义*******/ sbit le ...

  6. 【STM32】HC-05蓝牙模块

    模块介绍 HC-05是主从一体的蓝牙模块,默认为从机.既支持跟模块通信,也支持跟手机通信.具有两种工作模式:串口透传通信模式和AT指令模式. 在串口透传通信模式下模块又可分为主( Master).从( ...

  7. Android蓝牙开发与蓝牙模块进行通讯(基于eclipse)

    2017.10.20 之前参加一个大三学长的创业项目,做一个智能的车锁App,用到嵌入式等技术,App需要蓝牙.实时位置等技术,故查了几篇相关技术文章,以此参考! //先说说如何开启蓝牙设备和设置可见 ...

  8. JDY-31蓝牙模块远程控制STM32F103单片机

    一,概述 手机app通过蓝牙模块发送指令实时控制单片机的外设功能,比如发送衣柜开关门指令(舵机旋转),衣架上升降落(步进电机正转反转),远程开启去污除湿功能(继电器控制打开\关闭小风扇+加热片). 本 ...

  9. 卜若的代码笔记-一周搞定树莓派-第二十七章:蓝牙模块

    1 这个实验是这样的 板载蓝牙模块,也就是树莓派本身拥有一个蓝牙模块. 然后给你一个外部蓝牙模块HC-05 让你干嘛呢,让你通过外设蓝牙模块发送一条消息给板载蓝牙模块,然后去点亮LED 点亮LED本身 ...

最新文章

  1. 用JPA在测试的时候无法创建EntityManager Factory无法创建的几个可能因素!
  2. Xcode代码块功能
  3. boost::fusion::joint_view用法的测试程序
  4. mybatis学习(52):扩展结果的展现
  5. [Leetcode][JAVA][第20题][Stack][Map]
  6. QQ组件可导致IE10无响应
  7. Greenplum小把戏 - 你所不知道的时间戳长度玩法
  8. plsql快捷执行方式_UG编程必备的快捷键,收藏转发!
  9. 进阶之路:深入解读 Java 堆外内存 | 凌云时刻
  10. 创建一个基础WDM驱动,并使用MFC调用驱动
  11. T SNE降维matlab程序,关于t-SNE降维方法
  12. web前端程序员前景及优劣势分析
  13. 计算机方面的缩写大全
  14. 细节复盘3 (文本折叠、文本尾行缩进截断)2020-8-2
  15. 流量不清零:还在忽悠广大网民?
  16. C4.5决策树预测销量
  17. PointNet++理解(PointNet++实现第2步)
  18. python的urllib.parse用法
  19. 天虹数科Java笔试题B
  20. U8860 华为荣耀各种刷机教程

热门文章

  1. 给程序猿的一节男士基础护肤课
  2. 01JavaScript基础
  3. 体系结构实验(3)—— 指令流水的分析
  4. RTX“远程登录”功能介绍
  5. k线图技术分析的盲点
  6. 关于我要上大学的事事
  7. 信息通信研究院徐志发:区块链金融的“一升一降三创新” | 数博会2017
  8. android 收藏功能
  9. 雷达图 和 K线图(蜡烛图),OHLC线图
  10. LV与ASP通讯原理