(含代码)ESP8266+舵机 制作wifi灯控开关(arduino,点灯科技,小爱同学/天猫精灵实现)
目录
项目涉及的主代码
前言
一、环境搭建
二、开发步骤
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,点灯科技,小爱同学/天猫精灵实现)相关推荐
- 基于ESP8266+点灯科技+小爱同学控制开门解决方案!
前言 每次下班回到家就已经很累了,到门口还要到处翻找钥匙,然后开门,是不是觉得很烦,那我们有没有不用通过钥匙开门且成本低的方案了?下面我会教大家基于ESP8266+点灯科技+小爱同学来控制开门的方法 ...
- Arduino使用点灯科技+小爱同学+WIFI,实现一个设备区分控制多个舵机/电灯
相较于一个Arduino只能作为小爱同学的一个执行器 多个区分控制需要更改电灯科技提供的设备类型 #define BLINKER_MIOT_MULTI_OUTLET 通过这个定义,将设备定义为一个具有 ...
- 基于ESP8266桌面天气站(接入点灯科技,小爱同学)
桌面天气站的主要部分 桌面天气站所需知识 代码思路 #define BLINKER_MIOT_LIGHT #define BLINKER_WIFI#define SCREEN_WIDTH 128 ...
- 发现ESP-NOW之旅——用ESP8266做灯控开关
发现ESP-NOW 我是一名从事智能照明的工程师,今年智能照明特别火爆,远超出我的想象.而且有量就压价,客户都不是省油的灯,所以设计也不能大手大脚的,新上手的ESP8266便宜好用,过我手的就有不少项 ...
- Alios-Thins教程连载 ④ 图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台,个人设备实现轻松对接天猫精灵 。(下篇)(附带demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫e ...
- 【流光溢彩】物联网入门 - ESP8266 + WS2812B 制作流光溢彩灯带
一.硬件准备 ESP8266 模块 x1 WS2812B 灯带(60/米,根据显示器四周长度买即可) x1 杜邦线 若干 DC 电源 x1 二.软件准备 1. ESP8266 串口驱动 一般购买详情页 ...
- Alios-Thins教程连载 ③ 图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台,个人设备实现轻松对接天猫精灵 。(上篇)(附带demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫e ...
- Arduino使用ESP8266+点灯科技+小爱音响实现语音控制开关
如果使用 ESP8266 接入 Blinker * 请确保安装了 2.7.4 或更新的 ESP8266/Arduino 支持包. * https://github.com/esp8266/Arduin ...
- BT08-B(蓝牙模块)与MG90S(舵机)开发灯控系统(基于51单片机)
项目效果:通过手机蓝牙向蓝牙模块发送指令,蓝牙模块接受指令并通过串口发送给单片机,单片机控制舵机旋转角度,实现开,关节能灯开关. 一.设备: 硬件:BT08-B蓝牙模块(较为便宜),MG90S舵机(较 ...
最新文章
- python编程规范 谷歌_Python最新编程规范,新手必学
- android RxJava(RxAndroid)的简单使用
- Java集合框架:HashMap
- Jerry给人做培训的记录
- shell基础——变量定义
- jQuery Mobile中复选框checkbox的data-*选项
- Android:使用GsonFormat插件遇到的坑
- unreal4怎么设置游戏模式_怎么使用虚幻4开发游戏?
- librdkafka自动源码编译
- pyhook安装说明
- ANSYS ICEM CFD非结构体网格生成实例——换热器
- Oracle 实体用户授权及同步同义词
- 计算机保持在线的几种方法,获取网络电影实际地址的几种方法.doc
- selector wakeup
- Error starting Tomcat context
- JAVA进阶—注解,对象克隆,设计模式
- 名帖89 蔡襄 楷书《荔枝谱》
- 物体移动时,面朝移动方向旋转
- 机甲大师机器人控制(三):软件架构设计
- Win10系统下提示“系统组策略禁止安装此设备”的解决方案(家庭版无组策略)
热门文章
- 排序算法详解(Java实现 + 动画演示)
- python创建mysql数据库_Python:如何使用PyMySQL创建mysql数据库?
- 2016-2022年《科学美国人》PDF版合集免费下载。这本杂志是我最想要的考研英语学习资料
- 中职网络空间安全windows渗透
- PCI DSS不合规的处理方法
- 陈天奇:十年机器学习科研之路(附链接)
- 台湾海峡隧道三条规划线路集体加速
- HTML表单元素Emil和密码
- Linux中Chrome无界模式动态代理IP的配置(Selenium)
- 2022.1.20国产蓝牙AOA高精度定位厂家开放华东上海和华北北京的FAE岗位招聘欢迎行业内部推荐