2022年12月30日金曜日

メディアサーバー構築2

メディアサーバー構築2

書こう書こうと思っていたら、9ヶ月近く経過していた。
時間が経つのはおそろしい。

メディアサーバーとして、ミニPCを入手した。もろもろ準備を行う。

wifi有効化

システム > ドライバーマネージャー


インストール

  • kodi
  • nextcloud clinet
  • ssh server

nextcloud クライアント

kodiのソース設定でwebdavを選ぶことが出来たが、webdavはちょっと遅かったので、nextcloud clientで同期した。
nextcloudのクライアントアプリで、同期するフォルダやファイルサイズの制限ができる。

これで、勝手に同期してくれる。

kodi

kodi自動起動

[設定マネージャー]→[セッションと起動]→kodiとnextcloudを指定する

ソース設定

nextcloudのディレクトリを指定する

ssh server

ホスト名でアクセスしたい

mDNSでホスト名でアクセスしたい。
avahiを使用しない方法があるのか
https://wiki.archlinux.jp/index.php/Systemd-resolved#mDNS
https://qiita.com/slug/items/4c7121af229b9a6c92c4
https://0e39bf7b.blog/posts/mdns-on-ubuntu-server/

が、ホスト名.localでアクセスすることが出来なかった。

仕方がないので、avahiをインストール
https://wiki.archlinux.jp/index.php/Avahi

sudo apt-get install avahi-daemon libnss-mdns
adeno@nipogi:~$ sudo systemctl status avahi-daemon.service 
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
     Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-12-30 10:50:04 JST; 10min ago
TriggeredBy: ● avahi-daemon.socket
   Main PID: 7685 (avahi-daemon)
     Status: "avahi-daemon 0.7 starting up."
      Tasks: 2 (limit: 14065)
     Memory: 1.4M
     CGroup: /system.slice/avahi-daemon.service
             ├─7685 avahi-daemon: running [nipogi.local]
             └─7687 avahi-daemon: chroot helper

sshサーバー

一応、公開鍵暗号認証方式にして、パスワード認証を切っておく
https://wiki.archlinux.jp/index.php/SSH_鍵
https://blog.htkyama.org/ssh_ed25519

リモコンが欲しい

wiiリモコンを中古でゲット
https://wiki.archlinux.jp/index.php/XWiimote
https://github.com/xwiimote/xwiimote
https://manpages.ubuntu.com/manpages/jammy/en/man4/xorg-xwiimote.4.html

キーのマッピングは以下を参考
https://ja.gadget-info.com/46371-20-kodi-keyboard-shortcuts-every-kodi-user-should-know
http://hide817.blog.fc2.com/blog-entry-6.html?sp
https://kodi.wiki/view/Keymap#Keyboards

変更無しで動いたもの

- +:音量アップ
- -:音量ダウン
- A:決定(リターン)
- B:なし
- HOME:なし
- 1:なし
- 2:なし
- 十字キー:操作

変更する

- B:BackSpace(戻る)
- HOME:ESC(取消)
- 1:スペース(スライドショー)
- 2:なし

sudo apt-get install xwiimote libxwiimote xserver-xorg-input-xwiimote
sudo usermod -aG input kodi

sudo xwiishow 1
xwiikeymap
/usr/share/X11/xorg.conf.d/50-xorg-fix-xwiimote.conf

adeno@nipogi:~$ cat /usr/share/X11/xorg.conf.d/50-xorg-fix-xwiimote.conf 
# X11 xorg Wii Remote raw input config
# XWiimote reports accelerometer and IR data as absolute axes. Disable them to
# avoid weird mouse behaviour. To use IR data as mouse input, use the xwiimote
# tools or xf86-input-xwiimote which overwrites this.
# This only disables the raw input from the kernel devices. If you use the
# xwiimote tools to emulate mouses/keyboards, then they are not affected by
# this.

Section "InputClass"
	Identifier "Nintendo Wii Remote Raw Input Blacklist"
	MatchProduct "Nintendo Wii Remote"
	Option "Ignore" "on"
	Option "MapB" "KEY_BACKSPACE"
    Option "MapHome" "KEY_Escape"
    Option "MapOne" "KEY_Space"
    Option "MapTwo" "KEY_I"
