|
本帖最后由 325866145 于 2019-8-2 10:52 编辑
故事背景,相信很多朋友都在斐X翻车了,并且大部分智能硬件都无法连接服务器。
前段时间想看下玩下扫地机器人x3,发现app无法登录了,贴吧里很多用户也反应app无法登录,应该是短信平台欠费了。

正在绝望之际,朋友说他的手机原来登录没退出,还能可以进app并且能控制机器人。重新点燃了希望之火。
故事说完现在正式开始盘它
拆下这几颗螺丝即可打开上盖。
这货远程控制用的是一个ESP8266的wifi模块,通过UART串口和单片机通信,这里讲的是我摸索到扫地机器人数据格式,通过用单片机做一个接收器,并用万能遥控器实现远程控制,当然可以重新刷他的wifi模块。
温馨提示:这个小傻X,停止一两分钟或者充电座掉电,就会自己乱跑找它的充电座,别把线扯断、电脑扯到地上。
这个口就是wifi模块的插口,对应WiFi模块黑色GND红色VCC白色RxD黄色TxD,这里用排线焊到引脚上。用TTL接到电脑上波特率115200获取串口数据。
温馨提示:这个小傻X,停止一两分钟或者充电座掉电,就会自己乱跑找它的充电座,小心它把线扯断、电脑扯到地上。
上电后单片机会发送55 AA 0A 00 01 02 07 00 03 25数据寻找wifi模块,等待wifi模块回应,
WiFi模块收到这段数据就会将返回一个握手包(我自己取的名)55 AA 0A 00 00 82 01 00 02 BD,其中第五个字节(称它为ID吧)每次发送完后下次会+1,最后一个字节是校验(也是我自己取的名)算法:0x71-ID后把3 4 6 7位取反,
单片机收到握手包以后,会把握手包计算以后发回,这个对我来说没什么用,没去研究算法。
此时wifi模块一直发握手包,单片机一直返回,直到wifi连接成功会发送55 AA 0A 00 40 82 03 00 00 FD
同时单片机会返回一些参数 这个我还得继续研究下,应该是电量或者机器的运行状态。
重点来了!设备控制命令
设备控制命令为14字节
55 AA 0E 00 02 03 03 00 00 06 01 0A 01 14 | 其中第5字节为ID,要在上一条命令ID+1,12字节为动作命令(还是自己取的名字)最后一个字节为校验位,
算法:0xE4-动作命令-ID后第3 4 7 8位取反,动作命令 启动:0x0A、暂停:0x03、回充:0x09。
是不是很绕有点混乱,我折腾了好几天才猜出来:cry::cry:
但有个好消息,WiFi模块可以每次都可以假装是第一次启动,意思就是ID=0时发握手包,下个ID=1时就发控制命令这样每次命令都是一样的校验位都是一样,两段数据一起发就行。已经打包,需要可以下载。隔几天再做单片机,累了:sweat:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|