ラベル htpc の投稿を表示しています。 すべての投稿を表示
ラベル htpc の投稿を表示しています。 すべての投稿を表示

2023/10/18

サーバOS(ファイルサーバ)に、LibreELECを使う

 LibreELECは、最小限の Linux 上で、Kodi を動作させるメディアセンタ向けのディストリビューション。どんなデバイスでも動くわけではなくて、ラズパイや TVBOX(Android タブレットからディスプレイを無くして、有線LANをつけたような奴)向け。

 PC用もあるが、Intel NUC 辺りを想定していて、意図的に新しめの小さなプラットフォーム向けらしい。ここしばらく、色々なPCにインストールしてテストしてみたが、あえて、サーバPCのOSに、LibreELEC を採用してみることにした。

 サーバといっても、ファイル共有の機能だけあればいいので、LibreELEC の標準機能に、Samba が含まれているので超簡単に導入できる。グラボも載せたので、そのままHTPCとしても使える。モニタの電源がはいってなければ、samba でファイルサーバになる。


 僕のように、大量の動画ファイルの再生だけ出来れば良し、というのならば、これがおススメ。ライブラリの有り無しに関わらず、初回にキャッシュをつくるので、しょぼいマシンでは(古いアンドロイドとか)ダメ。大量のファイルを扱うには、それなりのスペックのPCが必要。ライブラリ完成、もしくはキャッシュ完成後なら、しょぼくても使えないことは無いので、そこだけは注意。

2023/06/11

サーバ経由のリモコンで操作する

 Windowsタブレット + Bluetooth リモコンの Kodiは、特に困ることもなく、慣れつつあったが、ケーブルに足を引っ掛けて画面にヒビを入れてしまった。結構重量もあってバッテリー燃費もよくはない。それなら、軽くて、壊しても泣かない Android のタブレットを使えばいいじゃない。

 今まで使ってこなかったのは、やはり、タッチ操作だけってのは使い勝手が悪いから。市販されている Bluetooth リモコンは、試すまでもなく、ボタン数が足りないし、マウスっぽく操作するタイプは使いづらい。Bluetooth リモコンを自作するしかないのか、と思っていたが。


 発想の転換、気づいてしまった。

 Android に直接、リモコンを接続する必要はない。リモコン&レシーバを動作させるのは、動画ソースのあるファイルサーバでいい。

 そもそも、USBレシーバと、Kodi 間の rmx という自作ソフトがやっていたのは、TCP/IPのソケット通信。今までは、レシーバと kodi が同一PC内で完結していたが、別の PC だろうと、ルータ越しのワイヤレス接続された端末でも問題ない。スマホをリモコン代わりにするアプリがあったが、それの逆パターン。



 問題は、そのプログラムを、Linux サーバで動かさないといけないこと。とりあえず、四苦八苦しながらも、それっぽいものは作れたが、しばらくは、テスト。

2023/06/10

HTPC なんていらない、必要なのはファイルサーバだ!

 切っ掛けは、電気代高騰。無駄に電気代高そうなプロジェクタを毎日動かすのはよろしくない、というわけで、Windowsタブレットで動画を観るようになった。

 HTPCだったものから、グラボを外し、TDP25Wの CPU に交換し、OS を Linux に入れ替え、省電力?ファイルサーバとする。現時点では、ファイル共有さえできればいい。Linux なんぞ頭のおかしい奴しか使わない、って言ってる僕でも、Windowsのファイルサーバはありえない。

 HDD は、8TBx3体制。バックアップx3は手動。RAIDなんぞ不要。NTFS で、交換ベイタイプなので、6台のHDD毎にマウント先を、正しく振り分ける必要がある。

 キーボードもマウスも無しで、USBの無線レシーバのみ。リモコンでの電源操作のためと、後述するネット内の端末のコントロールに使う。サーバ上の作業は、telnet か、VNCのリモートで行う。RDP じゃないのは、作業PCが、Win10日本語の英語キーボードなんだが、これが RDP + リモートデスクトップ接続 だと強制的に、日本語キーボードとして入力されてしまう、なんで?


追記 2023-06-11
 Windows10 を英語でインストールした PC で試してみたら、RDP でも英語キーボードで正しく入力できた。別に日本でも英語キーボードを使っている人は、珍しくないはずなんだがねぇ。

