嵌入式硬件设计(一)|利用 NodeMCU-ESP8266 开发板和继电器结合APP“点灯•blinker”制作Wi-Fi智能开关(附有关硬件详细资料)
概述
本文主要讲述利用 NodeMCU-ESP8266 开发板和继电器通过手机 APP “ 点灯 • Blinker ” 制作一款能够由手机控制的WiFi 智能开关,从而实现智能物联。NodeMCU 是基于 Lua 的开源固件,ESP8266-NodeMCU是一个开源硬件开发板,支持WiFi功能,所以在物联网(IOT)领域具有很广泛的用途。
一.硬件准备
1.NodeMCU-ESP8266开发板
2.继电器
二.手机软件准备
1.软件名:点灯 • Blinker
2.软件图标
3.软件官网链接
安卓直链
http://dd.clz.me:1080/blinker-2.6.5-3.apkhttp://dd.clz.me:1080/blinker-2.6.5-3.apk
IOS直链
https://apps.apple.com/cn/app/id1498805902https://apps.apple.com/cn/app/id1498805902
GitHub直链
blinker · GitHubhttps://github.com/blinker-iot
三.硬件引脚及电路图解
1.NodeMCU开发板
(1).引脚图
(2).引脚说明
(3).主要参数
2.ESP8266-12模块
(1).引脚图 
(2).原理图
(3).引脚说明
(4).主要参数
(5).参考资料文档
嵌入式硬件介绍(一)|ESP8266 Wi-Fi 模块介绍(以ESP8266 -12F为例)_esp8266wifi模块介绍-CSDN博客https://blog.csdn.net/2301_80771046/article/details/136571380
3.EXP8266EX芯片
(1).管脚图
(2).管脚说明
(3).电路原理图
(4).功能原理图
(5).主要参数
4.继电器
(1).引脚图
(2). 引脚说明
引脚 | 说明 |
---|---|
DC+ (输入端) | 接直流(DC)电源正极 |
DC- (输入端) | 接直流(DC)电源负极 |
IN (输入端) | 通过高低电平控制继电器的吸合 |
NO (输出端) | 继电器常开端口(吸合后短接) |
COM (输出端) | 继电器公共端口 |
NC (输出端) | 继电器常闭端口(吸合后悬空) |
四.硬件组装
硬件连接
NodeMCU开发板 | 继电器 | 说明 |
---|---|---|
D1 | NO | 通过开发板D1引脚产生高电平,使常开端口为高电平,从而吸合短接 |
VCC、GND | 开发板和继电器分别接入各自电源 (继电器可引用开发板5V、GND作为电源) |
五.手机软件配置
1.打开手机端APP:点灯·blinker
2.点击“添加设备”
3.点击“点灯”中的“独立设备”
4.点击“网络接入”
5.完成设备添加
6.打开设备并点击右上角进行配置
7.添加按键并点击按钮进行配置
8.按照如下图所示进行按键配置
9.配置完成如下所示
10.我们通过软件可以对设备进行如下图修改配置
(如不了解相关项请勿修改)
六.电脑代码编辑器软件配置
1.代码编辑器软件:Arduino IDE
2.软件下载安装与使用的相关参考资料
Arduino实用教程(一)|Arduino的下载安装与配置中文环境_arduino下载-CSDN博客https://blog.csdn.net/2301_80771046/article/details/136439978
3. Arduino IDE的配置
(1).点击“文件”中的“首选项”,“在其他开发板管理器地址”栏中输入“http://arduino.esp8266.com/stable/package_esp8266com_index.json”,点击“确定”
(2).在“工具”中点击“开发板”,然后点击“开发板管理器”
(3). 在“开发板管理器”中输入“esp8266”并搜索,在搜索结果中找到“esp8266 by ESP8266 Community”点击安装
(4).等待开发板资源安装完成,安装完成如下图所示
4.添加开发板(NodeMCU 0.9/1.0)
5.添加Blinker库
(1). 点击“工具”中的“管理库”
(2).输入Blinker安装库
七.测试硬件代码程序
把以下代码输入到Arduino IDE中
/*该代码由孟俊宇工作室根据Arduino IDE中blinker示例修改制作
*/
#define BLINKER_WIFI
#define relay1 D1 //定义引脚
#include <Blinker.h> //引用Blinker库char auth[] = "在此处输入Blinker密钥"; //Blinker密钥(Secret Key)
char ssid[] = "在此处输入WiFi名称"; //WiFi名称
char pswd[] = "在此处输入WiFi密码"; //WiFi密码// 新建组件对象
BlinkerButton Button1("relay1");
BlinkerNumber Number1("num-abc");int counter = 0;// 按下按键即会执行该函数
void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);digitalWrite(relay1, !digitalRead(relay1));
}// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);counter++;Number1.print(counter);
}void setup()
{// 初始化串口Serial.begin(115200);BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();// 初始化IOpinMode(relay1, OUTPUT);digitalWrite(relay1, HIGH);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);
}void loop() {Blinker.run();
}
八.测试
将代码上传至硬件,并将各硬件接通电源进行测试。确保桥接WiFi正常,打开手机APP进行调试即可。
总结
参考相关资料:
1.硬件参考
ESP8266-NodeMCU硬件参考 – 太极创客 (taichi-maker.com)http://www.taichi-maker.com/homepage/reference-index/arduino-hardware-refrence/nodemcu/
2.规格书
nodemcu8266_v1.2https://docs.ai-thinker.com/_media/esp8266/boards/nodemcu8266_v1.2_e8_a7_84_e6_a0_bc_e4_b9_a6.pdf
nodemcu8266_v1.0https://docs.ai-thinker.com/_media/nodemcu8266_v1.0.pdf
3. 原理图
No Title (ai-thinker.com)https://docs.ai-thinker.com/_media/esp8266/boards/nodemcu-8266_v1.0.pdfnodemcu-8266_v1.2_ch340串口芯片_开发板原理图
https://docs.ai-thinker.com/_media/esp8266/boards/nodemcu-8266_v1.2_ch340%E4%B8%B2%E5%8F%A3%E8%8A%AF%E7%89%87_%E5%BC%80%E5%8F%91%E6%9D%BF%E5%8E%9F%E7%90%86%E5%9B%BE.pdf
4.出厂默认固件
https://docs.ai-thinker.com/_media/esp8266/boards/nodemcu/%E5%87%BA%E5%8E%82%E9%BB%98%E8%AE%A4nodemcu%E5%9B%BA%E4%BB%B6.rarhttps://docs.ai-thinker.com/_media/esp8266/boards/nodemcu/%E5%87%BA%E5%8E%82%E9%BB%98%E8%AE%A4nodemcu%E5%9B%BA%E4%BB%B6.rar
5.Lua源码
GitHub - nodemcu/nodemcu-firmware: Lua based interactive firmware for ESP8266, ESP8285 and ESP32Lua based interactive firmware for ESP8266, ESP8285 and ESP32 - nodemcu/nodemcu-firmwarehttps://github.com/nodemcu/nodemcu-firmware
6.NodeMCU文档
NodeMCU Documentationhttps://nodemcu.readthedocs.io/en/release/
以上为本篇文章的所有内容,如有疑问或提供意见,欢迎指出,谢谢 !!!
相关文章:

嵌入式硬件设计(一)|利用 NodeMCU-ESP8266 开发板和继电器结合APP“点灯•blinker”制作Wi-Fi智能开关(附有关硬件详细资料)
概述 本文主要讲述利用 NodeMCU-ESP8266 开发板和继电器通过手机 APP “ 点灯 • Blinker ” 制作一款能够由手机控制的WiFi 智能开关,从而实现智能物联。NodeMCU 是基于 Lua 的开源固件,ESP8266-NodeMCU是一个开源硬件开发板,支持WiFi功能&a…...

CSS扩展选择器
文章目录 1. 并集选择器2. 交集选择器3. 后代选择器4. 子代选择器5. 兄弟选择器5.1. 相邻兄弟选择器5.2. 通用兄弟选择器 6. 属性选择器7. 伪类选择器7.1. 动态伪类7.2. 结构伪类7.3. 否定伪类 8. 伪元素选择器9. Google 改进案例 1. 并集选择器 选中多个选择器对应的元素。一…...

知名Web3投资基金a16z合伙人Jane Lippencott确认出席Hack.Summit() 2024区块链开发者大会
在区块链技术的风起云涌和Web3生态的蓬勃发展中,知名a16z Crypto的合伙人Jane Lippencott已确认出席即将于2024年4月9日至10日在香港数码港举行的Hack.Summit() 2024区块链开发者大会。作为亚洲首次举办的Hack.Summit(),此次大会将为全球区块链开发者及业…...

电脑那个部件坏了或者是哪个软件需要修复来看价钱
电脑维修价格表是多少? 价格取决于计算机的哪个部分损坏或哪个软件需要修复。 由于电脑中的部件非常多,而且会以各种奇怪的方式出现问题,下面我们就来看看具体的充电方法。 电脑维修价格表: 1. 重新安装系统。 安装XP系统通常需…...

