2020年5月31日日曜日

RaspberryPi DLNA導入

DLNAサーバ 導入

環境:RaspberryPi3B+
OS:OS:Raspbian 10.4 (buster)
DLNAサーバソフト:minidlnaを使用
テキストエディタ:nano
外付けHDD:HD-AD4U3


$ sudo apt update
$ sudo apt upgrade
$ sudo apt install minidlna(2020.5.31時点での最新Ver.1.2.1)
$ sudo nano /etc/minidlna.conf

/etc/minidlna.conf
1user=root
2media_dir=/media/pi #(USBが自動的にマウントされる/media/piをディレクトリとして設定)
3db_dir=/var/cache/minidlna
4port=8200
5friendly_name=RPi
6inotify=yes (フォルダを監視し、変更があった場合に自動でデータベースを更新するオプション)
7album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
8album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
9album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
10notify_interval=895 (変更を監視する周期(秒指定))
11listening_ip=192.168.0.209 (ラズパイのIP)??


$ sysctl fs.inotify.max_user_watches
>>>8192と出る。

$ sudo nano /etc/sysctl.d/minidlna.conf
※新規ファイルを作り、「fs.inotify.max_user_watches = 81920」を追記。

$ sudo chown minidlna /media/pi
※外付けHDDのパーミッション設定。media_dir=で設定したディレクトリを指定。

$ sudo systemctl restart minidlna
※minidlnaサービスを再起動

PC等のブラウザで”http://http://raspberrypi:8200/”と入力すると、




”Media library”が正しくカウントされていればOK。



USBHDDが/media/piにマウントされる前にminidlnaが起動してしまうと、上手く動作しないので、minidlnaの起動を少し遅らせる。
$ sudo nano /etc/init.d/minidlna
※do_start()の画像真ん中の位置に"sleep 60"を挿入。 これで起動を60秒遅らせる。

$ sudo systemctl enable minidlna
※mnidlnaを自動起動有効にする。

2020年5月25日月曜日

bluetoothキーボード

ラズパイ用に専用キーボードが欲しいと思って、amazonでbluetoothキーボードを購入。今使っていっるマウスがbluetooth接続なので、bluetoothで揃えてみた。

今回購入したのは、EWIN製『ZR-067-B009』というキーボード。2480円。



