前言
ART-Badge是什么?
首先附上兩張渲染圖↓
再來看視頻↓
功能設計篇
首先讓我們看一下,今年的電子胸牌比較去年款有哪些升級,增加哪些功能?
-
微信小程序使用藍牙推送開發(fā)者信息(姓名、公司職稱)
-
軟件 RTC 同步時間
-
首界面展示時間 手機推送的信息
-
兩個app demo:藍牙傳輸助手 使用說明
-
自主設計的電路硬件,PSRAM 擴大為8M,電池換用300mAh鋰電池,可反復充電。
-
使用體積更小巧的 SC7A20 替換原有的 mpu6050。
-
添加了ADC采樣電路,可以采集電池電量信息。
-
整體界面煥然一新,默認采用暗黑色主題背景。
-
使用最新發(fā)布的 湃心OS V4.1開發(fā),開發(fā)工具全新升級為基于VSCode插件模式的Persim Studio。
-
增加游戲、音樂播放器、電子相冊…等等豐富小程序 app。
-
小程序全新升級:藍牙推送用戶 、城市天氣信息。
-
支持使用最新湃心OS小程序進行二次開發(fā)。
結構設計篇
-
其一是該方案的“視覺極客感”最強,由于直接使用透明蓋板將PCB電路展現(xiàn)出來,顏值方面化繁為簡,符合審美哲學
-
其次是如果使用封閉式設計的話按鍵誤觸,鋰電池的插拔就變成需要考量的因素了,而夾層式的開放設計則在這方面完全無需擔心
-
最后一個原因是,高性價比
電路設計篇
-
半反半透明屏幕,分辨率 240 X 240,顏色格式 RGB565,在關閉背光的情況下依舊能有出色的可視度。
-
APS6404L-3SQR,PSRAM(動態(tài)隨機存取存儲器),用于動態(tài)加載圖形資源,8M的容量十分富裕。
-
ch340e,USB轉串口芯片,也很常用,通過 USB 線把 ART-Badge 連接電腦之后,就可以直接用串口控制臺使用shell了,后面的二次開發(fā)也是使用到了串口工具 UDB 下載。
-
BS814A-1,電容觸摸 IC,用于 ART-Badge 正面的按鍵交互。
-
SC7A20,士蘭微出的一款高精度12bit數(shù)字三軸加速度傳感器芯片,內置功能豐富,功耗低,體積小,測量精確。
補充一點:為了兼顧美觀,正面是看不到走線的,(所以這是單面板?不)全部藏在屏幕背面了
PCB投板回來之后就是焊接技能施展階段了,主要用到的工具有:熱風槍、烙鐵、鑷子、錫漿、吸錫帶、助焊劑等。與直插元件不同,貼片的器件由于焊盤太小(大部分的是 0402 阻容),器件分布太密集,手工焊接采用的方法主要是風槍吹焊。
進行焊接的第一步是制作鋼網,也就是器件焊盤的掩模,這個在設計好PCB之后把相關的加工文件發(fā)給廠家就可以進行激光切割制作了。
軟件實現(xiàn)篇
硬件搞定之后就開始移植軟件啦,ART-Badge 運行的是基于 RT-Thread 的湃心穿戴 OS。
湃心穿戴 OS 有幾大特色:
-
GUI采用可用于MCU上的第四代柿餅 GUI,具備類 Android 界面交互,支持多點觸摸,效果更加炫酷,同時支持矢量圖形庫,具備增強的圖形處理能力。
-
小程序的開發(fā)模式。采用類微信小程序開發(fā)模式,上手極快,應用輕量級,支持應用商店,極速安裝體驗,支持多國語音。
-
提供 MVVM 應用開發(fā)框架。應用的界面開發(fā)和業(yè)務邏輯是互相解耦的,貼合前端工程師習慣。
-
跨平臺能力。軟件一次開發(fā),即可在任一硬件 CPU、MCU 及 MPU 平臺上運行;
-
湃心穿戴 OS 還具備一些創(chuàng)新性的組件,如消息管理引擎(EMQ)、數(shù)據管理組件(DCM)、KVDB 及 TSDB 數(shù)據庫、DIY 開發(fā)套件。
-
GUI模塊(Graphical User Interface,圖形用戶界面),用于人與設備進行交互
-
BLE模塊(Bluetooh Low Energy,語音合成),通過廣播方式與小程序連接接受信息
-
AUDIO(音頻播放解碼模塊),用于無源蜂鳴器對音樂的解碼、播放
-
EMQ(Enhance Message Queue,發(fā)布訂閱式的消息隊列組件),能夠打通 C 到 JS ,JS 到 JS ,C 到 C 的消息鏈路,能夠很方便的將消息發(fā)到任意一個地方
-
DCM(Data Cache Management,數(shù)據管理組件),主要用于 JS 與 C 之前數(shù)據的交互,統(tǒng)一管理和控制系統(tǒng)中的數(shù)據統(tǒng),確保各模塊間數(shù)據傳輸?shù)男阅?/span>
-
支持一發(fā)多收。一個生產者生產消息可被多個消費者使用
-
支持多個消息綁定。一個消費者可以綁定多個不同的通道,接收不同生產者發(fā)送的消息。
-
發(fā)布消息系統(tǒng)開銷小,效率高。
-
不同模塊間低耦合。
-
超輕量級的整數(shù)類型消息
-
全鏈路可達
-
支持 Value Change 模型
-
支持存取任意類型數(shù)據
-
支持多實例功能,解耦不同模塊間數(shù)據處理;
-
全鏈路打通,JS 與 C 均能訪問同一內存池
-
支持訂閱發(fā)布模型,可用于消息推送和通知
-
支持數(shù)據持久化保存功能;
在本項目中,像一些參數(shù)需要數(shù)據持久化存儲、js 端對 adc 采集電量數(shù)據的監(jiān)聽、獲取屏幕亮度,小程序推送的信息等等都是用到了 dcm 組件。