小部屋の覚え書きRO

ど根性軟弱ネットゲーマーさーくすのブログ。本家の小部屋から日記をこちらにしました。
本家は主に電子工作ネタで更新中

[ucom]ラズパイメディアプレーヤーから始めて

2017-07-28 00:32:30 | 組み込み・マイコン

インターネットメディアパブリッシャーまでの話
ラズパイで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月号