2022/07/19

新HTPC #1 「電源オフからリモコンで起動させる」


 NEC のスリムサーバを、HTPC(動画PC) に使っていたが、HDD の容量が足りなくなってきたので、HDD4台搭載可能な新PCへ移行することにした。マザーボードには、SATAポートが4つしかないので、システム用のSSDを、USB3.0 につなぎ、そこからブートする。HDD交換ベイ4つは、丸々データ用として利用できる。

 グラボは、プロジェクタにつなぐだけなので、中古の RADEON HD7470? を追加した。DELLかどこかのメーカーオプションの奴で安く沢山出回っている。手持ちの古いグラボでは、Win10 に正式対応していないし、KODI の新しいVERは起動すら出来なかった。


 メディアセンタの KODI では、色々と操作デバイスを選べるが、それは立ち上がった後の話で、PC自体の電源をどうするかという問題がある。

 僕は、rmx なるリモコンと KODI を連結するソフトを作って売ってたりもするが、これは、USB接続の赤外線リモコンセットを使い、リモコンのボタン一発でスリープから復帰する事を想定していた。普通のPCならば今でもこのシステムで良かったが、最近はサーバを使っているので、そもそも、スリープ運用が出来ない。電源オフ時に、USBに電源供給する設定がないので、USBデバイスから立ち上げようがない。

 電源オフからリモコンなんかで、起動させたいというのは、HTPC に限らず、それなりの需要があるらしく、ちゃんと製品として売られている。

 PCI Express スロットの電源を使うらしいが、空きスロットが無いと使えない。USBタイプも、そもそも電源供給されないので使えない。そういうわけで、自前で、LAN経由のWOL で立ち上げをするデバイスを別途作って使っていたのだけど、やはりマヌケ感が否めないので、前々から考えていた ATX電源の +5VSB を使うリモコンシステムを作ることにした。

 +5VSB というのは、ATX電源の紫色の線、+5V standby の事。これは、PCがオフ時でも、供給されている。電源によって使える電流量は違うが、Arduino デバイスを動かすには問題ないはず。

 幸いマザーボードに、+5VSB のピンがあったので、ここから引っ張る。電源ボタンは分岐ケーブルを作って接続した。USB 2.0 の信号はそのままで、5Vだけを入れ替えた USBポートを新設する。

 USBケーブルとは別の、電源ボタンへのケーブル(青線)を使って、電源ボタンの操作が出来る仕組み。レシーバは、自作無線キーボードのものに、電源ボタン制御を足したもの。リモコンは、無線キーボードと同じ仕様に作り直した。2.4Ghzなので、赤外線のように、PCに、向ける必要も無い。

 レシーバの Pro Micro もどきは、やたらコネクタが弱くて、もげなくても接触が悪くなって不安定になってしまう。買い替えるにしても、電子部品は、アホみたいに値上げしているので、使い道がなかった死に掛けの Da Vinci 32U を使うことにした。Mini Bコネクタの方が、丈夫ではある。

 飛び出ているLEDは赤外線発信用で、プロジェクタの電源を入れられる。プロジェクタとは、シリアルで接続されているので、立ち上がってしまえばオン・オフ出来るので必須ではない。

 上で紹介した市販の製品は、ただ電源だけ操作するだけなのに対し、こちらは、メディアセンタも操作出来る、というか、それが本機能。



 YouTube なんかでは、HTPC 用に、リモコンタイプのキーボードがオススメされたりしている。電源制御したいなら、そこだけArduino で作ればいいし。あ、赤外線も出せるタイプじゃないと、結局電源入れられない問題が発生するか。
※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2022/04/07

Ricoh プロジェクター シリアル通信


 自作WOLデバイスに、赤外線処理を追加してプロジェクタの電源もコントロール出来るようにもしたが、それとは別に、PC側からも操作できるようにする。

 接続には、メス・メスのストレートケーブルが必要。クロスケーブルしか無かったので、適当に自作した。2, 3, 5ピンだけ接続すればOK。9600bps、パリティ無し、8bit、ストップビット1bit と一般的な仕様で通信できる。送受信の区切りには、CRを使う。

 リモコン制御ソフトに、「#PON」と「#POF」を送信するコマンドを追加した。
