【训练营】基于ESP32-C3的迷你网络时钟+1136228A - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

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

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

3、支持简单的电路仿真

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

专业版 professional

1、全新的交互和界面

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

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

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

标准版 【训练营】基于ESP32-C3的迷你网络时钟+1136228A

  • 5.6k
  • 1
  • 23

简介:带有NTP对时功能、时间与日期显示的3*3cm迷你时钟

开源协议: GPL 3.0

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

创建时间: 2021-09-26 21:06:46
更新时间: 2021-12-11 23:28:10
描述

使用方式

若不使用提供的PCB,参考下述硬件连接和软件配置方案:
  • 1、安装并配置好ESP_IDF开发套件。
  • 2、将基于SSD1306或SSD1315的OLED模块连接到ESP32/ESP32-C3开发板的IIC引脚(程序默认SDA 32、SCL 33;电路板为SDA 4、SCL 5;使用电路板需自行修改)。
  • 3、使用USB转串口工具连接ESP32/ESP32C3
  • 4、下载工程文件到指定路径,必须保证文件路径为全英文。
  • 5、使用cd命令进入工程文件夹,输入idf.py set-target <芯片型号>选择目标编译的芯片型号。
  • 6、输入idf.py menuconfig 进入工程配置选单,在example configure选项下配置连接到的AP名称及其密码。
  • 7、输入idf.py build 进行编译
  • 8、使用idf.py flash命令进行烧录,该命令的使用方法在不同平台或硬件的使用方法有差异,详见esp_idf开发文档烧录一节。

运行机制

  • 1、本时钟基于SNTP协议获取时间,使用内部的RTC走时,校时服务器来自阿里云。由于本时钟依赖于芯片内部的RTC,因此不具备掉电走时的特性,每次掉电后时间信息将重置。
  • 2、时钟的程序包含三个事件和一个任务。三个事件分别为WiFi连接事件、WiFi断联事件和SNTP同步事件,它们之间各自负责系统时间和系统状态的更新。任务负责OLED屏幕显示内容的刷新,以1hz的频率运行,其在freertos中的任务优先级1。
  • 3、SSD1315的驱动程序为本人杜撰的精简适配版本,基于ESP32的IIC总线API进行的适配。均为线程安全的。
  • 4、本时钟上电即尝试连接到AP,在连接到AP后立即向设定的SNTP服务器发送请求,尝试进行校时,后续将按照设定的周期定期对时间进行校正。若在上电时或运行时出现AP断联的情况,程序将每隔5秒尝试重新连接到AP。

文件结构

-esp32clock

            -build<输出目录>

            -components<组件目录> 

                               - SSD1315 <SSD1315驱动程序>

                               - SNTP_APP <SNTP服务程序>

                               - image <显示数据>

            -main<主函数目录> 

UA6DYKnBNHHqn3c9VgqygdDGZFv29mnN1zpWP58z.png

个性化配置

  • 配置WiFi接入点,见上文。
  • 修改SNTP校时周期,修改{PROJECT_DIR}/main/main.c中的SNTPSYNCCYCLE宏定义值,默认为10分钟。
  • 修改OLED的显示,修改{PROJECT_DIR}/components/SSD1306/SSD1315.c中第24行.display_mode的值(INVERSE_DISPLAY:反转显示、NORMAL_DISPLAY:正常显示)。

gSfWZUMJi9rQgTRtQlU1kDP7qsb4mqmLmbUQbnwx.jpegkPLzrWJh0e3nzIkPkpfAgk6xk3LP5W9Zp341A2wu.jpeg

  • 修改SNTP服务器,修改{PROJECT_DIR}/components/SNTP_APP/include/SNTP_APP.h中NTP_URL的宏定义。

已知问题

  1. 预留了PCF8563 RTC芯片及其元件的焊位,但由于后续设计方案的改变,未使用该芯片。
  2. 由于SNTP通知回调函数不返回校时失败的状态,因此SNTP状态标志只能反映时间曾经过SNTP校正。具体的判断参考顶部最近更新的小时数。

版本信息

2021/10/23         初版发布

2021/10/28         硬件错误修正

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

ESP32Clock.zip

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

加载中...

温馨提示 ×

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

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

服务时间

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

support
  • 开源平台公众号

MP