ESP8266接入小爱同学—智能LED台灯或风扇

首先用的是arduino IDE对esp8266进行的编译,arduino对8266编译环境的具体配置可参考

1.利用WiFiManager库实现自动配网,亦能够满足在不同WiFi下可以不用更改程序即可链接不同的WiFi

2.利用esp8266 OTA功能实现应用程序在局域网内升级,解除数据线限制

3.通过MQTT协议实现摆脱局域网限制的远程控制,实现远程控制灯的亮和灭

4.接入自己小米手机的米家软件,实现小爱同学语音控制

5.利用另一个机械开关实现网络和机械双控制,以应对网络不稳定情况的发生

6.利用继电器进行控制,实际上可以不用,但因为自己没用过,所以借此机会应用一下,了解一下

另外还想利用一下esp8266多任务处理的Ticker库,因为感觉只用几个引脚控制一个灯有点大材小用,比如可以再连接温湿度传感器或者0.96寸oled屏幕之类的

其他说明


1.如果绑定blinker账号后,点灯科技列表中没有设备,可能是您设备中没有烧写小爱支持程序,或者设备没有成功上线。

2.绑定blinker账号后,通过手机上的小爱同学也可以控制设备

3.blinker App中对设备进行修改或新增后,可在米家App中,通过 我的>其他平台设备>点灯科技>同步设备 更新设备信息

但是后面实际做的时候由于时间不充足,所以砍掉了几项功能

完成的有:

基本电路连接、点灯、手机app控制、小爱同学语音控制、单独机械开关控制 (台灯在app和小爱语音端处于开状态时,便可单独用机械开关控制,)

硬件准备:

ESP8266-2102开发板一块

5V继电器一个

控制设备一个

母对母杜邦线三根

数据线(micro usb接口)一根

首先我们要用到继电器(可淘宝购买),先说一下继电器的原理及用法:

电磁继电器的作用:使用来用弱电控制强电,保证人们不会在高压电路中因为某种因为发生危险

先看右端三个脚的作用:(右端三个脚接8266开发板(我们直接采用8266的引脚供电)):

VCC就是电源正极,GND就是电源负极,IN是通断信号的输入引脚。

再看左端三个脚的作用:

NC即常闭端(normal close),COM即公共端,NO即常开端(即断路状态),也就是说,在没有任何上电之类的动作时,NC和COM端相当于已经连通,而NO和COM是断开的。

当8266引脚向右面三个脚中的IN端输入控制信号时,NC和COM断开,而COM和NO连接,IN失电时,恢复为NC和COM连通,NO和COM断开。

我们将利用继电器的上述特性来控制灯的亮灭:

当8266引脚向右面三个脚中的IN端输入信号时,NC和COM将断开,而NO和COM将连接。

8266和继电器具体接法看下图(用D4引脚控制):

继电器和灯的供电线的连接见下图:

即灯(或风扇)的两条电路中的一条穿过NO、COM端,然后正常连接电源。

剩下的就是程序了,我们需要用到点灯科技平台,直接百度搜索就可以了。然后点击进入官网.具体操作即步骤顺序见下图:

1.手机端下载blinker app并安装及注册完成。

2.电脑端arduino IDE安装好上图中5号步骤中的库。(安装步骤可参考下图)

然后在弹出页面中选择下载的库文件,不用解压缩,直接选中点击确认即可。

手机APP端设置:

1.打开后点击右上角加号,点击独立设备,点击网络接入,点击阿里云(因为点灯科技云暂时不支持小爱同学)。然后复制KEY备用。(放入电脑端程序用以匹配设备)。

2.返回后点击添加的设备,再点击右上角编辑符号,添加一个按钮,注意数据键名,此名称要与你的电脑端程序中一致(此示例程序中命名为bin)。

确认线路接线无误为ESP8266烧入程序:

usb数据线连接esp8266开发板到电脑,打开arduino IDE写入以下程序,然后上传到开发板。

