
德丽制手表
简介
集成环境监测、可视化触控、电池电量管理和网络通信功能的智能手表。手表采用ESP32微控制器,FreeRTOS操作系统,LVGL开发GUI,使用MQTT与HTTP协议进行网络通信。
简介:集成环境监测、可视化触控、电池电量管理和网络通信功能的智能手表。手表采用ESP32微控制器,FreeRTOS操作系统,LVGL开发GUI,使用MQTT与HTTP协议进行网络通信。开源协议
:GPL 3.0
描述
ESP32手表
一、介绍
本项目旨在设计一款集成环境监测、可视化触控、电池电量管理和网络通信功能的智能手表。手表采用ESP32S3微控制器为核心,FreeRTOS为操作系统,使用LVGL嵌入式GUI框架开发用户交互界面,OneNET作为数据接入云平台。项目部分电路借鉴启凡大佬电路。
项目开源地址(项目最新更新一般在gitee上,所有文件均可在gitee中找到): https://gitee.com/huantianxiang/esp32-watch

二、手表功能
演示视频在Pics/show.mp4
1、手表主页:显示网络时间,电量(只有在该页会自动进入休眠)
2、磁贴页:显示网络天气和日期,德丽莎logo会根据工作日日期切换
3、功能页:
①.传感器信息查看。支持查看温湿度、气压、海拔、加速度、俯仰角等
②.网络信息同步,现实现网络时钟和网络天气同步
③.指南针。目前显示帧率低,待优化
④.设置(暂时只有亮度设置,之后会把wifi和ble加上)
⑤.OTA升级。连接http服务器更新固件
4、MQTT上报传感器数据至OneNET云平台;
5、SPIFFS文件系统管理storage分区内文件;
6、图片资源由FLASH中mmap映射到lvgl中显示;
7、默认8s后屏幕息屏,15s后整机自动休眠。
三、手表交互
1、未休眠时滑动屏幕或翻腕亮屏,休眠后点按侧边开关唤醒;
2、侧键短按回到手表主页,长按按钮重启;
四、代码特性
1、外部资源管理器。图片数组等的资源通过外部脚本打包成bin文件烧录到指定分区,使用外部资源管理器将资源映射进内存空间后使用,减少对双APP分区空间的占用;
2、传感器管理器,实现传感器的快速接入、自动初始化和调用;
3、页表管理器,实现UI页面的页面统一管理、快速接入和自动初始化\清理页面;
4、引入观察者设计模式,减少UI页面对全局资源的轮询;
5、采用MVC架构模式,分离应用程序逻辑和用户UI界面(Model在app,View在ui\generated,Controller在ui\control)。
五、系统架构
系统架构说明
六、安装教程
1、本项目硬件电路使用嘉立创专业版EDA进行开发。原件大都能够在立创商城买到,其它在立创商城买不到或者太贵的物料,可以去我的BOM表上查看tb购买链接;
2、嘉立创四层免费打样,切记板子厚度选1mm;
3、由于硬件电路使用的物料基本都是小封装,如果对自己焊接能力没有自信的建议开钢网或者是在立创商城买物料的同时SMT;
4、本项目代码使用esp-idf+vscode进行开发,在vscode正确部署好esp-idf开发环境后,打开项目工程,编译检查没问题后,点击烧录选择芯片型号ESP32S3,串口烧录(方法自行搜索,网上很多教程);
5、仓库中还包含手表外壳的STL文件,如果有需要也可以自取后3D打印外壳。
七、使用说明
1、ESP-IDF的版本是4.4.6,编译工程时记得修改./Firmware下的CMakeList.txt,将里边include的project.cmake改成你电脑上ESP-IDF的路径;
2、lvgl业务代码位于main/ui文件夹下。本项目的lvgl工程代码主要由GUI Guider生成,lvgl版本为8.2,GUI Guider版本为1.4.1(该版本较老,可以到本项目的Tools文件夹下载使用);
3、手表默认通电后需要联网同步网络时间,为保证功能正常使用请先在烧录前到工程的main/sys/wifi/wifi.c中添加你wifi的ssid和pswd;
4、如果想使用OneNET云平台工程,请到main/sys/mqtt/mqtt.h中设置功能使能宏MQTT_ENABLE为1,并将文件中的OneNET云平台信息修改为你自己的信息;
5、使用天气API请务必在main/app/API/api.h文件中的心知天气API URL修改成你的对应城市和填写你申请的APP KEY(https://www.seniverse.com/api)。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程

评论