LoginSignup
2
3

More than 3 years have passed since last update.

raspiにスマートリモコン&メディアプレイヤーをのせてみた①

Last updated at Posted at 2021-05-23

raspi上で動くスマートリモコン&メディアプレーヤを作成しました。
セットアップ手順も作成しています。

初心者向けに作成しているつもりなので興味があればレッツトライ!
ちょっとだけ初期費用はかかりますけど今時の中学生のおこづかいで買えるかもしれません。
※お父さんのおこづかいで買えるかはわかりません!!

全体図

whole.png

画面見本

寝室のエアコンとライト

ステータスはデバイスサーバに保存しブラウザ側に同期
bed_ambient1 (コピー 1).png

寝室のプロジェクタ

こどものねかしつけに便利なプロジェクタ ステータスは持たない
bed_projector.png

リビングのエアコンとライトとモニター

寝室のエアコン/ライトとステータス管理は別

living_ambient (コピー 1).png

リビングのメディアプレーヤ

  • 再生/一時停止/停止/バックスキップ/フォワードスキップが可能
  • 再生位置の同期機能
  • ファイルアップロード(同一ファイル名はアップロード不可)
  • ビデオのタップでスマホ上で再生
  • ビデオのロングタップで再生対象か対象外かを切り替え

living_media.png

機能概要

  • raspi4

    • ウェブサーバ・・・スマホと各種機能の仲介処理
    • メディアサーバ・・モニターにビデオを出力。再生状況をウェブサーバ経由でスマホ側に送信。
    • ファイルサーバ・・ファイルを保存。ファイル一覧をウェブサーバ経由でスマホ側に送信。
    • デバイスサーバ・・IR情報を各部屋にあるIR送信サーバに転送。家電情報をウェブサーバ経由でスマホ側に送信。
  • raspiZero

    • リビングと寝室に設置。デバイスサーバから送信されたIR情報を赤外線にして家電を操作。

実装概要

  • raspi4

    • ウェブサーバ・・・go(echo&webSocket), grpc※
    • メディアサーバ・・vlc(libvlc-go), grpc※
    • ファイルサーバ・・ファイル情報をjson保存, grpc※
    • デバイスサーバ・・IR送信サーバへhttp:getリクエストで送信, grpc※
      ※サーバ間通信
    • raspiZero
    • getリクエストで受け取った情報を赤外線に変換して送信

リンク

ソースコード

こちら参照
※リンク切れてました。。

リンク

セットアップ

こちら参照

共通設計

こちら参照

サーバ

以下参照
ウェブサーバ
ファイルサーバ
メディアサーバ
デバイスサーバ

ブラウザ

こちら参照

引用元

参考にした記事はたくさんあるのですが、メモってなかったので時間のあるときに追加します。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3