在这就不对SPP协议进行深入探讨技术细节,而是对于SPP通信进行一个大体描述,建立一个整体框架模型,总结如下几点。

  1. 蓝牙协议众多,SPP只是其中一种;
  2. SPP通信属于典型的C/S模式,那么建立通信的双方就分为服务端和客户端;
  3. SPP对蓝牙模块串口的读写实现通信,建立在串口仿真协议RFCOMM上实现;
  4. 服务端和客户端对应为BluetoothServerSocket和BluetoothSocket,通过流进行数据传输,和java中的socket很像。

关于第三点的RFCOMM,它是蓝牙客户端和服务端的Socket通道,其目的为了解决如何在两个不同设备上的应用程序之间保证一条完整的通信路径,并在它们之间保持同一通信段的问题。设备配对后,还没有通信通道,BluetoothServerSocket监听RFCOMM,BluetoothSocket发起建立RFCOMM连接完成通信通道的建立。大致就像是下面这样:

Android 蓝牙SPP通信——简介相关推荐

  1. Android 蓝牙串口通信工具类 SeriaPortUtil 2.0.+

    原文地址:https://www.shanya.world/archives/2fd981ea.html SerialPortUtil 提示 最新版本 3.0.+ 已发布,其对比 2.0.+ 版本,A ...

  2. android蓝牙SPP协议以及BluetoothSocket/BluetoothServerSocket的简单使用

    今天讲解一下android蓝牙SPP协议(Serial Port Profile),这是一个数据交换的协议,用于蓝牙设备之间创建串口进行数据传输 androd上层应用中,可以通过BluetoothSo ...

  3. 关于Android蓝牙串口通信那点破事

    Android蓝牙串口通讯 闲着无聊玩起了Android蓝牙模块与单片机蓝牙模块的通信,简单思路就是要手机通过蓝牙发送控制指令给单片机,并作简单的控制应用.单片机的蓝牙模块连接与程序暂且略过,此文主要 ...

  4. Android蓝牙无法通信,android.bluetooth.BluetoothSocket无法连接

    我已经尝试了其他评论中的所有建议,但都没有效果,我希望有人能帮助我.我已经为这个问题挣扎了三天了.我确信我的uuid是正确的,并且我知道清单中启用了蓝牙访问. 我正在尝试将我的android应用程序连 ...

  5. android蓝牙连接通信的实现

    看了很多的博客文章的技术,今天也写一写自己的第一篇博客文章,我只说说如何用,具体实现的原理,原谅我不太清楚,但对于大多数人来说,知道怎么做出来就很不错了哈哈!不多说了,开始吧. 首先要知道几个类,Bl ...

  6. android中的蓝牙通信协议,android 蓝牙SPP协议通信

    准备 1.蓝牙串行端口基于SPP协议(Serial Port Profile),能在蓝牙设备之间创建串口进行数据传输 2.SPP的UUID:00001101-0000-1000-8000-00805F ...

  7. spp协议 android,android 蓝牙SPP协议通信

    准备 1.蓝牙串行端口基于SPP协议(Serial Port Profile),能在蓝牙设备之间创建串口进行数据传输 2.SPP的UUID:00001101-0000-1000-8000-00805F ...

  8. Android蓝牙Socket通信

    Android的蓝牙部分暂且分为2.0,4.0,虽然苹果已经出了5.0版本了,咱先不说这个. 简单讲解一下,4.0是兼容2.0的功能的,今天讲的bluetoothSocket通信是在2.0上面就已经有 ...

  9. android spp传输速度,Android蓝牙SPP连接似乎在几秒后就已经死了

    我有一个相当简单的程序,主要基于这里发布的简单蓝牙测试客户端应用程序: 我的应用程序有4个按钮,每个按钮通过蓝牙连接发送不同的数据字节. 似乎工作得很好几秒钟.建立连接,RFCOMM插座连接,并在最初 ...

最新文章

  1. EDM营销中HTML邮件设计的技巧
  2. calendar获取月份少一个月_6月份,花园小学、铁岭小学等哈尔滨南岗校区部分二手房量价齐涨...
  3. 携程elong相继牵手支付宝转“危”为“机”
  4. Apache Wicket:记住我的功能
  5. mysql在哪里写代码_[译] 如何写好 Go 代码
  6. matlab错误打印,MATLAB中数据输出格式出现错误?
  7. 【JVM】强引用、软引用、弱引用、虚引用分别是什么
  8. 剑指offer面试题[37]-两个链表的第一个公共结点
  9. lesson 6 threads synchronization
  10. 时间序列预测入门必读的4篇论文
  11. 开源电脑屏幕录制软件Captura源码下载及编译(Win10,VS2022)
  12. Day01柳婼博客推荐
  13. 精通有状态和无状态(Stateful vs Stateless)
  14. [VOT7](2022CVPR) GTELT:Global Tracking via Ensemble of Local Trackers
  15. linux中怎么生成hwaddr,linux 下 hwaddr 和 macaddr的区别
  16. Git版本控制管理——储藏和引用日志
  17. 为fuchsia编译qemu
  18. ListView数据动态刷新
  19. 云计算服务器和vps,云服务器和vps差别
  20. 隐藏在今日头条百亿市值背后的算法:巨大可能与现实困境

热门文章

  1. halt ,poweroff和shutdown 的区别
  2. java.lang.StringIndexOutOfBoundsException: String index out of range: -1
  3. MVG(second)学习笔记- 三角形法
  4. 洛谷P3758 [TJOI2017]可乐
  5. 用户可以通过软件对计算机,用户可以通过 软件对计算机软、硬件资源进行管理。...
  6. SAP-abap学习记录(21)
  7. 三屯河水库库容查询及进库流量计算程序
  8. 消防报警系统服务器,消防报警系统
  9. Apipost产品介绍
  10. C#用Replace把字符替换成空