小爱MQTT、拦截程序(已支持黑版)

GITHUB: https://github.com/qlwz/xiaoaimqtt

小爱MQTT、拦截程序

介绍 MQTT

  1. 支持当前播放内容上传 主题:xiaoai/序列号/stat/context JSON数据

  2. 支持当前音量上传 主题:xiaoai/序列号/stat/volume 0-100

  3. 支持当前播放上传 主题:xiaoai/序列号/stat/status 0-2 0:开机未播放 1:播放中 2:暂停播放

  4. 支持下发TTS 主题:xiaoai/序列号/cmnd/tts 播放文字

  5. 支持下发音量大小 主题:xiaoai/序列号/cmnd/volume 0-100|up|down

  6. 支持下发控制播放 主题:xiaoai/序列号/cmnd/player ch|prev|next|play|pause|toggle|http地址

  7. 支持下发shell命令 主题:xiaoai/序列号/cmnd/cmd shell命令

介绍 拦截

让小爱支持控制任意设备

程序主要逻辑来源于:https://github.com/FlashSoft/mico

主要逻辑是:

  1. 检测小米服务器响应的日志变化
  1. 捕获响应日志中,如果是未知设备(也等于你自己的自制设备)
  1. 则让小爱停止播放找到未知设备的播报
  1. 通过curl转发asr和res日志内容给自己的远端接口
  1. 远端接口去跟HA通讯来控制自制设备
  1. 远端接口返回需要小爱播报的文本内容
  1. 如果之前小爱在播放音乐的话就接着播放音乐

如何安装

黑版小爱 (文件系统可读写)

  1. 下载xiaoaimqtt.black文件放在 /data下

  2. 添加并编辑该文件/etc/init.d/mico_enable


    #!/bin/sh /etc/rc.common  

    START=96  

    start() {  

       /data/xiaoaimqtt.black &  

    }  

    

    stop() {  

      kill `ps|grep '/data/xiaoaimqtt.black'|grep -v grep|awk '{print \$1}'`  

    }  

  1. 设置权限在 shell下执行

    chmod a+x /data/xiaoaimqtt

    chmod a+x /etc/init.d/mico_enable

    /etc/init.d/mico_enable enable

    /etc/init.d/mico_enable start

  2. 浏览器打开小爱的IP 设置 接口 MQTT 等信息

绿板小爱 (文件系统不可写)

1 现在xiaoaimqtt文件放在 /data下

  1. 设置权限 在shell下执行

    chmod a+x /data/xiaoaimqtt

  2. 使用其他方式来启动,参考以下

单片机玩家一

参照连接完成破解 https://bbs.hassbian.com/forum.php?mod=viewthread&tid=8903

需要把


    "test `ps|grep 'sh /data/mico.sh'|grep -v grep|wc -l` -eq 0 && sh /data/mico.sh > /tmp/mico.log 2>&1 &"  

换成


    "test `ps|grep '/data/xiaoaimqtt'|grep -v grep|wc -l` -eq 0 && /data/xiaoaimqtt > /tmp/mico.log 2>&1 &"  

单片机玩家二

使用 https://github.com/qlwz/esp 里面的xiaoai固件

PCB板:https://github.com/qlwz/esp/tree/master/file/pcb/XiaoAi

使用的是EPS-12S

焊接好后打开ESP地址可以设置小米密码,并且会自动启动本软件

修改固件

参考链接完成破解 https://bbs.hassbian.com/forum.php?mod=viewthread&tid=8754&page=1#pid283801

最后的 /data/init.sh 文件追加


    /data/xiaoaimqtt &

如何编译

Linux

绿板(makefile默认)

  1. 参照:https://www.cnblogs.com/flyinggod/p/9468612.html 配置环境

  2. 然后进入目录 make

黑版

请下载 https://www.veryarm.com/aarch64-linux-gnu-gcc

Windows

绿板(makefile默认)

  1. 从https://blog.csdn.net/lg1259156776/article/details/52281323 里面下载Windows安装版

  2. 安装 MinGW

  3. 配置好 make.exe 和 arm-linux-gnueabihf-gcc.exe

  4. 然后进入目录 make

黑版

请下载 https://www.veryarm.com/aarch64-linux-gnu-gcc

黑版编译

makefile默认是绿板的,黑版的需要在makefile去掉以下注释


#DIR_LIB=./lib.back

#CCFILE=aarch64-linux-gnu-gcc

#TARGET=xiaoaimqtt.back

支持大佬 :grinning: :grinning:

学习了,支持大佬!谢谢大佬!

大佬出手就是不一样,真牛逼:+1:

罗总出手,非同凡响。

罗神,有一套,mqtt到小爱了

大佬就是大佬,一出手就那么牛逼

罗总,出手什么都有

[图片]

帮我看看这是啥情况呢。

咱们QQ上PY吧,但是我不知道你是哪位。

帖子信息含量较大,
肯定我哪个步骤没理解对,给漏了,
不着急,等我自己有空了再研究下,
谢谢。

可能编译的时候不兼容,我要重新编译给你试试的。

已经支持黑版~~~

给你点赞~,布丁布丁

  1. 通过curl转发asr和res日志内容给自己的远端接口

有没有例子设置呀~!~!~!搞不定呀~!~!~!

这2天会发布,请等待

黑版的小爱,浏览器打开小爱的IP点保存就崩了。
QQ图片20200203214419

罗总,厉害了:+1::+1:

esp的固件没有了,可以更新一下吗?

希望罗总给个接口设置例子!!!!!