前回のブログからだいぶ間が空いてしまいました…
あれから仕事がクソ忙しくなりなかなかブログの更新もできずでしたが、肩慣らしにネタを用意しました。
先日これまた久々に大須のパソコンショップパウさんに行ってきて、パトライトが売られてたのでつい買ってしまいました。型番はNHL-3FB1で値段はジャンク価格で3000円でした。
久々にパウきたら意外なもん売っててつい買ってしまった
— KMiura (@k_miura_io) 2022年11月20日
HTTP通信で制御出来るようなので遊び甲斐ありそう pic.twitter.com/UZzFjHyWT3
このパトライトは有線で接続することでそこからネットワーク監視をするために使われる機材らしくコマンドを送信することでライトだけではなくブザーを鳴らすこともできるすごいやつです。
これをジャンクで販売するパウさん、やばいですw。本体のみで販売してたのでおそらく詳細に動作確認する素手がないのでジャンクにしたのでしょう。Tweetに写り込んでるACアダプタは完全に社外品ですが、かごに絡まってるACアダプタから奇跡的に端子と出力電圧が合っているやつを引き当てました。(ライト側には電流の指定がなかったので多分問題なく動くでしょうw)
というわけで今回はこのパトライトをreTerminalで動かしてみました。
とりあえず動作テスト
まずはテストボタンがあったので適当に長押しして動作確認してみました。
ここで通電しないと何も始まりませんが、ここは問題なく通電してテストボタンもちゃんと機能しました。どうでもいいですがCLEARボタンの押し心地いいですw。
とりあえず通電チェック
— KMiura (@k_miura_io) 2022年11月20日
音も出るしハック楽しみだなー#パウもりあげ隊 pic.twitter.com/oarlbkKMc6
初期化する
問題なく動作することがわかったところで接続をしていきますが、その前にジャンクなので前に使っていた人の設定が残っていると原因の切り分けが面倒なのでここは工場出荷状態に初期化します。
NHL-3FB1の初期化はとても簡単で電源を落としている状態でVOL.スイッチをOFFにした状態でTESTボタンとCLEARボタンを同時押しして電源をいれます。
するとブザーを鳴らして初期化が始まります。ブザーが鳴り止んだら押してたボタンを離して初期化は完了です。
reTerminalで接続する
IPを割り当てる
それではreTerminalで接続していきます。
NHL-3FB1のIPアドレスは 192.168.10.1
です。これをブラウザで入力すれば接続できるのですが、機能上の制限でDHCPが機能しなくてIPを自動で割り当ててくれません。
というわけで接続前に同一のセグメントで固定IPを設定する必要があります。
Raspberry Piであれば /etc/dhcpcd.conf
に以下の設定を書き込めばNHL-3FB1に最低限接続できるようになります。( ip_address
は複数使う場合は変更する必要があります)
interface eth0 fallback static_eth0 static ip_address=192.168.10.2/24 static routers=192.168.10.1 static domain_name_servers=192.168.10.1
あとは再起動すれば接続するための準備は完了です。
管理画面を開く
再起動したら、ブラウザで 192.168.10.1
と入力すると管理画面を開けます。
初期状態ではパスワードは patlite
を入力すると管理画面を開けます。
管理画面から 表示灯操作
を開くとブラウザで手軽にライトとブザーを動作できます。
なんとかreTerminalでネットワーク設定終えて治安の悪いパトライト爆誕w pic.twitter.com/O6gpssi5NR
— KMiura (@k_miura_io) 2022年11月20日
コマンドで動かす
買ったときにその場でググったときにはHTTP通信ができる的な書き方してましたが、ファームウェアが古いせいでHTTP通信に対応してないようでした…
代わりにNCコマンドを使ってソケット通信で16進数を送信する方法を見つけたので、試していきます。
この方法を試すには bc
コマンドが必要ですがインストールされてないので、以下のコマンドでインストールしていきます。
sudo apt install bc
あとは参考記事にあるPHNコマンドを試しにやってみました
以下のコマンドは緑を点滅させてそれ以外をOFFにしてます。
echo -ne '\x57\x'$(echo "obase=16;ibase=2;10000000" | bc) | nc -q1 192.168.10.1 10000
さらに以下のコマンドで赤の点滅とブザーを鳴らすのを同時に実行できます。
echo -ne '\x57\x'$(echo "obase=16;ibase=2;00101000" | bc) | nc -q1 192.168.10.1 10000
もっと細かく操作するならPSNコマンドを使いますが、PSNコマンドを動かすだけでもアプリケーションに組み込んでいろいろできそうです。
まとめ
今回はジャンクのパトライトを買ったので、reTerminalでハックしてみました。
ネットワークの知識が乏しくて設定とか操作で苦戦しましたが、なんとか自由自在に操作できるぐらいまではできるようになったので十分かなと思います。
せっかくなので今度Ogaki Mini Maker Fairの見世物に持っていくためにいろいろ仕掛けてみようと思います!