目录

项目涉及的主代码

前言

一、环境搭建

二、开发步骤

1.注册点灯科技平台

2.在点灯科技平台注册设备,获取Secret Key

3.在Arduino IDE中编写代码,写入ESP8266

4.编译固件,烧入到ESP8266中

5.将舵机连接至ESP8266

6.绑定小爱同学/天猫精灵

总结


项目涉及的主代码

度盘共享地址:

https://pan.baidu.com/s/1UB_7as3BYeOaI437SRX3QA

提取码: 87cc

CSDN共享地址:

小爱同学/天猫精灵控制舵机_基于ESP8266+Arduino+点灯科技-单片机文档类资源-CSDN下载小爱同学/天猫精灵控制舵机_基于ESP8266+Arduino+点灯科技,详情介绍:更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u010102747/85313577

前言

使用ESP8266,连接点灯科技,绑定小爱同学或天猫精灵,控制舵机,实现远程开关灯操作。


一、环境搭建

需要搭建Arduino环境,并下载安装blinker-Arduino库

Arduino环境的搭建参考:

ESP32,ESP8266 Arduino环境搭建_无害菌的博客-CSDN博客_esp32 esp8266ESP32,ESP8266 arduino环境搭建,主要以ESP32为例https://blog.csdn.net/luckyfungi/article/details/117743983

Blinker—Arduino库的导入参考:

小爱同学脱离局域网远程控制开关?_弓长于水的博客-CSDN博客_小爱同学 远程控制小爱同学脱离局域网远程控制开关?这是几个月前做的一个小项目,也是从大佬那里学来的,为了防止忘记过程,自己做个记录,同时分享给需要的人这个项目需要用到的东西有:电脑端Arduino IDE,小米手机小爱同学,手机APP点灯·blinker,esp8266nodemcu,以及杜邦线面包板小灯1、Arduino下载地址:https://www.arduino.cc/en/Main/Software根据自己的系统安装合适的版本 我目前用的是1.8.9版本安装esp8266拓展,这里点灯科技提供了资源:hhttps://blog.csdn.net/qq_44419932/article/details/106131905

二、开发步骤

1.注册点灯科技平台

点灯科技-点灯物联网解决方案blinker是一套专业且快捷的、跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输存储。可用于多种领域,可以帮助用户更好更快地搭建物联网项目。https://www.diandeng.tech/home

2.在点灯科技平台注册设备,获取Secret Key

第一步,选择右上角加号添加设备

第二步,选择添加独立设备

第三步,选择网络接入

第四步,复制key,完成设备注册

3.在Arduino IDE中编写代码,写入ESP8266

此处以“小爱同学”控制为例进行说明,“天猫精灵”控制方式相同,修改回调函数即可

必需修改的三个部分:点灯科技设备Key,wifi名称,wifi密码

选择修改的两个部分:打开时的舵机旋转角度,关闭时的舵机旋转角度

具体实现代码如下:

#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET
#include <Servo.h>
#include <Blinker.h>
#define PIN_SERVO D0 //舵机信号线Servo myservo;char auth[] = "123";//修改为你的点灯科技设备Key
char ssid[] = "123";//Wifi名称
char pswd[] = "123";//Wifi密码bool oState = false;//小爱同学电源类回调
void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);myservo.attach(PIN_SERVO);if (state == BLINKER_CMD_ON) {myservo.write(-45);//命令为打开时,控制舵机旋转角度delay(1000); BlinkerMIOT.powerState("on");BlinkerMIOT.print();oState = true;}else if (state == BLINKER_CMD_OFF) {myservo.write(90);//命令为关闭时,控制舵机旋转角度delay(1000); BlinkerMIOT.powerState("off");BlinkerMIOT.print();  oState = 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(oState ? "on" : "off");BlinkerMIOT.print();break;case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :BLINKER_LOG("MIOT Query Power State");BlinkerMIOT.powerState(oState ? "on" : "off");BlinkerMIOT.print();break;default :BlinkerMIOT.powerState(oState ? "on" : "off");BlinkerMIOT.print();break;}
}void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);Blinker.vibrate();uint32_t BlinkerTime = millis();Blinker.print("millis", BlinkerTime);
}void setup()
{Serial.begin(115200);BLINKER_DEBUG.stream(Serial);pinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, LOW);Blinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);BlinkerMIOT.attachPowerState(miotPowerState);BlinkerMIOT.attachQuery(miotQuery);
}void loop()
{Blinker.run();
}

天猫精灵版本的函数,请参考文章开头提供的源代码文件。

4.编译固件,烧入到ESP8266中

选择对应的COM口,并点击上传按钮,将固件烧录到硬件中,完毕后等待上传成功提示。

5.将舵机连接至ESP8266

ESP8266示意图

 舵机线路示意图

线路定义:红色---VCC;棕色:GND;橙色:信号线

