基本構成を考える 2022 Jan 4-7
ラズパイを使って、生活周辺をコントロールしたり、
インターネットラジオ
ネット上の情報を参考にラズパイの設定 2022 Jan 9-12 Raspberry Pi OS (32-bit) 2021-10-30 を用意します
| ||||||||||||||||||||||||||
|
左右のサイドパネル
2022 Jan 17
アクリル製の左右のサイドパネルは
アクリル屋
アクリル見本
電源基板 2022 Jan 13, 24
シリアルバッファ基板 2022 Jan 14, 24-28
制御したい周辺機器はいろいろありますが、
それぞれに(パラレルで)制御線を出すとタコ足になってしまうので、
シリアル接続で制御することにします。
シリアル制御と言えば、まず
I2C
import RPi.GPIO as GPIO
from time import sleep
vpin = 11
vsleep = 1
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(vpin,GPIO.OUT)
try:
while True:
GPIO.output(vpin,GPIO.HIGH)
sleep(vsleep)
except KeyboardInterrupt:
GPIO.cleanup()
ところで、ラズパイのロジックは3.3V、一方この基板は5Vです。
この 3.3V->5V 接続問題はこちら
「5V系・3.3V系信号レベル変換」
PCM5102A DAC基板 2022 Jan 14, 29-30
#hdmi_drive=2 変更 hdmi_drive=1 #dtparam=audio=on コメントアウト #I2S 追加 dtoverlay=hifiberry-dac
完成!
| |||||||||||||||||||||||||||||||||||
|
部品リスト
2022 Jan 15-16
写真に写っていて以下のリストにないものは手元にあったものですが、
標準的なものばかりです。
ラズパイ等
Raspberry Pi3 Model B(秋月電子) PasPi用ユニバーサル基板 65mm x 56mm(マルツ) PasPi用スタッキングコネクタ 高13.5mm(秋月電子) ピンヘッダ(秋月電子) ケーブル用コネクタ(秋月電子) コネクタ用ハウジング(秋月電子) 2P スペーサー(秋月電子) 10mm AC-DC コンバータ RAC20-05SK/277(マルツ) 平滑コンデンサ 2200uF 10V(マルツ) 電源SW、入力切換えSW(マルツ) プリント基板実装用ヒューズクリップ(マルツ) メガネACインレット(マルツ) USB Type-C コネクタ DIP化キット(秋月電子) TC74HC04AP(秋月電子) ICソケット(秋月電子) PCM5102A DIP化キット(秋月電子) 3.3V三端子(秋月電子) 基板取付用2連ボリューム A50K(秋月電子) インダクタ 1uH(秋月電子) 抵抗 470Ω(秋月電子) コンデンサ(秋月電子) 0.1uF ピンジャック(秋月電子) 白 |
|
ソフトウェア セットアップ
2022 Feb 1-4, 8-11, 26
SSH Tera Term
ソフトウェア開発時に Windows PC側からラズパイを操作する為、 Windows PCに標準的なターミナルをインストールします。 SSH(Secure Shell) をパスワード認証で使用します。 公開鍵認証で使用する場合は こちら
普段使いではラズパイをスマホ、タブレットやPCから操作するのが便利です。 簡単に実現するにはラズパイ側にラズパイ操作の Web アプリページを用意します。 その為に Web server をインストールします。
Github を使うため Git をインストールしておきます。
私の常用テキストエディタは emacs なのでラズパイにもインストールします。
参考リンク |
4年半連続稼働していたラズパイが突然ダウン、対応しました 2026 Jul 2
ある朝いつもと様子が違うと思えば、ラズパイが応答していません。
何が起こっているのか調べようとしましたがログインも出来ません。
ネット検索してみると、
OSが入っている「SDメモリーカードの書き込み寿命が尽きる」
という指摘が一番当たっていそうです。
ラズパイはSDメモリーカードをハードディスク代りに使っているので酷ですね。
新しい SDメモリーカードを用意し、
最初のステップである OS のインストールからやり直します。
Imager の最新版をげっとし、設定し、メモリーカードに展開し、
それをラズパイにさして電源を入れると生き返りました。
やはりSDカードが原因でした。
以前はラスパイのコンフィグレーションは起動後に行いましたが、
最近は書き込みイメージを作る段階で出来るようになっていました。
起動後、これまでラズパイに対して行ってきた変更や追加 (このファクトリーに記載されている内容)を全て行い、 それで、以前の状態に戻るはずでした。 ところが いざ起動してみるとウェブリモコンがうまく働きません。 この4年半の間に Python や OS がバージョンアップされ、 それに伴う、ライブラリの変更や、 Linux コマンドの変更に対応する必要がありました。 以下は OpenAI ChatGPT と相談しながら進めました。 Python 3.13 対応 以前のコードでは、www/cgi-bin/ に、まるっと cgi ライブラリを使っていましたが、 Python 3.13 以降では、そのライブラリが削除されていて使えません。 Chappy が言うには、「今風のやり方は、CGI自体を使わず、 WSGIやFlask/FastAPIなどのWebフレームワークを使うことです」だそうですが、 「ラズパイで簡単なWebサーバーを動かすだけなら、 フレームワークを使わずに http.server で十分です」とのことで、 今回は取り敢えず http.server で対応することにします。 Python http.server を使えば 長年使ってきた Apache2 Web Server がいらなくなる という、目から鱗です。 これにより www/cgi-bin/ 以下は無用になります。 Apache2 を停止し、自動起動を無効にします
現状の確認
pi@raspberrypi:~ $ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Tue 2026-07-14 14:11:14 JST; 10min ago
停止
pi@raspberrypi:~ $ sudo systemctl stop apache2.service
停止の確認
pi@raspberrypi:~ $ sudo systemctl status apache2
○ apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: inactive (dead) since Tue 2026-07-14 14:29:10 JST; 5s ago
自動起動の無効化
pi@raspberrypi:~ $ sudo systemctl disable apache2.service
Synchronizing state of apache2.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install disable apache2
Removed '/etc/systemd/system/multi-user.target.wants/apache2.service'.
無効化の確認
pi@raspberrypi:~ $ sudo systemctl status apache2
○ apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled; preset: enabled)
Active: inactive (dead)
Apache2 の代りに新たに Python による http.server を www/html/web_server.py として作成します。 詳細はコードにコメントを書きましたが、 ポイントは以下です。 コード参照は GitHub
※2 Google Chrome などは HTTP リクエストが複数同時なので Threading を使い複数リクエストに対応 また、この変更に伴い www/html/inde.htm の XMLHttpRequest の呼出し構文が1行変更されています。 ちなみに、web サーバーが稼働するまでの間は、 Window PC からラズパイのオーディオサーバーを ソケット接続 Raspberry Pi OS (18 Jun 2026) 対応 インターネットラジオ試聴には、 これまで使っていた mplayer の代わりに Chappy ご推奨の ffmpeg を使うことにしました。
|