参考リンク
 ・SynaSer serial library Dephi 用 Synapse ライブラリ

2020/01/20

IMDb Datasets を調べる、その2

 しばらく、実験していたが、結局、5つのファイルデータを使うことにした。時間はかかるが、プログラムまかせだし、寝ている時にでも動かしておけばいいわけで。まぁ、今時のPCを使っている人なら、そのまま表計算ソフトやDBソフトにインポートできると思われる。
 name.basics.tsv 人名
 title.akas.tsv 日本タイトル
 title.basics.tsv コード、タイトル、年、ジャンル
 title.crew.tsv 監督
 title.episode.tsv
 title.principals.tsv キャスト
 title.ratings.tsv
 title.principals.tsv から、監督情報は取れるはずだが、一部抜けるようなので title.crew.tsv からに変更。日本語タイトルを title.akas.tsv から取得する。

 データベースは、DLLさえあれば、そのまま動くSQLite を使う。難しいことをしないのなら、これで十分。元ファイルを、1行づつ読み込むより、丸ごと読み込んで処理したほうが、当然早い。だが、32bit版の Lazarus では、読み込みエラー。先日導入した動画PC(という名のサーバ)に、64bit版 Lazarus に入れて開発することに。メモリも8GBあるので、このぐらいのサイズのファイルならエラー無しで読み込めた。

 とりあえず作ったデータベースを元に、ファイル名とマッチングさせる。見つかった諸データを、.nfo ファイルに書き出し、Kodi のライブラリに登録させる。サムネイル画像は、某所からデータベースとは別に取得した。

 久々にライブラリ機能使ってみたが、あらすじとか、ファンアートとか不要なので、サムネイル表示で使えるか確認。以下、非ライブラリ環境との違い。


 1)検索できる。リモコンでの文字入力は、僕のリモコンソフトで対応しているので、人名や、タイトルの一部を入力して動画を探せるのは便利かもしれない(めったに使わないとは思うが)。

 2)ファイル名とは別に表示されるタイトルを設定できる。ファイル名自体は、IMDb データとの紐つけのため、オリジナルタイトルに準拠したのを付けているが、例えば、邦題もいっしょに表示できたら、わかり易いと思う。検索するにしても、それを対象に出来る。原題を知ってはいても、綴りとか怪しいし、馴染みはそちらのほうがあるわけで。

 3)ライブラリ無しでは、シンボリックリンクとフォルダを使って分類していたが、これをMovie setsとかいうのに置き換えるだけで、似たような振り分けが可能かも。

 4)もちろん、nfoファイルに書いたデータ(ジャンルや年、人名など)は、自動で分類表示される。


 そういうわけで、IMDb のデータは、作品毎に登録されている俳優数とか少ないから、情報目的には物足りないかもしれないが、HTPC 上の分類ぐらいには使えそうだ。

 一応、言っておくと、Kodi 標準のスクレーパーが、同様というか、それ以上の情報を取得、展開出来る。普通に使う分には、余計な手間も時間もかける必要はない。

2020/01/14

IMDb Datasets を調べる、その1

 Kodi のライブラリ代わりのファイル振り分けソフトが、データ元に使っていた某映画サイトのリニューアルにより使えなくなり、新しい方式を模索中。Kodi 付属のデータ取得は、TMDBからで、仕様に不満がなければ、そのまま使うのが面倒もなく、楽チン。でも、僕のように、どうも気に入らないって人は、独自に振り分けるべく、イバラの道へ。

 そんなで、大手の映画データベースサイトの IMDb が、元データを配布しているのを見つけた。これが使えれば、いちいち、スクレイピングとかしなくても良くなるかも。データは毎日更新しているらしいが、動画管理に使うので、最新情報は不要。時々アップデートすれば問題ないかと。
