by shigemk2

当面は技術的なことしか書かない

RTXで遊ぶ まとめ #kernelvm

  • @nvsofts
  • KVMとかLLVMとか研究で触っていた

Kernel/VM経験

  • 初参加 初発表

一家に一台 ルーター

ネタ

  • ヤマハルータに搭載されているLua機能の搭載
  • 公式ではわりとまじめ ルータ上でスクリプティングできる
  • 経路ダウン時にメール送信
  • VPN接続にワンタイムパスワードを使う

Lua機能とは

  • Luaスクリプトを実行して、ルータの設定変更やアクションをプログラミングできる
  • 独自API

変な使い方できないかな

  • USBは、ある

USBの役目とは

  • USBメモリにつないでロギング
  • バックアップ回線をUSB接続
  • キーボードを接続できるので、これで遊ぼう!

あそぶためには

  • 結構おかねかかる
  • MicroSDにLuaスクリプトを入れて、USBポートにキーボードをつなぐ

使い方

  • キーボード制御
  • LEDなどと同じく rt.hw.open()を使う
  • キーボードを表す文字列は"keyboard1"
  • 戻り値などの扱いもLED光らすなどと同じ

  • キーボードの文字の読みとり

  • hwd:getc()
  • hwd:getchar()
  • hwd:gets()

ブザー音をならす

bz, err = rt.hw.open("buzzer1")でブザーを出す。音程も調整できる

遊ぶ

  • ルータからモールス信号を出してみる
  • 文字列は外部キーボードから受け取る
  • モールス信号の発信はビープ音で行う

問題発生

  • 独自APIには、スリープを行うメソッドがあるが秒単位
  • これではモールス信号が使えない
  • 1秒未満のウェイトを空ループで

すごいローテク

for k = 1, 1400000 do
end

ビープ音をモールス信号で。

  • USBキーボードのバーコードリーダー
  • ダウンロードボタンにSOSのモールス信号

まとめ

  • ヤマハルータのLua機能は不真面目な使い方もできる
  • Lua対応のヤマハルータはお高いが、Luaで遊んでみよう

RTX3500 - ルーター - ヤマハ株式会社