#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT
#include <Blinker.h>int LIGHT = D4;
char auth[] = "你复制的KEY";
char ssid[] = "你的无线网(或热点)名称";
char pswd[] = "无线网密码";// 新建组件对象
BlinkerButton Button1("bin");//你的按钮名称
BlinkerNumber Number1("num-abc");int counter = 0;void miotPowerState(const String & state)//用户自定义电源类操作的回调函数
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LIGHT, LOW);BlinkerMIOT.powerState("on");BlinkerMIOT.print();}else if (state == BLINKER_CMD_OFF) {digitalWrite(LIGHT, HIGH);BlinkerMIOT.powerState("off");BlinkerMIOT.print();}
}
// 按下按键即会执行该函数
void button1_callback(const String & state) {BLINKER_LOG("get button state: ", state);digitalWrite(LIGHT, !digitalRead(LIGHT));
}// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);counter++;Number1.print(counter);
}void setup() {// 初始化串口Serial.begin(115200);#if defined(BLINKER_PRINT)//这里不一样BLINKER_DEBUG.stream(BLINKER_PRINT);#endif// 初始化有LED的IOpinMode(LIGHT, OUTPUT);digitalWrite(LIGHT, HIGH);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);BlinkerMIOT.attachPowerState(miotPowerState);//小爱用户自定义电源类操作的回调函数:
}void loop() {Blinker.run();
}

然后便可使用blinker app控制灯或风扇的开关了。

接入小爱同学:

下载米家app并打开点击我的,点击其他平台设备,找到点灯科技,输入点灯科技注册账号。然后试一试语音叫小爱同学开关灯试试。有时一次可能添加不成功,多试几次看看是不是哪里出了问题。

(还有一个问题就是你的设备名称,这个可以在blinker app中点击你的设备,但后点击右上角的三个点图标,修改设备名就可以了,还可以设置定时任务等)

对于blinker平台更丰富一点功能的使用方法清参考ESP8266+DHT11温湿度传感器+小爱同学语音智能LED灯(状态可视化)

Blinker小爱同学接口函数


light:

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT#include <Blinker.h>

outlet:

#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET#include <Blinker.h>

sensor:

#define BLINKER_WIFI
#define BLINKER_MIOT_SENSOR#include <Blinker.h>

multi_outlet:

#define BLINKER_WIFI
#define BLINKER_MIOT_MULTI_OUTLET#include <Blinker.h>

同步设备后可显示一个插座和四个插孔(名为插孔的插座设备)

风扇fan:

#define BLINKER_WIFI
#define BLINKER_MIOT_FAN#include <Blinker.h>

aircondition:

#define BLINKER_WIFI
#define BLINKER_MIOT_AIR_CONDITION#include <Blinker.h>

设备设置后即可使用 小爱同学 BlinkerMIOT

小爱数据管理

智能音箱接口, 反馈数据到小爱同学

==任何控制务必即时反馈==

==超时2s以上再反馈,小爱同学就默认设备不在线,小爱同学会反馈“智能家居控制出了点问题”==

函数 :

  • powerState()
    BlinkerMIOT.powerState()
    反馈电源状态

  • mode()
    BlinkerMIOT.mode()
    反馈运行模式

  • color()
    BlinkerMIOT.color()
    反馈颜色属性

  • colorTemp()
    BlinkerMIOT.colorTemp()
    反馈色温属性

  • brightness()
    BlinkerMIOT.brightness()
    反馈亮度属性

  • temp()
    BlinkerMIOT.temp()
    反馈温度属性

  • humi()
    BlinkerMIOT.humi()
    反馈湿度属性

  • pm25()
    BlinkerMIOT.pm25()
    反馈PM2.5属性

  • level()
    BlinkerMIOT.level()
    反馈风速/挡位属性

  • hswing()
    BlinkerMIOT.hswing()
    反馈左右摆风状态

  • vswing()
    BlinkerMIOT.vswing()
    反馈上下摆风状态

  • eco()
    BlinkerMIOT.eco()
    反馈ECO节能模式状态

  • anion()
    BlinkerMIOT.anion()
    反馈负离子模式状态

  • heater()
    BlinkerMIOT.heater()
    反馈辅热功能状态

  • dryer()
    BlinkerMIOT.dryer()
    反馈干燥功能状态

  • sleep()
    BlinkerMIOT.sleep()
    反馈睡眠模式状态

  • soft()
    BlinkerMIOT.soft()
    反馈柔风功能状态

  • uv()
    BlinkerMIOT.uv()
    反馈UV杀菌功能状态

  • unStraightBlow()
    BlinkerMIOT.unStraightBlow()
    反馈防直吹功能状态

  • print()
    BlinkerMIOT.print()
    将以上属性发送出去, 务必最后调用该函数

