NWatch(DIY智能手表)
本項目基于DShanMCU-R128s2-DevKit開發(fā),用意是提供一個綜合的示例進行學習參考。
本項目基于ZakKemble的開源項目-NWatch,GitHub倉庫地址:https://github.com/ZakKemble/NWatch
與原作者的NWatch不一樣的是,將其移植到DShanMCU-R128s2-DevKit開發(fā)板新窗口打開上,同時相比于原作者添加了一些功能,比如恢復出廠設置功能,后續(xù)有時間會慢慢增加更多的功能。
#運行效果

#硬件準備
DShanMCU-R128s2-DevKit開發(fā)板
EC11旋轉編碼器模塊
紅外接收模塊+紅外遙控器
無源蜂鳴器模塊
DHT11溫濕度模塊
#源碼獲取
倉庫源碼:
Gitee:https://gitee.com/weidongshan/100ask_r128_demos/tree/master/nwatch
GitHub:https://github.com/100askTeam/100ask_r128_demos/tree/master/nwatch
#固件獲取
如果你不想自己編譯或者不需要二次開發(fā),那么可以從這里獲取固件,燒寫固件到DShanMCU-R128s2-DevKit后開機會自動啟動NWatch任務,如果沒有自動啟動在串口終端輸入命令然后按回車即可:nwatch_100ask 3。模塊接線請閱讀模塊接線小節(jié)。
Releases獲取:
Gitee:https://gitee.com/weidongshan/100ask_r128_demos/releases/tag/v0.0.1
GitHub:https://github.com/100askTeam/100ask_r128_demos/releases/tag/v0.0.1
#二次開發(fā)
#修改 sys_config.fex
打開R128-S2-SDK/board/r128s2/pro/configs/sys_config.fex,進行如下的修改:
IIC引腳配置:
[twi1] twi1_sck = port:PB00<3><1>twi1_sda = port:PB01<3><1>
PWM配置:
[pwm6] pwm_used = 1 pwm_positive = port:PA26<4><0><2>
#添加100ask_r128_demos
從git倉庫獲取源碼:
Gitee:https://gitee.com/weidongshan/100ask_r128_demos/tree/master/nwatch
GitHub:https://github.com/100askTeam/100ask_r128_demos/tree/master/nwatch
clone倉庫或者下載倉庫壓縮包到本地,并將倉庫目錄放在sdk的這個目錄下面:
R128-S2-SDK/lichee/rtos-components/thirdparty/100ask_r128_demos
一定要確保文件夾名稱是100ask_r128_demos
打開文件R128-S2-SDK/lichee/rtos-components/thirdparty/Makefile進行編輯,在文件的最后面或最前一行加入下面的內容:
obj-$(CONFIG_COMPONENTS_100ASK_R128_DEMOS) += 100ask_r128_demos/
打開文件R128-S2-SDK/lichee/rtos-components/thirdparty/Kconfig進行編輯,在文件的最后或最前一行加入下面的內容:
source components/common/thirdparty/100ask_r128_demos/Kconfig
#配置menuconfig
執(zhí)行mrtos_menuconfig進入到下面所示的位置進行配置:
選擇載入 r128s2_module_c906 方案,并進入 menuconfig:
$ source envsetup.sh $ lunch_rtos 1 $ mrtos_menuconfig
打開IIC:
System components --->
Drivers Options --->
soc related device drivers --->
TWI Devices --->
-*- enable twi driver
[ ] enable twi hal APIs test command
打開PWM:
System components --->
Drivers Options --->
soc related device drivers --->
PWM devices --->
[*] enable pwm driver
[ ] enable pwm hal APIs test command
打開GPIO及其中斷:
System components --->
Drivers Options --->
soc related device drivers --->
GPIO devices --->
[*] enable GPIO driver
[ ] enable gpio hal APIs test command
[ ] enable gpio chip aw9523
[*] enable amp gpio irq
配置 100ask_r128_demos:
System components --->
thirdparty components --->
USE 100ask_r128_demos --->
--- USE 100ask_r128_demos
[*] USE USE_100ASK_MODULE_DRIVER --->
[*] USE USE_100ASK_MODULE_DRIVER_IIC_OLED --->
[ ] USE USE_100ASK_MODULE_DRIVER_SPI_LCD ----
[*] USE USE_100ASK_MODULE_DRIVER_PASSIVE_BUZZER --->
[*] USE USE_100ASK_MODULE_DRIVER_ROTARY_ENCODER ----
[*] USE USE_100ASK_MODULE_DRIVER_IR_RECEIVER --->
[*] USE USE_100ASK_MODULE_DRIVER_SPI_FLASH --->
[*] USE USE_100ASK_MODULE_DRIVER_DHT11 ----
[ ] 100ask lvgl desktop
[*] NWatch demo
......
#開機啟動
如果省略這一步,那么在開機之后,在串口終端輸入命令然后按回車運行 NWatch 任務:nwatch_100ask 3
如果需要開機自啟動 NWatch 任務,按照如下步驟操作:
打開R128-S2-SDK/lichee/rtos/projects/r128s2/pro_c906/src/main.c,文件
在main函數(shù)中如下位置添加如下代碼:
void cpu0_app_entry(void *param) { ...... #ifdef CONFIG_NWATCH_100ASK int argc = 2; char *argv[] = { "nwatch_100ask", "3", }; nwatch_100ask_main(argc, argv); #endif vTaskDelete(NULL); }
最后,編譯、打包:mrtos && pack
編譯出來的鏡像存放位置:R128-S2-SDK/out/r128s2/pro/rtos_freertos_r128s2_pro_uart0_16Mnor.img
通過燒寫工具將其燒寫到開發(fā)板上,下一步,對各個模塊進行接線。
#模塊接線
IIC OLED模塊接線:
SCK ------- PB00 SDA ------- PB01
EC11旋轉編碼器接線:
S1 ------- PA24 S2 ------- PA25 KEY ------- PA29
蜂鳴器模塊接線:
BEEP DATA PIN ------- PA26
紅外接收模塊接線:
IR DATA PIN ------- PA10
DHT11模塊:
DHT11 DATA PIN ------- PA6
審核編輯:湯梓紅
-
開源
+關注
關注
3文章
4121瀏覽量
45764 -
開發(fā)板
+關注
關注
26文章
6209瀏覽量
115824 -
智能手表
+關注
關注
38文章
3354瀏覽量
119844 -
GitHub
+關注
關注
3文章
486瀏覽量
18494
原文標題:NWatch(DIY智能手表)
文章出處:【微信號:baiwenkeji,微信公眾號:百問科技】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
開源項目!教你如何復刻自平衡賽車機器人、智能家居中控、競技機器人先進模糊控制器等
全志R128 Devkit開發(fā)板原理圖模塊介紹及使用說明
藍牙技術|傳統(tǒng)手表品牌加入智能手表競爭,智能手表市場持續(xù)火熱
小時候畫在手腕上的表,我用全志R128讓他真正動了起來
DshanMCU-R128s2-DEVKIT應用開發(fā)案例
全志R128應用開發(fā)案例—點亮一顆LED燈
DshanMCU-R128s2 R128 模組
DshanMCU-R128s2 SDK 架構與目錄結構
DshanMCU-R128s2 Hello World!
基于DShanMCU-R128s2-DevKit開發(fā)智能手表
評論