小爱同学吃灰很久了,一直想接入小爱来控制些智能硬件,无奈小米的IOT开放平台只对企业用户开放。最近研究了点灯科技的物联网平台,软件硬件支持非常丰富,关键对于爱好者有免费的版本可以使用,爱了爱了有木有?本篇分享下如何通过Blinker平台接入小爱同学,进而控制联网的ESP8266点灯。

1. 硬件部分

我使用了如下图所示ESP8266开发板,其实就是板载了8266最小系统和USB转串口部分。淘宝上很多,大的区别可能就是串口芯片有CH340和CP2102之分吧。

ESP8266模块板载了LED灯,连接在GPIO2上,GPIO2输出高电平灯熄灭,输出低电平灯点亮,就来控制它吧。

2. 平台部分

在小爱同学APP中智能家居设备需要从米家APP中添加。所以,这两个APP提前下载注册好。这里重点说下Blinker APP。

  • 从官网下载Blinker,支持安卓和苹果版本,选择你喜欢的对应下载,并进行注册。
  • 点击添加设备,选择Diy设备中的Arduino,选择WiFi接入。会得到唯一的密钥,这个很重要,后面需要在代码中添加。

  • 返回设备列表页,点击添加的设备图标进入设备控制面板。可点击右上角进行编辑,这里的设备名最好用中文,后面用小爱进行控制的时候,你对它说英文,它可能听不懂哈。

3. 软件部分

  1. 安装ESP8266开发板扩展
  • 启动Arduino IDE,单击「文件」—「首选项」,在附加开发板管理网址中输入如下网址:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

  • 单击「工具」—「开发板」—「开发板管理器」,在搜索栏输入"esp8266",找到开发板进行安装,如下图安装完成。

这个过程如果你网络不够科学的话,可能无法完成,官方提供了离线安装方式,可点击查看。

  1. 安装blinker Arduino库

点击下载库,将下载好的blinker库解压到 我的电脑>文档>Arduino>libraries 文件夹中。

  1. 程序下载

Blinker官方提供了小爱同学的接入流程,以RGB灯的控制为例,介绍了小爱同学的各操作接口,具体可参照官方介绍。

我在这里做了简化,只用来控制灯的亮灭,只用了电源类操作接口和设备查询接口。其实就是实现两个回调函数,当接收到小爱同学的命令,会对应进入回调函数去操作硬件。

代码如下,代码中的auth、ssid、pswd要填入实际的值。

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT#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";bool ledState;void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);uint32_t BlinkerTime = millis();Blinker.print("millis", BlinkerTime);
}void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, LOW);BlinkerMIOT.powerState("on");BlinkerMIOT.print();ledState = true;}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, HIGH);BlinkerMIOT.powerState("off");BlinkerMIOT.print();ledState = false;}
}void miotQuery(int32_t queryCode)
{BLINKER_LOG("MIOT Query codes: ", queryCode);switch (queryCode){case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :BLINKER_LOG("MIOT Query Power State");BlinkerMIOT.powerState(ledState ? "on" : "off");BlinkerMIOT.print();break;default :BlinkerMIOT.powerState(ledState ? "on" : "off");BlinkerMIOT.print();break;}
}
void setup()
{Serial.begin(115200);BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();pinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, HIGH);Blinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);BlinkerMIOT.attachPowerState(miotPowerState);BlinkerMIOT.attachQuery(miotQuery);
}void loop()
{Blinker.run();
}

选择开发板类型和实际端口号,进行程序下载。

4. 绑定小爱

  • 下载好程序后,复位开发板,然后在Blinker APP中会看到添加的设备已经现在在线了。

  • 进入米家APP,点击「我的」—「其他平台设备」,添加点灯科技,进入后,点击同步设备,就会看到在Blinker中创建的设备。

  • 前面绑定成功后,小爱同学中就会出现绑定的设备了。

试着对小爱说:“打开灯”、“关闭灯”、“灯的状态”,可能网络不好会有些延迟,不过想要的控制已经实现了。你也可以尝试去控制些别的设备了。


关注公众号「TonyCode」,后台回复“小爱”,获取文中代码及文件。