小爱设备支持的控制类型

  • 设备控制

  • 电源类的操作

  • 设备打开

  • 设备关闭

  • 颜色的设置

  • 模式的设置

  • 亮度的控制

  • 亮度设置指定值

  • 亮度调成最值(最大、最小)

  • 步长设置亮度(调亮、调暗)

  • 色温的控制

  • 色温设置指定值

  • 步长设置色温(调冷、调暖)

  • 温度的控制

  • 温度设置指定值

  • 步长设置温度

  • 摆风的控制

  • 上下/左右摆风

  • 设备查询

  • 单个属性的查询

小爱支持的语音指令


  • 打开/关闭{门口}的{灯}

  • 把{卧室}的{灯}调为{红色}
    颜色范围为0-16777215(0xFFFFFF)

  • 把{卧室}的{灯}的{亮度调高一点}
    亮度范围为1-100

  • 把{门口}的{灯}的{色温}调到{1400}
    色温范围为1000-10000

  • 把{卧室}的{灯}调为{月光模式}

  • 查询{卧室}的{灯}的状态

  • 插座

  • 打开/关闭{厨房}的{插座}

  • {客厅}的{插座}是否打开

  • 传感器

  • {设备名}室内{温度}/{湿度}/{PM2.5}/{空气质量}/{二氧化碳含量}

  • 风扇

  • 打开/关闭{客厅}的{风扇}

  • 打开{客厅}{风扇}的{上下扫风}

  • 把{客厅}的{风扇}调到{一档}

  • 空调

  • 打开/关闭{客厅}的{空调}

  • 打开{客厅}{空调}的{上下扫风}

  • 把{客厅}的{风扇}调到{一档}

  • 把{客厅}的{空调}调为{自动模式}

  • 把{客厅}的{空调}调到{25摄氏度}

  • 把{客厅}的{空调}温度调{高一点}

  • 查询{客厅}的{空调}的{温度}/{湿度}

小爱支持控制的模式表


模式

中文描述

DAY

日光

NIGHT

月光

COLOR

彩光

WARMTH

温馨

TV

电视模式

READING

阅读模式

COMPUTER

电脑模式

