uni 保镖级 “蓝牙开发对接第三方相关问题“ 以及 “抓包蓝牙“。当被第三方迫害或新人开发可查阅

文章肯定不是好文,但是对新手提供开发思路应该、或许、可能、maybe有帮助,不懂可尽情提问噢

需求实现技术知识:异或(略知一二就行),AES,uni-app,进制转换,蓝牙通信UNI文档API就行,16进制的传输

前序日常唠嗑:

如果你是前端,突然老板叫你对接蓝牙设备进行某些操作,那么恭喜你,你中奖了!!! 因为这个开发道路那是苦不堪言,比一般的净开发业务APP那可是 有趣 多了。

大神 : C++语言,蓝牙通信协议,蓝牙底层,串口通信 等等等

新人: 打开uni文档 -> 搜索蓝牙 -> 找到API 一个一个百度然后看调试,然后发现嗯!完全调不通。不理解

如果你是新人 而且和你对接的第三方硬件直接给你提供了一个 这样的交互文档。那么恭喜你难度直接晋升为地狱级。

要么你能跑,要么程序能跑

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1. 为什么说上方的文档是地域级别难度

首先

  1. 文档并没有标注任何的交互信息 比如业务操作:2.1 获取session 有何作用 ,2.1 只标明了蓝牙设备返回的数据 data,但是却没写你应该发送什么数据。2.4亦是如此
  2. (需要先有硬件在你手上才能进行调试)蓝牙进行交互时候,他的deviceId 也就是你手机打开蓝牙的mac,它的服务值serviceId,服务中的特征值characteristicId,一般来说 蓝牙开启notify的特征值就是你读写都使用的值,具体的蓝牙通信看我以前的文章吧
    点击跳转

1.1 第三方开发对接第一步

先问蓝牙模块的第三方询问完整的设备交互流程比如:

1. 建立通信后,先发送数据如: 0101010101 获取设备的sessionId 
2. 把获取到的id进行AES128的解密,解密的参数是否为默认(也就是网上的通用方法)
3. 此ID直接发送到蓝牙设备即可触发2.4的打开按钮

上面是需要你问的整体流程,如果你连这个交互的业务逻辑都不知道,你是没办法进行开发的


特殊情况:重点!!!!

1.1.1 当厂商不提供数据如上: 01010101 这种已经转换成16进制的通信数据你该如何是好。

先让他们提供他们自身的软件进行功能测试(厂家自己开发的都会有一个正常能用的软件)

一般情况下是会提供,但是这时候可能遇到 店大欺客的对接人员就会非常的难搞。
他觉得你在浪费他的时间,给了你文档和某些程序就让你自己猜谜游戏,
完全不顾及对方是否是新人或者对硬件之类不熟悉的死活。

这个时候你就能凭借着你聪明的小脑袋进行非正常的操作,那就是抓包!!是不是很酷
请添加图片描述

番外篇: 抓包

  1. 你需要一个工具:wireshark (具体的安装 可能就需要你们自行百度叻)
  2. 一台手机

首先需要在手机的拨打电话盘中 输入 * # * # 5959 #* # * 触发手机蓝牙日志的功能
在这里插入图片描述
如果没权限或者没办法收集,则去开启 开发者模式 去开发者选项中设置蓝牙相关日志的收集

当同意授权后:
你就可以去第三方提供的蓝牙软件所有功能都试一遍即可记录所有的蓝牙请求。这时你需要去电话盘中再次输入 * # * # 5959 #* # * 解除蓝牙收集。

以下是小米手机的蓝牙日志路径

内部存储设备\MIUI\debug_log\common\com.android.bluetooth
找到 hci.log的文件,然后拉进去 wireshark 中显示
在这里插入图片描述
这时候你就能看到一堆的参数信息找到 Destination中你的蓝牙设备的mac码,点击后,下方选择最后一个 buletooth Attribute Protocol 就能查看到你发送了什么数据啦!

在这里插入图片描述
现在的你就能不依赖 厂家提供 自己都能获取到蓝牙字段进行破译了。如获取回来的是 010316006a
对应着上方的接收文档格式则是:
在这里插入图片描述
因为这都是16进制的数据所有都是两两一组

此时你就可以按照他的模式先拿着参数去文档中一一对应查看他们究竟是作何作用,如果不是实时变动的你则可以自行模拟它的数据 发送去设备查看一下回包了

1.2 让厂商提供准确的设备交互逻辑

首先当你文档对接的是机器,但是机器做什么工作了,你是不知道的,但是你需要理解他蓝牙设备的运转流程,这样排错或者有问题更加的容易发现和解决。

如: 1. 当你发送 0101指令时,蓝牙设备会返回什么数据,这些数据的作用是什么。
2. 你能从蓝牙设备中拿到什么,拿到的值是否需要特殊处理(加解密),传输回去时需要明文还是加密后的密文
3. 当机器解析错误时,会返回什么,还是无反应

最后: 如果这么低的要求都不给,只能有两种情况,要么换厂家要么…你还是提桶吧,老板不会爱你的

请添加图片描述
虽然文章很水,很垃圾,但是如果其中有任何问题都能随时提问,一定知无不言。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值