浅谈蓝牙

最近因工作需要,研究了一下蓝牙,此前只用过MQTT协议,看过些许的TCP/IP。写这个算是整理一下自己的思路,整理一下蓝牙,如果有不对的地方,希望多多沟通。

协议我一般都会看它的组成,这次的蓝牙也是。和一般的网络协议没什么区别。
首先是PHY、LL和HCI。这三者之间,LL最为重要,也是整个蓝牙协议的核心,它负责从哪发(选择哪个射频通道),什么时候发(具体时间点),发的是什么(识别空中数据包),以及怎么保证发的完整性,如何进行重传,如何管理控制链路。简而言之,LL层负责发送数据的所有事宜(当然,只管接发,不管处理)。PHY物理层,一般看一下就好,毕竟我不做硬件,对我没有太大关系。HCI则是应用于两个芯片的场合,用来给两个芯片制定规则。

GAP,L2CAP,SMP,ATT,GATT五者当中,开发者打交道最多的是ATT。毕竟它给我们提供了处理数据的接口,读写数据。L2CAP则是对LL层进行一次封装,走加密或者普通通道;SMP保证连接安全性;GATT是隐形大佬,如果没有它来规范attribute的数据内容,蓝牙之间做不到互联互通。
有点点好奇,如果只是两个互联,私下行为,那我是不是可以自定义GATT,或者自己倒腾一个GATT。不考虑通用市面。

其实我们用蓝牙的时候,只用到了一个发送函数,搜一下例程,或者使用案例,也可以做到更改一个项目。但可能是我的性格使然,不舒服,不爽。我不喜欢有超出认知的东西,找起原因来好烦,而找不到原因,会使我心情差。我觉得起码要知道,我虽然写的是一个发送,但这个数据经过层层处理之后,最后到达网络上是一个什么样子。我接收到一个来自对方的原始包,我知道分别哪一层做了什么处理,最后给我的是一个什么样的样子。

PS:网络抓包可以使用wireshark,还有什么好用的软件吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值