发作品签到
标准版

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

工程标签

6.5k
0
0
1

简介

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

简介:带有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

                               - SNTP_APP

                               - 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         硬件错误修正

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
ESP32Clock.zip
241
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航