EndSection

これでとりあえずはいいか?

2022年3月21日月曜日

タブレットPCをフォトフレームにする

ASUS TransBook T90chiがある
Windowsが入った、機動力のあるPCだったが、最近は使っていない。
子供用のPCにしようかと思ったけど、まだ早いしスペックもこそまでなので、何か使い道がないかと悩んでいた。
お家の情報共有機器としてなにか使えないか

  • 予定の表示
  • 天気
  • 電車・バスの運行状況
  • フォトフレーム

この中で、すぐに出来そうな「フォトフレーム」をやってみたいと思う。

Linux Mintをインストール

たまたまLinuxインストールを紹介しているサイトを見つけて刺激を受けた
やってみよう
https://nomux2.net/asus-transbook-t90chi-xubuntu/
http://www.drvlabo.jp/wp/archives/1749
http://kapper1224.sblo.jp/article/186209546.html
https://nomux2.net/t09chi-linux-mint/

基本的には一番最後のサイトのままかも
ハマりポイントや変更点は以下の通り。

使用するディストリビューション

adeno@T90CHI:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 20.2
Release:	20.2
Codename:	uma

adeno@T90CHI:~$ uname -a
Linux T90CHI 5.1.0-050100-generic #201905052130 SMP Mon May 6 01:32:59 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

bootia32.efi

ブータブルUSBメモリを作成するときに、Etcherを使ったら、空き容量が無くてbootia32.efiの書き込みが出来なかった。
なので、上の方と同じようにrufasを使って対応した。

画面の回転

lotate.shとして以下を作成した。
横向き固定。自動回転はいらなかったので。

xrandr -o right
xinput set-prop 'pointer:SYNA****:** ****:****' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

サウンド出力

特に何もせずとも対応されていた。

Bluetooth

カーネル5.1で確認した。

カーネル5.1の自動起動

cat /boot/grub/grub.conf

menuentry 'Linux Mint 20.2 Xfce, with Linux 5.1.0-050100-generic' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.1.0-050100-generic-advanced-823a8bf2-b59f-4214-ad18-69bd640496f8' {

上記をgrubに設定する。

#GRUB_DEFAULT=0
GRUB_DEFAULT='Advanced options for Linux Mint 20.2 Xfce>Linux Mint 20.2 Xfce, with Linux 5.1.0-050100-generic'

最初書き方がわからなくて、試行錯誤した。

NextCloudクライアント導入

特にハマるところはなし

簡易フォトフレーム

まずはfehで確認

cat ~pf/ph.sh 
#!/bin/bash
feh -F -Z --recursive --randomize /home/pf/Nextcloud/ -D 5

これで5秒毎にランダムに表示される

マウスカーソルを消す

cat ~pf/hide_pointer.sh 
#!/bin/bash
unclutter -idle 1 -root &

https://qiita.com/naohikowatanabe/items/73b093399deb0ebf496e
https://wiki.archlinux.jp/index.php/Unclutter

自動起動・自動終了

/sys/class/rtc/rtc0/wakealarm
が無いから出来ないー
さて困ったものだ。

画面のバックライトOFF/ONで代用するか?
https://wiki.archlinux.jp/index.php/バックライト

adeno@T90CHI:~$ cat /sys/class/backlight/intel_backlight/brightness 
20
adeno@T90CHI:~$ cat /sys/class/backlight/intel_backlight/brightness 
59
adeno@T90CHI:~$ cat /sys/class/backlight/intel_backlight/max_brightness 
100
chmod 777 /sys/class/backlight/intel_backlight/brightness
echo 50 > /sys/class/backlight/intel_backlight/brightness
sleep 1 && xset dpms force off

時間で消灯・時間で点灯

