
竞赛作品——基于WiFi的网络授时钟电路设计方案
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目设计了一种基于WiFi技术的网络授时钟电路方案,能够实现高精度的时间同步功能,并具有成本低、易部署的特点。
本方案采用MCU+AT指令的方式开发。其中MCU为意法半导体公司生产的STM32F103C8T6芯片,WiFi模块则使用了安信可ESP-12F。
此项目是一个演示设计,相对简单,仅实现了基本功能,旨在抛砖引玉。
硬件部分包括时钟电路、WiFi模块、MCU最小系统、OLED显示屏、稳压电路和按键电路。为了在断网后仍能获取较精准的时间信息,并确保时间数据不会因长时间断电而丢失(即使一个月),我们采用了RTC时钟或储能电容进行支持。
OLED显示屏采用裸屏设计,以实现一体化的电路板效果;其他硬件部分则参考了开发板和手册中的设计方案。整个硬件的设计软件使用的是Altium Designer (13.0)。实物图展示了通过厂家定制化生产的电路板,并采用了人工焊接元器件的方式进行组装。
在软件层面,此方案包含底层驱动、WiFi联网功能、API接口调用与数据解析以及OLED显示四大部分。
首先分析MCU的USART通信口和GPIO引脚资源需求后,我们找到了相关例程并进行了相应的修改。开发过程中使用了STM32的标准库,并结合了OLED显示屏驱动资料、PCF8563时钟模块驱动资料及WiFi模组的AT指令集等第三方组件。
通过整合这些基础元素至同一工程中并调整引脚配置,我们完成了底层驱动的设计工作。
对于联网部分,采用了STA模式连接手机热点。具体的设置步骤请参考ESP-12F WiFi模块的文档中的相关说明。需要提前将手机WiFi热点账号密码写入程序代码内。
在调用API接口获取天气和时间更新时,使用了心知天气与Nowapi两个平台的服务来分别实现天气状况及北京时间数据的抓取。
经过测试发现,现在通过连接单个服务器即可同时完成上述两项信息的数据更新。解析所需数据量较小的情况下,我们直接利用strtok函数进行硬解处理。
在OLED显示部分,则使用了I2C接口,并采用了给定例程中提供的标点符号与英文字母字库;对于需要的汉字则需自行添加对应的字符集后才能正常展示。
以上即为整个项目的构成概述,涵盖了硬件设计及软件编程两方面的内容。
全部评论 (0)


