前回は大須で買ったパトライトをCLI操作できるようにしてみました
このパトライトではHTTP通信ができると思って買いましたが、中のファームウェアが古くてHTTP通信に対応してませんでした。
というわけで今回はファームウェアを更新してHTTP通信ができるようにしてみます。
ファームウェアをアップデートする
まずは最新のファームウェアを入手していきます。
ちなみにHTTP通信に対応したファームウェアは1.45から対応していますが、2022年11月時点では最新のファームウェアは1.46です。
なので最新のファームウェアをダウンロードすれば良さそうです。
ファームウェアをダウンロードするにはお客様登録する必要があります。無料で登録できます。
以下のリンクのフォームから名前やメールアドレスなど、必要な情報を記入して送信すると担当者からメールでファームウェアのダウンロード先とダウンロードに必要なログイン情報が送信されます。(ちなみに個人でもちゃんと受け付けてくれました)
あとはメールに書いてあるファームウェアをダウンロードして中に入っているreadmeに沿ってファームウェアをアップデートするだけです(流石に詳細な手順を書くとメーカーの禁則事項に触れそうなのでやめておきます)
最終的にファームウェアの更新時に再起動された後に管理ツールの システム設定
を開いてファームウェアバージョンが1.46になったらファームウェアのアップデートは成功です。
さらに一番下のHTTPコマンド制御機能が有効になっていればHTTP通信で表示灯を操作する準備は完了です。
HTTP通信をしてみる
準備整ったところで、HTTP通信やってみます。
APIのリクエスト構文はすべて共通でhttp://<IP address>/api/control?<パラメータ名>=<値>
になっていてメソッドは GETです。
なのでcurlコマンドだと以下のような超シンプルなコマンドを叩けば操作できます。
curl "http://<IP address>/api/control?<パラメータ名>=<値>"
パラメータ名は control
と clear
の2パターンで回転灯の光らせ方やブザーの鳴らし方を制御するのは control
で回転灯やブザーを完全に止めるのは clear
になります。
前回のブログでやってた制御コマンドよりもライトの点灯、点滅パターンを10進数の形式で細かく制御できるのでかなり直感的です。
例えば赤をパターン3で点滅させてブザーのパターン3を鳴らしたいときには以下のコマンドを叩きます。パラメータ値の9は現状維持なので、OFFにしたいときは0に設定します。
curl "http://192.168.10.1/api/control?alert=399993"
全部消灯したいときはalertの値をすべて0にしてもいいですが、パラメータをclearにして以下のコマンドで消灯するのが簡単です。
curl "http://192.168.10.1/api/control?clear=1"
ここで紹介したコマンドをreTerminal上で叩いたら無事に動きました!
ファームウェアをアップデートさせて無事にHTTP通信でパトライト動いた!
— KMiura (@k_miura_io) 2022年11月23日
これでいろいろ遊べるぜ‼︎ pic.twitter.com/ZbV8XdgxX2
リクエストのパラメータ設定方法は結構簡単にドキュメントがわかりやすいので以下リンクの取扱説明書の 3.20 HTTPコマンド制御機能
をみてもらうと分かりやすいです。
https://www.patlite.jp/download/NH-SPL-ManualT95100138_01.pdf
まとめ
今回はHTTP通信を使ってパトライトを制御できるようにしました。
やっぱりWebエンジニアの自分からするとcurlコマンドでHTTP叩いて制御できるのは気持ちいいですね。
これでいろいろ遊ぶ準備ができたのでまた何個かネタを仕込んでみますよー!