xset dpms force off
xset q
Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  XKB indicators:
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off
    03: Compose:     off    04: Kana:        off    05: Sleep:       off
    06: Suspend:     off    07: Mute:        off    08: Misc:        off
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off
    12: Group 2:     off    13: Mouse Keys:  off
  auto repeat delay:  500    repeat rate:  20
  auto repeating keys:  00ffffffdffffbbf
                        fedfffefffedffff
                        9fffffffffffffff
                        fff7ffffffffffff
  bell percent:  50    bell pitch:  400    bell duration:  100
Pointer Control:
  acceleration:  2/1    threshold:  4
Screen Saver:
  prefer blanking:  yes    allow exposures:  yes
  timeout:  600    cycle:  600
Colors:
  default colormap:  0x20    BlackPixel:  0x0    WhitePixel:  0xffffff
Font Path:
  /usr/share/fonts/X11/misc,/usr/share/fonts/X11/Type1,built-ins
DPMS (Energy Star):
  Standby: 300    Suspend: 0    Off: 600
  DPMS is Enabled
  Monitor is Off

5分周期でチェックスクリプトを実行する
これをcronとかで呼び出す

#!/bin/bash

# display on time
on_time="7:00"

# display off time
off_time="23:50"

# feh option
feh_dir="/home/pf/Nextcloud/"
feh_timer=10

###########################################################
function chk_feh() {
    # PIDを取得する
    feh_exist=`ps aux | grep "feh" | grep "$feh_dir" | awk '{print $2}'`
    echo $feh_exist
}
function display_off () {
    echo 消灯
    feh_pid=`chk_feh`
    echo $feh_pid
    if [[ -n $feh_pid ]]; then
        # プロセス実行中→終了する
        echo プロセス実行中→終了する
        kill $feh_pid
        sleep 1
    fi
    DISPLAY=:0.0 xset dpms force off
}

function display_on () {
    echo 点灯
    feh_pid=`chk_feh`
    echo $feh_pid
    if [[ -z $feh_pid ]]; then
        # プロセスが無い→起動する
        echo プロセスが無い→起動する
        # feh_run=`feh $feh_option`
        # DISPLAY=:0.0 feh -F -Z --recursive --randomize /home/pf/Nextcloud/ -D 5 &
        feh_run=`DISPLAY=:0.0 feh -F -Z --recursive --randomize $feh_dir -D $feh_timer &`
    fi
    DISPLAY=:0.0 xset dpms force on
}


nowdate=`date "+%Y/%m/%d %H:%M:%S"`
chk_base_date=`date +%Y/%m/%d`

echo $nowdate
echo "ON Time= "$chk_base_date" "$on_time
echo "OFF Time= "$chk_base_date" "$off_time

now_time_unix=`date --date "$nowdate" +%s`
on_time_unix=`date --date "$chk_base_date $on_time" +%s`
off_time_unix=`date --date "$chk_base_date $off_time" +%s`
echo $now_time_unix
echo $on_time_unix
echo $off_time_unix

if [ $now_time_unix -lt $on_time_unix ]; then
    display_off
else
    if [ $now_time_unix -lt $off_time_unix ]; then
        display_on
    else
        display_off
    fi
fi

crontabにて

/5 * * * * /home/pf/chk_date.sh > /tmp/chk_date.log

なんだか欲が出てきた。
人感センサーで、動きが無いときは消灯とか・・・。

2022年3月5日土曜日

メディアサーバー構築1

NextCloudに写真とか動画とかを保存している。
ちょっとした共有に便利、スマホで気軽にできるのが良い。
ちょっと欲が出てきて、TVで見てみたいと思い、どのような方法があるのか考えた。
スマホだど画面小さいし、TVの4Kで見てみたいじゃんというのが動機だ。

欲しいスペック

  • DLNAとかwebdav、NextCloudアプリ
  • 4Kで見たい
  • できるだけ安価
  • いろいろな使い方ができる

で、探してみた

