【征集令】ESP_NOW 低功耗开关 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【征集令】ESP_NOW 低功耗开关

简介:基于ESP_NOW的开关,配合市面上现成的开关盒,完成度很高。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2021-12-03 19:26:14
更新时间: 2024-01-12 17:57:52
描述
### 项目简介 * ESP-NOW 是一种由乐鑫公司定义的无连接 Wi-Fi 通信协议。在 ESP-NOW 中,应用程序数据被封装在各个供应商的动作帧中,然后在无连接的情况下,从一个 Wi-Fi 设备传输到另一个 Wi-Fi 设备。 CTR 与 CBC-MAC 协议 (CCMP) 可用来保护动作帧的安全。ESP-NOW 广泛应用于智能照明、远程控制、传感器等领域 * 开源的项目大多数都是关于ESP8266的WiFi功能的,基本没有ESP_NOW协议的,我觉得这个ESP_NOW其实很好,无论功耗,响应速度以及信号覆盖范围都要比315M/433M的模块要强,同时自带校验,实测下来很少出现丢包和错误的情况 * ESP_NOW网关的制作也相对315M/433M的模块要简单,使用另一块ESP8266或者ESP32就可以 - - - ### 项目功能介绍 * 硬件方面使用了ESP8266作为ESP_NOW开关的发送端,当开关没有按下的时候,ESP8266处于永久休眠状态,当开关按下的时候会对芯片reset同时锁存住按下的开关,芯片启动完成后读取端口状态就能判断是哪个按钮被按下,同时通过ESP_NOW协议发出数据,数据发完后再次进入休眠状态。 * 功耗方面,发射的时候大约20mA 休眠的时候不到5uA,如果不是很频繁的开关,一颗200mAH的锂电池估计能用一年 - - - ### 项目属性 目前该项目已经测试完毕,功能正常,已经投入使用 [![oaHa5R.jpg](https://z3.ax1x.com/2021/12/03/oaHa5R.jpg)](https://imgtu.com/i/oaHa5R) * [x] 原理图设计 * [x] PCB图设计 * [x] PCB打样 * [x] 焊接测试 * [x] 功能测试 * [x] 程序测试 - - - ### 电路讲解 [![oabZz6.jpg](https://z3.ax1x.com/2021/12/03/oabZz6.jpg)](https://imgtu.com/i/oabZz6) **电路中比较创新的部分在于这个复位同时锁存IO状态的电路,当开关按下去的时候,可以对RST进行复位,同时相应的端口拉高,待ESP8266检测完端口后再将端口电平拉低,解除锁存状态。** - - - ### 软件 ``` C #include extern "C" { #include } #define espNowSwitchID 0x01 #define WIFI_CHANNEL 1 #define SEND_TIMEOUT 10000 #define SW1 14 #define SW2 12 #define SW3 13 #define K4 4 uint8_t remoteMac[] = {0x1A, 0xFE, 0x34, 0xCB, 0x68, 0x45}; /*发送数据定义 D0: espNow ID[0-255] D1: keyValue[0-3] D2: AD使能 0-未采集 1-已采集 D3-D4: AD数据[电池电压] */ uint8_t transferData[8] = {espNowSwitchID};// volatile boolean readingSent; uint8_t keyValue = 0; void setup() { if (digitalRead(SW1))keyValue = 1; if (digitalRead(SW2))keyValue = 2; if (digitalRead(SW3))keyValue = 3; pinMode(SW1, OUTPUT); pinMode(SW2, OUTPUT); pinMode(SW3, OUTPUT); digitalWrite(SW1, LOW); digitalWrite(SW2, LOW); digitalWrite(SW3, LOW); WiFi.mode(WIFI_STA); WiFi.begin(); if (esp_now_init() != 0) { ESP.restart(); } delay(1); // This delay seems to make it work more reliably??? esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER); esp_now_add_peer(remoteMac, ESP_NOW_ROLE_SLAVE, WIFI_CHANNEL, NULL, 0); esp_now_register_send_cb([](uint8_t* mac, uint8_t status) { readingSent = true; }); sendReading(); } void loop() { if (readingSent || (millis() > SEND_TIMEOUT)) { ESP.deepSleep(0); } } void sendReading() { readingSent = false; transferData[1] = keyValue; esp_now_send(NULL, transferData, 8); } ``` - - - ### 图片 [![oaH08x.jpg](https://z3.ax1x.com/2021/12/03/oaH08x.jpg)](https://imgtu.com/i/oaH08x) [![oaHDxK.jpg](https://z3.ax1x.com/2021/12/03/oaHDxK.jpg)](https://imgtu.com/i/oaHDxK) - - - ### 注意事项 * PCB里面HT7333的封装有问题!!!记得调过来 - - -

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 100nf C1,C2,C3,C4,C5,C6 C0603 6
2 1u C7 C0603 1
3 220uF C8 CASE-B_3528 1
4 10uF C9,C10 C1206 2
5 PH2.0-2P CN1 CONN-SMD_PH2.0-1X2PW 1
6 X1002WRS-06E-LPSWHF CN2 CONN-SMD_6P-P1.00_X1002WRS-06E-LPSWHF 1
7 1N4007W D1,D2,D3 SOD-123FL_L2.7-W1.8-LS3.8-RD 3
8 ESP-12F(ESP8266MOD) MK1 ESP-12F 1
9 SS8550 Q1,Q2,Q5 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR 3
10 SS8050 Q3,Q4,Q6 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR 3
11 S8050 Q7 SOT-23(SOT-23-3) 1
12 SI2305 Q8 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR 1
13 120 R1,R3,R6,R9,R10,R11,R23,R24,R25 R0603 9
14 10K R2,R4,R5,R7,R8,R12,R26,R27,R28 R0603 9
15 1K R13 R0603 1
16 10k R14,R15,R16,R17,R18 R0603 5
17 1k R19,R21 R0603 2
18 100k R20 R0603 1
19 4.7k R22 R0603 1
20 DTSM-62K-V-T/R SW1,SW2,SW3 KEY-SMD_4P-L6.2-W6.2-P4.50-LS9.0 3
21 HT7333-A U2 SOT-89-3_L4.5-W2.5-P1.50-LS4.2-BR 1

展开

工程视频/附件
序号 文件名称 下载次数
1

espNowSwitch.ino

105
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP