文章目录

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

前言

手上有个小米手机,手机内置了小爱同学APP,早就听说小爱能通过wifi和蓝牙控制一些智能家居,手头正好有esp01s 模块, 这个模块正好板载了一颗led灯,于是我们第一步就是通过小爱同学控制这个灯,blinker的作用 主要是帮我们实现局域网和公网的数据传输桥梁,于是就开始了探索之旅。


一、准备材料:

  1. 带有小爱同学的设备(小爱音箱、小米手机等等)
  2. ESP8266模块
  3. USB转TTL串口模块
  4. 注册blinker账号
  5. arduino的IDE开发环境

二、开发步骤

1.arduino开发环境准备

详细的环境搭建步骤就不再赘述了,网上教程非常多,也可以参考我的文章:Arduino+esp32+blinker第一课点灯, 如果困难可以加我探讨。

此步骤主要完成:

  • arduino 软件安装
  • esp8266 库安装
  • blinker 库安装

2.注册blinker账号

  • 第一步:下载blinker APP
    下载地址:blinker APP
    -第二步: 安装并配置

app安装完成后,增加一个设备
为设备增加一个按钮 方便测试


3 编写程序

重要程序

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT//支持小爱同学
#define BLINKER_WITHOUT_SSL      //非SSL加密通信接入,省堆栈
#include <Blinker.h>#define LED   2  // 板子上的灯
char auth[] = "fab3464d05**"; // blinker app提供的秘钥
char ssid[] = "xiaomi";// wifi 名字
char pswd[] = "********";// wifi 密码bool wsState;
uint8_t wsMode = BLINKER_CMD_MIOT_DAY;
// 新建组件对象
BlinkerButton Button1("btn-abc");//注意:要和APP组件’数据键名’一致// 按下BlinkerAPP按键即会执行该函数
void button1_callback(const String & state) {BLINKER_LOG("get button state: ", state);digitalWrite(LED, !digitalRead(GPIO)); Blinker.vibrate();
}//小爱电源类操作的回调函数:
//当小爱同学向设备发起控制, 设备端需要有对应控制处理函数
void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED, LOW);  //低电平点灯BlinkerMIOT.powerState("on");BlinkerMIOT.print();wsState=true;}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED, HIGH); //高电平开灯BlinkerMIOT.powerState("off");BlinkerMIOT.print();wsState=false;}
}//小爱同学 的回调查询函数,照抄即可。主要是查询 当前灯的状态
void miotQuery(int32_t queryCode)
{BLINKER_LOG("MIOT Query codes: ", queryCode);switch (queryCode){case BLINKER_CMD_QUERY_ALL_NUMBER :BLINKER_LOG("MIOT Query All");BlinkerMIOT.powerState(wsState ? "on" : "off");BlinkerMIOT.color(0);BlinkerMIOT.mode(0);BlinkerMIOT.colorTemp(1000);BlinkerMIOT.brightness(1);BlinkerMIOT.print();break;case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :BLINKER_LOG("MIOT Query Power State");BlinkerMIOT.powerState(wsState ? "on" : "off");BlinkerMIOT.print();break;   default :BlinkerMIOT.powerState(wsState ? "on" : "off");BlinkerMIOT.color(0);BlinkerMIOT.mode(0);BlinkerMIOT.colorTemp(1000);BlinkerMIOT.brightness(1);BlinkerMIOT.print();break;}
}void setup() {// 初始化串口,并开启调试信息,调试用可以删除Serial.begin(115200); BLINKER_DEBUG.stream(Serial);// 初始化IOpinMode(LED, OUTPUT); digitalWrite(LED, HIGH); // 初始化 led 高电平 ,则灯熄灭状态// 初始化blinkerBlinker.begin(auth, ssid, pswd);Button1.attach(button1_callback);//小爱同学务必在回调函数中反馈该控制状态 BlinkerMIOT.attachPowerState(miotPowerState);//注册回调函数BlinkerMIOT.attachQuery(miotQuery);
}

5 USB-ttl 和esp01s 接线

我们在改为代码之后就可以往esp8266开发板内烧写程序了

注意

一般所购买的wifi模块,通过数据线就可以连接进行烧写
特殊的我们需要用到usb-ttl 来为其烧写程序