No 1 2 3 4
品名 Amazon Fire TV Stick 4K Max Chromecast with Google TV Apple TV 4K ミニPC
価格 @6,980 @7,600 @21,800 @20,000〜@30,000
CPU クアッドコア 1.8GHz 64ビットアーキテクチャ搭載A12 Bionicチップ Celeron
メモリ 2GB 8〜32GB
ストレージ 8GB 32GB 64〜128GB
リモコン あり あり あり なし
DLNA VLC for Fire、kodi 多分○ 多分○?
webdav kodi 多分○ 多分○?
NextCloudアプリ たぶん× 多分○ たぶん×

なんとかTV系の3種は、安いし、それぞれのプラットフォームのサービスをもっているので、心惹かれるものがある。
でもそれらのサービスを使うと沼なので、今はあえて使いたくない。
それと自宅なんちゃってサーバーのリプレースを行う時期なので、今回は茨の道でミニPCを導入してみることにした。

ミニPC

Bmax、CHIWI、NiPoGi、MINISFORUMなどいろいろな種類がある。
自作・BTOも含めるともっとある。

価格や拡張性から、この3機種を候補にした。

No 1 2 3
品名 NiPoGi Bmax E3950 CHIWI HeroBox
CPU Celeron J4125 2GHz 4core Celeron E3950 2GHz 2core Celeron N4100 1.1GHz 4core
メモリ 12GB 8GB 8GB
ストレージ 128GB 128GB 256GB
その他 ファンあり 2.5inchSSD拡張可能 ファンあり 2.5inchSSD拡張可能 ファンレス 拡張は不可
価格 @24,225 @18,691 @21,500

ということで、少々高いが、No1のNiPoGiにすることにした。

NiPoGiとご対面

NiPoGiってなんて読むのかな?にぽぎ?


内臓ストレージにはwin10がインストールされているみたい
今回は、お試しで2.5inchSSDを別で用意して、そっちにLinuxMintをインストールしてみた

以下もろもろのメモ

BIOSは?

DEL長押し

USBブートは?

BIOSでブート順序変更が必要だけど出来た
USB2.0のほうのポートを使った

LinuxMintのインストール

USBブートからのSSDへインストール

TVにつながる?

もちOKだった

TVからリモコン操作できる?

HDMI-CECは出来ないと思う
TVにつないでリモコン操作したくらいでは反応なし
どうやって操作しようか
Bluetoothのリモコン探すか

やりたいことのメモ

入れたいもの

  • kodi
  • nextcloud clinet
  • sshserver

2022年1月25日火曜日

2021年を振り返って

気がつくともう2022年ですね。
しかも1月が終わろうとしている。
今年も新型コロナウイルスに右往左往した1年でした。
引き続き、感染予防対策を怠らず、気を引き締めて、生活したい。

新しい生活スタイルにも慣れたけれど、さらに環境の変化があったりと面白い1年だった。
いろいろあって、8月以降はまったく更新できなかったけど。

技術的なことで頑張ったのは

毎年の事だけど、昨年頑張ったのは、、、

  1. Lichee PI Zero と ESP8266を使ってみる
      →これはかなり勉強になっている。直接仕事には関わらないので趣味の領域だけど
      色々カスタマイズしながら作っている感じが面白いね。

  2. 他なんかあったっけ?
    リモート環境のためにChromeBookとかノイキャンイアホン用意したり
    スキマ時間を見つけてなにかできるようにした

感想

沼から這い出ようとすると、空から泥を降ってくるような笑える1年だったけど、なんだかんだ、必死に頑張った1年だった
新しいことに挑戦するために一歩踏み出した。 時間は有限だ。
でも、そろそろ転職がいいのかもしれない。でもまだ頑張れそうな気もするし。。。悩ましいが、年齢的にも猶予はない。

技術以外では、昨年と同じように、ほぼ毎日のようにジジババと孫がWEBでおしゃべりしている

来年(今年)も引き続き家庭も仕事も趣味も充実するといいな。
目標は
・戦略的な投資
・やりたいことをためらわずにやる
・家庭-仕事-趣味のバランスと充実を目指す
・「巨人の肩に乗る」
・広くつながる
・頑張り過ぎないことを頑張る
去年とあまり変わらないか・・・。

子育て世帯の苦労が少しでも良くなりますようにー

今年も精一杯挑戦して続けていこう!