合集地址:Arduino中文社区
优快云为备份,最新看↑arduino.me
打开方式
本系列教程建议在电脑端打开更快
手机端切换文章请点击左下角专题目录
文章内切换章节请点击左下角文章大纲
资料下载、教程持续更新:
点灯开源分享群4:QQ 100275107
目录
时间戳
前言
资料下载
硬件购买
说明书:
一、程序由来
二、环境安装
三、操作步骤
四、代码原文(带注释供参考)
时间戳
上一期更新:2024年2月1日
本文更新时间:2024年3月14日
代码资源更新时间:2024年1月26日
前言
开发环境必须按照此教程第二章《软件开发环境搭建》进行配置
不按该方法配置,库版本不对必出问题
纯新手先做一遍【新手入门】[Blinker]2024-最新开发环境+温湿度节点+继电器 详细开源教程比较好
地址:Arduino中文社区
上述新手教程找新手测试过,步骤截图全
本人全部合集https://arduino.me/s/35?aid=2757
资料下载
1.下载方式
暂时仅能从QQ 群的群文件下载
点灯开源分享群4:QQ 100275107
此群只提供各类开源分享,可向群主投稿,为避免打扰,不聊天
教程等任何问题都可找群主,免费调试,有空就回
群文件:
2.资料内容
小爱联动4路继电器.rar
包含
MIOT_Blinker_MULTI_OUTLET.ino
未搭建环境还需下载
Blinker-DHT11-继电器-纯小白入门超详细版全套教程资料.rar
详见第二章环境搭建
3.资料注意
调试出现任何问题先看【新手必看】[Blinker]2024最新-常见问题大全
仍存在则咨询群主。
如有咨询需要,也可前往点灯官网>开发文档>加点灯2000人官方群。
硬件购买(仅推荐)
NodeMCU
(Node MCU基于ESP12F模组(金属屏蔽罩这块),而ESP12模组基于ESP8266芯片和flash芯片)
高电平触发继电器
高/低电平触发继电器
无论用哪款继电器模组,记得:
高电平触发的模组平常是低电平0V,单片机输出3.3V高电平才吸合,使用推挽输出:
pinMode(RELAYPIN_1, OUTPUT);
低电平触发的模组平常是高电平5V,单片机输出0V高电平才吸合,避免5V灌入单片机3.3V回路,使用开漏输出:
pinMode(RELAYPIN_1, OUTPUT_OPEN_DRAIN);
参考资料:【NodeMcu-ESP8266】引脚使用参考指南http://t.csdnimg.cn/OtETF
使用说明书
一、程序组成(建议打开看一下原版)
1.联动插座例程MIOT_MULTI_OUTLET
2.按键标准处理函数(本案例将button1_state替换为oState[1],以便与小爱共同控制)
bool button1_state=false; // 按钮1状态全局变量
//下面这句是类库实例化语句,类名BlinkerButton(按钮组件类),实例名Button1,数据键名“b1”,当blinker.run检测到APP发来数据包含键名“b1”就调用回调button1_callback。
BlinkerButton Button1("b1",button1_callback);//用此句不需要在setup里attach回调了
void button1_callback(const String & state)//按钮1回调函数,按下后设备开启继电器1
{
if(state=="tap"){button1_state=!button1_state;}//普通按键:tap反转状态
else if(state=="on"){button1_state=true;} //开关按键:on 短按开启
else if(state=="off"){button1_state=false;} //开关按键:off短按关闭
else if(state=="press"){button1_state=true;} //普通按键或开关按键:press长按开启
else if(state=="pressup"){button1_state=false;}//普通按键或开关按键:pressup松开关闭
Button1.print(button1_state?"on":"off");//反馈状态到APP
digitalWrite(RELAYPIN_1,!button1_state);//输出到继电器
}
3.心跳包例程
void heartbeat () //用户心跳包回调函数,Blinker.run检测到APP每30秒 get:state 请求心跳包时会顺带执行此函数
{
}
setup()
{
Blinker.attachHeartbeat(heartbeat); //注册用户心跳包回调函数,Blinker.run检测到APP每30秒 get:state 请求心跳包时会顺带执行此函数
}
以上三个合并为本教程代码MIOT_Blinker_MULTI_OUTLET.ino,第四章可预览注释版代码
二、软件开发环境搭建
详见此文:
【新手必看】[Blinker]2023-最新开发环境+温湿度节点+继电器 详细开源教程
第二章
不按该方法配置,库版本不对会出问题:
Blinker库必须官网最新,不能从开发板管理器更新
ESP8266库必须3.0.1
ESP32库必须2.0.7
此项目内容少,推荐用8266做(ESP32也兼容)
(把第二章复制过来了)
群里下载Blinker-DHT11-继电器-纯小白入门超详细版全套教程资料.rar
解压,然后打开
可见
其中exe尽量管理员身份运行
1.安装Arduino
右键管理员身份运行
装过的忽略,Arduino2.0亦可,但是后面几步尽量一样
2.安装硬件库(又名开发板库、package)
Arduino开发板库添加有两种方式,推荐点灯官网资源下载栏的离线安装包(本教程压缩包中已经附带):
1.离线安装:右键管理员身份运行本教程附带的离线安装包
2.在线安装(很慢不推荐除非有VPN):Arduino>工具>开发板>开发板管理器,搜索ESP8266后点击安装
注:ESP8285直接用8266即可兼容,他俩区别仅在于硬件上8285自带flash,可用IO更多,不像8266多一个flash芯片,占用SPI了