Linux下操控小米手环1代

本文介绍如何通过Linux系统实现对小米手环的来电提醒震动功能的自定义控制。主要内容包括:通过小米运动APP绑定手环并开启来电提醒;使用Wireshark解析蓝牙日志获取震动指令;通过hcitool等命令连接手环并发送震动命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该方法相比手机更繁琐,有点多此一举的感觉,但是个人感觉用linux来控制还是比手机更有意思,所以就想记录一下。

1.将手环通过小米运动绑定到手机上,然后开启来电提醒(手环会震动)。

2.手机启用开发者模式并打开蓝牙

3.用另一个手机打这个手机,手环震动后挂断,然后到文件目录找到蓝牙日志文件并拷到电脑上:

4.使用wireshark打开日志:

5.因为HCI的相关命令是用来控制连接的,而ATT才是用来执行操作的,所以我们只看ATT数据包,对协议进行排序,然后ATT的数据包就会按时间顺序进行排序:

找到Sent Write Command.....这一类的数据包,这些数据包就是往设ige备发送命令的数据包,点开一个,可以看到如图中红框标出的点,handle 表示句柄,是,最下面的0x00代表的是没有震动的值,因为我们是要“调戏”,自然希望它能震动,所以我们换个数据包,找到下面这个:

可以看到 强烈震动的值是0x02,对应的是0200(因为02是在高位,所以低危自动补0,对应值是0200)

6.打开蓝牙接口

    hciconfig hci0 up

注:这里有的人会出现打不开的情况,需要将:

这里的勾去掉才能找到蓝牙适配器。

7.扫描设备,因为是低功耗设备所以使用命令:

 hcitool  lescan

8.扫描设备,并连接:

有时候会连接不上,重试两下就可以了

注:

有的人这里会遇到Connection Refused (111)的错误:

这个的话需要执行如下修改:

 

首先:vim/etc/bluetooth/main.conf

在最下面添加 :

EnableLE = true      

AttributeServer = true   

DisablePlugins=pnat

然后

service bluetooth restart

hciconfig hci1down

hciconfig hci1 up

然后再次连接:

 

9.使用命令char-write-cmd来发送命令:

 

char-write-cmd 句柄  值

这里填上前面得到的数据,完整命令为:

char-write-cmd 0x0051 0200

回车后,手环就会震动了:

 

如果发现有错误欢迎批评指正。有疑问欢迎留言。大笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼游游游

如果觉得满意,就请我吃颗糖果吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值