前言
本文的目的是為了給將要制作的ESP32手環做技術儲備
準備學習下ESP32,還有嵌入式GUI框架LVGL,通過做幾個小專案練手是不錯的選擇,最終目標是做一個ESP32的手環
做一個ESP32手環任務量還是比較大的,涉及到很多新技術,我認為步子不能邁的太大容易翻車,決定先做一個ESP32的智能花盆
視頻鏈接
https://www.bilibili.com/video/BV11P4y137k2/
開源鏈接
20211205 所有軟硬體設計制作均已完成 資料開源至github
后續有時間還會發布一些小教程,可以在我的csdn上找到
代碼和外殼3D列印檔案鏈接
https://github.com/FranHawk/esp32-smart-pow
GITHUB倉庫結構
0.doc 相關檔案
1.hardware pcb和3D列印所需資料
2.software 代碼工程,有兩個版本,gui版本可燒進任意ESP32或ESP32開發板,接螢屏和按鍵即可,esp32-smart-pow為完成代碼工程
3.simulator 存放lvgl的pc模擬器,用vs2019打開
PCB檔案鏈接
https://oshwhub.com/FranHawk/green-esp32/
制作材料
元器件根據pcb工程里帶的bom表買就可以了
pcb板嘉立創生產
電池買3.7V鋰電池,容量隨意
無線充電模塊鏈接:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1bdb2e8dDijOkh&id=626465407103&_u=835dsdvlb35a
螢屏鏈接:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1bdb2e8dDijOkh&id=652101077844&_u=835dsdvl181e
外殼找淘寶3D列印
總成本大概100元左右,制作需要一些編程基礎和網路資訊搜索能力
開發平臺
1.vs code+platformio ESP32開發
2.vs2019 lvgl模擬器 GUI界面設計與仿真
3.solidworks 2020 外殼設計
4.立創eda pcb設計
基本功能均已實作,還沒發現更過BUG,如視頻所示,但是軟硬體還有需要進一步完善的地方,最近比較忙,等過了12月(202112)再進一步完善
功能
- 時間天氣實時更新并顯示
- 課程表,顯示一周內的課程
- 電腦性能顯示,通過局域網獲取所使用的電腦當前的CPU記憶體等占用情況
- WIFI配網
- 亮度調節
- 藍牙鍵盤,可作為一個藍牙鍵盤控制電腦音量,ppt翻頁,換歌等功能
功能展示

可以使用任意兼容QI標準的無線充電底座為其充電,市面上的充電底座幾乎都可以

主界面顯示天氣時間溫濕度,并且有利用lvgl8.1的gif解碼器,有動圖效果

天氣界面

課程表界面

電腦性能監控界面

WIFI配網界面(有待完善)

亮度調節界面

藍牙鍵盤界面
界面間通過一個滾動選單選擇,可以使用模擬器模擬界面
下面是專案之初(20210920)寫的需求分析和設計檔案
需求分析
智能花盆所需要實作的功能如下:
- 基本花盆的功能:下端有透氣孔,可以承載一株多肉植物,形狀:長寬65mm正方形,高度根據實際情況調整的白色花盆,盡量保證外形的美觀
- 帶鋰電池,無線充電模塊,可以通過type-c口或者無線充電口為電池充電,同時為花盆供電,在無外部電源的時候,可以通過電池為花盆供電
- 板載USB轉串口芯片,便于燒寫代碼
- 板載SD卡插槽,用戶可將資訊檔案放入SD卡,ESP32可以讀取
- ESP32 通過wifi功能,通過網路獲取天氣,時間等資訊,通過局域網獲取電腦性能等資訊,后期可考慮加入wifi配網功能
- 通過一塊1.54寸 240*240解析度顯示資訊,資訊如下,每一行代表一個頁面
- 當天時間和當天基本天氣資訊顯示光照資訊,檢測當前是否充電,帶羅小黑影片效果,通過晃動花盆可以切換影片效果
2. 三天基本天氣資訊
3. 電腦性能,記憶體占用等資訊
4. 課程表,顯示當天課程
5. 課程表,顯示明天課程
6. 顯示當前植物資訊
- 當天時間和當天基本天氣資訊顯示光照資訊,檢測當前是否充電,帶羅小黑影片效果,通過晃動花盆可以切換影片效果
技術分析
-
首先硬體方面需要原理圖PCB繪制和制作3D列印外殼技術,原理圖PCB繪制采用立創EDA,外殼3D建模采用SW2020,去淘寶找廠家3D列印外殼
技能掌握情況:基本掌握
-
軟體方面采用基于arduino的ESP32+LVGL框架,學習ESP32+LVGL基本使用,同時需要學習并移植XTRACK的頁面生命周期管理API,根據需求分析需要掌握技術:LVGL移植到ESP32,ESP32連接到網路獲取天氣等資訊,ESP32獲取MPU6050資料,ESP32獲取光敏電阻資料,LVGL檔案系統移植,通過檔案系統獲取SD卡中資訊,LVGL顯示中文顯示圖片…
20211002 基本掌握
任務細分
-
原理圖和PCB繪制,投板制版并測驗
20210903 完成原理圖和PCB繪制,已經投板,還未進入焊接階段
20210910 所有原件均到貨,完成PCB制作,并完成測驗,CH340不應該用5V供電,MPU6050少接一個電容作業不正常,其他部分作業正常,排線介面位置別扭,現有板子暫時能用,但是還是要再投一版
20210915 新版本pcb投板并制作完成,測驗完畢
已完成
-
外殼設計與制作
20210911 完成外殼設計作業
20211120 完成外殼3D列印
已完成
-
無線充電底座購買和無線充電模塊測驗
20210910 無線充電底座到貨,現有無線接收模塊諧振頻率不對,電壓達不到5V,準備購買兼容QI協議的無線接收模塊
20211110 無線接收模塊測驗完畢
已達成 -
LVGL移植到ESP32
20210817 完成LVGL移植
已達成
-
ESP32連接網路,獲取天氣,時間資訊
20210829 實作通過網路獲取天氣資訊
20210911 實作通過網路獲取時間資訊
已達成
-
ESP32連接網路,獲取電腦性能資訊
20210825 實作通過網路獲取電腦性能資訊
已達成
-
ESP32獲取MPU6050和光敏電阻的資料
20210823 完成MPU6050資料獲取
-
ESP32上SD卡操作與LVGL檔案系統移植
20210830 完成SD卡操作與LVGL檔案系統移植
已達成
-
LVGL中文和圖片顯示
20210906 完成LVGL中文和圖片顯示
已達成
-
LVGL的PC模擬器使用
20210906 初步完成LVGL的PC模擬器使用
已達成
-
LVGL移植XTRACK的頁面生命周期管理API
2021821 完成頁面生命周期管理API學習,還未完成移植
20210910 完成PC模擬器上選單選擇界面UI設計,發現XTRACK的頁面生命周期管理暫時還用不到,先用純LVGL開發
已達成
-
LVGL的PC模擬器設計UI互動頁面
20210910 完成PC模擬器上選單選擇界面UI設計,接下來完成子頁面的設計
20211120 完成所有子頁面設計
已達成
-
UI互動頁面移植到ESP32上,系統聯調
20211125 完成
已達成
-
ESP32上LVGL按鍵輸入功能移植
20210907 完成ESP32上LVGL按鍵輸入功能移植
已達成
硬體架構設計

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/377213.html
標籤:其他
上一篇:【嵌入式】FreeRTOS的移植、任務運行狀態以及原始碼的優化改進
下一篇:python做猜拳小游戲
