ESP8266 快速对接小爱同学 语音控制
ESP8266 快速对接小爱同学
- 一、环境资料
- 二、安装配置
- 三、下载Blinker手机APP,并更改符合小米小爱协议的代码
- 四、米家绑定Blinker点灯
一、环境资料
1. 硬件:ESP8266 NodeMCU 开发板
点击查阅硬件开发文档
2. 点击参考blinker官方开发文档
3. 开发工具下载链接,里面包含了本次开发所需的工具:https://pan.baidu.com/s/1Zc0BsXgfPfbXw7UCn1sD_Q 提取码:vgvr
二、安装配置
1. 在上面百度云网盘下载“串口驱动” 并安装之后,会在装置管理员看到serial port:
2. 安装Arduino IDE开发环境
将网盘中的“arduino-nightly-windows.zip”下载到电脑,解压至当前文件夹,双击直接运行。
3. 安装完之后,打开Arduino IDE,为了让Arduino IDE找到ESP8266的设定档,先到 “File” -> “Preferences”
并在Additional Boards Manager URLs 填入:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
填完之后按OK,接着准备选板子,到 “Tools” -> “Board” -> “Boards Manager”
在“Boards Manager” 里,它需要约十几秒钟整理所有硬体,所以我们等一会儿之后,将卷轴往下拉找到“esp8266”,点右边的Install,这时候Arduino IDE就根据ESP8266的设定档开始下载ESP8266所需要的硬件,我这里已经安装好了
选择对应的硬件就行了
4. 安装第三方库
将下载好的blinker库解压到 我的电脑>文档>Arduino>libraries 文件夹中
打开Arduino.exe,选择File->Examples->Blinker->Blinker_Hello->Hello_wifi
示例代码:
#define BLINKER_WIFI#include <Blinker.h>char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";// 新建组件对象
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");int counter = 0;// 按下按键即会执行该函数
void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);counter++;Number1.print(counter);
}void setup()
{// 初始化串口Serial.begin(115200);BLINKER_DEBUG.stream(Serial);// 初始化有LED的IOpinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, HIGH);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);
}void loop() {Blinker.run();
}
三、下载Blinker手机APP,并更改符合小米小爱协议的代码
具体可以参靠Blinker小爱同学语音对接
#define BLINKER_WIFI#define BLINKER_MIOT_LIGHT#include <Blinker.h>char auth[] = "填写自己手机APP创建的key";
char ssid[] = "wifi名称";
char pswd[] = "wifi密码";// 新建组件对象
BlinkerButton Button1("ledkey");
BlinkerNumber Number1("num-abc");int counter = 0;// 按下按键即会执行该函数
void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, LOW);BlinkerMIOT.powerState("off");BlinkerMIOT.print();}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, HIGH);BlinkerMIOT.powerState("on");BlinkerMIOT.print();}
}
// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);counter++;Number1.print(counter);
}void setup()
{// 初始化串口Serial.begin(115200);BLINKER_DEBUG.stream(Serial);// 初始化有LED的IOpinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, HIGH);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);BlinkerMIOT.attachPowerState(miotPowerState);
}void loop() {Blinker.run();
}
四、米家绑定Blinker点灯
打开米家->我的->其他平台设备->添加->Blinker点灯科技
编译上传代码,对小爱同学说一句开灯试下吧。
ESP8266 快速对接小爱同学 语音控制相关推荐
- 基于Blinker的小爱同学语音控制【脱坑指南】
基于Blinker的小爱同学语音控制ESP8266 前些天在使用esp8266时遇到很多小爱不能控制设备问题,现在来叙述我控制过程中所遇到的问题,以及到完整的小爱能成功控制Esp8266的过程. 1. ...
- 使用小爱同学语音控制电脑关机 - Winform C#
使用小爱同学语音控制电脑变关机 前言 实现原理 准备 注册巴法云账号 接入巴法云 接入米家 编写程序 连接TCP 接收信息并运行关机指令 发送指令订阅主题 添加心跳机制 后台运行 阻止默认关闭窗口事件 ...
- 想用天猫精灵、小爱同学语音控制灯、窗帘、卷帘门、投影幕……实现你的智能家居梦?用十几元钱制作一个红外射频转发器试试吧
使用场景 自从智能音箱出现以后,是不是想用智能音箱控制家里的电器和设备?但是购买接入天猫精灵和小爱同学的设备都很贵,比如一套普通的电动窗帘架300元左右,但是接入智能音箱控制的最少要700元.想尝试智 ...
- 【小米米家对接连载】 安信可 ESP8266-12S模块作为米家通用模块,直连小米米家平台,小爱同学语音控制;
文章目录 一. 准备工作 二. 通过STM32代码设置产品model 三. STM32单片机不断发送get_down指令一直查询模块返回的状态 四. 模块核心指令的解答 五. 关于模块返回的参数说明 ...
- 基于ESP8266+点灯科技+小爱同学控制开门解决方案!
前言 每次下班回到家就已经很累了,到门口还要到处翻找钥匙,然后开门,是不是觉得很烦,那我们有没有不用通过钥匙开门且成本低的方案了?下面我会教大家基于ESP8266+点灯科技+小爱同学来控制开门的方法 ...
- 从零开始使用ESP8266 + Blinker 实现小爱同学可控可读取状态的多路插座
从零开始使用ESP8266 + Blinker 实现小爱同学可控可读取状态的多路插座 前言 一直对8266很感兴趣,放寒假嘛,也挺闲,刚好手头有原来买下的Nodemcu,就拿来做个多路开关 参考资料我 ...
- python控制小爱同学_神秘鸭,用Siri小爱同学语音助手控制你的电脑
智能手机发展至今,智能可不仅是改变了沟通和上网形式,依据强大的算法核心,各种基于AI的智能语音助手屡见不鲜,其中苹果的Siri.小米的小爱同学.阿里的天猫精灵,极受欢迎.虽说现在的人工智能语音助手,仍 ...
- esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节
esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节 所需准备的库: Adafruit_NeoPixel Blinker 开发板选择 1.源代码部分: 源代码: //WS281 ...
- 【Homeassistant 的Node-red插件之小爱同学语音功能开通】
目的:Homeassistant 的Node-red插件之小爱同学语音功能开通,实现播报任意带变量的文本 视频部分效果可见:https://www.bilibili.com/video/BV1id4y ...
最新文章
- 算法人必懂的进阶SQL知识,4道面试常考题
- 一个网站让你系统的入门脑机接口和神经科学
- 吐槽: 移动端缓存策略
- Git内部原理之深入解析维护与数据恢复
- 混合使用Azure LB和ILB访问相同web服务(3)
- java平台调试架构JPDA
- 现实世界的Windows Azure:与iQmetrix的市场营销副总裁Anne Weiler对话
- java 日期和时间
- LeetCode 5354. 通知所有员工所需的时间
- Parrot 发布新版本——基于Debian的Linux 发行版
- Go Module 工程化实践(二):go get 取包原理篇
- 计算机二级分省和国家吗,计算机国家二级和省二级有什么区别?
- js中对于json判断的总结(持续整理中~)
- python 背单词_python实现艾宾浩斯背单词功能,实现自动提取单词、邮件发送,部署在阿里云服务器......
- 汽车汽油电子喷射系统
- Linux4 移植 6410,linux 3.4.103 内核移植到 S3C6410 开发板 移植失败 (问题总结,来日再战!)...
- PHP生成短链接的方法
- shell 中如何输出回车符号
- 防火墙一个系统加固的例子
- 【SVG】svg入门