琴電を撮影
- 2026/04/11 20:57
- カテゴリー:観光
観光という訳ではないが琴平に寄った時に琴電車両が観えたので撮影(POCO M8)

丁度琴平駅発もあったので動画も撮影(風音が酷いのは勘弁)
日々の生活を好き勝手につづったブログ(My blog is written by inoshita.jp)

2009年02月 ブログ運用開始(玄箱,Web Diary Professional 使用)
2012年10月 ブログシステムをfreoに移行
2015年05月 サーバを「Cubieboard」に移行し運用開始
2018年10月20日 なんちゃって百葉箱(後に「な!百葉箱」と命名)の運用開始(HomeWeather)
2019年09月01日 な!百葉箱(第2版)運用開始
2023年03月04日 NOAA受信システムの運用開始
2024年06月09日 システムダウンにより新サーバにて復旧作業中(6/20現在も本Blogは更新不可)
2024年06月10日 サーバ移行開始(6/29復旧)
2025年08月13日 最後となったNOAA19が11日に運用を終了した模様(暫くゴミ画像)
2025年10月23日 「な!百葉箱」はダウン中(11/23復旧)
2025年12月12日 ひまわりの画像は国立情報学研究所(NII)が提供するデジタル台風という公開データベースから取得
観光という訳ではないが琴平に寄った時に琴電車両が観えたので撮影(POCO M8)

丁度琴平駅発もあったので動画も撮影(風音が酷いのは勘弁)
アンプ付で便利そうなDACモジュールのMAX98357Aを試す
アンプがモノラルなのでLRを選択できるモジュールもあるようだが今回手に入れたのはLRが混合されている


I2S入力なので簡単に接続できそうなラズパイで動作確認
| MAX98357A PIN | RasPi PIN | 備考 | |
| LRC | 35 | GPIO 19 (PCM_FS) | I2S LRクロック |
| BCLK | 12 | GPIO 18 (PCM_CLK) | I2S Bitクロック |
| DIN | 49 | GPIO 21 (PCM_DOUT) | I2S DATA(Raspi→MAX98357A) |
| GAIN | - | 100kΩでプルアップ | |
| SD | - | ||
| GND | 6 | GND | |
| Vin | 2 | 5V | |
GAIN PIN仕様
| GAIN | 接続 |
| 15dB | 100kΩでGND接続 |
| 12dB | GND |
| 9dB | 未接続 |
| 6dB | VIN |
| 3dB | 100kΩでVIN接続 |
SD PIN仕様
| SD | 接続 |
| 左のみ出力 | 1.4V以上 |
| 右のみ出力 | 0.77V~1.4V |
| 左右を加算後1/2して出力 | 0.16V~0.77V |
| 音出力停止 | GND |
最初はGAINを未接続で試したところ,音量が変化するので電力不足かと考え電源ラインに1000μFのコンデンサを付けたが改善されないのでGAINを下げて3dBに設定

GAINを下げ再生
音質は良いとは言えない
ラズパイのI2S出力設定
$ sudo vi /boot/config.txt
#dtparam=audio=on # コメントアウト
dtoverlay=hifiberry-dac # 追加
音量変更など
$ sudo vi /etc/asound.conf
pcm.speakerbonnet {
type hw card 0
}
pcm.dmixer {
type dmix
ipc_key 1024
ipc_perm 0666
slave {
pcm "speakerbonnet"
period_time 0
period_size 1024
buffer_size 8192
rate 44100
channels 2
}
}
ctl.dmixer {
type hw card 0
}
pcm.softvol {
type softvol
slave.pcm "dmixer"
control.name "PCM"
control.card 0
}
ctl.softvol {
type hw card 0
}
pcm.!default {
type plug
slave.pcm "softvol"
}
編集後,再起動
接続確認
(接続前)
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: vc4hdmi [vc4-hdmi], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
(接続後)
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: vc4hdmi [vc4-hdmi], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
出力確認
$ alsamixer #音量調整
$ speaker-test -c2 #ホワイトノイズ
$ aplay test.wav #wav
$ mpg123 test.mp3 #mp3
この後ESP32で試そうとして嵌っている
→ 拙者が持っているESP32ではメモリ不足でESP32-audioI2Sライブラリは動作不可であった(なのでI2Sにサイン波を直出力で鳴らして終わり)
Bookwormで3.5inchLCD(ILI9486)が表示できなかったので2.8inchLCD(ILI9431)でどうなのか試してみた



