↓GPIO配線ショートで動作不能になった九龍城・・・
半年ほど放置しておりましたが、
・電源アダプタ新品調達して接続しまして・・・動作せず、
・SDカードのラズパイOSをインストールしなおして・・・動作せず、
最終的にラズパイ5自体が内部的に焼け落ちたと判断し、
ラズパイ5本体とCPUファンをAmazonにてセット購入しました。
↑発注から着荷まで1日
↓早速組み立て。
↑とりあえず「新九龍城」として復活できました。
幸いなことにSSDは活きておりましたので、
新九龍城はプラスチックトレーに小穴4点明けて本体を固定、
GPIO端子から直線的に接続できる位置にブレッドボードを配置しました。
また後述の参考記事にならって「ラズパイconnect」を利用可能にしました。
これでいよいよ、焼け落ちの原因となったGPIO周りに再挑戦です。
事前のネット調査から、仮想環境利用とGPIOZERO利用にチャレンジ!
10点LEDをGPIOに接続してLチカをしてみます。
以下、経緯メモです。
■仮想環境作成および開発環境使用の実際手順
(homeの下のkabayonは実際のユーザ名に適宜修正すること)
1:仮想環境の作成(homeのライブラリを使えるオプションを設定)
python3 -m venv --system-site-packages venv311
↑home/kabayon/venv311に仮想環境が作成されています。
(Thonnyで作成したコードもここに入れてます)
2:仮想環境をターミナルからアクティブ化
source venv311/bin/activate
↑ターミナルでの仮想環境設定状況
最後に仮想環境上でGPIOZEROをインストールしようとしたら、
「すでにここにあるで!」とのメッセージ。
3:Thonnyの設定
・上記2を先に実行しておく(仮想環境アクティブのまま)
・インタープリータは下記を選択
インタープリータ:Local Python3
詳細:home/kabayon/venv311/python3.11
↑仮想環境の中にあるpythonを指定します。
↓実体は標準インストールのpythonのエイリアスが仮想環境中に作られています。
↑python3.11というエイリアス(ファイルサイズ7バイト)のリンク先がpython3、さらにそれのリンク先が/usr/bin/python3、つまり仮想環境の外(標準インストールの場所)になっています。
↓pythonプログラムファイルも仮想環境フォルダhome/kabayon/venv311に保存
4:コード実行
Thonny上で実行しました。
実際はmacOSからラズパイconnectで接続しています。
5:仮想環境をターミナルから閉じる(必要な場合)
deactivate
6:仮想環境を削除(必要な場合)
上記5でdeactivateしてから・・・
rm -r venv311
■実際の動作結果
・VScodeを設定&動作したのですが、頻繁に画面落ちが発生しまして、
原因追及よりもさっさとVScodeの使用自体を断念しました。
・かわりに開発ツールとしては簡易ですが標準でインストールされていて
確実に動作だろうThonnyを使うことにしました。
GPIO操作を主体とするラズパイPICO等のコード開発にはThonnyを
常用していますので、使用自体は苦になりませんでした。
・最終的にラズパイConnectでmacOSからラズパイ5に接続したうえで、
Thonny上でコード実行、コードどおりにLEDが順次点灯しました↓。
↑LEDのカソード側から1kΩ抵抗アレイのcommon端子を経てアースへ接続。
■結論
ラズパイ5でGPIOを操作可能にするための手順を得ることができました。
これまでの多々のトライの結果から、下記のような機器役割分担について
技術的に実行可能なスキルと手順が得られました。
1:PICOなどマイコンのIoT上の役割:
・入出力信号処理(micropythonで100Hz程度のアクイジションに対応)
・外部機器用ドライバハードウェア操作
・ネットワークへの一方的な情報送出(MQTT)
・上記事項を比較的高速に、かつ電源ONだけで自動的に動作開始する
2:ハードウェア寄りな準PCであるラズパイのIoT上の役割:
・OSなしでは困難なファイル処理やSQLなどの情報処理
・GPIOを利用したマンマシンインターフェース
例えば、I2Cでの音声合成LSIからの音声通知
例えば、ボタンスイッチonで所定の文字列+リターンコードを入力
・画像、文字の処理とI2C/SPI表示デバイスへの出力
・USBスレーブ機器との入出力
・必要時にマイコンとUART、MQTT等で情報通信
・上記事項を1台で担う
以下の記事を多々参考にさせていただきました。ありがとうございました。
■Raspberry Pi 5(ラズパイ5)の基本セットアップとTIPS
https://zenn.dev/karaage0703/articles/8fe578dba4857a
■Raspberry Pi 5を日本語化する
https://note.com/coderdojoseishin/n/n18cade0e500e
■Raspberry Pi Connectがでた
https://www.raspi.jp/2024/05/raspberry-pi-connect-beta-released/
■ラズパイのPythonを最新にしてvenvとVSCodeを使う時のメモ
https://watlab-blog.com/2024/08/12/raspberrypi-python-update/
・ラズパイ4用
・venvで仮想環境とした状態でターミナルからVSCodeを開く( code .コマンドで)と特に面倒なPATHを通す作業も必要なくなる
■M3 Macでvenv/VSCodeによるPython環境を構築するときの備忘録
https://watlab-blog.com/2024/07/14/python-install-m3-macbook/#Windowsの場合の有効化
・仮想環境運用の流れがわかりやすい
■raspberrypi5 GPIOライブラリ対応状況
https://itecjapan.xsrv.jp/2024/08/24/raspberrypi5-gpioライブラリ対応状況/
■Raspberry Pi OSのPython仮想環境内でgpiozeroを使うには
https://zenn.dev/tanny/articles/ce010edd69d56a
■raspberrypi5の仮想環境の作成と使用方法
https://itecjapan.xsrv.jp/2024/08/24/raspberrypi5の仮想環境の作成と使用方法/
□Raspberry Pi 5の初期設定からリモート接続、Lチカまで詳しく紹介
https://logikara.blog/raspberry-pi5-inst/
□Raspberry Pi 5 (bookworm 64bit) におけるPython環境の構築
https://www.aqua-informatics.jp/?p=952
・Pyenv用。内容は具体的ですが、kabayonには理解が十分できませんでした。
□libgpioでGPIO制御(Lチカ)
https://zenn.dev/karaage0703/articles/18be273e8fc147
・GPIOコマンドが一見ではわかりにくい。GPIOZEROのほうが使いやすそう。
□Raspberry Pi 5にMinicondaをインストールしてPython開発環境を構築する方法【初心者向けガイド】
https://www.yutaka-note.com/entry/raspberry_conda
・CLI(コマンド)になる。せっかくGUIを実用できるラズパイ5を使用するのに、
CLIで使うメリットをkabayonにとっては見いだせなかった。
以上、一先ずラズパイ5九龍城再興の顛末おわり