インターネットメディアパブリッシャーまでの話
ラズパイでMP3を聞いてみたいと思い
mplayerをインストール
apt-get install mplayer
これでuSDカード内のMP3が聞けるようになった
mplayerはネットワーク対応もしているので
再生ファイルにURLを指定すればLAN,インターネット上の
mp3ファイルを再生することが出来た
sambaでNASが出来ているので
さらにApacheを動作させて
メディアサーバーっぽいものが出来た
メディアサーバーとNWメディアプレーヤーが出来たので
これを連携させてみることにした
タブレットからメディアサーバーにアクセスし
指定ファイルをNWメディアプレーヤーで再生させる
PHP5を使ってこの動作が実現出来た
この方式をメディアパブリッシャーと呼ぶことにする
この3点方式をクライアント(タブレット)
サーバー(ラズパイA)、デバイス(ラズパイB)
と考えると今後発展させることが出来そう
さっそくI/Oを制御/監視してみた
LEDの制御はラズパイBに命令を送るだけなので
比較的簡単に実装が出来たが、
SW入力は結構てこずった。
ラズパイAのリクエストから始まる処理の流れで
ラズパイBのSWデータをうまくラズパイAに
受け渡すことが出来なかった
最終的にはラズパイAからHTTPリクエストを出して
ラズパイBからのSWデータの入ったHTTPレスポンスを受け取り
ON/OFFを判別して内部ファイルに保存することにした
あとは最後の一歩を踏み越えるだけ
メディアパブリッシャーのインターネット公開だ
このシステムを公開するのはとても怖いので
最低限のアクセス制限をかけて公開し、
実験後は設定を消した
リバースプロキシnginxにlocationを追加するだけで
メディアパブリッシャーがインターネットに公開される
スマホで割り付けたURLに外部からアクセスし、
MP3の再生及び、LED制御、SW監視をすることが出来た
Qiitaでcurlを調べていたところ
LINE Notify連携の投稿があったので
さっそく実験してみた
思いのほか簡単に実装出来たので
勢いでSW入力が変化したら通知を出すようにしてみた
動作が面白かったのでSWを
部屋の扉に付けたリードスイッチにしたら
扉開監視LINEの出来上がり
参考サイト
・IT女子のラズベリーパイ入門奮闘記
・Qiita
・kazmax - Linuxで自宅サーバー
・UNIX & Linux コマンド・シェルスクリプト リファレンス
・ラズベリーパイ公式
・nginx公式
参考書籍
・Web開発者のためのPHPベストサンプル集
・日経Linux2016年9月号