【 NXP Matter】Thermostat 增加 LCD 與 GUI 的方式與驗證

一. 說明

長久以來物聯網設備之間仍有不相容的問題,使得智慧居家市場使用過程過於複雜,而有了 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

相關影片

基於 NXP i.MX RT1060 + IW416 的 Matter Thermostat 智慧溫控器應用方案之 Apple 生態系統演示

NXP Matter Thermostat 智慧溫控器(Apple)應用方案演示

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

NXP: https://www.nxp.com/applications/enabling-technologies/connectivity/matter:MATTER?tid=vanmatter

評論

Eric_tsai

Eric_tsai

2 個月前
讚, 內容很詳細
Casber

Casber

2 個月前
講述詳細
阿夢

阿夢

2 個月前
說明詳細.