实物图片:

如果嫌麻烦 CH-PD不上拉也可以,直接接高电平。
esp8266-01模块烧录时,需要把gpio0拉低,即接地。烧录完成后拔掉拔掉gpio0的杜邦线。烧录速率选择 115200 bps

6 代码烧录:

Arduino 选择烧录的板子,选择esp8266 选择 led2,其他参数参考下图即可。点击代码上传即可 烧录到 esp01s中。

7 手机上的小爱配置

打开米家APP按照如下图配置:
进入米家APP,点击「我的」—「其他平台设备」,添加点灯科技,进入后,点击同步设备,就会看到在Blinker中创建的设备。

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


总结

等我们一切完成就绪就可以通过小爱同学来控制我们的设备了,这里只是简单的打开开发板上面的小灯,下一节我们来说用小爱同学控制一台电风扇。

*玩转esp8266 ESP32 喜欢的朋友请加入我微信 ilinker32 24小时在线,有偿技术咨询 *

如果我的创作对你有帮助 ,那么你的鼓励将是我创作的最大动力!非常感谢。

小爱同学+blinker+esp8266实现千里点灯相关推荐

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

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

  2. WiFiduino+blinker+小爱同学打造智慧卧室

    系列文章目录 文章目录 系列文章目录 前言 一.实现功能 二.所需材料 三.导线连接 四.软件开发 1.开发环境搭建 2.编写程序 五 手机操作部分 1.blinkerAPP 2. 米家APP 3.小 ...

  3. 小爱同学+ESP8266+blinker点灯

    系列文章目录 第一章 ESP8266+blinker 点灯 文章目录 系列文章目录 小爱同学控制 一.简介 二. app端添加设备 三. 小爱同学接入 1.简绍 2.代码部分 3.代码讲解 4.米家的 ...

  4. 从零开始使用ESP8266 + Blinker 实现小爱同学可控可读取状态的多路插座

    从零开始使用ESP8266 + Blinker 实现小爱同学可控可读取状态的多路插座 前言 一直对8266很感兴趣,放寒假嘛,也挺闲,刚好手头有原来买下的Nodemcu,就拿来做个多路开关 参考资料我 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 程序员致富的若干方法探讨
  2. linux log4j 空文件,log4j在linux上不生成日誌文件
  3. NGINX根据不同域名请求跳转同一台机器的不同项目
  4. 企业级NGINX的重定向rewrite
  5. UILabel 详解
  6. oracle的age datetime,python cx_Oracle插入TIMESTAMP字段后显示格式问题?
  7. 2台电脑一根网线传文件_「教程」如何快速的在两台电脑间传输大文件?
  8. C++11右值引用和std::move语句实例解析
  9. 支付宝小程序开发+java服务
  10. 关于编译优化选项o3的问题
  11. vue注册了却没有使用的错误: component has been registered but not used
  12. NLP-知识搭建聊天系统详细教程
  13. PyTorch实现AlexNet模型及参数详解
  14. IDEA try catch快捷键、 快速生成get set 方法快捷键、快速生成有参和无参构造方法快捷键
  15. matlab第四章图像复原与重建
  16. Python软件编程等级考试二级——20211205
  17. 神马笔记 版本1.7.0——辅助编辑·缘起篇
  18. 微信小程序input调用数字键盘没有小数点
  19. 史上最全!56个JavaScript的「手写」知识点,扫盲啦!
  20. h61 nvme硬盘_一盒在手,说走就走-ORICO M.2双盘位移动硬盘盒评测

热门文章

  1. Java手机号码正则表达式验证
  2. 如何在高并发分布式系统中生成全局唯一Id
  3. Vue 组件学习总结
  4. G - Godsend CodeForces - 841B
  5. 智慧教育信息化建设解决方案
  6. 安全修复之Web——HTTP X-XSS-Protection缺失
  7. 漏洞挖掘——实验3 Race_Condition
  8. [幻灯片]软件需求设计方法学全程实例剖析-01-概述
  9. Linux命令辅助工具,linux命令快查小助手
  10. 系统常用参数的推荐设置(操作同样适合于其他AD版本,操作方法一致)