IMDb 映画データベースサイト
  IMDb Datasets Document  IMDb data files available for download

 ・個人および非営利目的で使用可能
 ・データベースは、UTF-8、タブ区切りのTSVファイルが、gzip圧縮されている
 ・データテーブルは、7種類
 ・日本語は、例のローマ字仕様で使えない
 ・タイトルに日本語が登録されているのもある(中途半端)
 いいかげん日本語対応にしてくれても良さそうなのに。国内の映画サイトも色々あるから、IMDb を使う日本人は、そもそも多くないのかもね。僕が必要なのは、洋画の振り分けに使うデータで、この最大の欠点は、問題なし。邦画の管理に使いたいという人は、ハナから無理です。自前で、ローマ字・漢字変換するのは、可能でも不毛すぎる。


 データの中身に関しては、サイトに説明があるので、そちらを見てもらえばいい。とりあえず、へなちょこPCで、タブ区切りファイルのままじゃ埒があかないので、使えそうな部分のみ SQLite に変換した。洒落たデータベースソフトなら、インポート処理で簡単に出来そうな気もするが、Lazarus で1行づつ読んでは、DBに吐き出させた。

title.basics.tsv + title.principals.tsv
name.basics.tsv
title.akas.tsv
 結論だけ書くと、1枚目+2枚目の画像のデータで、ジャンル、人名での振り分けには、使えそう。3枚目のタイトルの別名のテーブルや、その他のデータは、使い道が無さそうだ。

 やりたいのは、ジャンル、人名での振り分けだけではなく、独自の分類を手軽に設定すること。当然、その部分は、手動での作業になるが、Kodi のライブラリは、そのまま使うにはいいが、細工をするには複雑すぎて難しい。その辺を、シンボリックリンクのフォルダ分けと、Kodi のライブラリ機能の一部を使って実現するソフトを作成したい。

2019/12/21

rmx 電波式リモコン #8

 コンパクト仕様の無線レシーバ。壊れたので作り直した。普段使いの作業PCで使う。今度は、最初からライタ用の端子の一列を空けといた。電線も太めのを使ったので、少しは安定性が増すといいが。




 3.3V のピンが無い似ているのがあるので、買う時は注意。ATMEGA 自体は、5V 動作だが、無線モジュールは、3.3V で動く。

 2.4GHz 無線デバイスは、これぐらいで、次は、ESP32 で、Bluetooth かな。

※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2019/04/12

rmx 電波式リモコン #6



 完成品としては、3つ目。薄型バッテリを見つけてきたので、充電モジュールと共に上側へ移動、DIP版の ATmega をそのまま使えるようになった。

 リモコンのプラスチックの質が悪いと思ったら、ガワも、基板も、前に改造したものとは違うものだった。壊しまくったので、残りの素材リモコンは、同タイプが3個、前のタイプが1個だけとなった。改造にはこちらの方が都合が良さそうだが、選んで買うのは難しいか。

 ICSP端子を標準的な配列にして、USBTinyISP が直接刺さるようにした。若干、電池蓋と干渉してる。元リモコン基板の LEDを削除。充電は、ACアダプタを使うようにした。USBと違い、上下も無いので接続が楽。

 この元となっているリモコン自体のボタンが、薄型のタクトスイッチなので、ある程度力を込めてボタンを押さないといけない。昔ながらのゴム接点のリモコンの柔らかい(ふにゅふにゅ)操作感と違うのは仕方ない。

2019/02/09

rmx 電波式リモコン #5

 前回に続き、Pro Mini版を作ろうとして失敗。結局 ATMEGA8 のDIP版で再作成。USB Micro のケーブル直刺しで充電できるようになった。

 ファーム書き換え用の ICSP端子は、電池蓋の中に。ICSP端子経由でも充電可能。赤いLEDは、充電中ランプ、完了したら緑色に変わる。

 バッテリとATMEGA8の高さで、ぴったりギリギリ。隙間があると、ボタンを押した時に、凹んでしまうので、ぴったりギリギリで正解。

2018/11/23

