快速瀏覽

使用 ODROID-C4 上的紅外遙控器喚醒


 

ODROID-C4 boot loader 支持各種斷電
喚醒功能,還提供紅外遙控喚醒功能。

即使在相同協議的情況下,也有各種類型的數據格式,例如。編碼數據位長。
因此,如果您需要除給定格式之外的其他類型的協議或數據格式,
請在 Hardkernel 論壇上發布您的請求。
https://forum.odroid.com/


可用類型

可用的協議類型如下,默認協議類型為NEC

  • NEC(默認)
  • RC5
  • RC6 (37bit / 21bit)
  • 多坎
  • XMP
通過 boot.ini 設置
###
# "NEC"
# "RC5"
# "RC6"
# "RC6_21BIT
# "DUOKAN"
# "XMP_1" 
###
setenv irdecodetype "NEC"

setenv bootargs ${bootargs} irdecodetype=${irdecodetype}

如果沒有設置該參數,默認協議類型,NEC 將作為喚醒遠程 ir 協議工作。


您可以通過內核的命令行參數remotewakeup分配遠程喚醒鍵。
如果不設置該參數,Hardkernel 遙控器的 KEY_POWER 將被激活為遠程喚醒鍵。

這裡是一個例子,在Hardkernel 遙控器的情況下,那些解碼協議是NEC
如果 lirc 設置完成,您可以使用irw命令獲取完整代碼。

root@odroid:~# irw
000000004db2738c 00 KEY_ENTER odroid
000000004db201fe 00 KEY_VOLUMEUP odroid

在 boot.ini 中設置 4bytes 代碼如下。

### example : KEY_OK of Hardkernel remote controller
setenv remotewakeup "4db2738c"

### example : KEY_VOLUMEUP of Hardkernel remote controller
setenv remotewakeup "4db201fe"

setenv bootargs ${bootargs} remotewakeup=${remotewakeup}

如果你有一個像 Tronsmart 遙控器這樣使用 NEC 協議的遙控器,你需要像這樣轉換一些位。

獲取密鑰。

odroid@odroid:~$ irw 
0000000000ff18e7 00 KEY_POWER Tronsmart

應交換 MSB 2byte(地址 16bit)。(0x00ff 0> 0xff00)

setenv remotewakeup "0xff0018e7"

感謝我們的論壇成員@Joe_90 https://forum.odroid.com/viewtopic.php?p=302560#p302560

下面是PHILIPS DVD PLAYER遙控器的另一個例子。
其協議為RC6,數據長度為21bits。
在 RC6 的情況下,bl301 上的遠程喚醒鍵值應該進行位轉換。

begin remote

  name  philipsdvd
  bits           21
  flags RC6|CONST_LENGTH
  eps            30
  aeps          100

  header       2622   919
  one           397   486
  zero          397   486
  gap          108200
  toggle_bit_mask 0x10000
  rc6_mask    0x10000
  frequency    38000

      begin codes
          KEY_POWER                0x0EFB38
          KEY_OK                   0x0EFBA3
          KEY_LEFT                 0x0EFBA5
          KEY_RIGHT                0x0EFBA4
          KEY_UP                   0x0EFBA7
          KEY_DOWN                 0x0EFBA6
          KEY_HOME                 0x0EFB6D
      end codes
      
end remote
### KEY_POWER case 0x0EFB38 -> 0x0104c7
setenv remotewakeup "0x0104c7"

### KEY_OK case 0x0EFBA3 -> 0x01045c
setenv remotewakeup "0x01045c"

目前已經測試了有限的解碼協議和數據格式的情況,
所以如果您有其他類型的遙控器,請在Hardkernel論壇頁面上發帖,
然後讓我們檢查可行性並進行更新。

快速瀏覽

ODROID-C4

四核ARM CORTEX-A55 |4GB RAM |4 USB3 PORTS