エレクトロニクス

 昨年末はバタバタでここは放置状態になっていたので久々の更新とともにメンテしました。

まずは自動更新のお知らせが来ていたWP 5.9-jaへアップデート。その後、Luxeritas 3.20.2から最新の3.21.2.1へ一気に更新しました。
直近は不具合修正のようですけど、追いきれていません。詳細は開発元の
PHP 8 だと ver 3.21.2 で本文表示されないパターンのある不具合修正 Luxeritas 3.21.2.1(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13951/)
を参照してください。

エレクトロニクス

 突然ですが、Raspberry Piだけではどうにもならない状況に陥ったのでNucleo-64を購入。とりあえず、STM32L476とSTM32F446を試しに1枚ずつ。

Qiitaの記事STM32入門 環境構築「CubeIDEのインストールとSTM32F446でLチカ」(https://qiita.com/yosihisa/items/136bcc09c466227303a2)
を参考にしながらWindows10 64bit版でセットアップ…はまった。

現象としてはCode generation could not be done. Firmware package V1.24.1 can not be unzipped.(https://community.st.com/s/question/0D50X0000BeZi12/code-generation-could-not-be-done-firmware-package-v1241-can-not-be-unzipped)と同じでVersionが1.26.2になっただけ。F446もL476のいずれもダメ。

しかも同じ手順でF446の1.26.2パッチを展開しても.zipが壊れているらしくどうにも進みません。.zip単体で見ると1.26.1なら正常に展開できそうなので一旦1.26.1を展開しておいて実行したら、自動的に1.26.2へ更新されて動き出しました。とにかく動いたのでいいのですが、何なんでしょう。
使ったファイル達(下側)と自動更新後のFirmフォルダ(上側)。

自動更新は動くならパッチ当てずに1.26.0で動かしたら動いたかも?わざわざ検証する時間はありませんが。

Ecilpse, gcc, gdbって懐かしい。何とかLEDが点滅しだしたので今日はここまで。続くかもしれません。

エレクトロニクス

 WordPress用のテーマLuxeritasを3.19.1.2から3.20.2へアップデートしました。WP 5.8対応に関連した変更や修正が入っているようです。詳細は開発元のブロックエディタの不具合修正 Luxeritas Theme 3.20.2(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13875/)を参照してください。

エレクトロニクス

 WordPress用のテーマLuxeritasを3.14.2から3.19.1.2へアップデートしました。色々機能が追加されているようですが、ブロックエディタ等は使っていないので基本はバグフィックス目的のメンテナンスです。

 アップデートの詳細は開発元の「PHP8 + 特定の条件」を満たすとブロックエディタ投稿画面でエラー出る修正 Luxeritas 3.19.1.2(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13790/)から過去ログを参照してください。

エレクトロニクス

 WordPressに2段階認証を導入しました。詳細は秘密ですけど、WordPressに2段階認証を導入しよう!プラグインの設定・導入手順を徹底解説!(https://www.braveryk7.com/wordpress-two-factor-authentication/)を参考にしました。

 Luxeritas 3.14.2から一気に3.17.1へアップデートしました。3.15で大規模な変更が入ったようです。このサイトでは高度な機能は使用していないのでメンテナンスのみです。詳細は開発元の管理画面でサーバー各種情報を表示する機能追加、その他もろもろ Luxeritas 3.17.1(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13600/)を参照してください。

エレクトロニクス

 4年以上使っていた2016年11月27日購入のZenfone3 ZE520KLがいい加減限界になってきたため、Google Pixel4aへ買い替えました。ZE520KLと同じぐらいのサイズ/重量でFullHD以上の画面とSIMロックフリーで5万円以下の条件を満たす端末がなかなか見つからず更新が遅くなっていました。

左Pixel4a、右ZE520KL(ケース変色)

 音声通話はVoLTE対応のKYF39(auのSIM)を使用しているため、データ通信専用、Android専用アプリ端末です。私が購入するスマートフォンでは初のOLEDディスプレイです。

機種名:Zenfone3 ZE520KL-WH32S3 → Google Pixel 4a G025M
メーカー:ASUSTeK Computer Inc. (華碩電脳股份有限公司) → グーグル合同会社
対応通信規格:4G LTE VoLTE対応(国内auのみ)、LTE Band1/2/3/5/7/8/18/19/26/28(2CA対応)、W-CDMA Band1/2/5/6/8/19対応 → LTE Band1/2/3/4/5/7/8/12/13/17/18/19/20/25/26/28/38/39/40/41/42/66
サイズ(高さ×幅×厚さ):約146.8x73.9x7.69mm → 144x69.4x8.2 mm
重量:144g → 143g
バッテリ容量:2650mAh(交換不可) → 3140 mAh2(交換不可)
充電時間:約110分 → 約100分?
CPU:Snapdragon 625 8core/2.0GHz → Qualcomm® Snapdragon™ 730G4 8core/2.2 + 1.8 GHz
RAM:3GB → 6GB
ROM:32GB → 128GB
ディスプレイ:約5.2インチ1920x1080(Super IPS+) → 5.8インチFHD+(1080x2340) OLED
カメラ:16Mpixel → 12.2 Mpixel

 長年使ってきた端末からの移行で手間取っているためレビューはぼちぼち書きます。Android 8 → 11でも結構違いますし。ちなみに、このPixel 4aはGoogleストアで昨日4/2の昼休みに注文して4/3の午前に届きました。箱によればDesigned by Google, Phone made in Vietnam, Accessories made in Chinaだそうです。

エレクトロニクス

 WordPress本体を5.7-ja、テーマLuxeritas 3.12.0.1から3.14.2へ途中のバージョンを飛ばしてアップデートしました。新機能目当てというよりはWPのメンテです。

 Luxeritasアップデートの詳細は開発元のLazyload 関連の機能拡張 + 数点の不具合修正 Luxeritas 3.14.2(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13359/)から過去ログを参照してください。

エレクトロニクス

 WP本体を5.6-ja、テーマLuxeritas 3.9.1から3.12.0.1へ一気にアップデートしました。
途中のバージョンはスキップしています。詳細は開発元の細かい変更と修正のみ ver3.12.0 での不具合1点修正 Luxeritas 3.12.0.1(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13276/)から過去ログをみてください。

エレクトロニクス

 WPのテーマLuxeritas 3.8.1.2からLuxeritas 3.9.1にアップデートしました。3.9.0, 3.8.2はスキップしています。詳細は開発元の細かい変更と修正のみ Luxeritas 3.9.1(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13161/)を御覧ください。

エレクトロニクス

 設定メモです。最初にクライアント側(サーバ機でもクライアントを動かす)の設定。pluginのいくつかは参考にしたURLからダウンロードしたものやその改造版です。BME280は秋月電子通商さんのAE-BME280 (K-09421)を使用しています。Raspberry Pi4だけで処理可能なレベルの小規模(<10台)なLAN内向けの設定です。  いまさらMunin?という疑問もあるかもしれませんけど実績があるのとELKなど最近のツールでは負荷が重すぎるorセンサなどとのカスタムI/F作成が面倒なため試行錯誤の結果Muninとなっています。Munin用pluginがまだ出回っていたり、多少古くても若干の手直しで使えるレベルなので助かっています。

sudo apt-get install -y munin-node
sudo vi /etc/munin/munin-node.conf
allow ^192\.168\.xxx\.yyy$
allow ^::ffff:192\.168\.xxx\.yyy$

cd /etc/munin/plugins
sudo rm nfs* swap
sudo rm entropy cpuspeed
cd ~/munin_plugin
sudo cp chrony* /usr/share/munin/plugins/
sudo chmod 755 /usr/share/munin/plugins/chrony*
sudo cp bme280i2c.py /usr/share/munin/plugins/
sudo cp bme280_non2 /usr/share/munin/plugins/
sudo chmod 755 /usr/share/munin/plugins/bme280_non2
sudo cp dnsmasq /usr/share/munin/plugins/
sudo chmod 755 /usr/share/munin/plugins/dnsmasq
sudo cp healthcheck_ping /usr/share/munin/plugins/
sudo chmod 755 /usr/share/munin/plugins/healthcheck_ping
sudo cp healthcheck_url /usr/share/munin/plugins/
sudo chmod 755 /usr/share/munin/plugins/healthcheck_url
sudo cp rrdcached /usr/share/munin/plugins/
sudo chmod 755 /usr/share/munin/plugins/rrdcached

cd /etc/munin/plugins
sudo ln -s /usr/share/munin/plugins/chrony* .
sudo ln -s /usr/share/munin/plugins/bme280_non2 .
sudo ln -s /usr/share/munin/plugins/dnsmasq .
sudo ln -s /usr/share/munin/plugins/healthcheck_ping .
sudo ln -s /usr/share/munin/plugins/healthcheck_url .
sudo ln -s /usr/share/munin/plugins/rrdcached .

cat << 'EOS'| sudo tee -a /etc/munin/plugin-conf.d/munin-node
[rrdcached]
    group apache
    env.PEER    /var/rrdtool/rrdcached/rrdcached.sock

[healthcheck_url]
env.url_1  http://www.google.co.jp/
env.slowspeed_1 5                    #limit time(sec)
#env.htmlgrep_1 google               #check egrep string

[healthcheck_ping]
env.ping_1  192.168.xxx.y1
env.ping_2  192.168.xxx.y2
env.ping_3  192.168.xxx.y3

[bme280_*]
user root

[dnsmasq]
user root
EOS
sudo systemctl restart munin-node

 次にサーバ機の設定、CGIによりアクセスが有ったときだけグラフ画像を生成する。Raspberry Pi Zeroの処理能力でサーバ稼働は無理があり、最低でもRaspberry Pi 3、できればRaspberry Pi4 (4GB)が必要と思います。

sudo apt-get install -y apache2 munin rrdcached
sudo vi /etc/munin/apache24.conf
pi@rp1:/etc/munin $ diff -u apache24.conf-orig apache24.conf
--- apache24.conf-orig  2019-09-07 22:50:01.819999958 +0900
+++ apache24.conf       2019-09-07 22:51:44.129999919 +0900
@@ -14,12 +14,14 @@
 Alias /munin/static/ /var/cache/munin/www/static/

 
-    Require local
+#    Require local
+    Require all granted
     Options None
 

-    Require local
+#    Require local
+    Require all granted
     
         SetHandler fcgid-script
     


sudo ln -s /etc/munin/apache24.conf /etc/apache2/sites-enabled/munin.conf
sudo vi /etc/default/rrdcached
pi@raspberrypi:/etc/default $ diff -u ~/rrdcached.orig rrdcached
--- /home/pi/rrdcached.orig     2020-04-29 15:34:52.931161830 +0900
+++ rrdcached   2020-04-29 15:36:06.140876081 +0900
@@ -4,10 +4,10 @@
 DAEMON=/usr/bin/rrdcached

 # Optional override flush interval, in seconds.
-#WRITE_TIMEOUT=300
+WRITE_TIMEOUT=1800

 # Optional override maximum write delay, in seconds.
-#WRITE_JITTER=0
+WRITE_JITTER=1800

 # Optional override number of write_threads
 #WRITE_THREADS=4
@@ -29,7 +29,7 @@

 # Optional override group that should own/access the local control
 # socket
-#SOCKGROUP=root
+SOCKGROUP=www-data

 # Optional override access mode of local control socket.
 #SOCKMODE=0660
@@ -54,4 +54,5 @@

 # Any other options not specifically supported by the script (-P, -f,
 # -F, -B).
-BASE_OPTIONS="-B"
+#BASE_OPTIONS="-B"
+BASE_OPTIONS="-F -f 3600"

sudo vi /etc/munin/munin.conf

sudo su - munin --shell=/usr/bin/munin-cron
ls -alF /var/lib/rrdcached/journal/

sudo gpasswd -a munin www-data
sudo gpasswd -a www-data munin
sudo chown -R www-data.www-data /var/lib/munin/cgi-tmp
sudo a2enmod cgi

以下、特に参考になったサイトです(順不同)。
muninでヘルスチェック(死活監視/生存監視/サイト監視とか)(https://rti7743.hatenadiary.org/entry/20110604/1307219520)
Raspberry Piで温度記録Webサーバを作る(https://qiita.com/kitashu/items/31a078fd9184a2734792)
復旧最終回:bme280で気圧・温度・湿度!(http://non2nrp.blogspot.com/2015/10/bme280.html)
【Munin】rrdcachedでIOを取り戻せ!(http://pocketstudio.jp/log3/2013/07/31/bring_back_io_with_munin_and_rrdcached/)