rmx 電波式リモコン #4

 ブログに載せてないが、既に2個失敗した後の、3度目の正直。大苦戦の末、ようやく電波式リモコンが完成した。そもそも、このリモコン自体、手のひらサイズで、電池部以外は薄くなっていて改造には向いていない。このリモコンは、コンパクトさと、ボタン配列が気に入って、大量に買ってあったので意地でも使わざるをえなかった。


 ATmega は、薄くするため、開きにして使った。スペースの都合上、ケーブルで取り回す必要があって悲惨なことになっている。もし、薄型のバッテリーが探せれば、上にもってきて、ATmega は下側にまとめられて、ケーブルは、ごっそり無くせるはず。

 手前の黒い熱収縮チューブで包んでいるのが、2.4GHz RFモジュール SE8R01 のDIP版。もっとも、ピンを抜いて直接ハンダ付けしてある。一般的な nRF24L01+ モジュールを使うには、プログラムを修正するのが面倒だし、半額なのに普通に動くし。

 追加した 6ピンは、ICSP端子。プログラムの書き換えと、充電に使う。スライドスイッチは、オフ → オン① → オン② と切り替わる。スイッチを一つだけに減らしたので、2機種のリモコンになった。左端は、2色LED。ボタンを押すたびにそれぞれの色で光る。

 リモコンファームウェアの書き換えは、こんな感じ。ISP の10ピンに変換コネクタ経由で接続する。完成してしまえば、PCに?ぐ必要はない。

 充電インジケータは、先端の赤外線LEDを外した所に。充電中、充電完了の2色で表示される。

 MicroUSB ケーブルから充電できるように変換コネクタつくった。

 かなり無茶して詰め込んだので、壊れても修理とか難しい。ボタンの劣化だけなら、リモコン基板の交換で済むが、それ以外は無理。予備用に、もう1個は作っておかないとな。


追記 2018-12-16
 時々、不安定になるのでコンデンサを追加してみた。ファームの書き換え頻度は高くないので、ICSP端子よりも、USBマイクロの充電端子と、電池蓋の中に通信用のピンを用意しておくほうがスマートだな。発信時のLED点灯も不要、次回製作時は省こう。
※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2018/10/30

rmx 電波式リモコン #3

 送信側、試行錯誤していて、5世代目かな。最終的には、ピンヘッダとか不要になるので、QFP版のATmega を使ったりすれば、元のリモコンの中に詰め込めるかも。ま、バッテリー次第か。

 3ポジションのスイッチ切り替えで、3種類分のリモコンになる。赤外線版の、ソフト的な切り替えと違って分かりやすい。blue, green, red と3種類登録。一つを Kodi に割り当てて、他はキーボードの設定にしてビューアー等の操作も出来る。

 バッテリーは、エネループをやめて、リポ電池に。USB経由で充電できる。頻繁に充電しないといけないようなら、充電スタンドをつくるといいかもしれない。

※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2018/10/28

rmx 電波式リモコン #2

 受信側、Beetleに、2.4 GHz 無線モジュール(Se8r01 大)と、SMDのブザーでコンパクト仕様。Se8r01 の小さい方を使えば、よりコンパクトにはなるが、モジュールの固定に難がある。大きいほうなら、ヘッダピンが使える。

 赤外線と違って、PCの裏側の見えないところでも大丈夫。リモコンも、あさっての方向に向いてても、布団の中からでも問題ない。


 電波式リモコン型のキーボードが安いので、普通の人はそれでいい。個人的には、キーボードは常に入力されてしまうから、便利であり、不便でもある。キーフックするプログラムを組んだこともあるがイマイチだったしな。そんなわけで、自前のデバイスを作ってる。
※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2018/07/31

rmx 電波式リモコン #1



 Kodi 用のリモコン制御システム rmx の赤外線を、2.4GHzの無線に置き換えたものを実験中。使っていない機能も削除、リレーも HDD制御3+主電源1の4chに変更。シフト入力として、ボタンの数を倍にする機能があったが、送信側でいじれるので、これも不要。rmx 赤外線版とは、別物になってしまうのは仕方ないな。

 手元に電源が確保できるなら、色々出来そうだが、それならば ESP8266 でやればいいので、シンプルに省電力な送信モジュールにするべきかと。実際の入力インターフェイスは後回しにして、とりあえず、赤外線入力で受け取ったコードを無線で転送する形にした。

 ざっとテストした感じでは、遅れるような感じはしないし、普通に使えそう。後は、電波式のメリットがあるかどうかと、電池駆動で使えるレベルなのかだ。