GiT: Towards Generalist Vision Transformer through Universal Language Interface
GiT: Towards Generalist Vision Transformer through Universal Language Interface 相关链接:arxiv github 关键字:Generalist Vision Transformer (GiT)、Universal Language Interface、Multi-task Learning、Zero-shot Transfer、Transformer 摘要 …...
纽约时报起诉OpenAI和微软将决定未来LLM的发展
《纽约时报》诉OpenAI和微软案对未来LLM发展的重大影响 案件背景 《纽约时报》(NYT)近期对OpenAI和微软提起诉讼,指控OpenAI未经授权使用其受版权保护的内容来训练其AI模型,包括ChatGPT。NYT声称,OpenAI使用了数百万篇其文章,这…...

IntelliJ IDEA 面试题及答案整理,最新面试题
IntelliJ IDEA中的插件系统如何工作? IntelliJ IDEA的插件系统工作原理如下: 1、插件架构: IntelliJ IDEA通过插件架构扩展其功能,插件可以添加新的功能或修改现有功能。 2、安装和管理: 通过IDEA内置的插件市场下载…...

T1.数据库MySQL
二.SQL分类 2.1 DDL 2.1.1数据库操作 1). 查询所有数据库 show databases ; 2). 查询当前数据库 select database(); 3)创建数据库 create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则] ; 4)删除数据库 drop database …...

idea中database的一些用法
1、查看表结构 方法1,右键,选这个 方法2 双击表后,看到数据,点DDL 方法3 写SQL时,把鼠标放在表名上,可以快速查看表结构 2、表生成对应的实体类 表中右键,选择这2个,选择生成的路…...

外卖点餐系统 |基于springboot框架+ Mysql+Java+JSP技术+Tomcat的外卖点餐系统 设计与实现(可运行源码+设计文档)
推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 骑手功能模块 商家功能模块 管理员功能登录前台功能效果图 用户功能模块 系统功能设…...

挑战杯 机器视觉的试卷批改系统 - opencv python 视觉识别
文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…...
Node.js 自带的 http 模块来实现一个简单的本地服务器
1.创建一个 server.js 文件: const http require(http); const fs require(fs); const path require(path);const server http.createServer((req, res) > {// 获取请求的文件路径const filePath path.join(__dirname, dist, req.url);// 读取文件内容并返…...
c++ 设计模式模版方法
最初版本 #pragma onceclass Library { public:void Step1(){}void Step3(){}void Step5(){} };class Appliacation { public:void Step2(){}void Step4(){} };int main() {Library lib;Appliacation app;lib.Step1();app.Step2();lib.Step3();app.Step4();lib.Step5(); }最终…...
踏上机器学习的征程:探索基础概念与学习模式
摘要: 机器学习是当今科技领域最具前沿和应用价值的技术之一,它正在改变我们对数据的理解和利用方式。本文将引导读者深入了解机器学习的基本概念,包括监督学习、无监督学习和半监督学习等,并通过生动的例子解释这些概念,帮助读者迈出学习机器学习的第一步。 导言: 随着…...
基于YOLO的自动驾驶目标检测研究综述
摘要:自动驾驶是人工智能发展领域的一个重要方向,拥有良好的发展前景,而实时准确的目标检测与识别是保证自动驾驶汽车安全稳定运行的基础与关键。回顾自动驾驶和目标检测技术的发展历程,综述了YOLO算法在车辆、行人、交通标志、灯光、车道线等目标检测上的应用,同时对比分…...

深度学习-解读GoogleNet深度学习网络
深度学习-解读GoogleNet深度学习网络 深度学习中,经典网络引领一波又一波的技术革命,从LetNet到当前最火的GPT所用的Transformer,它们把AI技术不断推向高潮。2012年AlexNet大放异彩,它把深度学习技术引领第一个高峰,打…...

【LeetCode: 2684. 矩阵中移动的最大次数 + dfs】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...

第五节:使用SMB开发WebSocket通信
一、概述 本节主要讲解在SMB中如何进行websocket快速开发,实现客户端连接、关闭、消息通讯等功能。 示例下载:https://download.csdn.net/download/lllllllllluoyi/88949743 二、创建WebSocket服务器 1、在csdnProject工程中新建一个消息流。 添加W…...
Nginx和Ribbon实现负载均衡的区别
Nginx和Ribbon的区别 1. Nginx服务器端负载均衡: 1、Nginx是客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。即请求有nginx服务器端进行转发。 3、Nginx是服务端的负载均衡,Ribbon是客户端…...
流畅的Python(十九)-动态属性和特性
一、核心要义 在Python中,数据的属性和处理数据的方法,统称属性。方法,只是可调用的属性。除了这两者之外,我们还可以创建特性(property),在不改变类接口的前提下,使用存取方法(即读值方法和设值方法)修改数据属性。 二、代码示例 0、相关知识点 #!/usr/bin/env…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...