【特徴】
JIS規格準拠の標準日本語配列のキーボード
3台のデバイスとマルチペアリング
Bluetooth5.1に対応
コンパクトで軽量設計(295x120x20mm、290g

【使用感】
・とてもコンパクトで机が広く使えます。
・日本語jis配列で使いやすい。_とか~が入力できない時は、”Fn”+”w”でWindows用にすれば良いかも。
・接続は簡単で”Fn”+”a”,”s”,”d”で接続番号を選らぶ。
⇒”Fn”+”Tab”でペアリング開始
⇒PCやラズパイで接続機器の追加を選択し”Bluetooth 5.1 Keyboard”を選択すれば勝手に接続される。
※裏面の"connect"ボタンは何に使うのか。。。
・打音は若干気になりますが、そこまでうるさくないです。
・まだ使い慣れていないからですが、エンターキーを押す際に”「”を間違って押してしまいます。
・¥の場所は、何かの間違いでしょうか?予想外の場所にあります。
・特徴にもある3台のデバイスとマルチペアリングはすごい便利
 PCとラズパイでキーボード接続しなおすのが面倒なので、新しく購入したけど、”ファンクションキー+a”で待ち時間なく操作デバイスを切り替え可能。旧キーボードは要らないかも。。。
・耐久性とかはまだ分からないので、しばらく使って何か問題があれば追記すると思う。



2020年5月21日木曜日

マウスでキーボード操作

ラズパイ用に5インチモニターを購入したが、現在の作業環境では、キーボードを1台しか置けないので、Windows機とラズパイを同時に操作することが難しい。

マウスで簡単なキーボード操作ができないか。せめてエンターキーだけでもマウスで使えると助かると思って調べてみた。

1.xbindkeys と xdotool をインストール
$ sudo apt install xbindkeys xdotool

2.ボタンの番号を調べる。
$ xev | grep button
エンターキーに使いたいボタンを押してみると、
  state 0x0, button 8, same_screen YES
ボタン8にEnterキーを割り当てたい。


3.設定ファイルを作成する。
$ nano ~/.xbindkeysrc
新規作成し、下記のコマンドを記載して保存。
---~/.xbindkeysrc---
#ボタン8へエンターキーを割り当て。Enterキーは”Enter"ではなく"Return"。
"xdotool key Return"
b:8
-----------------------

4.設定ファイルの再読み込み
$ killall xbindkeys
$ xbindkeys

現在使っているBluetoothマウス『BSMBB505BSK』
※写真の数字がボタンの番号

xdotoolの詳細な使い方は他サイトに多数記載されているので割愛。

<xdotool コマンド 引数>
コマンドは今回は、キー入力をシュミレートする"key"コマンドを使用。
引数に割り当てたいキーを入力している。
※本来の使い方では、スクリプトを記載し、ボタン一つで様々なスクリプトを動かすことが可能。今回とは逆にキーボードでマウス操作することも可能。

2020年5月14日木曜日

ラズパイ デジタルフォトフレーム化

先日、kuman製5インチモニターを購入したので、RPiをデジタルフォトフレームとして使ってみたいと思います。

環境:
Raspberry Pi 3 Model B+
OS:Raspbian 10.3 (buster)

1.fehとxscreensaverのインストール
$ sudo apt install feh
$ sudo apt install xscreensaver
 ※fehはコマンドで操作できる画像ビューア

 2.Raspberry Pi 3B+ スリープモードの解除
方法は3通りあるが、①が簡単そう。

①スタートメニュー → 設定 → スクリーンセーバー を選択
モード(M):セーバーを無効にする(D)を選択する。
(xscreensaverをインストールするとスクリーンセーバーを選択可能)


②スクリーンセーバーの無効化
$ sudo nano /etc/lxsession/LXDE/autoatart
---/etc/lxsession/LXDE/autoatart---
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash
@xset s off     (※追記)
@xset s noblank  (※追記)
@xset -dpms     (※追記)

 -----------------------------------------


$ sudo nano /etc/lightdm/lightdm.conf
文末に以下の2行を追記する。
 ---/etc/lightdm/lightdm.conf---
[SeatDefaults]
xserver-command=X -s 0 -dpms
------------------------------------

再起動する。

3.スライドショーを起動する
 最初に表示させたい画像をフォルダ(例 /home/pi/Pictures)にまとめます。
$ feh -Y -x -q -D 10 -R 43200 -F -Z -r /home/pi/Pictures/

4.スクリプト化
デスクトップ上にstart_slideshow.sh(名前は適当)というスクリプトファイルを作成。
中身は以下
---/home/pi/Desktop/start_slideshow.sh---
#!/bin/bash
startx 
feh -Y -x -q -D 60 -R 43200 -F -Z -r /home/pi/Pictures/
-------------------------------------------------
ダブルクリックして、実行を選択すれば、スライドショーが実行され、デジタルフォトフレームとして使用可能。


番外編.fehのオプション説明

-Y, --hide-pointer
 ポインタを非表示にします(スライドショーに役立ちます)。
-x, --borderless
 フチなしウィンドウを作成します。
-q, --quiet
 失敗したロードの致命的でないエラーを報告しません。冗長モードと静止モードは相互に排他的ではありません。最初のモードは情報メッセージを制御し、2番目のモードはエラーのみを制御します。
-D, --slideshow-delay float スライドショーモードの場合、スライドが自動的に切り替わるまでfloat秒待機します。
-R, --reload int int秒後にファイルリストと現在の画像を再読み込みします。HTTP Webカメラまたは頻繁に変更されるディレクトリの表示に役立ちます。(ファイルリストのリロードはまだ実験的であることに注意してください。)ゼロに設定すると、あらゆる種類の自動再読み込みが無効になります。 画像が削除されると、fehは次の画像を表示するか、終了します。 ただし、画像がまだ存在していてもロードできない場合、fehは引き続きロードを試みます。このオプションを設定すると、inotifyベースの自動再読み込みが無効になります。
-F, --fullscreen ウィンドウを全画面表示にします。このモードでは、大きな画像は常に画面に合わせて縮小され、-zoom zoomは小さな画像にのみ影響し、画面サイズに合わせて必要以上に拡大することはありません。唯一の例外は100倍のズームです。この場合、画像は常に100%ズームで表示されます。 --thumbnailsと組み合わせると、このオプションはサムネイルの概要から開いた画像にのみ影響します。サムネイルリスト自体は引き続きウィンドウ表示されます。
-Z, --auto-zoom
 フルスクリーン/固定ジオメトリモードで画像を画面サイズにズームします。
-r, --recursive
 コマンドライン引数内のディレクトリを再帰的にそれらのディレクトリのコンテンツに展開し、最下位レベルまで下げます。
-z, --randomize スライドショーで複数のファイルを表示する場合は、表示する前にファイルリストをランダム化してください。リストは、スライドショーが循環する(つまり、最後の画像から最初の画像に移行する)たびに再ランダム化されます。

2020年5月13日水曜日

Kuman 5インチ ラズベリーパイ用モニタ

amazonにて「Kuman 5インチ 800*480 HDMI モニター タッチパネル ラズベリーパイ 液晶 ラズパイ Raspberry Pi ディスプレイ 保護ケース Raspberry Pi 3 2 Model B B+ A A+ SC5AC」を¥4950にて購入。

Raspberry Pi 3B+用に購入。問題なく使えた。
Description:Raspbian GNU/Linux 10 (buster)


 箱の中に説明書は英語の紙1枚のみ。
 組み立て方はアマゾンの商品紹介画像をみると大体わかる。

 

<<組み立て時の注意点>>
※保護フィルムを外せと書かれており、外そうとするが、とても硬い。
※①の四角いフレームには薄いのと厚いのがある。薄いほうがバリが少ないので、全面に 使うと良い。
※長いネジ4本は⑤の四角いフレームに使う。
※黒いドーナッツ状の物は④と⑤の間に入れて⑥になるのと、⑦のラズパイと保護パネルの間に入れて⑨にする。


取扱説明書の内容
ステップ1)最新のRaspbianを準備しろ。
ステップ2)ラズパイを接続しろ。
ステップ3)ドライバーを入れろ。
1)SSHで接続しろ。
2)下のコマンドを実行しろ。
$ sudo rm -rf LCD-show
$ git clone https://github.com/goodtft/LCD-show.git
$ chmod -R 755 LCD-show
$ cd LCD-show/
$ sudo ./LCD5-show
3)上記実行すると勝手に再起動され、ディスプレイとタッチパネルが使える。

タッチパネルが使えるようになったけど、SSHでも接続できなくなったので、いったん強制再起動。⇒正常に使用可能となった。
 

設定
/boot/config.txtを修正しろとサイトには書いているけど、最初から800*480にて表示されている。
$ tvservice -s
→state 0x6 [DVI DMT(87)RGB full 15:9], 800x480 @ 59.00Hz, progressive

タッチパネルをキャリブレーション
大体合っているので、飛ばす。

2.1A出力のモバイルバッテリーでも電圧低下マークが出ることもなく、使用可能。モニタとしての消費電力はかなり低い模様。

今後の予定
デジタルフォトフレームとして使用する

使ってみて気づいたこと
・モニター側とラズパイ側で電源入力が2系統存在するが、どちらでも利用可能。普段はコンセントから電源を取り、移動したいときにモバイルバッテリーを別系統のmicroUSB端子に接続すれば、電源を落とすことなく、移動も可能。
・2系統から電源を取ることで低電圧を防止することも可能。
・モニタ裏面のバックパネルと書かれたスイッチはモニタの電源スイッチとして使用できる。