投稿

Raspberry pi 2でMagicMirror2 (2) アップデート

 久々に起動したらMagicMirror2のアップデートとモジュールのアップデートができるってでている。 モジュールの方はMMM-Remote-Control   https://github.com/Jopyth/MMM-Remote-Control をいつかて http://ipアドレス:8080/remote.html からアクセスして、操作したら、アップデートできた。 MagicMirror2本体はコマンドラインからアップデートしようとしたら Updating b0c5924..b742e83 error: Your local changes to the following files would be overwritten by merge:         package-lock.json         package.json Please commit your changes or stash them before you merge. Aborting って怒られた。       package-lock.json とか  package.json を書き換えてんの勝手に上書きされたらこまるだと、って言われている。書き換えた覚えがないので git stash git pull でアップデート始まるけど npm error code EBADENGINE npm error engine Unsupported engine npm error engine Not compatible with your version of node/npm: magicmirror@2.34.0 npm error notsup Not compatible with your version of node/npm: magicmirror@2.34.0 npm error notsup Required: {"node":">=22.21.1 <23 || >=24"} npm error notsup Actual:   {"npm":"10.9.3","node":...

MQTTでIoT通信(4)受け取ったのデータでmunin プラグイン

 さてMQTTで受け取ったデータをmuninでグラフ化するためのプラグイン これでつまずいて1日パーにした。「 MQTTでIoT通信(3)受け取ったのデータのファイル保存 プログラムをサービスとして起動する 」2026/1/03です。muni-nodeから/tmpのファイルが読み込めなかった。munin-nodeが nobody権限なのを解決するための苦悩でした。 完全版では無いが取りあえず動くものをアップしておく  /usr/share/munin/plugins/ munin-mqtt-logger_ の作成 プラグインの作成 #!/bin/bash # シンボリックリンクから識別子を取得 # 例: munin-mqtt-logger_m1-tmp -> m1-tmp # mqtt-data-m1-tmp.txt ITEM=${0##*_} # キーワード判定による縦軸の設定 if [[ "$ITEM" == *"tmp"* ]]; then     VLABEL="Temperature (degree)"     ARGS = " –base 1024" elif [[ "$ITEM" == *"hum"* ]]; then     VLABEL="Humidity (%)"     ARGS = " --lower-limit 40 --upper-limit 70" elif [[ "$ITEM" == *"pres"* ]]; then     VLABEL="Barometric pressure (hPa - 900)"     ARGS = " --lower-limit 8 --upper-limit 12" elif [[ "$ITEM" == *"co2"* ]]; then     VLABEL="CO2 (ppm)"     ARGS = " --base 1024 -l 0" else     VLABEL=...

MQTTでIoT通信(3)受け取ったのデータのファイル保存 プログラムをサービスとして起動する

2026/1/3変更 当初ファイルをSDの寿命に考慮してtmpfsで作った/tmpに保存していたが、これがそれからの地獄のはじまりだった。munin-nodeが基本nobody権限で動作するのがこれの/tmpにあるファイルが見えない。tmpfs上に作ったファイルへのアクセスを禁じられている。まあ、セキュリティー的観点から正しい判断だろう。 とはいえSD上で頻繁に書き換えたくないのでメモリ上で保存したい。でGeminiに聞いたら/dev/shm使えば良いじゃんって返ってきた。/dev/shm ? ってなったので調べてみると いろいろなところで、以下のような内容を書かれている。「POSITシステムでのアプリケーション間の効率的なデータの受け渡しに使われる。」バッチリじゃん。ただ、使い方に関しては、世間全般として賛否両論なところがあるようだ。 とりあえず、 sudo mkdir -p /dev/shm/mqtt sudo chmod 777 /dev/shm/mqtt でディレクトリを作ってここでデータのやりとりをすることにする。 ------------------- 2026/1/3 さらに追記 x86用のRaspberry OSをインストールした仮想マシン上で当初プログラムしていたら、仮想マシン上のOSがDebian GNU/Linux 11 (bullseye) で実際のラズパイで動いているのでRaspbian GNU/Linux 13 (trixie) でバージョンそろってなかった。仮想マシン作った時期そんなに前では無いのがが古いバージョンだった。気付かんかった。結果logger.pyが動かず。サービスとしては動いているように見えるのに。。。。。。。 結果。仮想マシン python3-paho-mqtt                     1.5.1-1 実ラズパイ python3-paho-mqtt                    2.1.0-1  でpython3-paho-mqttが1系から2系になった時に結構かわっているらしいの...