实物连接图

代码中定义D0口为舵机信号线控制口,因此分别连接舵机的D0,3V,GND,完成连接后上电

6.绑定小爱同学/天猫精灵

小爱同学实现控制,需要下载米家APP,登陆账号后绑定点灯科技

若使用天猫精灵实现,需要在天猫精灵APP中绑定点灯科技

完成设备绑定后,即可使用语音控制舵机,实现灯的开关控制。

例如:小爱同学,关闭开关


总结

通过实验,学习通过Arduino编程实现对ESP8266的控制,实现相应效果。

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

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

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

  2. Arduino使用点灯科技+小爱同学+WIFI,实现一个设备区分控制多个舵机/电灯

    相较于一个Arduino只能作为小爱同学的一个执行器 多个区分控制需要更改电灯科技提供的设备类型 #define BLINKER_MIOT_MULTI_OUTLET 通过这个定义,将设备定义为一个具有 ...

  3. 基于ESP8266桌面天气站(接入点灯科技,小爱同学)

    桌面天气站的主要部分  桌面天气站所需知识  代码思路 #define BLINKER_MIOT_LIGHT #define BLINKER_WIFI#define SCREEN_WIDTH 128 ...

  4. 发现ESP-NOW之旅——用ESP8266做灯控开关

    发现ESP-NOW 我是一名从事智能照明的工程师,今年智能照明特别火爆,远超出我的想象.而且有量就压价,客户都不是省油的灯,所以设计也不能大手大脚的,新上手的ESP8266便宜好用,过我手的就有不少项 ...

  5. Alios-Thins教程连载 ④ 图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台,个人设备实现轻松对接天猫精灵 。(下篇)(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫e ...

  6. 【流光溢彩】物联网入门 - ESP8266 + WS2812B 制作流光溢彩灯带

    一.硬件准备 ESP8266 模块 x1 WS2812B 灯带(60/米,根据显示器四周长度买即可) x1 杜邦线 若干 DC 电源 x1 二.软件准备 1. ESP8266 串口驱动 一般购买详情页 ...

  7. Alios-Thins教程连载 ③ 图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台,个人设备实现轻松对接天猫精灵 。(上篇)(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫e ...

  8. Arduino使用ESP8266+点灯科技+小爱音响实现语音控制开关

    如果使用 ESP8266 接入 Blinker * 请确保安装了 2.7.4 或更新的 ESP8266/Arduino 支持包. * https://github.com/esp8266/Arduin ...

  9. BT08-B(蓝牙模块)与MG90S(舵机)开发灯控系统(基于51单片机)

    项目效果:通过手机蓝牙向蓝牙模块发送指令,蓝牙模块接受指令并通过串口发送给单片机,单片机控制舵机旋转角度,实现开,关节能灯开关. 一.设备: 硬件:BT08-B蓝牙模块(较为便宜),MG90S舵机(较 ...

最新文章

  1. python编程规范 谷歌_Python最新编程规范,新手必学
  2. android RxJava(RxAndroid)的简单使用
  3. Java集合框架:HashMap
  4. Jerry给人做培训的记录
  5. shell基础——变量定义
  6. jQuery Mobile中复选框checkbox的data-*选项
  7. Android:使用GsonFormat插件遇到的坑
  8. unreal4怎么设置游戏模式_怎么使用虚幻4开发游戏?
  9. librdkafka自动源码编译
  10. pyhook安装说明
  11. ANSYS ICEM CFD非结构体网格生成实例——换热器
  12. Oracle 实体用户授权及同步同义词
  13. 计算机保持在线的几种方法,获取网络电影实际地址的几种方法.doc
  14. selector wakeup
  15. Error starting Tomcat context
  16. JAVA进阶—注解,对象克隆,设计模式
  17. 名帖89 蔡襄 楷书《荔枝谱》
  18. 物体移动时,面朝移动方向旋转
  19. 机甲大师机器人控制(三):软件架构设计
  20. Win10系统下提示“系统组策略禁止安装此设备”的解决方案(家庭版无组策略)

热门文章

  1. 排序算法详解(Java实现 + 动画演示)
  2. python创建mysql数据库_Python:如何使用PyMySQL创建mysql数据库?
  3. 2016-2022年《科学美国人》PDF版合集免费下载。这本杂志是我最想要的考研英语学习资料
  4. 中职网络空间安全windows渗透
  5. PCI DSS不合规的处理方法
  6. 陈天奇:十年机器学习科研之路(附链接)
  7. 台湾海峡隧道三条规划线路集体加速
  8. HTML表单元素Emil和密码
  9. Linux中Chrome无界模式动态代理IP的配置(Selenium)
  10. 2022.1.20国产蓝牙AOA高精度定位厂家开放华东上海和华北北京的FAE岗位招聘欢迎行业内部推荐