一. 說明
長久以來物聯網設備之間仍有不相容的問題,使得智慧居家市場使用過程過於複雜,而有了 Matter 協議,在不同品牌之間的設備可以相互識別、認證和跨平台運作。什麼是 Matter,Matter 是由連接標準聯盟 Connectivity Standard Alliance ( CSA ) 制定和統一應用層連接標準,有助於物聯網設備之間跨平台的通訊,接下來我們介紹 NXP Matter 的解決方案,方案應用包含了連接程序、平台證認與通訊處理等 :
NXP Matter with Wi-Fi / BT 開發平台介紹 ,Matter 的類型可應用在 Thermostat ( 冷暖空調控制 )、智慧門鎖、媒體設備等應用
詳細資訊可參閱 NXP 官網連結介紹
1. i.MX RT1060: Crossover MCU with Arm® Cortex®-M7
2. IW416 : 2.4/5 GHz Dual-Band 1x1 Wi-Fi® 4 (802.11n) + Bluetooth® 5.2 Solution
接下來,我們使用 RT1060-EVKB 搭配 IW416 平台教您增加 LCD 與 GUI 的方式與步驟~
二. NXP Thermostat 增加 LCD與 GUI 的方式與步驟
1. 使用 MCUXpresso IDE 建立 RT1060-EVKB LVGL 範例
1.1 MCUXpresso IDE 版本 : MCUXpresso IDE v11.7.0_9198
1.2 RT1060-EVKB SDK 版本 : SDK2.13.1
載入 lvgl_guider example 範例
2. Matter Branch 下新建一個 gui 資料夾
matter/examples/all-clusters-app/nxp/rt/rt1060/src/gui
3. 複製 lvgl、generated 和其它檔案放置 Matter Branch 的 gui 資料夾內
matter/examples/all-clusters-app/nxp/rt/rt1060/src/gui
4. 複製 fsl_pxp.c fsl_pxp.h 從 lvgl_guider example 到 Matter Branch 路徑
matter/third_party/nxp/rt_sdk/repo/core/drivers/pxp
5. 確認 DEMO_PANEL 定義的型號為 DEMO_PANEL_RK043FN66HS
lvgl_support.h
6. 檔案路徑修改
將 #include“lvgl\lvgl.h”修改為 #include "lvgl.h"
7. 修改 BUILD.gn,增加 gui 目錄與檔案編譯
matter/examples/all-clusters-app/nxp/rt/rt1060/BUILD.gn
8. 複製 dcd.c &h 從 lvgl_guider到 Matter RT1060 platform 路徑內
matter/examples/platform/nxp/rt/rt1060/board
9. 修改 BUILD.gn,加入 dcd.c 編譯
matter/third_party/nxp/rt_sdk/BUILD.gn
10. 修改 rt_sdk.gni ,增加功能編譯
matter/ third_party/nxp/rt_sdk/rt_sdk.gni
11. 將 lvgl_guider 中的 SDRAM、LCD、I2C 等 GPIO 程式碼添加至 Matter
11.1 pin_mux.h 功能添加
matter/examples/platform/nxp/rt/rt1060/board/pin_mux.h
11.2 pin_mux.c 功能添加
matter/examples/platform/nxp/rt/rt1060/board/pin_mux.c
長久以來物聯網設備之間仍有不相容的問題,使得智慧居家市場使用過程過於複雜,而有了 Matter 協議,在不同品牌之間的設備可以相互識別、認證和跨平台運作。什麼是 Matter,Matter 是由連接標準聯盟 Connectivity Standard Alliance ( CSA ) 制定和統一應用層連接標準,有助於物聯網設備之間跨平台的通訊,接下來我們介紹 NXP Matter 的解決方案,方案應用包含了連接程序、平台證認與通訊處理等 :
NXP Matter with Wi-Fi / BT 開發平台介紹 ,Matter 的類型可應用在 Thermostat ( 冷暖空調控制 )、智慧門鎖、媒體設備等應用
詳細資訊可參閱 NXP 官網連結介紹
1. i.MX RT1060: Crossover MCU with Arm® Cortex®-M7
2. IW416 : 2.4/5 GHz Dual-Band 1x1 Wi-Fi® 4 (802.11n) + Bluetooth® 5.2 Solution
接下來,我們使用 RT1060-EVKB 搭配 IW416 平台教您增加 LCD 與 GUI 的方式與步驟~
二. NXP Thermostat 增加 LCD與 GUI 的方式與步驟
1. 使用 MCUXpresso IDE 建立 RT1060-EVKB LVGL 範例
1.1 MCUXpresso IDE 版本 : MCUXpresso IDE v11.7.0_9198
1.2 RT1060-EVKB SDK 版本 : SDK2.13.1
載入 lvgl_guider example 範例
2. Matter Branch 下新建一個 gui 資料夾
matter/examples/all-clusters-app/nxp/rt/rt1060/src/gui
3. 複製 lvgl、generated 和其它檔案放置 Matter Branch 的 gui 資料夾內
matter/examples/all-clusters-app/nxp/rt/rt1060/src/gui
4. 複製 fsl_pxp.c fsl_pxp.h 從 lvgl_guider example 到 Matter Branch 路徑
matter/third_party/nxp/rt_sdk/repo/core/drivers/pxp
5. 確認 DEMO_PANEL 定義的型號為 DEMO_PANEL_RK043FN66HS
lvgl_support.h
6. 檔案路徑修改
將 #include“lvgl\lvgl.h”修改為 #include "lvgl.h"
7. 修改 BUILD.gn,增加 gui 目錄與檔案編譯
matter/examples/all-clusters-app/nxp/rt/rt1060/BUILD.gn
8. 複製 dcd.c &h 從 lvgl_guider到 Matter RT1060 platform 路徑內
matter/examples/platform/nxp/rt/rt1060/board
9. 修改 BUILD.gn,加入 dcd.c 編譯
matter/third_party/nxp/rt_sdk/BUILD.gn
10. 修改 rt_sdk.gni ,增加功能編譯
matter/ third_party/nxp/rt_sdk/rt_sdk.gni
11. 將 lvgl_guider 中的 SDRAM、LCD、I2C 等 GPIO 程式碼添加至 Matter
11.1 pin_mux.h 功能添加
matter/examples/platform/nxp/rt/rt1060/board/pin_mux.h
11.2 pin_mux.c 功能添加
matter/examples/platform/nxp/rt/rt1060/board/pin_mux.c
將範例 evkbmimxrt1060_lvgl_guider 中BOARD_InitSemcPins 的 Pin 腳功定義覆蓋至 Matter BOARD_InitSDRAMPins
12. hardware_init.c 添加程式碼
matter/examples/platform/nxp/rt/rt1060/board/hardware_init.c
功能添加
13. main.cpp 添加程式碼
matter/examples/all-clusters-app/nxp/common/main/main.cpp
13.1 GUI 功能添加
13.2 GUI 與 Touch Task 功能添加
14. rt1060.gni 添加 Driver 編譯
matter/third_party/nxp/rt_sdk/rt1060/rt1060.gni
14.1 添加與定義 Driver 目錄
14.2 添加 Driver 相關 *.c 檔編譯
15. 引用外部 SDRAM,MIMXRT1062xxxxx_flexspi_nor.ld 添加 SDRAM 配置
matter/examples/platform/nxp/rt/rt1060/app/ldscripts/MIMXRT1062xxxxx_flexspi_nor.ld
添加外部 SDARM 配置與設定 ssb section
16. 刪除 out 資料夾與重新編譯
17. 燒錄與驗證
將 Matter RT1060 Thermostat 編譯完成的 chip-rt1060-all-cluster-example.hex 修改副檔名為 *.s19,透過 MCUXpresso ( LinkServer ) 或是用
J-Flash ( J-Link ) 工具燒錄。
17.1 燒錄完成,確認 LCD 和 Touch 功能都有正常運作
注意:GUI 的客製也可以透過 NXP 的 GUI-Guider-1.6.1-GA.exe 工具進行開發
17.2 確認 iPhone HomeKit App 驗證 NXP Thermostat 功能有正常運作
17.3 確認 Google Home App 驗證 NXP Thermostat 功能有正常運作
三. 補充說明
1. NXP Thermostat : RT1060 + AW-AM510 ( IW416 ) 硬體接線方式可參照 README_Wifi.md 說明
2. NXP Matter 相關的平台開發可參考如下的連結資訊
1. https://www.nxp.com/applications/enabling-technologies/connectivity/matter:MATTER
2. https://www.nxp.com/products/wireless-connectivity/matter:MATTER-PROTOCOL
評論
Eric_tsai
9 個月前
Casber
9 個月前
阿夢
9 個月前