MQTTでIoT通信(2)mosquittoの設定

 mosquittoの設定する。 /etc/mosquitto/mosquitto.confが設定ファイルで、初期設定では以下のようになっている。 #Place your local configuration in /etc/mosquitto/conf.d/ # # A full description of the configuration file is at # /usr/share/doc/mosquitto/examples/mosquitto.conf #pid_file /run/mosquitto/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log include_dir /etc/mosquitto/conf.d 詳細は /etc/mosquitto/conf.d 以下からインクルードするようになっている。特にファイルは置かれていない(READMEだけ)。取りあえず最低限の記述をするために /etc/mosquitto/conf.d/01mosquitto.conf を作成 listener 1883 0.0.0.0 allow_anonymous true 全てのIPからポート1883で受信する パスワード認証とかは無し という設定です。   sudo systemctl restart mosquitto で再起動。 mosquitto_sub -d -t /client/abc を実行。別クライアントから mosquitto_pub -h [ IP address ] -p 1883  -t /client/abc -m "shee546978" で通信できる。 ユーザー認証 以下でユーザー作成1回目だけ -c をつける(ファイル pwfile が作成される) sudo mosquitto_passwd -c /etc/mosquitto/pwfile testuser パスワード入力を2回求められるので適当にいれると ファイル pwfile にハッシュ値?で保存される(違うユーザーで同じパスワードいれても違う値になるね)。...

MQTTでIoT通信(1)

  MQTTでIoT通信をしようと思う。まずはサーバーになるラズパイ(取りあえずはバーチャルマシンに構築したx64のRaspberry pi OSをインストールしたサーバー)にMQTT Broker(サーバーみたいなもの)をインストールソフトはmosquitto > sudo apt install mosquitto 次にパブリッシャーをインストール > sudo apt install mosquitto-clients ターミナルを2枚開いてAで受信状態にします。 mosquitto_sub -d -t /client/abc Bで送信コマンドを送る mosquitto_pub -d -t /client/abc -m "shee546978" A側で   Subscribed (mid: 1): 0 Client (null) received PUBLISH (d0, q0, r0, m0, '/client/abc', ... (10 bytes)) shee546978  と受信される。 取りあえず、これで動作確認ができる。 ただし現在はブローカーも、パブリッシャーもサブスクライパーも同じマシン上で動いていることに注意。 参考 https://qiita.com/sheep29/items/637f9f00e35cc707f681 https://elchika.com/article/ea67de45-ab62-4515-8a63-e9f83f056eed/ https://qiita.com/tsudaryo1715/items/da6092fecaa42f7d9b23

FreshRSSのアップデート1.28.0

  FreshRSSのアップデート1.28.0が出てた、バージョンアップは簡単簡単。昨日は特に欲しいものはなさそう、並び替えについて何件か強化とパフォーマンスの最適化。 取りあえず、バージョンアップ

NEC UNIVERGE IX2215(7) ファームのアップデート

 NEC UNIVERGE IX2215(1)を中古で購入 2024/12/30 でも書いたけど、NECのルーターファームの取り扱いが楽になってすげー便利 NetMeister https://www.nw-meister.jp/  のおかげで遠隔でもファームのアップデートができる。 よいですね。しばらくファーム確認していなかったけど ver.10.10 からver.10.11系にバージョンが上がっていた。 特に大きな変更はなかったのでそのままでも良かった一応バージョンアップ。

Windows でuvでpython環境の備忘録

 Windows でuvでpython環境の備忘録 uv で python環境の構築 - 2025/11/03 の再構築 基本powershellで実行します。 インストール 公式ページに有るようにpowershellで > powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"  実行。インストールされる uvのアップデートはpowershellで以下のコマンドで実行される。 > uv self update success: Upgraded uv from v0.9.7 to v0.9.18! https://github.com/astral-sh/uv/releases/tag/0.9.18 バージョン確認  > uv self version インストールしたツールごとに方法は異なるので注意  仮想環境構築 testと言うプロジェクトを構築 uv init test vs codeの環境構築 普通にフォルダーで開くと動くようだ ライブラリーのインストール pipみたいなこと、pandasを追加 uv add pandas vsコードのターミナルでもOK  

2025年デスクトップPC新調計画 その13(ASROCK BIOS update 12/15 4.03)

 4.03 2025/12/15  Update AGESA to ComboAM5 1.2.7.1 for upcoming CPU compatibility. が公開されていた。 バージョン番号は大きくあがっているが内容はupcoming CPU compatibility.なので新CPU向けの対応か、それ以外あんまり書いていないから今回はパスかな。 Gigabyteは一部のマザーで Checksum : 9AAA Improve system compatibility F7 でAGESAのバージョン書いていないね。