追記 2018-08-08

 送信ユニットの電池化。赤外線リモコンと合体させると無線化される。ソケットなしでハンダすれば、もう少し小さく作れる。リモコンの電池から電源を取ればスッキリするが、ダメならコンパクトなリチウムを使うか。とりあえず、どのぐらい電流消費するのか調べたい。
※ 技適マーク無しの無線デバイスの実験は、日本国外で行いましょう。

2017/08/06

digispark clone 赤外線レシーバ

 Atmel の、Attiny85 にUSB接続出来るようにした指先サイズのマイコンボード。Bootloader は、micronucleus が書き込んであった。一応、Arduino IDE からも使える。受光素子を追加して、赤外線入力を、そのままキーボード入力に変換させてみたが、ウチの環境では、少々、不安定。コンパクトかつ、実質USBキーボード扱いであるから Linux 等でも動かせるのは良い。

 ロジクールの無線マウスの USBドングルと、相性悪いようなので、ハブ経由で接続した。元々、書き込み毎に、再接続する必要があるので、digispark の MicroUSB コネクタは、接続ケーブルを繋ぎっぱなしにして、抜き差しは、ハブ側の通常USBコネクタで行う事。Micro USB で、抜き差しを繰り返すと、半田剥がれする可能性大です。
参考リンク
  DIY USB IR Receiver instructables 赤外線リモコン用レシーバ
  Connecting and Programming Your Digispark Digistump Wiki 導入手順


2016/09/30

Arduino USB IR Receiver + Clock #3


 4CHリレーとドッキング。一応、カチカチ切り替わってるっぽい。


 ボタンを押すたびに、リレーがオン・オフのトグル動作か、指定秒のみオンなのか選択できるように。

 レシーバの各設定は、rmx2 から行う必要があるが、動作自体は、Arduino 側で独立している。

2016/09/23

Arduino USB IR Receiver + Clock #2


 空中配線だとグラグラして座りが悪いので、ユニバーサル基板をはさんだ。前と同じように作ったのになぜか動かなくて困ったが、一回り小さな赤い7セグメントLEDのピン仕様が違うせいだった。

 VAIOのリモコンレシーバでは、専用リモコン以外、PCの電源を操作出来ないが、こちらは自由に割り当て出来るので、リモコン選択の幅が広がる。

2016/09/02

Arduino USB IR Receiver + Clock



 KODI の制御用リモコンのレシーバに、時計機能を追加。これだけで、Arduino 版を使う意味が出来た。

 rmx2 側にも、sleep ボタンの設定を追加。いわゆる「おやすみタイマー」で、押すたびに、120→90→60→30 と指定分後にサスペンドさせられる。

 設定さえ済んでしまえば、USB デバイス単独で、電源管理(サスペンド&復帰)出来る。まぁ、普通の人は、リモコンでオンオフするほど複数の PC を使わないわな。


 僕は、7セグメントLEDって好きなんだよね。意味も無くオーディオタイマーとか、いっぱい持ってるし。やっぱ、緑色が一番キレイだな。



2016/04/12

Arduino USB IR Receiver RawHID

Arduino USB IR Receiver 前に作ったUSB接続の赤外線受光ユニット

 今回は、データの送受信を、USB HID の RAW データとして扱う。ソニーのUSBレシーバと同じように、リモコンのボタンを押した時と、離した時、2つのタイミングでデータを送る。なので、受け取り側のプログラムも、ほぼ同じように処理できる。

 そんなわけで、次Ver の rmx は、さんざん拡張してきた分をバッサリ省いて、別物の rmx2 としてリリースする。対応デバイスは、ソニーのと、Arduino 製の2つだけ。

 緑枠が、Arduino版だけの設定。リモコンで PC の電源と4ピン分のリレーの制御を出来るようにした。

 Arduino の赤外線ライブラリを見ると何処のメーカのリモコンでも使えそうな感じなのだが、どうも上手くいかない。時々データ化けを起こす。

 ボタンを押しているのに処理できないと、あれ?あれ?と2度押し3度押しとかストレスたまってよろしくない。ソニープロトコルは、比較的安定しているが、RC6 とか微妙すぎ。

 いや、プロトコルの話じゃなくて、単純にリモコンの出力の違いなのかも。VAIO のリモコンなんて、あさっての方向でも認識するしな。