環境構築を実施した際の覚書とともに、参考にした記事をまとめておく。
(主に参考記事)
Raspberry Pi Zero 2Wのセットアップ
この記事を参考に、OSイメージをSDカードに書き込み、起動する。
ヘッドレスで開発するつもりなので、OSは"Raspberry pi OS lite(64bit)"を選択。
またイメージ作成時にWifiとSSHの設定を行った。

アップデート&アップグレード
以下を実行。
sudo apt update
sudo apt upgrade
Gitのインストール
普通にapt installした
sudo apt install git
Node.jsのインストール
最新をインストールするため、NodeSource によって管理されているPPA(personal package archive) を使用して、インストールする。
sudo curl -sL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt install nodejs
sudo npm install -g npm@latest
スワップの拡張
npm init @matterをすると、リソース不足で失敗する。
スワップ設定は必須だが、Trixie以降はスワップがdphys-swapfileからrpi-swapに変更されたため、man(man swap.conf)ぐらいしか情報がないので、ついでにまとめておく。
swap.confの編集
インストールされているswap.confは以下のようなもの。
# This file is part of rpi-swap.
#
# Defaults are provided as commented-out options. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the swap.conf.d/ subdirectory. The latter is generally recommended.
#
# See swap.conf(5) for details.
[Main]
#Mechanism=auto
[File]
#Path=/var/swap
#RamMultiplier=1
#MaxSizeMiB=2048
#MaxDiskPercent=50
#FixedSizeMiB=
[Zram]
#RamMultiplier=1
#MaxSizeMiB=2048
#FixedSizeMiB=
# Writeback settings (for zram+file mechanism):
#WritebackTrigger=auto
#WritebackInitialDelay=180min
#WritebackPeriodicInterval=24h
推奨ではこれを編集するのではなく、これを参考に、/etc/rpi/swap.conf.dディレクトリを作成し、設定ファイルを置く。
sudo mkdir /etc/rpi/swap.conf.d
sudo nano /etc/rpi/swap.conf.d/swap.conf
開発中はswapファイルで容量を大きく取りたいので、一旦以下のような設定に。
[Main]
Mechanism=swapfile
[File]
Path=/var/swap
RamMultiplier=1
FixedSizeMiB=8192
Mechanismには、zram(圧縮メモリによるスワップ)、swapfile(よくあるファイルによるスワップ)、zram+file(zramにswapfileを組み合わせたもの)、auto(最適なものを自動選択。現状はzram+file)のいずれかをしていできる。
それでもだめだったので
デフォルトに戻した(sudo rm /etc/rpi/swap.conf.d/swap.confと再起動した)うえで、この記事を参考に、以下のコマンドを実行し、使用できる最大メモリサイズを指定してみる。
export NODE_OPTIONS="--max-old-space-size=512"
この設定でビルドに成功したので、.profileに追記する。
nano ~/.profile
Matter.jsの初期設定
ガレージのシャッター及び照明、換気扇をコントロールするデバイスを作りたいので、それに近いと思われるテンプレートdevice-composed-wc-lightを指定する。
npm init @matter device-composed-wc-light
Windows上のVSCodeからリモートで開発したい
この記事なんかを参考にしてるけど、安定的に繋がる感じがしない。
色々調べて、こんな記事を見つけた。
記事に従ってVSCodeのTypeScriptプラグインを無効化
- VS Codeの拡張機能ボタン(左側のツールバーにあるビルディングブロックのようなボタン)をクリック
-
@builtin TypeScriptを検索 - TypeScriptとJavascript言語機能拡張機能を無効にする
- 再起動
最初の起動に失敗することもあるけど。元がコピペしただけで固まってたのを考えると、だいぶ安定。
ひとまずここまで。