小爱同学控制ESP8266点灯相关推荐

  1. 使用siri和小爱同学控制ESP8266引脚电平--资料已配齐,简单操作即可----4.Siri控制一个灯

    新教程已出:https://blog.csdn.net/qishi3250/article/details/119945762 新教程不需要电脑运行服务器脚本,ESP8266内置了HTTP服务器,配网 ...

  2. 月球计划—ESP8266接入小爱同学控制彩灯

    之前的文章「小爱同学控制EP8266点灯」介绍了如何借助Blinker平台接入小爱同学,通过ESP8266控制点灯.Blinker官方例程中使用的是RGB灯,可以调节颜色的,手头刚好找到块RGB彩灯板 ...

  3. 小爱同学+blinker+esp8266实现千里点灯

    文章目录 前言 一.准备材料: 二.开发步骤 1.arduino开发环境准备 2.注册blinker账号 3 编写程序 5 USB-ttl 和esp01s 接线 6 代码烧录: 7 手机上的小爱配置 ...

  4. esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节

    esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节 所需准备的库: Adafruit_NeoPixel Blinker 开发板选择 1.源代码部分: 源代码: //WS281 ...

  5. esp8266wifi继电器点灯科技Blinker和小爱同学控制

    esp8266wifi继电器点灯科技和小爱同学控制 目录 esp8266wifi继电器点灯科技和小爱同学控制 wifi继电器 点灯科技库文件 点灯科技app设置 小爱同学设置方法 控制程序 总结 wi ...

  6. 小爱同学控制单片机或者其它硬件的思路记录

    由于小米只能家具生态的协议是不开放的,但是有很多同学想使用小爱同学的语音功能去控制单片机.树莓派或者其他DIY硬件.因此有个下面这个构想.初步验证可行. 实验具备条件 DIY设备联网(直接或者间接) ...

  7. python控制小爱_如何用小爱同学控制智能设备

    最新补充:最新版本的米家APP,可以直接在手动执行中设定小爱语音控制,提供了一条语音口令设定的新方法,可以虚线后的传统方法结合使用. 一般情况下,只要在米家app里设定即可,尤其你家有多个小爱音箱时, ...

  8. 基于ESP8266+点灯科技+小爱同学控制开门解决方案!

    前言 每次下班回到家就已经很累了,到门口还要到处翻找钥匙,然后开门,是不是觉得很烦,那我们有没有不用通过钥匙开门且成本低的方案了?下面我会教大家基于ESP8266+点灯科技+小爱同学来控制开门的方法 ...

  9. 小爱同学控制美的美居中的家电热水器,空调等

    背景 家里大多数家电都是支持接入米家App的,美的家电不能接入小米,电脑安装Home Assistant成功实现小爱语音控制美的燃气热水器. 实现步骤: 1. 安装docker 我的电脑是window ...

  10. VIVO语音助手控制ESP8266点灯

    1.修改代码并上传到ESP8266,修改3个地方(wifi名称.密码.密钥) #include <ESP8266WiFi.h> // 本程序使用 ESP8266WiFi库 #include ...

最新文章

  1. 搞懂限流算法这一篇就够了 No.154
  2. loadscript加载
  3. emq认证mysql后如何使用_emq服务器开启mysql验证教程
  4. tensorflow命令行安装失败_2019-1 强化学习入坑记之ancanda安装
  5. js 中 document.createEvent的用法-转载
  6. py2exe使用相对路径的当前目录问题
  7. Testlink使用介绍
  8. QQ协议TEA加密解密代码 C#
  9. 命令编写注册表文件修改注册表项
  10. Cordova 快速入门记录
  11. 施工日志管理软件app_启用ERP装修管理软件的必要性
  12. 程序员别再迷茫,赚钱,方法比你想得更多
  13. 20145209 《信息安全系统设计基础》第13周学习总结
  14. rabbits php实现文件下载!
  15. python3.6 添加tab键功能
  16. 企业微信加密消息体_企业微信和个人微信有什么区别?个人微信可以接收企业微信消息吗?...
  17. 图形图像基础 之 gif介绍
  18. 联想 ThinkPad E480无线网卡配置错误导致无法连接无线网解决方案
  19. docker- health check
  20. flex布局强制换行(flex-wrap:wrap)之后,去掉最下面一层多余的间隙。

热门文章

  1. 有声小说php源码,PHP魅雅有声小说联盟程序源码 v7.7.2
  2. 地铁服务器的系统,地铁综合监控系统
  3. html不能默认IE浏览器,编辑告诉您win7如何设置ie为默认浏览器的完全解决办法
  4. 【转】专利申请前的技术交底书是什么?怎么写?
  5. logback教程logback快速入门超实用详细教程收藏这一篇就够了(万字长文)
  6. OpenCV实战 | 低对比度缺陷检测应用实例--LCD屏幕脏污检测
  7. c语言串口通信实验报告,单片机串口通信实验报告总结
  8. DAS、NAS、SAN、IPSAN、iSCSI-SAN及IDE、SAS、SCSI、iSCSI简介
  9. Java单例模式的双if
  10. msm8937 64位开发概要