# ESP32C3
**Repository Path**: tanggy1123/ESP32C3
## Basic Information
- **Project Name**: ESP32C3
- **Description**: esp32 联网天气实时温度时钟以及网络留言板项目
- **Primary Language**: Unknown
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 4
- **Forks**: 3
- **Created**: 2022-09-15
- **Last Updated**: 2025-01-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 一、项目介绍
本项目是一个基于**ESP32C3**开发板的嵌入式开发项目。我暂且把它叫做“**没什么用但是比较酷炫小时钟**”,这个小时钟实现了网络时钟,实时网络天气,三日天气预报,实时温度&湿度检测,并且依托一个SpringBoot后台服务实现了一个网络留言板(属实是为了醋包饺子了)。
# 二、目录介绍
## ESP32_Arduino_PIO
实现小时钟的必要程序的源代码,基于arduino框架开发,使用C++语言。里面包含PlatformIO的配置文件,可以一键烧录程序。
## service
实现网络留言板的SpringBoot后台服务的源代码,使用java语言开发。包含docker-compose配置文件,可以通过Docker一键启动
# 三、快速开始:
## 1、前置依赖
1.1、基本的计算机知识
1.2、基本动手能力
1.3、安装了**PIO**插件的**VSCode**
1.4、一台云服务器(非必须)
1.5、一块**ESP32C3**开发板+**配套屏幕**+**AHT10温度传感器**(也可使用其他的,需要修改引脚定义)
## 2、开始
2.1、下载并解压本项目
2.2、使用VSCode打开项目,修改wifi名称以及密码,在platformio.ini文件中修改自己的设备连接的串口号
2.3、连接设备开始烧录程序
2.4、~~大功告成(暂时的)
# 四、功能介绍
## 1、网络时间
本功能依赖wifi,使用**NTP时间同步**
当开发板连接上wifi后,会自动从NTP同步时间,解决了时间不准确的痛点
## 2、实时天气
本功能依赖wifi模块,以及和风天气接口。
展示代码中设置的城市当前天气状况,当前体感温度以及当前体感湿度
需要使用的话需要去[和风天气官网](https://id.qweather.com/)申请appkey,并且在main.cpp文件中修改为你自己的城市代码和appkey。
实时天气调用时间为半个小时一次,采用异步调用的方式不会阻塞主线程,这个异步调用的功能我弄了好几天,还好有大佬的库,才最终得以实现。
## 3、未来3日天气
本功能依赖wifi模块,以及和风天气接口。
展示代码中设置的城市三日的天气预报,包括白天天气状况、最高温以及最低温。
3日天气调用频率为每小时一次,调用方式也为异步请求的方式。
## 4、实时温度湿度
本功能依赖AHT10温度传感器,淘宝5元一个。
展示当前所处空间的实时温度,以及实时湿度
## 5、网络留言板
本功能依赖wifi模块以及后台服务。
在你的云服务上部署号service程序以后,修改访问地址为你的服务地址
然后在网页点击发送消息,小时钟就能获取到当前发送的消息
发送请求为同步的方式。
## 6、装逼界面
此界面可以播放动图,可以放上你喜欢的人/物的照片,虽然屏幕只有0.96英寸但是还是很酷的。拿来装逼再适合不过了!
# 五、小提示
全套硬件均可在电商平台购买,只需要自己焊接起来就可以了。
# 六、写在后面
这个项目用了很多大佬们得库,完全是站在巨人们的肩膀上才完成的。感谢这些开源社区的贡献者
这个是我的第一个开源项目,我会尽力帮大家解答问题的,开源不易,希望大家给个Start。
朋友们有什么好的想法,也可互相交流交流。
C++代码写得很垃圾,大家将就看