Fire TV Stick 4K Select買った。(2)

 一月ほどFire TV Stick 4K Select使ってみて、Nebula 4K Streaming Dongleよりも、キビキビしていると思う。RAMが1GBがネックだったが、あんまり、そのへんは気にならない。というか、動画を視聴しているだけなら分からないし、メニュー画面もFireTVの方が軽快感はある。 ただ、ベースがAmazon のアカウントというのが罪悪感を感じる・・・。googleアカウントが気安いということは無いが、わりとアカウント作りやすいからね。

ブラザーのプリンタのSNMP

 なんかブラザーのプリンタのSNMPがmuninで取れていない事に気付く。 で、munin-updateには Config node [プリンタ名] listed no services for [プリンタ名], (advertised as [muninが稼働しているサーバー名]).  Please see http://munin-monitoring.org/wiki/FAQ_no_graphs for further information. ってなる。  でもmuninサーバーが動いているマシンから snmpwalk -v 2c -c public [プリンタ] ってしても問題なく値が返ってくる、なんじゃいな。 dcp 系のプリンタは読み込めるが、mfc系のプリンタが読み込めない。 なぜだ。  

やりやがったなATOK

 やりやがったなATOK。いやいや、月330円安いと思っていた。660円への移行、プレミアム版が使えるなら、高いとも思わない。Arm版windowsにも興味がある。でもそこじゃ無い 月払い660円、年払い7920円????ちょっと安くなっているっておもったけど、計算してみたら660×12= やっぱり7920 やんけーーーーーーーーーー せめてひと月分くらい安くてもいいんじゃない、

Fire TV Stick 4K Select買った。

  2023年02月頃にNebula 4K Streaming Dongleを買ってから二年半くらいですかね。Fire TV Stick 4K Selectをかった。特にNebula 4Kに不満があったわけではないが、買ってみた。 使ってみた感想はFire TV Stick 4K Selectはレビューとかだと少しもっさりしているとの意見が多かったが、使ってみるとNebula 4Kとかわらないか、少し軽快な感じ。まあほとんどかわらない。 Nebula 4KはCPUに何を使っているか分からないが、RAMが2GBものっていることに驚き。Fire TV Stick 4K Selectは非公表ですが1GBのという説が一般的なようです。 Nebula 4Kが2021年10月発売でFire TV Stick 4K Selectが2025年9月なので4年くらいか。 アプリの数はNebula 4Kの圧勝かも、ただ、いわゆる動画配信系のアプリに関して言えば特に問題ない。 Amazonの新OS Vega OSが入っているらしいのでどんなモノかさわってみたい。

