900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 基于ESP8266+点灯科技+小爱同学控制开门解决方案!

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

时间:2020-10-18 08:55:00

相关推荐

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

前言

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

一、准备工作

1、硬件材料

①、ESP8266开发板(均价13R)

②、SG90 MG90S 9g舵机(均价12R)

③、电源模块 5V (均价2R)

④、杜邦线(母头和公对母)、DC 5.5x2.1 DC005转接头(公头)、电池盒-5号4节 (均价8R)

⑤、紫米电池一盒*10 (均价13R)

⑥、小爱音响 (均价不等,只要支持小爱同学即可,如果手机是小米的,也可以不用购买小爱音响)

以上东西都可以通过淘宝购买

2、APP软件安装

①.注册小米账号,并登录米家

米家APP下载,下载完成后,注册小米账号,并登录

②注册点灯科技APP,并获取key

点灯科技APP下载,下载地址:link,选择适合自己的平台版本

安装完成后,注册APP,注册完成后,输入账号密码登录,进入首页点击右上角“+”,选择点灯-独立设备选择网络接入,记住key,后面会用到

3、开发arduino环境搭建

①、arduino安装

下载链接: link

win10电脑版本直接下载:链接: link

解压,并运行

②、环境部署

1)添加esp8266开发板到arduino IDE里

点击 文件 - 首选项

添加开发板,复制地址到红框中,然后点击 好:/stable/package_esp8266com_index.json

点击工具 - 开发板 - 开发板管理器,然后点击安装(因为服务器在国外下载可能会出现异常,尽量多试几次,或者fq下载)

安装完成后,选择工具 - 开发板… - ESP8266… - Generic ESP8266 Module

2)添加点灯科技的库

点灯科技库下载地址:link 导入库

二、上传代码

1、连接开发板

开发板通过USB连接电脑,点击工具 - 端口,选择开发板端口

注:有时候开发板连接电脑后,端口可能会没有或者时有时无,这个时候我们就需要先按住flash别松手,然后接入USB,再按下rst就可以了(重新操作后,需要重新打开工具选择端口才可以,页面不会自动刷新)

2、上传代码

复制代码到编辑器中,以下代码从网上找的,并进行了一些修改,各位可自行优化。

#include <Servo.h> #define BLINKER_WIFI //WIFI#define BLINKER_MIOT_OUTLET //米家插座类型#include <Blinker.h>char auth[] = ""; //点灯科技设备KEYchar ssid[] = ""; //WIFI名称-只支持2.4Gchar pswd[] = ""; //WIFI密码// 新建组件对象BlinkerButton Button1("btn-max"); //位置1 按钮 数据键名Servo myServo; // 定义Servo对象来控制int pos = 0; // 角度存储变量//小爱控制void miotPowerState(const String & state){BLINKER_LOG("need set power state: ", state);//对小爱同学说“开门”if (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, HIGH);BlinkerMIOT.powerState("on");BlinkerMIOT.print();for (pos = 0; pos <= 150; pos ++) {// 0°到150°myServo.write(pos); // 舵机角度写入delay(15); // 等待转动到指定角度} delay(500);//延时0.5sfor (pos = 150; pos >= 0; pos --) {// 从150°到0°myServo.write(pos); // 舵机角度写入delay(15); // 等待转动到指定角度}delay(500);//延时0.5s }//对小爱同学说“关门”else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, LOW);BlinkerMIOT.powerState("off");BlinkerMIOT.print();for (pos = 0; pos <= 180; pos ++) {// 0°到180°myServo.write(pos); // 舵机角度写入delay(15); // 等待转动到指定角度} delay(1000);//延时1sfor (pos = 180; pos >= 0; pos --) {// 从180°到0°myServo.write(pos); // 舵机角度写入delay(15); // 等待转动到指定角度}delay(1000);//延时1s }}//位置1 按钮void button1_callback(const String & state) {for (pos = 0; pos <= 150; pos ++) {// 0°到150°myServo.write(pos); // 舵机角度写入delay(15);// 等待转动到指定角度} delay(500);//延时0.5sfor (pos = 150; pos >= 0; pos --) {// 从150°到0°myServo.write(pos); // 舵机角度写入delay(15);// 等待转动到指定角度}delay(500);//延时0.5s }void setup() {// 初始化串口Serial.begin(115200); BLINKER_DEBUG.stream(Serial);Blinker.begin(auth, ssid, pswd);Button1.attach(button1_callback);//绑定小爱电源控制BlinkerMIOT.attachPowerState(miotPowerState);//初始化舵机myServo.write(0); //首次上电,舵机角度恢复到0°myServo.attach(14); //控制线-D5}void loop() {Blinker.run();}

点击上传,上传成功后,会有提示

三、线路部署

按如下部署线路

四、绑定

1、点灯app页面设置

①、打开点灯科技APP,点击首页新的设备,跳过配置向导 - 点击右上角编辑 - 添加按钮

②、点击按钮,编辑按钮信息,红框中是上面代码的函数名,信息编写好以后,点击右上角“确定”

③、按钮添加成功后,点击锁定

④、修改设备名称,点击“…”编辑,名称更改为“门”

⑤、设备在线后,我们点击“开门”按钮,查看舵机是否正常运行。

2、绑定小爱同学

①、打开米家APP - 我的 - 其他平台设备 - 点击添加,找到点灯科技,绑定账号,这样我们就绑定成功了,下面可以喊小爱同学“开门”,就可以看见舵机执行了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。