MENU
  • ホーム
  • 生成AI
  • Drone
  • Minecraft
  • RaspberryPi
  • 随想
面白いこと発掘だ
northarantの研究室
  • ホーム
  • 生成AI
  • Drone
  • Minecraft
  • RaspberryPi
  • 随想
northarantの研究室
  • ホーム
  • 生成AI
  • Drone
  • Minecraft
  • RaspberryPi
  • 随想
  1. ホーム
  2. RaspberryPi
  3. OSのクリーンインストール

OSのクリーンインストール

2023 2/19
RaspberryPi センサー
2023年2月19日

ここは、ラズパイビギナーが参考にしてもらえたらと思って記事を書いてもいるので、過去のSDカードを使っていると色々と不具合が生じてきます。

特に、ライブラリのインストールはどうしたんだっけ??となってしまったので、いっそのことOSのクリーンインストールからやってしまえという事で、SDカードにOSを書き込むところからやり直しました。

目次

OSの書き込み

選んだOSは RaspberryPi OS (32-bit) です。何で64-bitにしなかったのかって?

それは、32-bitが (Recommended) となっていたからです。何でも標準でいいじゃないですか。

立ち上げたらやることは、ユーザー名とパスワード決め、地域決め、アップデートの確認。ここまでは説明もいらないくらい簡単ですね。

次に、VNCの設定。いちいちキーボードとマウスとテレビを繋ぐのは面倒なので、ささっとVNCの設定をします。

設定>Raspberry Piの設定から、次の箇所を変更してみました。

まずは、スクリーンの解像度(ヘッドレス解像度)を最大に。

次に、VNCとI2Cを有効にします。

で、OK&再起動。

VNC解像度がMAXに!

何と!いくらいじってもダメだった、VNCの解像度がしっかり1920✖️1080になってるではありませんか!

ちょっとテンションが上がってきました。

次にPCA9685のライブラリを入れます。

sudo pip install adafruit-pca9685

gpizeroも入れます。

sudo apt install python3-gpiozero

コマンドを打ったら、こんなメッセージが。

既に入っている。あ〜何ていうか、昔に比べたらラズパイも扱いやすく進化してるなぁと思うのでした。

では、昨日のプログラムを走らせてみよう!

エラー発生

ぇ!?

こ、これは・・・。

このエラーは、ライブラリ上にエラーがあるというメッセージなのです。しかも、私がかつて一度悩みに悩んだ記憶があるエラーメッセージ・・・。既に直っていると思っていたのに。

このエラーの修正方法はここに書かれています。

KOKENSHAの技術ブログ
Jetson nanoとPCA9685でサーボを動かそうとするときのI2Cエラー対処法! - KOKENSHAの技術ブログ Jetson nanoとPCA9685でサーボを動かそうとするときのI2Cエラー対処法!をご紹介します! 目次 デフォルトのI2Cのbusはどこなのか特定できませんでした これで、ハマる人が...

これを初心者がやれと言われたら大変ですよね。しかも、ちょっと古い記事なので書いてある通りにやってもうまくいきません。

具体的な修正方法

修正は、/usr/local/lib/python3.9/dist-packages/Adafruit_GPIO/I2C.py を書き換えなければいけないのです。しかし、このフォルダはユーザーが勝手に書き換えられないようになっているので、エクスプローラーでたどって行って、ダブルクリックで開いて、修正という事が出来ないのです。

そこで、コマンドラインに次のように打ちます。

cd ../..

こうすると、プロンプトが右のように変わります。

cdは、チェンジディレクトリコマンドで、「..」は一つ上のディレクトリを表しますので、「../..」だと二つ上。つまりルートディレクトリまで移動します。

では、ライブラリの奥底に入ります。

cd /usr/local/lib/python3.9/dist-packages/Adafruit_GPIO

入ったら、目的のブツがあるか「ls」コマンドで確認してみます。

いましたね、I2C.pyが。

では、これを次の呪文で修正します。

sudo nano I2C.py

翻訳すると「sudoは管理者権限で、nanoはテキストエディターを使って、I2C.pyを開け」となります。

開いたら、下の方にスクロールしていき、63行目付近まで行きます。

で、次のコードのif文に#を付けてコメントアウトし、3行目のbusnumを1にします。具体的には、

if busnum is None:
    busnum = get_default_bus()
return Device(adress, busnum, i2c_interface, **kwargs)

を

# if busnum is None:
#     busnum = get_default_bus()
return Device(adress, 1, i2c_interface, **kwargs)

とします。

そしたら、Ctrl+O で書き込みます。

書き込んだら、もう一度昨日のプログラムを走らせてみます。

無事、走りました。

っていうか、このエラーが出るのは私だけじゃないはず。ラズパイでPCA9685を使っている人は全員出ると思うし、みんなこれで挫折してしまわないんだろうかと思うと、やはり電子工作は簡単ではないよな〜と思ってしまうのでした。

RaspberryPi センサー
PCA9685
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • 自動ブレーキの搭載
  • Picamera2を使った写真の撮影

この記事を書いた人

northarantのアバター northarant

1968年生まれ。職業は高校数学の教員。自分では変わり者だと思っています。常により良い未来を目指して、時に楽しく、時に苦しみながら、人生を歩いています。

関連記事

  • INA219を使った電圧と電流の監視
    2023年3月4日
  • PWM制御を用いたLEDの輝度調整
    2023年2月27日
  • Picamera2を使った写真の撮影
    2023年2月26日
  • 自動ブレーキの搭載
    2023年2月18日
  • HC-SR04を用いた距離の測定
    2023年2月17日
  • 移動するだけのTANK
    2023年2月12日
  • モータードラーバーL9110S
    2023年2月9日
  • PCA9685を使ったLEDの点灯
    2023年2月8日

コメント

コメントする コメントをキャンセル

カテゴリー

  • Drone
  • Minecraft
  • Python
  • RaspberryPi
  • Twenty Twenty-Tree
  • これすごい
  • 生成AI
  • 随想

アーカイブ

  • 2025年5月
  • 2024年12月
  • 2024年11月
  • 2024年9月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年3月
  • 2023年2月
  • 2023年1月

© northarantの研究室.

目次