AIM Toolkit Version 20251027 バージョンアップ

  Version 20251027が2025-10-27に公開されていた。 前回の8月から3回くらいのバージョンアップが行われていた。  dynamic ramdisks: added large-page memory allocations  updated driver and aim_cli.exe  RamDiskUI.exe and RamDyn.exe: improved ramdisk creation reliability  driver updated  updated polish translation  fix in MountImg.exe: mounting failed (regression from 20251015) ドライバーの更新とマウント失敗するのの修正が大きいかな  dynamic ramdisksはパフォーマンスにも影響有りそうだが  インストール後特に大きくかわっているところは内容にみえた。 RAMディスクの設定で「詳細」のMemory Typeに「Large-page」があるようだ、前のバージョンにあったかなかった記憶にはないが。しかし、これがグレーアウトしている。 「基本」の「メモリを動的に割り当てる」を有効にすると選択できるようになるが。実行しようとすると警告が出る。

Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 6 mh-z19でmunin

 Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 5 python仮想環境 mh-z19 第2 前回作ったdist/ フォルダ内に  main をnz-h19-appとファイル名を変更し/usr/local/binに移動 /usr/share/munin/plugins/ に munin-chk-co2 を以下のようなファイルを作成 #!/bin/bash if [ "$1" = "autoconf" ]; then         echo "yes"         exit 0 fi if [ "$1" = "config" ]; then     # グラフタイトル     echo 'graph_title CO2'     # グラフ縦軸     echo 'graph_vlabel CO2 (ppm)'     # グラフのスケール設定 #    echo 'graph_args --base 1024 -l 0'     #カテゴリ     echo "graph_category Environment"     #グラフの縦軸の制限     echo graph_args --lower-limit 400 #--upper-limit 4000     # 凡例の設定        # each line name     echo server1.label CO2 #    echo server2.label WiMAX_Transfer2_amount     #ライン値設定     echo server1.draw LINE2     #    echo server2.draw LINE2 ...

Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 5 python仮想環境 mh-z19 第2

 uvの仮想環境のディレクトリに作成されるmain.pyを以下のように書き換える import mh_z19 def main(): #print("Hello from mh-z19-test!") CO2_conce = mh_z19.read_all(serial_console_untouched=True)["co2"] print(CO2_conce) if __name__ == "__main__": main() uv run main.py で 400 とか測定結果だけが出てくる。 pyinstaller --onefile main.py を実行。結構時間かかる。 dist/ フォルダ内に  main というファイルができる、サイズが約11MB。 mvでファイル名変えてのOK。  

Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 4 python仮想環境 mh-z19

  mkdir python uv init mh-z19-test で ~/python/mh-z19を作成。 cd mh-z19-test  uv add mh-z19 するがエラーになるので事前に、以下の2つをインストールしてから実行 sudo apt install -y swig sudo apt install -y liblgpio-dev   uv add mh-z19    uv add mh-z19 を普通にすると以下のエラーが出る。        Built mh-z19==3.1.7       Built getrpimodel==0.1.26   × Failed to build `lgpio==0.2.2.0`   ├─▶ The build backend returned an error   ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1)       [stdout]       running bdist_wheel       running build       running build_py       running build_ext       building '_lgpio' extension       swigging lgpio.i to lgpio_wrap.c       swig -python -o lgpio_wrap.c lgpio.i       [stderr]       error: command 'swig' failed: No such file or directory       h...

Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 3 python仮想環境 aptでuvインストール

 Raspberry pi OS  GNU/Linux 13 (trixie)などに搭載されている最近のpytthonはシステムとしてインストールされているpython環境を壊さないように?仮想環境で運用せよとなっている。いわゆるPEP668である。  システムに深く関わっているpythonを保護するという意味は理解できるが、手軽に使えるスクリプト言語としてのpythonの手軽さ、特にユーザーモードとして使わずにcronと組み合わせたりする場合どうすればいいのか面倒くささが際立つ。  さらに今回は一般的に資料のあるvenvではなく、最近はやりのuvを使ってやってみようという無謀な挑戦。 ちなみに回避策としては以下のページがまとまっている 俺流!PEP668とうまくやっていく方法 ちなみに「対策その1:余裕の無い人向け」で一瞬切り抜けようとしたが、今後決して戻ることは無いならいま勉強しようと思った。 まずはuvのインストール 参考: Debianでuvを安全にインストールする方法 参考の記事にあることは共感できる。 またaptでインストールする方法もある 参考: 【令和7年最新進化版】Debian 13 (Trixie) でKDEデスクトップ環境を使うための設定 こちらに外部リポジトリを便利に扱うextrepoというツールがあるらしい。2019年頃のBullseyeくらいから搭載されているらしい。Debianってapt使っている範囲だとすごく便利だけど、その他のものいれるときってその便利さがなくなるイメージだけど、結構便利になっているのね。サーバー構築が多いのでお世話になるのはwebminとuvくらいか。以下見ると対応ソフトがあるようだ。 https://extrepo-team.pages.debian.net/extrepo-data/debian/trixie/ リスト見ていると以下のものがある。もっといっぱいあるけど beagleboard-arm64.asc:こういうの有るんだ、beagleborad昔お世話になったな。 edge.asc github-cli.asc google_chrome.asc google_cloud.asc msteams.asc nvidia-cuda-sbsa.asc nvidia-cuda.asc protonvp...

Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 2 BME280 webmin

 webminのインストールはちょっとかわった。 https://webmin.com/download/ に有るようにした。 curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh sudo sh webmin-setup-repo.sh webmin-setup-repo.shを実行数と環境を設定してくれる。ちょっと時間がかかる。そして apt-get install --install-recommends webmin でwebminがインストールされる。 -------------------  古いOSだとインストール時にBME280を使うときに pipでモジュールインストール していたが、trixieからは全部apt sudo apt-get install i2c-tools sudo apt-get install python3-pip apt install smbus2 apt install python3-bme280 でインストール、 muninは  muninで温度と湿度をグラフ化  で行けそう

Raspberry pi 2でMagicMirror2

 すでに多くの報告があるのですが、二番煎じくらいの導入したときに備忘録。 インストールまでの準備は Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 で インストールしたら、 まずは画面上に任意の文字列を表示したいので MMM-HTMLBox  https://github.com/ulrichwisser/MMM-HTMLBox をインストール。インストール方法は上記ページにあるようにモジュールをインストール config.jsに以下を追加 {         module: "MMM-HTMLBox",         position:"top_left",         config: {                       width: "100%",                       height: "200px",                       refresh_interval_sec: 30,                      backgroundColor: "#FFF",                       content: "There is nothing to display. <br>Put your HTML code into content field in 'config.js'.",         ...