↓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九龍城再興の顛末おわり