DevelopmentPronama-chan

ASUS ゲーミングルーター RT-AX82U でモールス符号による信号灯

2020年8月21日発売の ASUS の ROG ブランドの WiFi ルーター RT-AX82U を買ったよ~🎵

なんだかすごい形だね~
WiFi 6 (802.11ax) 対応や、ゲームの通信を優先するゲーミング LAN ポート、メッシュ Wi-Fi システム「AiMesh」などがウリのようね

AURA RGB を操作!

AURA RGB ライティングで光らせることができるところも特徴だね。まさにゲーミングルーター!

このルーターの AURA RGB は、ルーターの設定ページ(192.168.1.1 などルーターの IP アドレスでアクセスできるページ)で、用意されているライティングのパターンと色を変えられるみたい。

でも、「Aura RGB SDK」のようにアプリから操作とかは想定されていないみたいだね(※)。

※ ASUS Aura SDK は、2017年に発表(The evolution of Aura RGB lighting leads to an official SDK)されたけど、全然更新されてなくてメンテナンスされていないみたい。以前に キーボードの AURA RGB を操作 するのに、直接 ASUS に問い合わせて最新の SDK を手に入れたけどそのバージョンも未公開のままみたいだね😢

そこで、ルーターの AURA RGB を操作できるか調べてみたよ。実際に操作する場合は自己責任でよろしくね! 調べる方法は Google Chrome の開発者モードで、AURA RGB の設定を操作してみると /set_ledg.cgi という URL にアクセスしているのがわかったよ。

ライティングのパターン

/set_ledg.cgi?ledg_scheme=xxx 部分が、ライティングパターンの設定みたいだね。

  • 0: AURA RGB 無効
  • 1: グラディエント
  • 2: 常時点灯
  • 3: ゆっくり点灯
  • 4: エボリューション
  • 5: レインボー
  • 6: ウェーブ
  • 7: マーキー

Web ブラウザーで、ルーターの設定ページにログインした状態で、http://192.168.1.1/set_ledg.cgi?ledg_scheme=3 のような URL にアクセスするとライティングのパターンを変えられるね✌

ライティングの色

/set_ledg.cgi?ledg_scheme=2&ledg_rgb=32%2C128%2C0%2C32%2C128%2C0%2C32%2C128%2C0%2C32%2C128%2C0 のように ledg_rgb が色のパラメーターみたい。値をデコードすると、32,128,0,32,128,0,32,128,0,32,128,0 となって、R,G,B,R,G,B,R,G,B,R,G,B という RGB を4組指定した書式になってるよ。

次のパターンを順に設定すると……、

  1. set_ledg.cgi?ledg_scheme=2&ledg_rgb=255,255,255,0,0,0,0,0,0,0,0,0
  2. set_ledg.cgi?ledg_scheme=2&ledg_rgb=0,0,0,255,255,255,0,0,0,0,0,0
  3. set_ledg.cgi?ledg_scheme=2&ledg_rgb=0,0,0,0,0,0,255,255,255,0,0,0
  4. set_ledg.cgi?ledg_scheme=2&ledg_rgb=0,0,0,0,0,0,0,0,0,255,255,255

こうなるよ!

ledg_rgb の4組の RGB は、内側~外側の順で色を指定して、左右対称のライティングになるみたいだね。これを使えば、ルーターの設定ページではできない色の組み合わせもできるね!

モールス信号による信号灯

というわけで、AURA RGB の API がわかったので、プログラムから制御してみるよ

プログラムから単純に HTTP アクセスすれば OK だね。ただし、ログインしたときに認証情報がいるので、リクエストヘッダーにログインしたときの Cookie 情報と、“Web ブラウザーっぽい” Referer を付けてアクセスしてみよう。

Cookie 情報。API に HTTP アクセスするには Cookie と Referer が必要

そしてできたのがコレ! AURA RGB の点灯する長さで、モールス信号のトンツーを表現しているよ。

ぜんぜんモールス信号わからないけど、なんだかすごーい!
・・・ は S、― ― ― は O で、SOS ってことね。でも遭難信号の SOS は文字の区切りを示す消灯の時間は不要みたいね。
そうなんだ……!

ソースコード