ATS-25もどきで使用したLCDと同じ製品でAliexpressにて安価な時(0.7K位だったかと)に予備購入していた物
ラズパイ用ではないので直接接続でなく手動で結線
| LCD側端子 | ラズパイ側 | |
| ピン番号 | GPIO | |
| SDO(MISO) | 21 | GPIO 09 |
| LED | 01 or 12 | 3.3V or GPIO 18 |
| SCK | 23 | GPIO 11 |
| SDI(MOSI) | 19 | GPIO 10 |
| DC(DC/RS) | 18 | GPIO 24 |
| RESET | 22 | GPIO 25 |
| CS | 24 | GPIO 08 |
| GND | 06 or 20 | GND |
| VC | 01 or 17 | 3.3V |
![]() |
||
ILI9486で試行したOSをILI9431用に変更
/boot/firmware/config.txt
dtoverlay=mipi-dbi-spi,spi0-0,speed=70000000
dtparam=width=320,height=240
dtparam=reset-gpio=25,dc-gpio=24
/lib/firmware/panel.bin
$ python mipi-dbi-cmd panel.bin ili9341.txt
ili9431用に作成
すんなりと表示できた

Macintoshを小さいサイズにしてラズパイでエミュレートするYouTubeの映像を観て面白かったので,どこまで出来そうか調査してみることにした(記事で作製紹介している人はこちら)
まず小さいデスクトップを用意する必要があるため,SPI接続のラズパイ用3.5inchLCD(SPI 125MHz対応版)を購入


Aliexpressで購入したわりには,かなりしっかりした包装と箱入りで中身もちゃんとしていた


説明書もありラズパイZERO2にてセットアップしてみたのだが・・・

現時点での最新RPiOSは対応されていないようなので1つ前の「Bookworm」の32Bit版で試行したところ,イメージ表示されるだけで,デスクトップ環境(X11)はエラーとなって動作しない
当初これを「ILI9431」だと思って(こちらなど)ネット情報を参考にして手動設定していたところ上手くいかず途中で「ILI9486」であることに気付く
そしてこの商品と同等であるようなので情報検索したところ現状では「bullseye-armhf」でないと正常動作しないとのこと
ようやく「3.5inch RPi Display」に辿り着きX11を起動できた

使用イメージ)MPI3501-3.5inch-2025-05-06-raspios-bullseye-armhf(Legacy)(Pi0-Pi3-Pi4).img
画面は上下変更(デフォが90度回転で270度回転している)ただしタッチ系が変更できず座標が逆になっている
※)後で「MHS-3.5inch RPi Display」を見つけた(イメージは同じだと思うがDLサイズ制限になったため確認できず)
しかし「2023-05-03-raspios-bullseye-armhf.img」でセットアップしたが動作不良
これはマニア向けの厳しい製品である
waveshare製ということで試したサイト
https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)
https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)_Manual_Configuration
A,B,Cと3タイプあるそうだ
https://raspida.com/waveshare-install-lcd35/
タイプBでは無いのでA,Cを試したがConsoleのテキストしか表示されない(画面としてのドライバは良いがX11は不可ということ)
「2023-05-03-raspios-bullseye-armhf.img」では,xinitが正常に起動していなかったので.bash_profileを修正して動作を確認
$ git clone https://github.com/goodtft/LCD-show.git
$ chmod -R 755 LCD-show
$ cd LCD-show/
$ sudo ./MHS35-show
$ sudo raspi-config nonint do_boot_behaviour B2
(.bash_profileの修正)
Bookworm,TrixieはSPI経由のイメージは出せるがWindowSystemとしては動作させられていない
タッチペンのキャブレーションも未決
主な設定ファイル
・/boot/config.txt
hdmi_force_hotplug=1
dtparam=i2c_arm=on
dtparam=spi=on
enable_uart=1
dtoverlay=mhs35:rotate=270
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0
hdmi_drive=2
tft35a,waveshare35a,waveshare35cでも動作する
・/usr/share/X11/xorg.conf.d/99-fbturbo.conf
Section "Device"
Identifier "Allwinner A10/A13/A20 FBDEV"
Driver "fbturbo"
Option "fbdev" "/dev/fb0"
Option "SwapbuffersWait" "true"
EndSection
・auto-login設定
$ sudo raspi-config nonint do_boot_behaviour B2
$ sudo raspi-config nonint do_wayland W1
・~/.bash_profile
if [ "`tty`" = '/dev/tty1' ]
then
export FRAMEBUFFER=/dev/fb1
startx 2> /tmp/xorg_errors
fi
・/etc/X11/xorg.conf.d/40-libinput.conf
$ sudo ./rotate.sh 180
設定ファイルで角度が異なるため自動設定を利用するのが良い
0でラズパイの電源コネクタが下になる
MHS35-showでも指定可能
・キャリブレーション
$ cd LCD-show
$ sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb
(画面上で操作)
$ sudo vi /etc/X11/xorg.conf.d/99-calibration.conf
自動で実行されないので手動となる


