ラズパイ って何だべ~? 私設 基板実験室

地元東松島市のイベントや、パソコン・ラズベリーパイの実験報告しています

ラズパイZEROでWebサーバー、ちょっとコツがある(LAN→USB変換アダプタ使用)が以外に簡単だった!!

f:id:masa19569810303:20200105091453j:plain

ラズパイ4【4GB版】が、昨年後半に日本で発売されましたが、気になるのは、ファンか大型の放熱板が必要ということです。ファンレスでい一年中安定したWEBサーバーを構築するのであれば、現状、ラズパイ3の方が上でしょう。

 

そして、ラズパイ3の動作を、シングルコアのラズパイZERO基板で出来たら、さらに電力を食わないで、コスト低減でWebサーバーが構築できるはずです。

 

ところが、ラズパイZEROの使用を考えた場合、決定的なデメリットがあります。それは、有線LANのコネクタがないことです。Wi-Fiしか持っていないため、インストール時点で有効になっていないと、ソフトインストールが一切できないためです。

 

 

 

f:id:masa19569810303:20200105091431j:plain

しかし、最近、面白いものを見つけました。USBアダプタ分配器(LANコネクタも実装)です。(Amazonで1000~2000円前後)

 

早速このアダプタを購入して、やってみたかったラズパイZEROでのWebサーバーが構築を、試みました。

 

f:id:masa19569810303:20200105091558j:plain

結論は、成功!です。

 

ただし、一からソフトインストールを行った訳ではなく、ラズパイ3で使っていたマイクロSDカードをそのまま移動する(手抜き)ワザにしただけ。

 

ラズパイ3でのインストールは下記をご覧下さい。(ラズパイ3がないと、Zero単独でのソフトインストールは厳しいはずです。) 

www.m-miura.tech

 

 

今日はここまで。

 

”この端末はリセットされました。続行するには~” と出たAndroid 7.1 スマホの解除方法!(arrows F-03H/F-05J 編)

 今回のテーマは、AndroidスマホのDevice Protection(端末保護機能)についてです。

 

 

Device Protection(端末保護機能)とは?

Device Protection(端末保護機能)は、Android5.1ぐらいから追加になった機能だそうですが、スマホのデータ初期化方法を誤る(ファクトリーリセットを安易に使う)と、この機能が発動します。

 

 このように、不要になった端末を手放す前に、初期化しようとして、ファクトリーリセットを誤ってかけてしまった人は、たくさんいるのではないでしょうか?。

スマホのデータの初期化方法は、実は2種類ある!

スマホのデータの初期化方法は、ファクトリーリセットと、スマホメニュー「データの初期化」の方法と、2種類あります。

  1.  ファクトリーリセットは(電源と音量ボタン長HとLを押して、LEDが緑になったら、電源と音量ボタンHにして再度電源と音量ボタンHを押すもの)
  2. アカウント情報も含めてデータをクリアする方法は、スマホメニューのデータの初期化(「設定」→「バックアップとリセット」→「データの初期化」、本来この操作が正式な初期化法です。

アカウント情報が入ったまま、1.ファクトリーリセット をかけてしまうと、正しいアカウントを入れない限り、もう、このスマホは使えません。これが、Device Protection(端末保護機能)。

 

このDevice Protection(端末保護機能)のかかった端末を入手してしまったら、解除するためには、通常は、業者に依頼するようです。しかし、解除する裏ワザが、実は海外に存在しています。ただ、リスクがありますので、素人作業は厳禁です!。

 

筆者は、このDevice Protectionの解除の勉強のために、たまたま入手購入したDevice Protectionのかかったスマホで、この裏ワザの解除方法を実験してみました。今回、挑戦した機種は、arrowsの F-03HとF-05Jです。

 

参考にした情報はYouTubeの下記の動画です。

 

www.youtube.com

 

 この動画の通りに行うと、怪しいサイトに飛びますので、やはり、リスクがあります。それでも、何度かやってみて、ようやくロック解除できました。ロック状態からコマンド入力を可能にするまでの操作はこの動画が参考になります。

 

試しにロック解除をやってみた

試行錯誤でやったので、文章では表現が難しいので省略しますが、操作のポイントは、写真で示すと下記です。

 

f:id:masa19569810303:20191011235414j:plain

 

f:id:masa19569810303:20191012003945j:plain

f:id:masa19569810303:20191012004016j:plain

 

f:id:masa19569810303:20191012000808j:plain

f:id:masa19569810303:20191012004114j:plain

f:id:masa19569810303:20191012005808j:plain

f:id:masa19569810303:20191012004153j:plain

f:id:masa19569810303:20191012004225j:plain

f:id:masa19569810303:20191012004323j:plain

f:id:masa19569810303:20191012004350j:plain

f:id:masa19569810303:20191012001423j:plain

f:id:masa19569810303:20191012001440j:plain

f:id:masa19569810303:20191012004522j:plain

f:id:masa19569810303:20191012004550j:plain

解除プラグラムをダウンロードして実行

AndroidのVerと機種によっていろいろある。

f:id:masa19569810303:20191012004611j:plain

f:id:masa19569810303:20191012004630j:plain

f:id:masa19569810303:20191012004646j:plain

 

細かな操作は動画が参考になります。

 

結論

とにかく、Device Protection(端末保護機能)はかけないようにしましょう!。


今日はここまで。



 

 

 

 

 

 

ラズパイZeroとpHAT‐DACで超廉価ハイレゾ再生機! Volumio3 アプリも評価してみた!【2019年版】

 【2019年版】のラズパイZero-WH・pHATDACで作ったハイレゾ再生機の話

 

 

f:id:masa19569810303:20190919002311j:plain

2段重ねのケースに入れた携帯ハイレゾセットの写真です。音楽データはinternalのラズパイプログラムが入っているマイクロSDカードに入れました。

 

ケースから出ているケーブルは、左:イヤホンコネクタ、右:電源のUSBコネクタ のみ。(スッキリ!) 

 

  internalに音楽データを入れる方法は、ラズパイとPCを接続して、Volumioアプリをホットスポットモード起動すると、 internalが出て来ます。昔やったインターナル領域を作る余計な作業はもう一切なしです。

 

また、Volumioアプリは、Volumio3に最近変わったようですが、設定画面でVolumio3にチェックを入れないと、Volumio2の画面のままでした。(Volumio3の大きな変更はこれぐらいかも?)

 

Volumio3は、ラズパイ4に対応したようですが、ラズパイ4は、日本国内での発売はまだだと思いますのでラズパイ4での動作確認は未です。

使用したハード

www.switch-science.com

www.switch-science.com

 

使用したVolumio

volumio.org

volumio-2.609-2019-09-11-pi.img.zip

 

設定手順

設定手順を1ページに、重要点のみ、まとめてみました。

f:id:masa19569810303:20190919091139p:plain

設定状況の写真も一気にご紹介!

f:id:masa19569810303:20190919091301p:plain

f:id:masa19569810303:20190919091243p:plain

 

f:id:masa19569810303:20190919091404p:plain

 

f:id:masa19569810303:20190919194126p:plain





f:id:masa19569810303:20180915001303p:plain

 インターナル 出ました!!

f:id:masa19569810303:20180914222802p:plain

 

f:id:masa19569810303:20190919092306j:plain

設定完了です! 

 

 

注意点

f:id:masa19569810303:20190920231007p:plain

今回のラズパイZeroは、LAN端子がないため,Volumioは有線で使用できません。ホットスポットモードの無線のみです。設定画面の ホットスポットを有効にするは OFFにしないように。(起動しなくなります。)

 

 評価結果と感想

 

ラズパイZeroの用途にVolumioが良いこと再認識しました。

Volumio3の使い勝手は、現在評価中です。(Volumio3のメリットは特にはないかも知れない?)

 

今日は、ここまで

 

 

 

Fire HD 8 - 高コスパ8インチHDタブレット(第 7 世代)を 英語版Alexa起動・さらに日本語化する裏ワザも紹介 !

ブレットf:id:masa19569810303:20190916171324j:plain

いろいろアプリがインストールできると、さらにコスパAmazon Fire HD8 (第 7 世代)

 

 

 Amazon Fire HD8・サクサク動作でコスパ最高!

Amazon Fire HD8は、8インチのタブレットで、動作が優秀なWi-Fi専用のタブレットです。コスパは最高です。なぜなら、サクサク動くのにこの値段です(8980円)。

 

最新のFire HD8(第8世代)からは、日本語Alexaが搭載されました。

筆者の所有のものは、残念ながら、Fire HD8(第7世代)でした。

公式では、Fire HD8(第7世代)でAlexaは起動しません。

 

 

Amazon Fire HD8(第7世代)でもAlexaは動作する!

 ところが、海外版ではFire HD8(第7世代)からAlexaが起動する、という記事があります。ただし、言語は英語かドイツ語です。

 

そうなると、なんとかして、日本語Alexaを起動する方法がないか調べたところ、ありました。

 

方法は、次の項の通りです。

Amazon Fire HD8(第7世代)にAlexaを搭載したメリット

  1. 英語版と日本語版の2つのAlexaを選択できる
  2. 英語版Alexaは英会話の勉強になるかも知れない
  3. 改造費用は0円
  4. いちいち Alexaと呼ばなくて良い(ボタンを押す方式なので)

 

Amazon Fire HD8(第7世代)にAlexaを搭載したデメリット

  1.   Alexaと呼んでも無回答!(ウェイクワードが使えないので当然!)
  2. 元々、Fire HD8には、GPSバイスが搭載されていないので正確な位置情報や地図情報が提供されない。
  3. なかなか、質問に対して、回答はいまいち(スキルを入れないから?)
  4. Amazonミュージックに加入していないと、音楽は流してくれない。

 

Amazon Fire HD8(第7世代)にAlexaを搭載する方法!

 

f:id:masa19569810303:20190916185148p:plain

 

上記表にもある通り、Fire HD8(第7世代)は、Amazon.com (米国)のアカウントを取得して、Alexa 起動(ホームボタンか アプリのボタンを押して問いかける方法なら)が可能になります。

 

 Amazon.com (米国)のアカウントの取得

Alexaを使いたければ、Amazon.com(米国)アカウントでAlexa の設定するAmazon.co.jp アカウントと連携ないことが重要。
連携してしまった場合は、OS を出荷状態に初期化することから始める。

Amazon.com(米国)アカウントでAlexa の設定(英語版)

Amazon.co.jp アカウントと連携にしてしまった場合はAmazon.com(米国)アカウントでAlexa の設定する



f:id:masa19569810303:20190916203043p:plain

 

f:id:masa19569810303:20190916203058p:plain

 

f:id:masa19569810303:20190916202346p:plain

 アカウント変更前(Alexa設定項目がない!)

 

f:id:masa19569810303:20190916202408p:plain

 アカウント変更後(Alexa設定項目が現れる)

 

f:id:masa19569810303:20190916203558p:plain

 言語を日本語するとメニューは日本語に!

 

f:id:masa19569810303:20190916203527p:plain

Alexa起動のホームボタンの設定をONに出来た!

ハンズフリーモードはONにしても起動しない!)

 

f:id:masa19569810303:20190916204308p:plain

Alexa起動のホームボタンの長押しで起動! 

上記はWHO ARE YOUと質問した内容

 Google play開発サービス導入

f:id:masa19569810303:20190916203715p:plain

Amazon Fire HD8はGoogle playはサポートしていないが、

