+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2023.7.11 最近发现点灯科技的接口频繁出现不稳定情况,本项目可能无法运行
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
软件需常驻后台,建议运行在服务器上
-
如果登录出现 1020 状态码,并且在手机重新登录无效 ,可以尝试把 config.json 中的 appVersion/deviceId/deviceName/osVersion 设置为空字符串
-
配置修改后需重启程序
================================================================================================================
首先说一下思路.
想用小爱控制,那么最好的办法自然是接入小米的iot平台,然而小米并不对个人开发者开放.
退而求其次,我们可以找一个第三方厂商,由他们做中间人接入.
blinker (点灯科技) 是一家物联网技术提供商, 官网 点灯科技 (https://diandeng.tech/home) (虽然文档烂,但是功能不含糊,该有的都有. )
虽然我之前参考 使用ESP32和Blinker实现远程网络唤醒电脑(接入语音助手,以小爱同学为例) 这篇帖子用esp32成功控制了电脑远程开机
但是这次我不想依赖硬件设备,不然成本太高了( 一台空调设备就得买一个esp32),
然后我就想blinker的代码既然能在树莓派上面跑,自然我就能把核心逻辑抠出来用java重写一遍
好.正文开始
================================================================================================================
首先我们在blinker官网下载 他们的app,注册.
注册后 登录,显示如下界面
然后我们点击右上角的 加号 进行添加一个新的设备
点击 独立设备
选择网络接入
得到 authKey, 保存好,后面要用
然后我们返回设备列表,点击刚新加的设备. 右上角 三个点
编辑设备名称
输入名称, 这个名称就是后面你喊小爱的名称,同时 要和 美的美居 app 里面空调的名称要相同
确认修改后,我们下载 github 上的 程序 ,运行后在 程序提示的配置文件中输入
phone: 美的app手机号, password: 美的app密码,acNameList: 空调名称(多个用逗号隔开), blinkerKeyList: 点灯的authkey(多个用逗号隔开,需要与空调名称一一对应)
{
"phone":"13812345678",
"password":"123456",
"acNameList":"书房空调,主卧空调,次卧空调",
"blinkerKeyList":"8*****2,2*****9,0******8",
"uid":"",
"accessToken":"",
"tokenPwd":"",
"homeId":"",
"appVersion":"",
"deviceId":"",
"deviceName":"",
"osVersion":"",
"deviceList":[]
}
程序正常运行后.
我们 打开 米家 app , 点击 "我的" , 往下翻 选择 "其他平台设备"
先点添加, 找到 点灯科技. ,然后点击 同步设备.
然后就可以用小爱控制了