現状は出力されたキャリブレーションデータでは正常にならない
・fbcp
$ cd LCD-show
$ sudo mkdir rpi-fbcp/build
$ cd rpi-fbcp/build/
$ sudo cmake ..
$ sudo make -j4
$ sudo install fbcp /usr/local/bin/fbcp
SPI_BUS_CLOCK_DIVISOR=8 (250MHz/8=31.25MHz)
$ sudo cmake -DSPI_BUS_CLOCK_DIVISOR=8 .. #31.25MHz
$ sudo cmake -DSPI_BUS_CLOCK_DIVISOR=4 .. #62.5MHz
$ sudo cmake -DSPI_BUS_CLOCK_DIVISOR=2 .. #125MHz
32bit版bullseyeでのみ可能
125MHzだと表示が早いのが判る
retropieを動作させたが大変だった

bullseyeへLCDをセットアップした後,retropieをセットアップしようとするとビルドが完了しないので動作しない
retropieを「Raspberry Pi Imager」で作るとバージョンがBusterなのでLCDのセットアップができない
更にBusterだと既にレポジトリから日本語FONTが不可
そこで「Raspberry Pi Imager」で出来たretropieをbullseyeにアップしてretropieを再構築したら動作した
(日本語FONT)
$ sudo apt install fonts-droid-fallback
(ビルドに必要なライブラリ)
$ sudo apt insatall libcurl4-openssl-dev libvlc-dev libvlccore-dev rapidjson-dev libfreeimage-dev
omxplayerのライブラリは「omxplayer_20190723+gitf543a0d-1+bullseye_armhf.deb」をDLしてインストールする
こちらを参考にBookworm(64bit版)でLCDをセットアップしようとした記録(結果は不可)
問題となるのがファームウェアのビルドで「ili9341.txt」の数値の意味が理解できなかったが,ILI9486のデータシートでLCDへの初期化コードであることが判る
そしてデータシートには3種あるので全て試してみたが結果は不可
/boot/firmware/cmdline.txtにwayland=onを追加(Pi4以前では必要)
/boot/firmware/config.txtに以下を追加
dtoverlay=mipi-dbi-spi,spi0-0,speed=70000000
dtparam=width=480,height=320
dtparam=reset-gpio=25,dc-gpio=24
panel.binを作成するテキスト(3種)
# CPT 3.5 Inch Panel
command 0x01
delay 120
command 0xf2 0x18 0xa3 0x12 0x02 0xb2 0x12 0xff 0x10 0x00
command 0xf8 0x21 0x04
command 0xf9 0x00 0x08
command 0x36 0x28
command 0xb4 0x00
command 0xc1 0x41
command 0xc5 0x00 0x53
command 0xe0 0x0f 0x1b 0x18 0x0b 0x0e 0x09 0x47 0x94 0x35 0x0a 0x13 0x05 0x08 0x03 0x00
command 0xe1 0x0f 0x3a 0x37 0x0b 0x0c 0x05 0x4a 0x24 0x39 0x07 0x10 0x04 0x27 0x25 0x00
command 0x20
command 0x11
delay 120
command 0x29
# HSD 3.5 Inch Initial code
command 0x01
delay 120
command 0xf2 0x18 0xa3 0x12 0x02 0xb2 0x12 0xff 0x10 0x00
command 0xf8 0x21 0x04
command 0xf9 0x00 0x08
command 0x36 0x08
command 0xb4 0x00
command 0xb6 0x02 0x22
command 0xc1 0x41
command 0xc5 0x00 0x18
command 0xe0 0x0f 0x1f 0x1c 0x0c 0x0f 0x08 0x48 0x98 0x37 0x0a 0x13 0x04 0x11 0x0d 0x00
command 0xe1 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
command 0x20
command 0x11
delay 120
command 0x29
# WTK 3.5 Inch Initial code
command 0x01
delay 120
command 0xf2 0x18 0xa3 0x12 0x02 0xb2 0x12 0xff 0x10 0x00
command 0xf8 0x21 0x04
command 0xf9 0x00 0x08
command 0x21
command 0x36 0x08
command 0xb4 0x00
command 0xb6 0x02 0x22
command 0xc1 0x41
command 0xc5 0x00 0x53
command 0xe0 0x0f 0x10 0x08 0x05 0x09 0x05 0x37 0x98 0x26 0x07 0x0f 0x02 0x09 0x07 0x00
command 0xe1 0x0f 0x38 0x36 0x0d 0x10 0x08 0x59 0x76 0x48 0x0a 0x16 0x0a 0x37 0x2f 0x00
command 0x20
command 0x11
delay 120
command 0x29
ILI9486はmipi-dbi-spiで共通化できてないのかも