対応させるアプリがYouTubeの投稿(下記)にあったので、使わせていただきました。

www.youtube.com

(正規機能ではないので、あくまでも個人責任で実施して下さい。)

 

f:id:masa19569810303:20190916203744p:plain

 

Amazon Fire HD8はGoogle playに対応させた状態が上。

 

 アレクサアプリ(Ultimate Alexa) 導入 日本語)

f:id:masa19569810303:20190916203951p:plain

f:id:masa19569810303:20190916204021p:plain

 

(Ultimate Alexa) 導入で 日本語になりました。

注:このアプリは無料版では、広告が合間に入ります。うっとうしければ、有料版を入れてみて下さい。筆者は無料版です。

 

Amazon Fire HD8(第7世代)にAlexaを搭載(総括)

 

Fire HD8(第7世代)でAlexaを使いたかったため、Amazon.com(米国)アカウントを使うと、Alexa の設定ができることが分かった。

 

日本語化できるGoogle playにアプリがあったが、Google play開発アプリをインストールすることで、実現が出来た。

 

Alexaの会話レベルは、スキルをアップしてない場合はこんなものだろう。とりあえず、目標の作業ができたので、今回はここまで。

 

ラズパイ3のWebサーバの課題・運用が煩雑なだけ!【一年間使ってみた正直な感想!】

f:id:masa19569810303:20190822105242j:plain


2019年の夏も8月は、ここ宮城県でも暑かったです。(今週からは暑さは弱まって来ました。

経緯(Raspberry Pi 3 のWebサーバー)

我が家のRaspberry PiのWebサーバーは、クーラーのない暑い部屋の机の上で、今年も稼働中。もう1年間も稼働しています。

 

Raspberryの取説の安全ガイドには、こう記載されています。

『どのような熱源からの熱にもさらさないでください。Raspberry Piは、通常の環境の室温で安定して動作するように設計されています。』

 

通常の環境の室温とは?外は、尋常でない暑さになっているので30℃に近い部屋の場合、大丈夫か??。

 

感想(Raspberry Pi 3 のWebサーバー)

ハードは、1年間、自然空冷で運用は大丈夫でした。Raspberry Piは、連続運転のサーバーとしては十分使えそうですね。

 でも、何年間稼働できるかは?、ちょっとわかりません。

 

課題(Raspberry Pi 3 のWebサーバー)

課題も発見できました。羅列します。

  • WebサーバーとしてRaspberry Piは、1年間程度の連続運転では、ハードとしては十分使えることが分かった。
  • Webサーバーのメンテナンス作業が、実は、とても大変。WordPressで比較的簡単にサーバー構築はできましたが、ほぼ毎日、アップデート作業があります。プラグインを多用していると、さらにアップデート作業が顕著で、毎日のメンテナンス作業面倒になりました。
  • WordPressのデザイン(テーマ)を模様替えしたい時、無料版でも、沢山あり過ぎて、どれを使って良いか迷ってしまう。
  • WordPressのテーマを替えた途端、前に使っていたテーマの機能が使えなくなって、結局、前のテーマに戻すこともあった。
  • SSL対応(http⇒https化)は、SSL証明書の入手が必要で、素人が個人でやるにはハードルが高い。(結局、やめた)
  • ラズパイのWebサーバーをネットに繋ぐことは、世界に情報発信ができるが、別の見方をすると、全世界から攻撃を受ける危険性を持つということ。に気づいた。

 

課題からの結論(Raspberry Pi 3 のWebサーバー)

1年間Raspberry PiのWebサーバーを使った、正直なまとめの感想です。

”課題:運用が煩雑なだけだった!。ハード的には面白かった”、で、継続でWebサーバーを稼働させるには。

 

Raspberry Piを使うのもいいですが、今ここで発信している、『はてなブログ』を使った方がいい!!(ごますりではありません!)

 

はてなブログ』であれば、メンテナンス作業も、セキュリティーを確保するにも、コストパフォーマンスが高く、安心・安全だという事が言えます。 

 

hatenablog.com

実際に作った、Raspberry PiのWebサーバーのWordPressの中身

のデータも、簡単に、『はてなブログ』にインポート出来てしまいました。

 

 重要:記事移行の注意

WordPressで WordPress.2019-**-**.xmlのバックアップを取って、はてなブログのインポートで、WordPress形式を選んで取り込みますが、インポートした記事を編集モードで再編集したい時、

 というモードで、

いつも見ている

 編集(見たまま)ではありませんでした。

 

こんな時に、裏ワザがありました。

インポートした記事を一度削除してしまいます。

そして、ゴミ箱に一時保管してある記事を復活させます。

すると、 編集(見たまま)のモードができるようになります。

 

 

 参考まで、Raspberry PiのWebサーバーから『はてなブログ』に移行したサイトです。(独自ドメインサブドメインで構築にしたので、プロ版でも、追加料金は発生しません。)

f:id:masa19569810303:20190821103255p:plain

『おらほのおのまち』

 

ということで、余ったRaspberry Piは、そろそろ、別の実験で活用したいと思います。

ラズパイ-ZERO で Spotify を聴く Volumioプラグインで!

f:id:masa19569810303:20190206142107j:plain

 

 

はじめに

ラズパイZEROとPHAT DACハイレゾセットで、世界で一番利用者が多いと言われているストーリミングサービス”Spotify”(スポティファイ)を試してみました(上記写真)。音楽OSの”Volumio”の標準のプラグインをインストールし使用します。パソコン版SpotifyWindows版、MAC版、Linux版)と比べると、簡素な操作になりますが、DACを搭載なのでの音は良いはずです、用途を考えて見ました。

 

目的

  • ラズパイZEROで、Spotifyサービスの適用法を検討する
  • 無料版でどこまで出来るか
  • プレミアム版のSpotify Connect操作を試行する。 

 

機材設定方法

ラズパイZEROとPHAT DACの設定方法は、以前の私の記事を参照下さい。

www.m-miura.tech

プラグインのインストール手順を、備忘録として書いておきます。

 1.プラグインインストール

  下記赤枠の2つのプラグインをインストールし、有効にします。

  Spotifyの方は、Spotifyの無料会員のIDとパスワードを設定します。

f:id:masa19569810303:20190206213635p:plain

f:id:masa19569810303:20190206214308p:plain

f:id:masa19569810303:20190206213751p:plain

 2.メニュー確認

VolumioメニューにSpotifyマークが出てくれば、プラグインは成功です。

