一年前,我买了一个智能手环,型号规格为SONY SmartBand SWR10。如同绝大多数智能手环一样,它一件事没有什么用一直放到抽屉柜里。
情况
突然有一天我有了个非常好的设计灵感——盆友邀约我添加她们的“NASA外太空”APP *** 黑客马拉松比赛团队,可是我挑选了“不必撞我的无人机”这一课题研究,它包含无人机操纵和航行信息内容方位的解决 *** ,因此我打算我用的智能手表来操纵无人机。
当 *** 黑客马拉松比赛逐渐时,我要去找寻我的智能手表有关的开发设计API和开发环境,我很诧异它竟然沒有一切相关资料。社区论坛上也是有客户说SONY只出示了一些闭源的SDK给他的程序猿,可是我的 *** 黑客马拉松比赛只容许开源系统的解决 *** 。实际上我觉得建立自己的插口并不艰难。
构思
因此我运行了我的智能手表运用,随后开启“手机蓝牙HCI监视日志”。这一作用能够 *** 嗅探全部的总流量并将其导到SD卡中。
我开启日志:
随后用WireShark开启。
这好像是在运作手机蓝牙节能型协议书,而且比 GATT协议书更独特,这是一个双重协议书。手机上有一个“GATT服务项目”,外部设备会接受“GATT机器码”而它包括全部二进制数据。
我选择了之一个UUID (00000208–37cb-11e3–8682–0002a5d5c51b) 随后在谷歌搜索引擎。希望检索到一些传统式的规范GATT服务项目,但我却发觉了一些有趣的东西
一瞬间我认为我能完成了——我发现他人对这一协议书的反向。另外也确认了我是对的,这一新项目包括了联接,挥手,电池状态载入,联接维持的原理完成。可是,加速计数据很怪异。我将加速计上的数据初始化到MPAndroidChart,即时的数据图表表明以下:
剖析
尽管輸出与歪斜高宽比有关,可是值是详细的。在阅读文章完成编码以后,32位系统的整数金额值仿佛包括3个10位的值。它是有效的,由于绝大多数的加速计有10位的精密度(绝大多数ADC)。数据证实了这一点,看前两一部分:
可是分析这3个10位的数据也很怪异,每好多个歪斜的值都是会在511到-512中间转变,沒有偏位可以更改它(沒有整数金额外溢造成)。因此,我认为SONY是否用了哪些传统式的二进制装包方式,或是她们有编号优化算法和压缩算法。
我试着用Protobuf,MsgPack,Thrift 来分析,可是都不起作用。这时候我仅有一天而言加速计跟我的无线 *** 四轴飞行器关系到一起。但就在我失落时,在查询她们的APP反汇编結果的三十分钟后,我发现下边这种物品:
上半部分的[0,512]是反的,我眼中的自己得到 这种更高值的缘故。我就用简易的异或对其开展调节。我将她们调节到[-1,1范畴],如今要做的便是把加速计和无线控制器创建联接(你能在GitHub上寻找完成)。
最后我完成了这一新项目,而且获得了荣誉奖。
随着宝宝月龄的增加,宝宝卤门会逐渐闭合,虽然每个宝宝的时间会有所差别,只要在正常时间范围内卤门闭合就不用担心,那么宝宝卤门闭合晚什么原因?下面友谊长存小编带来介绍。 宝宝卤门闭合的时间 随着时间的...
说起安井麻辣烫我想很多朋友应该有听说过吧,毕竟现在麻辣烫行业作为新起之星,遍布全国各地,大街小巷。而安井麻辣烫作为其中的佼佼者,更是占有了它的一席之地。那么安井麻辣烫的生意真的好吗?到底是有多火爆呢?...
相信早上大家都得到了一个消息:《刺激战场》没了。有的人就觉得很心塞,“说没就没了 我存的金币怎么办啊”云云,不用担心,虽然《刺激战场》关服了,但是我们迎来了《和平精英》,可以继承数据哦,一起来看看具体...
过敏体质的孩子特别容易生病,反复生病对于体质和健康都有很大的影响,及时的发现孩子是否是过敏体质,做出合理的应对和预防工作,保护宝宝健康,那么怎么判断孩子是过敏体质?下面友谊长存带来介绍。 孩子是过敏...
在开会过程中,突然响起了电话铃声!原来是小编Leo前几天在马云家买的充气**快递到了,快递员找不到地方送! 小编Leo在睡眼朦胧中拿出手机,想习惯性的点掉挂断键,却发现……熟悉的挂断键不见了!...
编辑导语:已往几年,高德一直视滴滴为最大的竞争敌手,因此不绝新增出行方法,拓展处事范例。尔后,高德宣布了”高德指南”,涵盖全国350多个都市的吃住行游购娱全品类热门推荐。其富厚的当地糊口处事机关,叫板...