しゃべるシグナルタワーへ換装

以前から、VPNやVoIP、サーバーの状態を知らせてくれるネットワーク監視灯(積層灯、シグナルタワー、あるいはパトライトとも呼ばれてる)を導入しておりました

が、普段はあまり視界に入らない壁面に設置したせいか、案外チカチカ点滅していても見落としている間にエージェントが自動解決してくれているという平和な日々が続いております(優秀なサーバーたちである)

というわけで、ちょっとくらい自己主張があっても良いのになと思い、ランプだけでなくMP3が再生できる同系統のシグナルタワーへと換装してみました。

シグナルタワー設置場所の写真

従来品よりもちょっと横幅がずんぐりむっくりになったけれどギリ収まった。

■音声メッセージを作ってみる

声に自信のある方はマイクで録音してそのまま本体に流し込めば良いです。

私も自称癒しボイスなのですが、警告音としては緊迫感がなくなってしまうため今回は私の美声は封印しておくことにします。

プリセットされている音声もあるようなのだけれど、私はさくっとVOICEVOXを活用させていただいて、いくつか音声メッセージを作ることにしました。

VOICEVOX画面

いくらかバリエーションを試してみたけれど、もち子さん(ノーマル)が聞き取りやすいと個人的に感じたので採用決定。

特にパラメータをいじることもなく、しいて言えばアクセント位置は適宜調整する必要はあるけれども、とても楽ちん。

■MP3ファイルを作る

そして、WAVで書き出した音声ファイルをAudacityでMP3へ。

マニュアルによれば44.1kHz・CBR・32kbit/s・64kbit/s・128kbit/s・モノラルであれば良いらしい。本体内蔵スピーカー的には音質にこだわってもあまり意味は無さそう。

Audacity画面

もちろんAudacityでないとダメというわけではなく、各位使い慣れたツールでWAV->MP3の変換をしてしまえば良いということになります。

■シグナルタワーへ流し込み

そんなわけで、できあがったMP3ファイルをシグナルタワー本体に送信するわけですが、

(1)まずはログインして、いつものWebセットアップツールを開きます。

シグナルタワー画面1

(2)見慣れた画面がでてきたら左側の「セットアップ項目」を展開します。

シグナルタワーメニュー

(3)そして、そのなかから「音声チャンネル設定」をクリックして開き、WEB設定データ(CH31~CH40)、とか(CH41~CH50)とか、(CH51~CH60)を選びます。

音声チャンネル設定画面

(4)あとは、CH31~60まで適当なチャンネル番号にMP3ファイルをアップロードしてゆけば簡単に登録ができます。

試し聴きは「再生」ボタンで。うん、手順は簡単ですね。

■PING監視やTRAP受信と同時に

設定した音声はPING監視やTRAP受信のタイミングで自動的に再生させることができます(従来だとブザーだけだったのが、音声番号を選べるようになってる)

また、それ以外にもhttpでシグナルタワーのAPIを叩いて任意の番号の音声を再生させることもできます。

■たとえば緊急地震速報を受信したときに

一例ですが、Chromeの強震モニタExtensionから適当なネットワーク内のWEBサーバーへPOSTさせるように設定し、受け取ったWEBサーバー側でシグナルタワーに対してhttpを発信するようなスクリプトを準備しておくなんてこともできます。

http://xxx.xxx.xxx.xxx/api/control?led=33399&sound=40&repeat=2

上の例だと、赤黄青のLEDを点滅させつつCH40に登録したMP3を3回再生(2+1)させることになります。

たとえばPHPで書いたとしたらこんな感じで。

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $json_data = file_get_contents('php://input');
  $data = json_decode($json_data, true);
  if ($data === null && json_last_error() !== JSON_ERROR_NONE) {
    http_response_code(400);
    echo json_encode(array('error' => 'Invalid JSON'));
    exit;
  }
  if ( $data['intensity']>2 ) {
    $url = 'http://xxx.xxx.xxx.xxx/api/control?led=33399&sound=40&repeat=2';
    $response = file_get_contents($url);
    echo "LED control command send.".$response;
  }
  echo json_encode(array('status' => 'success'));
} else {
  http_response_code(405); // Method Not Allowed
  echo json_encode(array('error' => 'Method Not Allowed'));
}
?>

震度2以下ではさすがに数が多すぎてうざくなるので $data[‘intensity’] > 2 としてますが、これはお好みしだい。

震度2以下なら「少し揺れた気がするよ」とかなんとか、震度によってメッセージを変えるということもできるでしょう(意味があるかどうかは別として)

あ、もちろんこれで本来のネットワーク監視も少し察知しやすくなったのは言うまでもありません。


消えちゃった動画や写真のデータ復元は
安心安全安価な『株式会社パソコントラブル救助隊』へ。
https://hqsecure.net/