(参考:私の場合、初回には、プラグインが出来たが音が聞こえなかったので、一度アンインストールしてしまい、その後、再インストールが出来ない状態に陥った。仕方なく、一時的にプレミアム会員を登録したところ、プラグインが成功した。現在、プレミアム会員一か月の無料の期間中だが、別の理由で、プレミアム会員に更新して損はないと思います。(後で記事にします。)

f:id:masa19569810303:20190206214432p:plain

 

はじめのSpotifyメニューです。(PC版と比べるとシンプルです。)

f:id:masa19569810303:20190206214626p:plain

 

取りあえず、プレイリスト作成のため、右上の検索欄に”MISIA”と入れると、楽曲がいろいろ出て来ます。

f:id:masa19569810303:20190206214506p:plain

 使用方法は、いろいろあると思いますが、新規にプレイリストを作り、聴きたい曲をどんどん追加し、プレイリストを起動すると良いと思います。

f:id:masa19569810303:20190206214652p:plain

  

3.動作確認

プレイバックタブを押すと、ラズパイVolumioのいつもの画面が出ます。
左側の窓の表示で、Spotifyサイトで320kbps16bitで演奏していることが分かります。

 

f:id:masa19569810303:20190206214715p:plain

 

 4.参考

 Spotifyプレミアム版機能のひとつの、Spotify Connectを試して見ました。PCにSpotifyアプリを入れて、ラズパイもVolumio起動し、PCからSpotifyを起動した場合の状態です。下記写真のように、PCにSpotifyアプリの右下にある、音の出力装置の切替えが出来ます。やって見ると、音楽出力先がワープするような感じで面白いです。(この操作は、プレミアム会員だけの特権です。)

 

f:id:masa19569810303:20190206214745p:plain

 

調査結果

  • Spotifyは、国内の音楽が結構公開されています。ただし、マイナーなアーティストが非常に多いような感じです。ただ、アーティストによっては、ほぼ全曲が公開されている人もあります。例として、ユーミンMISIAperfumeポリリズムなどを除きほぼ公開。
  • 無料会員は曲間に広告が入るとのことです。現在、プレミアム版体験期間中のため、割込みや、音楽中断はありませんでした。
  • ラズパイZEROでのVolumio版Spotifyは、検索やプレイリスト作成などの操作が、簡略化されていますが、ハイレゾ対応のDACを搭載している分、ラズパイZEROの方が音が良いことは間違いないと思います。
  • Spotifyプレミアム版機能のSpotify Connectを試して見ました。(上記写真)

 

感想

 Spotifyは、良い音で、無料版でもフルコーラスが聞けるのは、嬉しいことです。ストーリミングサービスなので、基本はWi-Fiがある場所で使用、データ保存は基本的には行わない。

(重要:プレミアム版であればPC版で作ったプレイリストを、スマホで参照して使用出来るため、Wi-Fiでなくても、携帯電波があるところであれば使える。さらに、プレミアム版であればデータ保管が出来るので、スマホにデータ保管が出来、電波が無くても使用可能である。)

さて、ラズパイZEROとVolumioのSpotify聴取装置、十分レンジの広い音が出るし、24時間使用しても、消費電力がわずかで、熱が出ない利点があり、簡単なAMPに接続したBGM専用装置の用途がベストだと考えます。

 

今後の予定

PC版の Spotifyの機能をさらに確認し、スマホや、Google-homeとの連携でいろいろな事が出来そうなので、確認し報告したい。

 

 今回はここまで。

 

 

関連記事:Spotify PC版アプリは なかなかいい!! 

www.m-miura.tech

ラズパイ3でDLNAサーバー、REGZA-TVでも  chinachu の録画番組が見れた!!

f:id:masa19569810303:20190202204050p:plain


 

 

 はじめに

chinachuの録画番組や、ダウンロードした動画を、リビングルームでは、LAN接続のテレビで見れたらいいですよね。

ラズパイ3のデーターサーバーに、DLNAと言う規格のアダプターをソフト的に入れ込んだところ、所有のLAN対応TV(東芝REGZA-Z1)でこれらの動画を観ることが出来ました。REGZA-TVに限定した内容かも知れませんが、ラズパイの有効活用例として紹介します。

 

DLNA規格とは

  DLNA(Digital Living Network Alliance)はAV家電・パソコン周辺機・モバイル機器のメーカーで結成された業界団体のことで、ここのガイドラインや、機器間通信の手順(プロトコル)、 フォーマット(MPEG2、JPEG、など)の規定まで、DLNAと呼称しているようです。このDLNA対応機器で、家庭内LANを介して互換性がとれて動画・静止画・音楽などを再生することができるというものです。

 

必要機材とソフト

  • DLNA(LAN接続可)デジタルTV・・例 REGZA-Z1など
  • ラズパイ3と外部HDのセット・・・前回作成のSambaサーバー
  • Samba(openソース)
  • MiniDLNA(openソース)※1
  • FFMpeg(openソース)※2
  • ラズパイ設定用PC
  • 有線LAN環境(HUB・LANケーブル)

※1:Linuxでは定番になっている、MiniDLNAを使用しました。
※2:mp4ファイルをmp2に変換する場合必要。chinachuだけのデータファイルであれば不要。

 

 ラズパイ3Sambaサーバーの作成例は下記をご覧下さい。

www.m-miura.tech

作成手順

前回作ったSambaデーターサーバーをそのまま流用し、MiniDLNAの共有領域を追加します。

  •  Sambaの共有設定追加
sudo nano /etc/samba/smb.conf

 

#文末のSambaの設定例

[Public]
comment = R/w Folder
path = /mnt/hdd1/Public/
browseable = no
read only = no
guest ok = yes #下記を追加
[minidlna]
comment = R/w Folder
path = /mnt/hdd1/minidlna/
browseable = no
read only = no
guest ok = yes

 

  •  「miniDLNA」のインストール

「miniDLNA」をインストールするには、以下のコマンドでインストールできます。私は /mnt/hdd1に入れました

sudo apt-get install minidlna
  • 「miniDLNA」の設定

miniDLNAの設定ファイル「/etc/minidlna.conf」を以下のように編集します。
下記の1か所のみを設定するだけで良かった。(その他の設定はデフォルト記述のままで良かった。)

 

sudo nano /etc/minidlna.conf

 

# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)
# * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
#media_dir=/var/lib/minidlna media_dir=/mnt/hdd1/minidlna

 

修正保存したらリロードします。

 

sudo service minidlna force-reload

 

※minidlna がインストールされると、WindowsクライアントPCからは下記のようにminidlna の場所が見える。また、ネットドライブ設定すると、データ入出力可能なフォルダが共用フォルダが見えて来る。ただし、minidlnaのパス設定名が正しくないと、フォルダーを開いてもデータ(番組)が何も見えない。(経験済み)

  •  VIDEO フォルダーにファイルコピー

minidlnaフォルダーの下のVIDEO フォルダーにchinachuの録画番組ファイル(*.m2ts)をそのままコピーして置くだけで、東芝REGZA-TVから見れた。

 

クライアントPC(Windows)のminidlnaフォルダーの見え方

下記赤枠は、”DLNA”のフォルダーが、DLNA規格とSamba共有フォルダーの2つが見えるが、PCから操作できるのは、Samba共有フォルダー(下記例はネットワークドライブS:に設定)の方のみで、ここにTVで視聴するファイルをコピーして置く。

f:id:masa19569810303:20190202220650p:plain

動作確認

  東芝REGZA Z1のTVの場合は、レグザリンクの録画番組を見る⇒機器選択⇒すべてのビデオ と進むと 録画番組の選択が出来る。

f:id:masa19569810303:20190203002843j:plain

f:id:masa19569810303:20190203002911j:plain

ラズパイの機器を選択して、VIDEOフォルダに入り、録画ファイルを選択し、プレビューに動画が出てくれば成功!!

f:id:masa19569810303:20190203002935j:plain

 

フォーマット変換(mp4⇒mp2)

mp4の動画はそのままではDLNAでは見れないので、

FFMpegを使って、mp2に変換してあげると見れます。

REGZA視聴の場合の変換コマンド例

FFMpegのインストール方法はメモっていなかったので他のサイトをご覧下さい。

$ for i in *.mp4; do ffmpeg -i "$i" -f mpegts -b 8192k "${i%.mp4}.mpg"; done

結果

東芝REGZA-TV がLAN接続でこのラズパイ3でDLNAサーバーの動画が簡単に見る事が出来た。所有している他のTV(シャープ製など)は、LAN接続があっても、設定がなく出来なかった。


感想

DLNAについて少し勉強することが出来て良かった。minidlna.confの設定が、ネット入手情報とは少し違っていたが、手持ちのREGZA-TVではこの方法で観れた。他メーカのTVのDLNA接続も機会があったら調べてみたい。たぶん、最新のTVはもっと簡単に出来ているか、または全く出来なくなっているかも知れない。

今回はここまで。

 

 

 

ラズパイ3 Chinachu TV録画サーバーと、もう1台のデーターサーバーから「scp」コマンドでデータ転送したら超便利!!

 

 

 

 

はじめに

ラズパイ3 Chinachu TV録画サーバーは、順調に稼働しています。課題は、録画用外付けハードディスクには、容量の限界がある事。設定した残容量を超えた場合、古いファイルから自動で消して新しい録画を行う仕様です。

そのため、残したい録画データだけ、何かに転送してして置く必要があります。高性能なPCがあれば、それ1台で、Chinachu TV録画サーバーとデーターサーバーを兼用し、録画データを別のハードディスクにバックアップする方法が取れますが、ラズパイ3 Chinachuの場合は、1台で、いろいろ動作させるほど、CPUパワーとメモリーが大きくありません。そこで考えました。

もう1台のラズパイで、録画データを操作させて、データを保管した方が、安定したシステムが作れます。”安価なラズパイなら、それが可能です。”

 

もう一つの課題として、どのようにサーバー間でデータを転送できるかという事ですが、

ネットで調べると、Linuxのデータ転送で scp (Secure CoPy) というコマンドがある事がわかりました。丁度、もう1台ラズパイ3を共用データーサーバーとして使用していましたので、これで、 Chinachu TV録画サーバーのデータも転送して来て保存する事をやってみました。

 

今回のシステム構成図

 

f:id:masa19569810303:20190118235403p:plain

 データーサーバーの構築法は下記をご覧下さい。

www.m-miura.tech

 Chinachu TV録画サーバーの構築法は下記をご覧下さい。

www.m-miura.tech

 

 

f:id:masa19569810303:20190119001351p:plain

 ※コマンド実行後、複写元ユーザーのpasswordを聞かれるますので、入力すると、開始します。

 

scpの操作法について

 

基本操作方法

scp [オプション][転送するファイル名][転送先パス]

 今回使用するオプション

    -p は元ファイルのオーナー、グループ、パーミションと更新時間を維持

    -r は ディレクトリ内をディレクトリごと(再帰的に)コピーする

具体例① フォルダ毎全ファイルコピー

先ず、カレントディレクトリーに移動します。

pi@raspberrypi-p:~ $ cd /mnt/hdd1/Public/movie/recorded
pi@raspberrypi-p:/mnt/hdd1/Public/movie/recorded $ pi@raspberrypi-p:/mnt/hdd1/Public/movie $ scp -pr pi@192.168.1.10:/mnt/hdd1/recorded ./

解説 

192.168.1.10:/mnt/hdd1/recorded  のフォルダーと中身のデータを

 現在のカレントに recordedフォルダーが作られてファイルがコピーされる。

 

 

具体例② フォルダ毎ワイルドカードのファイルのみのコピー

カレントディレクトリーに移動します。

pi@raspberrypi-p:~ $ cd /mnt/hdd1/Public/movie/recorded
pi@raspberrypi-p:/mnt/hdd1/Public/movie/recorded $ pi@raspberrypi-p:/mnt/hdd1/Public/movie $ scp -pr pi@192.168.1.10:/mnt/hdd1/recorded/*GR24*.* ./

解説 

 192.168.1.10:/mnt/hdd1/recorded  のフォルダーと中身のデータを

 現在のカレントに recordedフォルダーを作ってコピーする。

  コピーして来るファイルは、ワイルドカード(上記例は*GR24*)を指定するだけ。

 

 

 

結果

 1Tぐらいのデータ容量になると、10BaseのLANで、1日半ぐらいかかるが、ラズパイは低消費電力なので、放置していても問題なく予定のファイルが転送できました。

ワイルドカードの文字は、日本語文字では認識しなかった。Chinachu 録画ファイル名の日時や、チャンネル番号を使うと良い。

(例)[190118-1815]の 190118 や、[GR24]のGR24 

 

 

感想

 当初、クライアントパソコンを介した、普通のコピーで

ラズパイ ⇒ クライアントパソコン ⇒ラズパイ のデーター転送を試みましたが、回線が介在するため、とても時間がかかり、また、途中でクライアントパソコンがダウンしたりしました。

その点、scpコマンドを使うと、完全にサーバー間での転送になるため、大変安定しています。

 

今後の予定

 scpコマンドの入力が  もう少し自動化できたらいいと思います。考えてみたいと思います。

 

今回はここまで

 

 

 

 

ラズパイ3 でSambaサーバー構築法、Webminも入れると、クライアントPCからの設定・監視・コマンドが超便利になる!!

  

f:id:masa19569810303:20190109205345p:plain

 

 

はじめに

 ラズパイでデータ共有サーバーを構築すると非常に便利です。一般的な方法として、Windowsファイル共用のオープンソース”Samba”を入れ、conf設定ファイルの修正で行います。これだけではつまらないので、クライアントPCのWebブラウザで、Samba設定がいじれたり、状態を監視できる、Webminというオープンソースも入れてみました。

昔、PCにLinuxを入れた時に一度やったことがありましたが、ラズパイにも適用可能かやってみました。設定状況をWebブラウザ見える化すると、とても便利で、サーバーの動作の勉強にもなります。

 

ラズパイで共有サーバー実現方法

 

下記のように、方法1がだめでしたので、方法2で実現しました。

 

方法1:SWATという、Samba設定に特化したWebブラウザで操作するオープンソースが昔ありましたが、今、調べて見ると、最近のSamba-Ver4では、サポート中止・更新も止まっていました。(脆弱性の問題とか、そもそも更新する人がいなくなったためのようです。)

試しに、apt-getでインストールしてみると、やはり、SWATは廃止と考えて良いようです。

f:id:masa19569810303:20190109205534p:plain

 方法2:Samba設定を含め、サーバー各設定の管理まで行えるものに、Webminというもの、昔からありました。現在も更新されているようなので、今回はこれをラズパイにインストールしました。

外部ハードディスク接続

 ※chinathuでやってみた、外部HDのマウントから手順を復習を兼ねて追記しました。(1/10)

 

最初に、ハードディスクをアンマウントします。(自動でマウントされてある場合を想定して)

#dfコマンドでマウント状態の確認
pi@raspberrypi:~ $ df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 7593848 6149268 1072628 86% /
devtmpfs 470116 0 470116 0% /dev
tmpfs    474724 0 474724 0% /dev/shm
tmpfs 474724 12388 462336 3% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474724 0 474724 0% /sys/fs/cgroup
/dev/mmcblk0p1 43539 22502 21037 52% /boot
tmpfs 94944 0 94944 0% /run/user/1000
/dev/sda1 1921802500 77856 1824032584 1%/media/pi/e1e1258a-8143-49db-a87b-21b4a8b0c46b
※ /sda1 でマウントされている例
# umount /dev/sda1 ← /dev/sda1 をアンマウント
pi@raspberrypi:~ $ df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 7593848 6149264 1072632 86% /
devtmpfs 470116 0 470116 0% /dev
tmpfs 474724 0 474724 0% /dev/shm
tmpfs 474724 12384 462340 3% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs      474724 0 474724 0% /sys/fs/cgroup
/dev/mmcblk0p1 43539 22502 21037 52% /boot
tmpfs 94944 0 94944 0% /run/user/1000

※ /dev/sda1のマウントが解除され表示されなくなった
# パーティションテーブルの設定を行います

sudo fdisk /dev/sda1

# d でパーティションを削除

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

# p で現在の状態を確認

Command (m for help): p
Disk /dev/sda1: 1.8 TiB, 2000397868544 bytes, 3907027087 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x19867eb5

# n でパーティションを作成 その後の設定で何も入力しない場合全てデフォルトとなる

pi@raspberrypi:~ $ sudo fdisk /dev/sda1
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Device /dev/sda1 already contains a ext4 signature.
The signature will be removed by a write command. Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x19867eb5. Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-3907027086, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-3907027086, default 3907027086): Created a new partition 1 of type 'Linux' and of size 1.8 TiB.

 

# p で再度現在の状態を確認

Command (m for help): p
Disk /dev/sda1: 1.8 TiB, 2000397868544 bytes, 3907027087 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x19867eb5 Device Boot Start End Sectors Size Id Type
/dev/sda1p1 2048 3907027086 3907025039 1.8T 83 Linux

 

# w で変更を書き込みます

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.:無効な引数です
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

ext4でフォーマットする

sudo mkfs.ext4 /dev/sda1
pi@raspberrypi-c:~ $ sudo mkfs.ext4 /dev/sda1
mke2fs 1.43.4 (31-Jan-2017)
Found a dos partition table in /dev/sda1
Proceed anyway? (y,N) y
Creating filesystem with 488378385 4k blocks and 122101760 inodes
Filesystem UUID: e94a9fef-fc73-4b8c-ae9b-56f0ee10fce8
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848 Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

 

マウントする

/etc/fstabに、デバイスを登録することにより、起動時に自動マウントすることができます。 またデバイスのパスではなくUUIDを登録しておくことにより、デバイスのパスが変更されてもマウントすることが可能です。

マウントポイントを作成
必要に応じてマウントポイントを作成します。今回は/mnt/hdd1としました。

sudo mkdir /mnt/hdd1

UUIDを調べる
# ブロックデバイスの情報を表示する

pi@raspberrypi:~ $ sudo blkid /dev/sda1
/dev/sda1: UUID="e94a9fef-fc73-4b8c-ae9b-56f0ee10fce8" TYPE="ext4" PARTUUID="9bcc73b5-079a-4f69-a809-d0122aa289d1"

 

fstabを編集

# バックアップをとっておく

cd /etc
sudo cp fstab fstab.bak

# fstabを編集しマウント設定を追加

sudo nano fstab
# デバイス名 マウントポイント ファイルシステム オプション dump指定 fsck指定
UUID=e94a9fef-fc73-4b8c-ae9b-56f0ee10fce8 /mnt/hdd1 ext4 nofail 0 0

# 再起動

$ sudo reboot

# 確認

$ df
f | grep /mnt/hdd1
pi@raspberrypi:~ $ df | grep /mnt/hdd1
/dev/sda1 1921802500 77852 1824032588 1% /mnt/hdd
 

共用フォルダ作成

$ cd /mnt/hdd1
$ sudo mkdir Public


sambaのインストールと設定

sambaのインストール

pi@raspberrypi:~$ sudo apt install -y samba

設定ファイルに /mnt 以下を読み取り専用、ゲストアクセスOKで公開するよう設定を追加します。


#sambaの設定ファイルの編集

pi@raspberrypi:~$ sudo nano /etc/samba/smb.conf

/etc/samba/smb.conf
....
#ファイルの末尾に以下の行を追加

[Public]
comment = Public
path = /mnt/hdd1/Public
browseable = no
read only = no
guest ok = no

 

sambaを再起動して設定を有効にします。


#sambaの再起動

pi@raspberrypi:~$ sudo systemctl restart smbd nmbd

Windowsから ¥¥(録画サーバのIP)¥Public  (¥は半角)にアクセスしてフォルダが見れれば成功です。

 

Webminインストール

前処理が必要で下記Debianの記事を参考にさせてもらいました。

pandametal.xsrv.jp

 

前処理後、ようやくapt-getでインストールが出来ます

pi@raspberrypi:~ $ cd /
pi@raspberrypi:/ $ sudo wget http://www.webmin.com/jcameron-key.asc
pi@raspberrypi:/ $ sudo apt-key add jcameron-key.asc
pi@raspberrypi:/ $ sudo apt-get install apt-transport-https
pi@raspberrypi:/ $ sudo apt-get update
pi@raspberrypi:/ $ sudo apt-get install webmin 

f:id:masa19569810303:20190109205312p:plain

 プライバシーポリシーが出るが、問題ないので、無視して進むと、webminの ID、パスワード要求メニューが出ます。ラズパイのユーザーIDは、”pi“  ,パスワードはインストール時に設定変更していると思うので、それを入れます。

 

/pre>f:id:masa19569810303:20190109205555p:plain

 

 すると 英語のconfigメニューが現れる。言語設定メニューで日本語を入れると

f:id:masa19569810303:20190109205113p:plain

 

f:id:masa19569810303:20190109205131p:plain

日本語のwebmin設定画面になります。

f:id:masa19569810303:20190109205148p:plain

 

/etc/samba/smb.conf の設定が画面で行える。設定を保存したら、ラズパイのコンソールで rebootしてあげると有効になるみたい。

f:id:masa19569810303:20190109205507p:plain

 これで、クライアントPC側から Sambaの共有フォルダが見えたら成功。

 

 

 Sambaの設定監視以外にも、下記のような、ローカルディスクの状態監視や、システムインフォメーションで CPU、RAM の %表示で動作状況が見れます。(動作が見えると安心しますね。)

f:id:masa19569810303:20190109205251p:plain

 

f:id:masa19569810303:20190116230340p:plain

 

f:id:masa19569810303:20190109205345p:plain

 

 超便利なWebminの機能(1/16追記)

 設定・監視機能のほかに、下記の超便利な機能がありました。
これがあれば、サーバーにSSHVNCで繋ぐことなく、Webminで操作が完結します。

 ・ファイルマネージャー機能

  普通にファイルのコピー・削除・リネームが出来てしまいます

 

f:id:masa19569810303:20190116224341p:plain

 

f:id:masa19569810303:20190116224357p:plain

さらにプロパティで、各ファイルのパーミッション(アクセス許可)変更もGUIで出来てしまいます。 

f:id:masa19569810303:20190117144938p:plain

 

 ・コマンドライン機能

  まさかの機能ですが、コマンドシェルが出て来て、普通に

  コマンド実行が出来ました。

  

f:id:masa19569810303:20190116224428p:plain

 

f:id:masa19569810303:20190116224440p:plain

 結果

 ラズパイ3のネットワーク共用データサーバー、SambaとWebminを使って非常に順調に、便利に運用中です。
予想以上に、Webminが超便利です。動作状態がリアルタイムで確認出来るし、インストールされているパッケージソフトのアップデートも、さらに、ファイルマネージャーもコマンドシェルも、クライアントのブラウザ上からできました。

 

 ※ただし、外部HDに保管するデータは、定期的にバックアップを取るようにした方が良いです。私の設定の不備だと思いますが、 一度だけ、外部HDを認識しなくなり、一瞬でデータが使えなくなって、再フォーマットと再マウントをしました。 

※参考:上記のこのHDを認識しなくなる現象、ネット検索すると、他のラズパイでも発生してたようですね(下記)。対策例をやってみたところ、今のところ問題ないです。要注意です。

qiita.com

 

 今後の予定

 このラズパイの共用サーバーは、ドキュメントのほかに、音楽、ビデオ、写真なども入れ、パソコン以外のネットTVからも使えるようにもに出来そうなのでやってみます。実現したら、また公開します。  今回はここまで。

 

 

ラズパイ3 でWebサーバー構築!WordPressのテーマ変更は便利!!

f:id:masa19569810303:20190106234030p:plain

今回完成した画面


 ラズパイ3での自前サイト ”おらほの小野まち” は、現在も安定して連続通電稼働中です。(やっぱり、ラズパイはいい!)

新年になり、ホームページのホーム画面をシンプルに変更したくなりました。そこで、WordPressを使ってホームページを作成していましたので、作成記事はそのままで、テーマ変更してみました。写真の追加変更など僅かな作業で上記のような画面に変身しました!。

使ったテーマについて、簡単にご紹介します。

 

昨年のホーム画面

f:id:masa19569810303:20190107001703p:plain

実際使ったテーマは、下記に

以前のテーマ(ATHENA)

f:id:masa19569810303:20190106234811p:plain

    ↓

今回使用したテーマ(Hitchcock)

f:id:masa19569810303:20190106234833p:plain

 

使用方法の変更

以前のテーマ名はATHENA、今回、Hitchcockにして見ました。少しの時間で自由に変更できるのがこのシステムの利点です。御覧になるとわかりますが、今度はホーム画面が写真だけになりシンプルでスッキリしました。簡単な使用方法は、写真にカーソルを持って行くと個別記事の題名が現れ、クリックするとその記事に飛んで行きます。左右の< > マークを押すと、現在見ている記事の前後に移ります。題名のおらほの小野まちをクリックすると、ホーム画面に戻ります。

また ATHENA に、ホーム画面の2つの写真がスライダーする仕掛けがありましたが、 Hitchcockではそれが無い代わりに、個別記事の方で写真がスライダーする設定”ギャラリー”があります。この仕掛け、予想外に面白いと思います。なぜなら、過去に掲載した写真が復活して 写真スライダー に加わっていたのです。実際にサイトを見ていただけば分かると思います。

おらほの小野まち – 豊かな自然・歴史のまち、小野の里

 

予想外に面白い機能 ”ギャラリー”設定でスライダー

f:id:masa19569810303:20190107000948p:plain

 

f:id:masa19569810303:20190107000155p:plain

 

 

WordPressのテーマは、実際使って見ないとわかりませんが、実運用ではなく、まず、下記のLOCALでWordPressが起動ツールで動かし変更してみるのが早いです。

f:id:masa19569810303:20190107003724p:plain

また、面白いWordPressのテーマを紹介したと思います。

ではまた。

 

追記: また、ATHENAに戻しました。メニューにアイキャッチ画像を適用しています。

f:id:masa19569810303:20190114075016p:plain

 

 

f:id:masa19569810303:20190114073914p:plain


 

 

ラズパイ で超簡単な”BerryWebserver”のサーバー構築!マルチブートの”BerryBoot”もおまけで付いて来るのだ!!

 

f:id:masa19569810303:20181218090423j:plain

 

 経緯

Raspberry Pi3 で 超簡単なWeb-serverを探していたところ、”BerryWebserver”というものがあるとの事。気になって調べました。すると、BerryBootというマルチブートのソフトで動作するので、マルチブート環境も同時に手に入り、一石二鳥の試行結果になりました。

 Raspberry Pi で、各種OSが1枚のマイクロSDで起動できる環境が入手できます。(下記写真は、BerryWebserverをデフォルトの自動起動に設定にしたところ)。手短にインストール手順もまとめてみましたので、良かったら御覧下さい。

 

f:id:masa19569810303:20181218090440j:plain

 使った環境とソフト

 ・Raspberry Pi3 (ラズパイZeroは、有線LANが無いので,Wi-Fi設定が自動で

   うまくいかない場合があります。なので、有線LANがあるラズパイ3の使用を

   お勧めします。)

 ・BerryBoot(マルチブートソフト) 

 

   BerryBootは、公式サイトからダウンロード。「Raspberry Pi Zero」などの

   シングルcoreをサポートするバージョンと、ラズパイ2/3対応の4coreバージ

   ョンの2種類のソフトがあります。

   2018年12月19日時点の最新版は前者が「berryboot-20181211-pi0-pi1-pi2-pi3.zip」、後者が「berryboot-20181211-pi2-pi3.zip」です。
   

 ・FileFilllaz(SFTPツール):Webserverで動かすPHPデータファイルの転送用。

  ラズパイはSSHの暗号化で転送する必要があり、今回必須ツールです。

 

BerryBoot(マルチブートソフト)のインストール

berryboot-20181211-pi2-pi3.zipを解凍したものを開いて、SDcardFormatterでフォーマット済みのマイクロSDに単純にコピペし、起動するとインストールが進みます。(超簡単です)

f:id:masa19569810303:20181219084320p:plain

 BerryBoot起動後、初回のみ設定時の画面です。(赤枠のみ設定する)

f:id:masa19569810303:20181219084336j:plain

 

デフォルトのマイクロSDのドライブ設定でFormat実行します。

f:id:masa19569810303:20181219084354j:plain

 この後、いよいよ、マルチOS追加のインストール選択画面が出ます。

 ラズパイでいつも使うRaspbian Stretchもありますが、今回の目的は超簡単Webサーバーのインストールなので、

f:id:masa19569810303:20181219084445j:plain

BerryWebserverを選択します。

f:id:masa19569810303:20181219084502j:plain

ソフトがダウンロードされ、インストールが完了。再起動後、設定画面に移ります。

f:id:masa19569810303:20181219084517j:plain

インストール後の初回パスワード設定です。2回パスワード入力し完了。簡単です。(パスワードは後で使うのでメモします。ユーザーIDは、piで固定されています。)

f:id:masa19569810303:20181219084547j:plain

この画面が出れば、もう、Webserverが動作しています。重要なのは、動作しているIP番号をメモします。 下記は192.168.1.21の時の例。

f:id:masa19569810303:20181219084605j:plain

 

クライアントのパソコン側のブラウザから、上記の例、192.168.1.21 と入力すると、
下記画面が出て来ます。これは、Webserverの /home/pi/www の場所に入っている
初期の index.php が表示されたものです。

 

f:id:masa19569810303:20181219084625p:plain

 

実際のBerryWebserver運用方法

次に、実際の運用には、この /www の場所に PHP ファイルを転送して完了します。簡単です。 なお、転送にはSFTPツールが使われます。
例として、FileZillaが使い易いです。

f:id:masa19569810303:20181219084640p:plain

今回試行の、PHPファイルは、ネット検索にあった、Freeの”問い合わせページ”のサンプル(PHPファイル一式)を使わせていただきました。

f:id:masa19569810303:20181219084657p:plain

 

これが、BerryWebserverの最終動作画面です。

f:id:masa19569810303:20181219084712p:plain

メリット

・フォーマット済みのマイクロSDにマルチブートをコピペ操作し、デフォルトで入っているBerryWebserverを選択・実行するだけで構築の超簡単インストール。

デメリット

・実際のWebサーバー運用には、PHP形式のホームページデータが必要。またそのデータSFTPツールで転送する必要があります。慣れていないとハードルは高い。

 


感想

会社等で、小規模のホームページ環境を早急に準備する必要がある場合、ラズパイとBerryWebserverの選択で、この超簡単なホームページ環境が準備できると思います。設置するPHPのデータは、WordPressのようなフレームワークを活用する案もあります。

また、BerryBootは、SDカードを差し替える事なく、1枚のSDカードで各種OSの起動ができるので、評価作業などでは、時間短縮が期待でき、意外に便利です。


今日はここまで。





 

 

 

 

ラズパイ3 と ChinachuのTV録画サーバーの視聴法について、"Kodi"と、”Universal Madia”で動作確認した結果!

 

f:id:masa19569810303:20181205075914p:plain

 

 

はじめに

ラズパイ3でChinachuのTV録画サーバー自体は、予約動作と録画の安定性能には満足しています(構築の記事は下記)。今回は、視聴法について試行した結果報告です。

www.m-miura.tech

 ラズパイでは残念ながらWebストリーミング再生機能が、ちゃんと動かないことが、私の状況も含めてあるようです。(ラズパイで、FFMGのソフトが正しいarm版入らないなどの事実)そこで、ラズパイ3には、現状の録画動作だけに専念してもらい、視聴方法はパソコン側で対応する方法です。その考えで、上記の報告では、Windowssambaフォルダを、VLC Media Playerで直接再生していました。これは、いちいちファイルを探してVLCを再生する原始的な作業でした。もう少しスマートに視聴できないか?。これが今回やった目的です。

視聴方法1(Kodi)

Chinachu関係の記事を再度見直してみると、オープンソースでスマートな方法(Kodiを使う例)がありましたので試行しました。

 Kodiとは

Kodiは、動画・画像・音楽をホームネットワークで、クライアント機器へ配信するオープンソース(無料)です。Kodiはコンテンツのファイル形式を変換するトランスコード機能はないですが、多くのファイル形式をサポートしているようです。 以前はXBMCという名称で、Xbox用に開発されたもののようでした。2015年からKodiという名称に変更され、 WindowsMACLinuxAndroidiOS、Raspbianの各種OS用があり便利です。

 クライアント機器は、ホームネットワークに対応した パソコン、 デジタルTV、BDプレーヤー、ネットワークメディアプレーヤー、ゲーム機、スマートフォン/タブレット

Kodiで登録しておいたコンテンツをホームネットワークを経由してクライアント機器で再生・視聴します。他のパソコンに保存されている動画/画像/音楽コンテンツもまとめて一括管理できるとこがすごい所です。

 

視聴法1の構成図

 

f:id:masa19569810303:20181205100420p:plain


 参考:Kodi(Windows版)のインストール方法

 Kodi(Windows版)は、Microsoftストアから、無料で入手できます。入手を押し、アカウントを設定するとインストールが自動で開始します。

 

f:id:masa19569810303:20181205140121p:plain

 

 インストール完了したら、起動ボタンを押します。

 

JAVAが入っていない場合は、インストールの実行と下記のアクセス許可を押して下さい。

f:id:masa19569810303:20181205140202p:plain

 Kodiが起動すると、設定ボタンを押す。

f:id:masa19569810303:20181205143824p:plain

 

システムメニューが出ます。

f:id:masa19569810303:20181205140307p:plain

 セッティングシステムで、画面を Windowed に設定します。(フルスクリーンでは設定がやり辛いので)

f:id:masa19569810303:20181205140229p:plain

 

ライブラリィのVideosを、Chinachuのsambaフォルダーに選択します。

 

f:id:masa19569810303:20181205140519p:plain

 

f:id:masa19569810303:20181205140546p:plain


下記のsambaフォルダー名称は、私の環境の例です。

f:id:masa19569810303:20181205140613p:plain

f:id:masa19569810303:20181205140631p:plain

ライブラリィのVideosを選択すると、保管されているデータと映像のカットが見えて来ます。ファイル名の文字フォントが日本語用になっていないので、次の設定に進みます。

f:id:masa19569810303:20181205140650p:plain

 Fonts をArial based に設定します。

f:id:masa19569810303:20181205140719p:plain

 ライブラリィに保管されているファイル名が、正しい日本語名になりました。

f:id:masa19569810303:20181205140736p:plain

 

録画データを再生すると、はじめだけ、バッファーへデータを溜めている表示が出ますが、直ぐに正常再生になります。私の古いIntel Core i3のPCでも、問題なく再生されます。

f:id:masa19569810303:20181205150220p:plain

 

 Order をDescending に設定すると 最新の録画ファイル順に並びます。

f:id:masa19569810303:20181206082055p:plain

 

 結果と感想(視聴方法1) 

 私のノートPCの環境(古いIntel Core i3)では、この方法が良かったです。普通のブラウザではなく、専用のKodiの画面で視聴します。はじまりにバッファリング動作がありますが、Mpeg2ファイルのままで、コマ落ちなく視聴が出来ました。まだ、短時間の試行だけので、長時間の安定性確認はやっていません。これからです。また、クライアント側が複数ある場合は、いちいちKodiをインストールしなくていけないはずなので、ちょっとスマートではない。

 

視聴方法2(Universal Media Server )(参考)

Universal Media Server (UMS):オープンソース。ゲーム機のPS3用に有志の方が開発したものがベースのようです。UMSをクライアント側のWindowsパソコン1台に入れる事で実現します。
クライアントのPCの性能が高ければ、これがベターな方法です。

UMSを1台に入れて動作させれば、何台のPCでも視聴可能なWebストリーミングが実現できます。

 

結果と感想(視聴方法2)

下記は、録画済フォルダーを開いたスマートな画面です。

f:id:masa19569810303:20181206195717p:plain

 

Webストリーミング再生が出来ましたが、Windowsパソコン側のCPU能力が重要で、新しいIntel Core i5以上がないと安定動作ないようでした。古いIntel Core i3のPCでは、再生途中、何度もカクカクと動作が止まりだめでした。そのため、詳細な手順の記述は省略します。

 感想(総括)

Kodi、Universal Media Server でスマートな、TV録画視聴が出来る事が分かりました。本当は、Universal Media Serverが、サーバーで動作するので好きなのですが、古いIntel Core i3のPCでは、使用は厳しいです。

Kodiは、通常のWebブラウザを使うWebストリーミングでないですが、Chinachuの録画データを視聴する目的では十分に安定した画質があり、MPEG2のままで良いこともあり、満足しています。KodiとUniversal Media Serverを併用して使ってみています。

また、当初、録画ファイルをmp4に全て変換してから視聴も考えましたが、mp4変換動作が時間の無駄でしたので、一旦諦めました。(性能な低いPCでは、mp4変換に実時間の数倍もかかるようでした。)

 

 今後の予定

Universal Media Serverで常時運用することを計画したいと思います。

それと、Intel Core i5以上クラスの新しいノートPCを準備するのも最良の方法のようです。(笑)

 今回はここまで。

ラズパイ3 とWordPressのブログサーバーで  プラグインCount per Dayの訪問者数が多過ぎると思った問題

 

 

はじめに

Raspberry Pi 3 とWordPressで構築した自前のブログサーバーで経験したことです。

訪問者数のカウントをプラグインCount per Dayで行う場合、ちゃんと設定しないで放置していたら、たくさんの訪問者が見えてびっくりした、お話です。

 Count per Dayとは

f:id:masa19569810303:20181121013419p:plain

  Wordpressで、たくさんの人に使われている、訪問者数カウント機能の無料プラグインです。閲覧ページ数や発信国も見え、わかり易く1ページにまとめてあり、良く出来ています。

カウント数に問題?

ただし、以前から、訪問者数が、幾分多く出ているのでは?と思う現象がありました。

f:id:masa19569810303:20181121005528p:plain

 原因は?

自前のサーバーに、毎日、平均30人の訪問者数とのことでしたが、Googleのアナリティクス(訪問者数と広告などをカウントするツール)と比較しても、カウントが多い傾向でした。ところが今週の日曜日に、一日の訪問者が60人を超えました。この増え方は異常では?と思い、プラグインCount per Day統計データをじっくり見直ししました。

すると、

f:id:masa19569810303:20181121011044p:plain

なんと、ブラジルや、中国、ロシア、インド、イランなど、外国の訪問者数があって、日本の訪問者の2倍以上もありました。さらに調べて行くと、これは、BOT(検索ロボット、クローラーとも言う)の仕業だったようです。

訪問者数が多い原因は、このBOTの数が含まれていたためでした。

BOT数を何とか対策したいと思っていたところ、プラグインCount per Dayの設定で対応が可能ということが、下記ブログで分かりました。

対策は設定で解決

 uzu-official-style.com

記事通りに、カウントの除外条件にBOTと海外から発信を除外するだけで良かったです。(下記)

f:id:masa19569810303:20181121171440p:plain

 

 

 訪問数のBOT除外には、無視するBOT欄に、下記BOT名を追加します。

Acoon
ask.com
BecomeJPBot
BecomeBot
Baiduspider
BaiduImagespider
bot
butterfly
Crowsnest
crawler
e-SocietyRobot
FlipboardProxy
facebookexternalhit
findlinks
feed
Googlebot-Image
Googlebot
gooblog
Hatena::BookmarkAcoon
ICC-Crawler
ichiro
ia_archiver
Jakarta Commons
JS-Kit
larbin
netluchs
Microsoft URL Control
MetaURI API
PostRank
Steeler
spider
search
snoopy
suchen.de
suchbaer.de
shelob
semager
such_de
TurnitinBot
Teoma
twieve
UnwindFetchor
validator
WWW-Mechanize
xenu
YodaoBot
Yahoo-MMCrawler
Yeti

 

 海外の(BOTを含む)訪問数カウント除外の指定を、Excude Counturiesに入れます。

 

 is, ie, az, af, us, vi, as, ae, dz, ar, aw, al, am.ai, ao, ag, ad, ye, gb,
io, vg, il, it, iq, ir, in, id, wf, ug, ua, uz, uy, ec, eg, ee, et, er, sv,
au, at, ax, om, nl, gh, cv, gg, gy, kz, qa, um, ca, ga, cm, gm, kh, mp, gn,
gw, cy, cu, cw, gr, ki, kg, gt, gp, gu, kw, ck, gl, cx, ge, gd, hr, ky, ke,
ci, cc, cr, km, co, cg, cd, sa, gs, ws, st, bl, zm, pm, sm, mf, sl, dj, gi,
je, jm, sy, sg, sx, zw, ch, se, sd, sj, es, sr, lk, sk, si, sz, sc, gq, sn,
rs, kn, vc, sh, lc, so, sb, tc, th, kr, tw, tj, tz, cz, td, cf, cn, tn, kp,
cl, tv, dk, de, tg, tk, do, dm, tt, tm, tr, to, ng, nr, na, aq, nu, ni, ne,
eh, nc, nz, np, nf, no, hm, bh, ht, pk, va, pa, vu, bs, pg, bm, pw, py, bb,
ps, hu, bd, tl, pn, fj, ph, fi, bt, bv, pr, fo, fk, br, fr, gf, pf, tf, bg,
bf, bn, bi, vn, bj, ve, by, bz, pe, be, pl, ba, bw, bq, bo, pt, hk, hn, mh,
mo, mk, mg, yt, mw, ml, mt, mq, my, im, fm, za, ss, mm, mx, mu, mr, mz, mc,
mv, md, ma, mn, me, ms, jo, la, lv, lt, ly, li, lr, ro, lu, rw, ls, lb, re, ru, ap

 

 これで、BOTと海外からの関係のない訪問数を除外し、現実の国内の訪問者数が出て来そうです。
また、”オンライン判定時間の設定”でも、訪問者かどうかの選別していが可能でした。(デフォルトは300秒です) 

 

今回の感想(ネット接続の脅威)

訪問者カウントの設定が、こんなにも奥が深いものだと分かりませんでした。人間かBOTかの判別方法もいろいろあるし。BOTで有名な、Googleの検索クローラーもあったり、それ以外にも、世界各国から、いろいろなBOTハッカー(もしかして)がやって来ていることを。各国に存在していることをプラグインCount per Dayで認識ができました。ハッカーがいるかも知れないので、記載内容には注意が必要。間違っても、個人情報やパスワードは投稿しないようにしたい。

今後は、このBOTのような、自動でWeb検索する仕組みがpythonのプログラムで出来そうなので、やってみようと思います。あくまでも統計・集計の目的です。 

今回はここまで。

 

ラズパイ3 に chinachu-γ + Mirakurun + Samba で超廉価なTV録画サーバーが出来た!!、追加ハードは外付HD、USB-TVチューナー、B-CAS読取機

f:id:masa19569810303:20181106144746j:plain

 

 はじめに

今度は、ラズパイ3で、地デジTV録画サーバーを作ってみました(上記写真)。
簡単な構成図は、以下の通りです。やってみたところ、個人用として十分過ぎる機能とTV画質がありました。かかった費用としては、ネットワークとTV受信アンテナ、B-CASカードが既に有る条件で、ラズパイ3とTVチューナ、外部HD、B-CAS読み取り機で、2万円でおつりが来ると思います。(※B-CASカードは余っているものを使用しましたので費用に入れていません。)その概要と作成コマンドをご紹介します。オープンソース開発者と活用ブログ公開の先駆者の皆さんには敬意を表します。

f:id:masa19569810303:20181107153131p:plain

 

f:id:masa19569810303:20181107153145p:plain

実際のパソコン表示画面はこのようになります。

 ホーム

f:id:masa19569810303:20181107153319p:plain

 番組表

f:id:masa19569810303:20181107153337p:plain

 録画中のホーム

f:id:masa19569810303:20181107153354p:plain

 ルールで予約した録画タイトル

f:id:masa19569810303:20181107153423p:plain

 準備した機材

 

Chinachu(ちなちゅう)とは、

 Chinachuは、七森中録画研究会さんが開発したオープンソースのソフトです。ソフトの名前はアニメ「ゆるゆり」のキャラクターの名前が元になっているそうです。アニメに特化したソフトかと思いきや、普通の録画サーバソフトです。

Chinachuなら Raspberry PiのPCボードでも動かせます。

 事前にB-CASカードリーダドライバ、チューナードライバ、録画コマンドのrecdvb などのインストールが必要になりますが、専用のインストールスクリプトを実行すれば必要なソフトウェアが全てインストールされます。

Webサーバ機能、データベース機能も同梱されているので、細かい設定をする必要がありません。Linuxの基本知識(設定ファイルのnanao又はviでの編集する方法、階層、デバイスのマウント、ファイル権限の設定など)が必要ですが、少し注意点はありますが、インストールは簡単にできます。実際に動作しているかは、単独コマンドで少しずつ確認必要もあり、確認には少し時間がかかりました。

 番組表、録画予約、ルール指定、基本的な機能までは確認でき、リアルタイムでのストリーミング再生ができるはずなのでが、まだ確認しています。今のところ必要性がないので後回しにします。また、Chinachuを外部から接続できるようにする方法があるようですが、必要性がなく確認していません。(資料を見ると、Chinachu-Airというもので、外部から接続できるように計画しているように思えます。)チューナー制御部であるMirakurunは、Chinachu-Airの先行リリースとの事です。Mirakurunは、地デジ・BS/CSチューナーをLAN内で共有するためのソフトウェアとの事です。今後の開発に期待したいです。
なお、ChinachuのAndroidアプリがあり、これでは番組予約のみ可能です。 

実際のソフト導入方法


RASPBIANの導入
RASPBIAN OSをダウンロードしてSDカードへ書き込みました。要点は以下の通り。

VNCを使い、サーバーを置いた部屋以外で設定作業を行いたいため、通常のRASPBIAN STRETCHを使用しました。

  1. 公式推奨の7zipを導入して解凍する。
  2. 公式推奨のWin32DiskImagerを使って書き込む。
  3. 一応、SSHも使えるようにSDカードのbootパーティションのルート直下にssh空ファイルを置く。
  4. SDカードと有線LAN(gitからのchinachuプログラムのコピーに時間がかかるので、Wi-Fiでも良いが、有線LAN使用をお勧めします。
  5. USB ストレージの接続、フォーマット。SDカードに録画データを保存するのは無理なので、USBに接続したハードディスク(最低でも2TB)を準備します。(フォーマット、マウントは後述で行っている。)


チューナーの導入


PX-S1UD firmware のインストール。ドライバは kernel に組み込まれていますが、別途 firmware が必要なので配置します。

sudo apt -y install unzip
wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip unzip PX-S1UD_driver_Ver.1.0.1.zip
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware
sudo reboot now

再起動が終わったら、以下続き。

準備ができたところでUSBチューナを刺してみます。

/>#何も挿していない状態

pi@raspberrypi:~ $ ls /dev/dvb/
ls: cannot access '/dev/dvb/': No such file or directory

 

#1本目挿入

pi@raspberrypi:~ $ ls /dev/dvb/
adapter0

 (複数チャンネル同時録画の場合は、複数チューナーの挿入と設定の繰り返し)

 

mirakurun のインストール

まずはnode.jsを導入
# node.jsのリポジトリを追加

pi@raspberrypi:~ $ curl -sL http://deb.nodesource.com/setup_8.x | sudo bash -

 

# node.jsをインストール

pi@raspberrypi:~ $ sudo apt-get install -y nodejs

PM2のインストール。バージョンを指定(Mirakurunの動作要件は >=2.4.0 <3.0.0 )


#PM2 Ver 2.10.4 をインストール

pi@raspberrypi:~ $ sudo npm install pm2@2.10.4 -g
Mirakurunのインストール


#Mirakurun をインストール

pi@raspberrypi:~ $ sudo npm install mirakurun -g --unsafe --production

接触ICカードリーダーツールのインストールと動作確認

#ICカードツールのインストール

pi@raspberrypi:~ $ apt-get install pcscd libpcsclite-dev pcsc-tools

 

# ICカードの読み込みテスト

pi@raspberrypi:~ $ pcsc_scan
(略)
Japanese Chijou Digital B-CAS Card (pay TV)
Ctrl+C で停止


#dvb-toolsパッケージのインストール

pi@raspberrypi:~ $ sudo apt install -y dvb-tools

 

日本の地デジ放送に合わせた周波数設定ファイルをダウンロード

#gitを導入

pi@raspberrypi:~$ sudo apt install -y git

 

#周波数設定ファイルをダウンロード

pi@raspberrypi:~$ cd /usr/local
pi@raspberrypi:/usr/local/$ sudo git clone https://github.com/Chinachu/dvbconf-for-isdb.git
pi@raspberrypi:/usr/local/$ cat /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdbt.conf

 

 

実装参考用の decoder の インストール

#decoderのインストール

pi@raspberrypi:~ $ sudo npm install arib-b25-stream-test -g --unsafe


チューナーの設定
Mirakurunがインストールされると、/usr/local/etc/mirakurunに3つの設定ファイルが生成される。
設定が必要なのは、tuners.ymlとchannels.ymlの2つ。
tuners.ymlでは、チューナーの設定を行う。

とのことですので、設定追記。

$sudo nano /usr/local/etc/mirakurun/tuners.yml

#以下追加内容

- name: PX-S1UD-1
types:
- GR
command: recdvb --b25 --strip <channel> - -

追記が終わったら、再起動
#mirakurunの再起動

pi@raspberrypi:~ $ sudo mirakurun restart

チューナの設定が終わったらチャンネルをスキャンします

#チャンネルスキャンをmirakurunに指示
  局名出るまで、何度かmirakurunのインストールをトライする必要あり。

pi@raspberrypi:~ $ curl -X PUT "http://localhost:40772/api/config/channels/scan"
channel scanning... (type: "GR")
channel: "13" ...-> no signal. [Error: stream has closed before get network]
channel: "14" ...
(略)
channel: "52" ...-> no signal. [Error: stream has closed before get network]
-> total 12 channe ls found and 35 channels stored.
channel scan has completed and saved successfully.
**RESTART REQUIRED** to apply changes.


スキャン結果を確認、場合によっては不要なチャンネルを削除
#チャンネルスキャン結果を確認&編集

pi@raspberrypi:~ $ sudo mirakurun config channels  Viコマンドで編集
- name: NHKEテレ
type: GR
channel: '13'
- name: NHK総合
type: GR
channel: '17'
- name: TBCテレビ
type: GR
channel: '19'
- name: 仙台放送
type: GR
channel: '21'
- name: ミヤギテレビ
type: GR
channel: '24'
- name: 東日本放送
type: GR
channel: '28'

設定がおわったら再びmirakurunをリスタート


#mirakurunの再起動

pi@raspberrypi:~ $ sudo mirakurun restart


Chinachu γ(ガンマ)の導入

Gitリポジトリからクローン・インストール

#gitからクローン 

pi@raspberrypi:~ $ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu

#クローンされたディレクトリへ移動

pi@raspberrypi:~ $ cd ~/chinachu/

#インストーラーを実行

pi@raspberrypi:~/chinachu $ ./chinachu installer
# 1 の Auto を選択

 

 約1~2時間かかった(放置にしましょう!)

>curl: (22) The requested URL returned error: 404
が出るがそのまま、流す!!(そういう仕様らしい)

(中略)
chinachu@0.9.5-gamma.0 /home/pi/chinachu
??? swagger-client@2.1.13 (git://github.com/kanreisa/swagger-js.git#82abd4fe41dbee957bff51463fcd6167852b3494) done.
--2018-11-04 07:21:56-- http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-32bit-static.tar.xz (中略)
`ffmpeg-release-32bit-static.tar.xz' ???? ffmpeg-release-32bi 100%[===================>] 16.66M 36.4KB/s in 7m 28s 2018-11-04 07:29:26 (38.1 KB/s) - `ffmpeg-release-32bit-static.tar.xz' ????? [17468728/17468728] ffmpeg-release-32bit-static.tar.xz (1/1)
100 % 16.7 MiB / 121.2 MiB = 0.137 9.0 MiB/s 0:13
ffmpeg-4.0.2-32bit-static/manpages/
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-protocols.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-scaler.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-formats.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-resampler.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-devices.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-protocols.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-all.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-utils.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-all.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-formats.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-devices.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-filters.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-codecs.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffprobe.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-resampler.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-filters.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-bitstream-filters.txt
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-scaler.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-utils.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-bitstream-filters.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffprobe.pdf
ffmpeg-4.0.2-32bit-static/manpages/ffmpeg-codecs.txt
ffmpeg-4.0.2-32bit-static/readme.txt
ffmpeg-4.0.2-32bit-static/ffprobe
ffmpeg-4.0.2-32bit-static/ffmpeg-10bit
ffmpeg-4.0.2-32bit-static/qt-faststart
ffmpeg-4.0.2-32bit-static/ffmpeg
ffmpeg-4.0.2-32bit-static/GPLv3.txt
'ffmpeg-release-32bit-static.tar' ???????
Creating libav aliases...
'/home/pi/chinachu/usr/bin/avconv' -> '/home/pi/chinachu/usr/bin/ffmpeg'
'/home/pi/chinachu/usr/bin/avprobe' -> '/home/pi/chinachu/usr/bin/ffprobe'
ffmpeg --> done.

ルールファイルの初期化とコンフィグファイルの編集

pi@raspberrypi:~/chinachu $ echo "[]" > rules.json
pi@raspberrypi:~/chinachu $ cp config.sample.json config.json
pi@raspberrypi:~/chinachu $ is

サンプルのコンフィグファイルの "uid" "recordedDir" "wuiHost" を変更します。

config.json
{
"uid": "pi",
"gid": "video",
"mirakurunPath": "http+unix://%2Fvar%2Frun%2Fmirakurun.sock/",
"recordedDir" : "/mnt/",
"vaapiEnabled": false,
"vaapiDevice": "/dev/dri/renderD128",
"excludeServices": [
3273701416,
3232728088,
3273901183,
3274201456,
3239123992,
3239123993,
3273601408
],"serviceOrder": [
3273601024,
3273601025,
3273701032,
3273701033,
3273701034
],"wuiUsers": [
"chinachu:yoshikawa"
],
"wuiAllowCountries": ["JP"],"wuiPort": null,
"wuiOpenHost": "0.0.0.0",
"wuiTlsKeyPath": null,
"wuiTlsCertPath": null,
"wuiTlsRequestCert": false,
"wuiTlsRejectUnauthorized": true,
"wuiTlsCaPath": null,
"wuiOpenServer": true,
"wuiOpenPort": 20772,
"wuiXFF": false,
"wuiDLNAServerEnabled": false,
"wuiMdnsAdvertisement": true,"recordedFormat": "[<date:yymmdd-HHMM>][<type><channel>][<channel-name>]<title>.m2ts",
"storageLowSpaceThresholdMB": 3000,
"storageLowSpaceAction": "remove",
"storageLowSpaceNotifyTo": null,
"storageLowSpaceCommand": ""
}

 

動作チェック、chinachuが問題なく起動し、EPGの取得できるか確認します。
※この手順を飛ばすと次のpm2 start がすぐに異常終了してしまうので、このチェックは必須です。

 

pi@raspberrypi:~/chinachu $ ./chinachu update
Client {
basePath: '/api',
priority: 0,
host: '',
port: 40772,
socketPath: '/var/run/mirakurun.sock',
userAgent: 'Chinachu/0.9.5-gamma.0 (scheduler)',
_userAgent: 'MirakurunClient/2.7.4 Node/v6.11.2 (linux)' }
5 Nov 00:03:55 - GETTING EPG from Mirakurun.
5 Nov 00:03:55 - Mirakurun is OK.
5 Nov 00:03:55 - Mirakurun -> services: 21
5 Nov 00:03:55 - Mirakurun -> services: 21 (excluded)
5 Nov 00:03:55 - Mirakurun -> sorted services: 0
5 Nov 00:03:56 - Mirakurun -> programs: 4556
5 Nov 00:03:56 - Mirakurun -> tuners: 1
5 Nov 00:03:57 - WRITE: /home/pi/chinachu/data/schedule.json
5 Nov 00:03:57 - RUNNING SCHEDULER.
5 Nov 00:03:57 - TUNERS: {"GR":1}
5 Nov 00:03:57 - MATCHES: 0
5 Nov 00:03:57 - DUPLICATES: 0
5 Nov 00:03:57 - CONFLICTS: 0
5 Nov 00:03:57 - SKIPS: 0
5 Nov 00:03:57 - RESERVES: 0
5 Nov 00:03:57 - WRITE: /home/pi/chinachu/data/reserves.json
pi@raspberrypi-c:~/chinachu $

 

# EPG取得テスト(エラーが出た場合は恐らく Mirakurun に接続できていません)


起動させます。また、自動起動の設定を行います。


#chinachuを実行

pi@raspberrypi:~/chinachu $ sudo pm2 start processes.json
[PM2][WARN] Applications chinachu-wui, chinachu-operator not running, starting...
[PM2] App [chinachu-wui] launched (1 instances)
[PM2] App [chinachu-operator] launched (1 instances)

  Name   mode  status    cpu   memory  
 chinachu-operator fork online 0 87% 11.4 MB
 chinachu-wui fork online 0 77% 11.5 MB
mirakurun-server fork online 0 8% 94.4 MB

Use `pm2 show <id|name>` to get more details about an app
#statusが onlineになっていればOK!!

#mirakurun と Chinachuが実行されている状態をセーブ

pi@raspberrypi:~/chinachu $ sudo pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2
 

#PM2をスタートアップに登録

pi@raspberrypi:~/chinachu $ sudo pm2 startup
[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target
[Service]
Type=forking
User=root
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/root/.pm2
PIDFile=/root/.pm2/pm2.pid
ExecStart=/usr/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/lib/node_modules/pm2/bin/pm2 kill
[Install]
WantedBy=multi-user.target
Target path
/etc/systemd/system/pm2-root.service
Command list
[ 'systemctl enable pm2-root' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-root.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-root...
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save
[PM2] Remove init script via:
$ pm2 unstartup systemd

 

ここまででソフト導入は完了です。次に、クライアントのパソコンから実際に使用

http://(ラズパイのIPアドレス):20772/

へアクセスすることでChinachuが使えます。(有線LANのIPとWi-FiのIPがありますが、有線LANをお薦めします。)

動作確認は、同様にクライアントのパソコンからシステムステータス確認で行えます。

 

f:id:masa19569810303:20181114151628p:plain

ここは参考、ソフト更新は定期的に更新実行方法 を行うと良いです。

 注意!! 12/15追記:ラズパイの場合、更新はやらない方が良いようです。
   私の環境の場合、この更新後にchinachuが動かなくなる確率が高いです。

pi@raspberrypi:~/chinachu $ ./chinachu installer
pi@raspberrypi:~/chinachu $ ./chinachu updater

ログローテーションの設定
ログローテーションの設定を入れました。(必要に応じてで構いません。)


#ログローテートモジュールのインストール

pi@raspberrypi:~/chinachu $ sudo pm2 install pm2-logrotate

# mirakurun用ログローテーション設定の追加

pi@raspberrypi:~/chinachu $ sudo nano /etc/logrotate.d/mirakurun

毎日ログを圧縮して1週間分保存する設定、とのことです。

/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
/{
daily
compress
rotate 7
missingok
notifempty
}
ssh@pi
# chinachu用ログローテーション設定の追加
pi@raspberrypi:~$ sudo nano /etc/logrotate.d/chinachu

毎週ログを圧縮して4週間分保存する設定、とのことです。

/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
{
weekly
compress
rotate 4
missingok
notifempty
}

  注意!! 12/25追記:週の初めにlogがコンソールに表示されない時がありました。ファイルもできていなかった様なので、録画していない時間に rebootで、とりあえず復旧しました。上記の圧縮操作の記述で悪さがあるかも知れません。(監視項目にします。)

 外部ハードディスクへの変更

外部ハードディスクの正しい初期化方法が分かったのが、後になったので、

ソフトのインストール後に、さらに、Chinachuのホーム画面で設定変更を行っている

# sudo nano /home/pi/chinachu/config.json

6行目の"recordedDir"を変更したいディレクトリに変えます。ディレクトリ名の末尾は”/”
"recordedDir" : "./recorded/",
→"recordedDir" : "/mnt/hdd1/recorded/",

 

最初に、ハードディスクをアンマウントします。(マウント実行してある場合)※補足:使用済みHDを使う時は、他のPC(WindowsLinux)で初期化をお薦めします。

# df
pi@raspberrypi:~ $ df

Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 7593848 6149268 1072628 86% /
devtmpfs 470116 0 470116 0% /dev
tmpfs    474724 0 474724 0% /dev/shm
tmpfs 474724 12388 462336 3% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474724 0 474724 0% /sys/fs/cgroup
/dev/mmcblk0p1 43539 22502 21037 52% /boot
tmpfs 94944 0 94944 0% /run/user/1000
/dev/sda1 1921802500 77856 1824032584 1%/media/pi/e1e1258a-8143-49db-a87b-21b4a8b0c46b
※ /sda1 でマウントされている例 # umount /dev/sda1 ← /dev/sda1 をアンマウント
pi@raspberrypi:~ $ df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 7593848 6149264 1072632 86% /
devtmpfs 470116 0 470116 0% /dev
tmpfs 474724 0 474724 0% /dev/shm
tmpfs 474724 12384 462340 3% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474724 0 474724 0% /sys/fs/cgroup
/dev/mmcblk0p1 43539 22502 21037 52% /boot
tmpfs 94944 0 94944 0% /run/user/1000

※ /dev/sda1のマウントが解除され表示されなくなった # パーティションテーブルの設定を行います

sudo fdisk /dev/sda1

# d でパーティションを削除

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

# p で現在の状態を確認

Command (m for help): p
Disk /dev/sda1: 1.8 TiB, 2000397868544 bytes, 3907027087 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x19867eb5

# n でパーティションを作成 その後の設定で何も入力しない場合全てデフォルトとなる

pi@raspberrypi:~ $ sudo fdisk /dev/sda1
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Device /dev/sda1 already contains a ext4 signature.
The signature will be removed by a write command. Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x19867eb5. Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-3907027086, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-3907027086, default 3907027086): Created a new partition 1 of type 'Linux' and of size 1.8 TiB.

 

# p で再度現在の状態を確認

Command (m for help): p
Disk /dev/sda1: 1.8 TiB, 2000397868544 bytes, 3907027087 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x19867eb5 Device Boot Start End Sectors Size Id Type
/dev/sda1p1 2048 3907027086 3907025039 1.8T 83 Linux

 

# w で変更を書き込みます

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.:無効な引数です
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

ext4でフォーマットする

sudo mkfs.ext4 /dev/sda1
pi@raspberrypi-c:~ $ sudo mkfs.ext4 /dev/sda1
mke2fs 1.43.4 (31-Jan-2017)
Found a dos partition table in /dev/sda1
Proceed anyway? (y,N) y
Creating filesystem with 488378385 4k blocks and 122101760 inodes
Filesystem UUID: e94a9fef-fc73-4b8c-ae9b-56f0ee10fce8
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848 Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

 

マウントする

/etc/fstabに、デバイスを登録することにより、起動時に自動マウントすることができます。 またデバイスのパスではなくUUIDを登録しておくことにより、デバイスのパスが変更されてもマウントすることが可能です。

マウントポイントを作成
必要に応じてマウントポイントを作成します。今回は/mnt/hdd1としました。

sudo mkdir /mnt/hdd1

UUIDを調べる
# ブロックデバイスの情報を表示する

pi@raspberrypi:~ $ sudo blkid /dev/sda1
/dev/sda1: UUID="e94a9fef-fc73-4b8c-ae9b-56f0ee10fce8" TYPE="ext4" PARTUUID="9bcc73b5-079a-4f69-a809-d0122aa289d1"

 

fstabを編集

# バックアップをとっておく

cd /etc
sudo cp fstab fstab.bak

# fstabを編集しマウント設定を追加

sudo nano fstab
# デバイス名 マウントポイント ファイルシステム オプション dump指定 fsck指定
UUID=e94a9fef-fc73-4b8c-ae9b-56f0ee10fce8 /mnt/hdd1 ext4 nofail 0 0

# 再起動

sudo reboot

確認
df | grep /mnt/hdd1のコマンド


pi@raspberrypi:~ $ df | grep /mnt/hdd1
/dev/sda1 1921802500 77852 1824032588 1% /mnt/hdd1

所有者変更

さらに、chinachuの録画データの保存先を、外付けHDDにするには、所有者変更が必要でした。

 

フォルダ作成

$ cd /mnt/hdd1
$ sudo mkdir recorded

所有者変更
#デフォルトの保存先

$ ls -al ~/chinachu/
drwxr-xr-x 2 pi video 4096 Dec 30 12:55 mnt (確認のみ) 

#今回作成した保存先

$ ls -al /mnt/hdd1
drwxr-xr-x 2 root root 4096 Dec 30 13:10 recorded (所有者未完成)

変更

$ sudo chown pi recorded
$ sudo chown :video recorded


確認
デフォルトと所有者設定が同じになっていればOK

$ ls -al
drwxr-xr-x 2 pi video 4096 Dec 30 13:10 recorded


保存先を外付けに変更

ブラウザでChinachuを開き、設定画面で以下のように変更します。

"recordedDir" : "./recorded/",
→"recordedDir" : "/mnt/hdd1/recorded/",

これで保存先の変更は完了。

 

sambaのインストールと設定

録画フォルダをWindowsから読み出し、視聴できるようにします。

#sambaのインストール

pi@raspberrypi:~$ sudo apt install -y samba

設定ファイルに /mnt 以下を読み取り専用、ゲストアクセスOKで公開するよう設定を追加します。


#sambaの設定ファイルの編集

pi@raspberrypi:~$ sudo nano /etc/samba/smb.conf

/etc/samba/smb.conf
....
#ファイルの末尾に以下の行を追加

[recorded]
comment = Chinachu Recorded Folder
path = /mnt/hdd1/recorded
browseable = yes
read only = yes
guest ok = yes

 

sambaを再起動して設定を有効にします。


#sambaの再起動

pi@raspberrypi:~$ sudo systemctl restart smbd nmbd

Windowsから ¥¥(録画サーバのIP)¥recorded  (¥は半角)にアクセスしてフォルダが見れれば成功です。

 

 これで、家庭内の各パソコンから、録画設定と、録画済(録画中)ファイルからTV視聴が自由にできるようになります。
現状、録画予約はブラウザから。視聴は、下記のようにsambaの共用フォルダにアクセスして、録画ファイルをVLCで直接起動して視聴する手法です。

 

f:id:masa19569810303:20181206190704p:plain

その後、視聴方法、別案でやってみました。よろしければ御覧ください。

www.m-miura.tech

使用してみた感想

  • 冒頭にも書きましたが、MPEG2ファイルで録画するため、PCで見るツールとして申し分のない画質と、録画予約は簡単な操作でした。
  • ラズパイは、やはりサーバーに最適です。CPUが熱くならずに、ファンレスで音が静か。
  •  注意事項としては、今回のように、チューナー使用が1つの場合は、同時刻に複数のチャンネルを予約してしまうと、初めに予約した方がキャンセルされる仕様のようです。本当に予約されたかは、予約済み画面に戻って確認することです。
  • 録画した番組は、Windowsパソコンで見る方が多いと思いますが、VLCのソフトで録画共用フォルダのファイルを アクセスして観る方法が、画質がベストです。録画ファイル名には、日付・題名が付いているので、特に困ることはないと思います。
  • 重要:放送番組に著作権がありますので、個人使用の範囲でお楽しみ下さい。

 注意!! 12/15追記:chinachu更新のコマンドのところに書きましたが、
  ラズパイの場合、chinachu更新は行わない方が良いです。また、動作がおかしい場合は、正常に動いていた時のSDのバックアップデータで戻した方が速いです。ただし、予約ルール情報や録画済み情報も戻ってしまいますので、/home/pi/chinachu/dataにある4つの.jsonファイルを、一旦USBメモリにコピーしておき、SDのバックアップデータに戻した後に、同フォルダに上書きしてあげると最新になります。

 

2019年1/19 追記:困った現象が出ています。

 ルール番組予約で、特定の番組だけ??、予約済みにならない、現象を発見しました。その番組名は 秘密のケンミンSHOW!です。

1/30追記 秘密のケンミンSHOW、ルール番組予約で、予約したり、削除したり、何度もやっていたら予約済みに変わりました(原因不明)。番組表で番組の背景が赤になっていないと予約完了になってしていませんでした。予約済みになるまで時間がかかる番組もあるようです。(?)

 

今後の予定

  • 現在、チューナーは1本のため、2局以上の同時録画は出来ない。チューナーを1本ずつ増設していけば、同時録画可能の局数が増えていく。最終的には、全チャンネル全番組の録画システムにバージョンアップして行きたい。
  • 現在の2TBの外部HDを使用しているが、何日で満杯になるか確認して置きたい。
  • 録画予約を外出先から可能にする仕組みも、オープンソースであるようなので追加して行きたい。また、開発中となっている Chinachu-Air にも期待したい。

 

 

 ・構築の参考にさせていただいたブログです。

qiita.com

 

qiita.com

 

qiita.com

 

 

ラズパイ Zero-WH、pHAT-DAC、Volumioで超廉価なネットラジオが出来た!!, JPOP 24Hノンストップ!

f:id:masa19569810303:20181022113727j:plain

 

はじめに

 前回、Raspberry Pi Zeroと、音楽再生ソフトVolumioでハイレゾの再生機を作りましたが、ホット・スポットモードでの使用でした。つまり、ハイレゾの再生のみ(Wi-Fi環境がない車内などでも使えるので、メリットはあります。)

 

www.m-miura.tech

次に、Volumioでやってみたかった事に、ネットラジオ機能があります。世界の音楽が聴けるものです。Raspberry Pi Zeroは、LAN端子がないため、ネット接続にはオンボードWi-Fiで受信できるはず。

追記補足我が家のWi-Fi環境では、11g/nがないため、11nが使えず、11gの接続だけだと、Zero搭載の無線LANチップは感度が良くないようです。そのため、上記写真のように、USB-Wi-FiをBタイプUSB変換ケーブルに付けています。通常はこんなの要らないはずです。

★2019年12月追記:改めて11g/n Wi-Fi環境を追加して確認したところ、Zero搭載の無線LANチップだけで、問題無くネット放送が受信できました。また、ラズパイZeroと制御用PCが、この同じ11g/n Wi-Fi環境に繋がっていないとPC制御ができないことも分かりました。

 

簡単にネットラジオに接続出来ましたので紹介します。

 

手順1 Wi-Fi接続設定 (これ重要!)

再度スポットモードで使用した場合を考え、スポットモードを構築したマイクロSDのバックアップデータを取得し、保管しておきます。(スポットモードとネット接続の切り替えが自由に出来ない様子のため。)
さて、前回のように、Volumioのスポットモード使用になるように、PCでWi-Fi選択をVolumioにして、設定画面を出します。そして、自宅のWi-FiSSIDの選択とパスワード設定を行い、再起動します。

f:id:masa19569810303:20181022113825p:plain

 

手順2 接続IP確認 (2019年、これ不要を確認しました。)

Raspberry Pi Zeroの電源を入れ、Volumioがネット接続したことと、pingコマンドでIPを含めて確認します。Windowsコマンドプロンプトを使い、起動したVolumioのIPをメモします。

f:id:masa19569810303:20181022113906p:plain

 

手順3 PCブラウザでVolumioネットラジオ開始 

PCブラウザで、http://volumio/playback (htttsではありません)と入力すると 先ほどのpingでメモしたIPを入れると、 勝手にVolumioが起動します。一覧表示をクリックして、ウェブラジオを選択すると、もうネットラジオが完成です。 (2019年12月 アドレス誤記訂正)

f:id:masa19569810303:20181022113926p:plain

 

これで、世界のネットラジオが聴けますが、国別検索でJAPANにすると、JPOPのネットラジオなどが、いろいろ出て来ます。NHKラジオジャパンは聴けないようです。

※音楽著作権があると思いますので、個人的に聴くだけで録音などはされないように。

f:id:masa19569810303:20181022113951p:plain

 

まとめ

Raspberry Pi Zeroの有効活用として、ネットラジオになることが確認できました。
DACを使っているので、ハイレゾに近いFM音質で聴けます。

Raspberry Pi 3でも同様に使用可能ですが、Raspberry Pi 3は有線LANがあるので、LAN使用の方がが安定しています。

現状、イヤホンのみですが、小さなスピーカを接続して、JPOP、JAZZ、bossa nova などを BGMとして楽しめそうです。

 今回は、ここまで。