ESP8266用点灯app接入小爱同学相关推荐

  1. ESP32接入小爱同学,实现语音控制

    准备工作 安装手机app 米家app 小米音箱或小爱同学app 点灯科技app,app下载链接:https://diandeng.tech/dev 开发环境搭建 Arduino IDE需安装好esp3 ...

  2. 物联网系列⑤——基于ESP8266与点灯科技平台的氛围灯设计(接入小爱同学)

    物联网系列⑤--基于ESP8266与点灯科技平台的氛围灯设计(接入小爱同学) 一.设计目标 二.电路设计 三.思路介绍 四.ESP8266代码 一.设计目标 使用点灯科技平台接入物联网,可通过手机点灯 ...

  3. 利用esp8266接入小爱同学,实现智能台灯的改造物联网初识

    硬件准备 1.继电器WIFI智能插座模块 2.USB转ESP8266WIFI模块 3.ESP8266模块 软件环境搭建 1.小爱同学app,或者米家app,点灯 Blinker app 2.Ardun ...

  4. ESP8266接入小爱同学—智能LED台灯或风扇(利用继电器)

    ESP8266接入小爱同学-智能LED台灯或风扇 上周用esp8266做了一个语音智能台灯,也参考了很多网上的教程,也不难,挺简单的,在这里分享一下. 首先我用的是arduino IDE对esp826 ...

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

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

  6. Mixly用点灯科技控制小爱同学小度小度天猫精灵Siri控制应用

    Mixly用点灯科技控制小爱同学小度小度天猫精灵Siri控制应用 Mixly用点灯科技Arduino编程控制小爱同学小度小度天猫精灵Siri控制应用 在Mixly中我们可以用图形化来给各种智能音箱编程 ...

  7. stm8/stm32如何通过ESP8266连接天猫精灵和小爱同学,实现(AT指令)语音助手控制硬件设备

    stm8/stm32如何通过ESP8266连接天猫精灵和小爱同学,实现(AT指令)语音助手控制硬件设备 博主还是菜鸟,只是这段时间DIY弄了这些东西,让同样喜欢动手的朋友有个参考,我这个开发超级简单, ...

  8. (含代码)ESP8266+舵机 制作wifi灯控开关(arduino,点灯科技,小爱同学/天猫精灵实现)

    目录 项目涉及的主代码 前言 一.环境搭建 二.开发步骤 1.注册点灯科技平台 2.在点灯科技平台注册设备,获取Secret Key 3.在Arduino IDE中编写代码,写入ESP8266 4.编 ...

  9. Blinker接入小爱同学做智能家居RGB灯

    如果你有一部非小米手机,怎样连入米家,使用小爱同学语音控制家电呢 此文相关看不懂的知识点 1.esp8266无法下载程序:参考我的另外一篇文章 链接 2.非小米手机小爱同学语音接入 链接 实现功能 小 ...

最新文章

  1. 根据status信息对MySQL服务器进行优化-2
  2. 3D 激光雷达地图相对精度自动评价算法
  3. 前Citrix CTO认为虚拟化将解决现有的安全问题
  4. NYOJ 659 判断三角形
  5. LibLinear(SVM包)使用说明之(二)MATLAB接口
  6. AQS及其组件的核心原理
  7. 【图像处理】中的“滤镜算法”:灰度、黑白、反向、去色、单色、高斯模糊、怀旧、连环画
  8. 机器学习与深度学习神器!凸优化(Convex Optimization)学习必备
  9. 大神备赛干货:腾讯广告算法大赛冠军教你玩出大赛新高度
  10. JSK-118 输出格式练习【入门】
  11. TX2Ubuntu16.04远程登录
  12. Java8 LocalDateTime和Date相互转换
  13. surfer画世界频率分布图(等高线、地点标注)
  14. 为什么游戏加速器都会设置韩国节点
  15. 用油猴子定制你的个性化插件
  16. win的反义词_全新整理小学英语常见的120对反义词大全,快来收藏学习吧
  17. 计算机连接不上网络交换机,解决某些计算机在连接到路由器(交换机)后无法访问互联网的问题...
  18. Java 接口规范与最佳实践
  19. C#几行代码实现定时关机/重启 超详细(建议新手练习)
  20. Hive 分析窗口函数

热门文章

  1. 「科普」一文读懂生产制造MES系统
  2. 数据可视化之excel和finebi报表实现对比
  3. 网站显示 该内容被禁止访问 怎么解决
  4. php 涂鸦,微信小程序涂鸦功能的实现
  5. Product Quantization for Nearest Neighbor Search论文实验
  6. Nand Flash 通过调整阈值的Retry方法简单描述
  7. 数学归纳法产生的历史背景
  8. 5G NR RLC层
  9. [4G5G专题-57]:L2 RLC层-详解RLC架构、数据封装、三种模式:透明TM、非确认模式UM、确认模式AM
  10. 韩国区块链步入快车道:SM、Kakao、三星、LG等巨头ALL IN