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

上周用esp8266做了一个语音智能台灯,也参考了很多网上的教程,也不难,挺简单的,在这里分享一下。

首先我用的是arduino IDE对esp8266进行的编译,arduino对8266编译环境的具体配置可参考
太极创客网站arduino配置esp8266

大家如果想学习esp8266的知识,推荐太极创客网站,讲解的很好。

先说一下本次预期想要实现的功能:
1.利用WiFiManager库实现自动配网,亦能够满足在不同WiFi下可以不用更改程序即可链接不同的WiFi
2.利用esp8266 OTA功能实现应用程序在局域网内升级,解除数据线限制
3.通过MQTT协议实现摆脱局域网限制的远程控制,实现远程控制灯的亮和灭
4.接入自己小米手机的米家软件,实现小爱同学语音控制
5.利用另一个机械开关实现网络和机械双控制,以应对网络不稳定情况的发生
6.利用继电器进行控制,实际上可以不用,但因为自己没用过,所以借此机会应用一下,了解一下
7.另外还想利用一下esp8266多任务处理的Ticker库,因为感觉只用几个引脚控制一个灯有点大材小用,比如可以再连接温湿度传感器或者0.96寸oled屏幕之类的

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

完成的有:
基本电路连接、点灯、手机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灯(状态可视化)

ESP8266接入小爱同学—智能LED台灯或风扇(利用继电器)相关推荐

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

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

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

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

  3. ESP8266用点灯app接入小爱同学

    ESP8266接入小爱同学-智能LED台灯或风扇 首先用的是arduino IDE对esp8266进行的编译,arduino对8266编译环境的具体配置可参考 1.利用WiFiManager库实现自动 ...

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

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

  5. 超详细!简单的物联网模块esp8266接入小爱爱同学控制电器(一)——控制开关灯

    简单的物联网模块esp8266接入小爱爱同学控制电器(一)--控制开关灯 闲来无事,分享一个简单使用的物联网实现系统(小爱同学+esp8266),实现手机控制开关灯+小爱同学控制开关灯 1.准备材料: ...

  6. ESP8266 Blinker 小爱同学 本地控制 手机配网 四路开关 物联网 arduino编程详细注释

    作为一名注册12年CSDN的电脑爱好者,没有从事喜欢的IT行业还是颇有那么一丝丝的想念. 通过一段时间的arduino编程和ESP8266学习,参考示例程序等,完善了自己的一份小爱同学四开关控制的程序 ...

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

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

  8. ESP-8266接入阿里云开关LED

    ESP-8266接入阿里云开关LED 我们通过esp8266连接到阿里云,再通过阿里云绑定修改led属性,esp8266接收到mqtt协议报文处理我们的开关灯函数 阿里云控制台添加设备,esp8266 ...

  9. 小爱同学智能音箱怎么打开灯_太阳下​​山时如何打开智能灯

    小爱同学智能音箱怎么打开灯 As the sun sets over the horizon and your living room grows dim, it sure would be nice ...

最新文章

  1. 关于RelativeLayout设置垂直居中对齐不起作用的问题
  2. NanoPi NEO Air使用十三:使用自带的fbtft驱动点亮SPI接口TFT屏幕,ST7789V,模块加载的方式
  3. asp.net访问被拒绝,程序集无法加载原因与解决方法[摘录]
  4. WPF中自定义窗体标题栏
  5. FFmpeg源代码:avcodec_send_packet
  6. .NET开发框架(三)-高可用服务器端设计
  7. oracle数据库连接不稳定,Oracle数据库自连接查询的缺点及解决方法
  8. 可以解压日文的软件_日文换成中文字体就不好看?我偏不信这个邪!
  9. 通达信自带指标 阶段放量(c112)
  10. oracle卸载步骤图解,Oracle安装卸载图文教程详解
  11. 【C语言】动态内存的分配
  12. 空间金字塔池化(Spatial Pyramid Pooling)
  13. multisum 残留 there are no notifications for your products
  14. 查看、修改oracle字符集,查看oracle版本
  15. 下列哪项不是python中对文件的读取操作-Python—文件读写操作
  16. WeChatPlugin Mac版安装
  17. 高校版MATLAB license checkout failed问题及解决
  18. 天气预报--桌面插件功能
  19. java实现一个socks5代理 一了解nio Selector的基本用法
  20. 会计方面专业术语的英文翻译

热门文章

  1. body-parser是什么?怎么用?
  2. redis执行lua脚本
  3. Java自动化(操作浏览器)
  4. SwiftUI - ScrollView
  5. mybatis的mapper.java_浅谈Mybatis通用Mapper使用方法_java - JAVA
  6. 「Python条件结构」根据输入数量对应的折扣率计算应付金额
  7. python网络爬虫入门(二)——百度贴吧
  8. 统计文本字母数量-C语言实现
  9. WM8976G声卡驱动的研究
  10. Java比较两个时间大小