Raspberry Pi 4B
- 2019-09-30 初版
- 2019-12-07 ファームウェア更新
- 2020-02-01 wiringPiの4B対応
- 2020-05-01 RPi.GPIOの4B対応
- 2022-12-30 品不足解消
- 2023-06-01 2GBモデル再開
- 2023-07-01 電源問題の解決
はじめに
- また技適(技術基準適合証明)の(国際的な)相互認証を忘れていたようで、日本で申請が行われました。2019年9月です。
- 技適番号は007-AH0184
- この007が認証機関(登録証明機関)の番号です。
著作権と免責事項
- 個人利用に限定され、著作権者の許可なく商用利用できません。
- 実は直接間接に関わらず、使用によって生じたいかなる損害も筆者は責任を負いません。
Wi-Fi切断問題
- たまに発生するため気にしていなかった。
- Wi-Fi接続がまれに切れる現象を発生していた。
- 原因がわからず直ってしまうことも多かったため、放置していた。
- ところが再現性のある現象が発生し、思わぬところから原因が判明した。
- 4Bをサーバとして使用しているため、通常は電源以外何も接続しない。
- メンテナンスの際に、キーボード、マウス、HDMIを接続するだけである。
- さてとあるHDMIを接続すると必ずWi-Fiを切断する現象に遭遇した。
- HDMIを外すとWi-Fi接続が復活する。再現性がある。
- ラズパイのシールドGNDから、強力なノイズを発生しており、たまたまHDMIを接続するとノイズを拡散してWi-Fiを妨害していた。
- 原因がわかってしまえば簡単であるが、こんなところに落とし穴があるとは思わなかった。
- 周辺機器を接続するときは、引き回しに注意しよう。
- Wi-Fiのアンテナ側から離そう。
- シールドの甘い機器は気を付けよう。
USBブート(ディスクアクセスの高速化)
- これは4Bのみで行えます。
- さらに4BはUSB 3.0を搭載しており転送速度が高速です。青い端子側です。
- 規格上 USB 2.0 は480Mbps、USB 3.0 は 5Gbps。ざっくり1/10にするとMB/s
- microSDカードは Class 10 で 10MB/s
- microSDカーよりUSBメモリのほうが、5倍から10倍速い。
- 開発をしているとRaspberry Pi OS の更新を頻繁に行う。OSの入れ替えも行う。
- さらにコンパイルで大容量のデータを扱う。gnuradioをソースからコンパイルすると8GBも必要とする。
- どうしてもディスクに負担がかかる。
- データの転送速度が遅いと、時間がかかり非効率になる。
- 時間が1/5、1/10になるなら、USBメモリを利用したい。
- USB 3.0対応のUSBメモリがある。
- Gen 1 と Gen2があるが実際にはメモリ内部の速度に依存するのであまり気にしない。
- Raspberry Pi Imager で USBメモリに書き込める。
- ちょっとかさばるが、作業効率を上げる方法としては得策だ。
- SSDの選択もある。
- USBメモリならmicroSDと価格差もない。
- ※メモリスワップを起こすとディスクへの書き込みで待たされる。これも解消される。
- ※筆者は頻繁に sync する。
- 開発効率を上げるためにUSBメモリを利用しよう。
- ただし過度の期待は禁物。ブートに時間がかかる。
電源問題の解決
- 電流供給能力不足で電圧低下エラーを経験しました。瞬間的に発生します。そこでUSB電源を調査しました。
- 4Bになり電源電流の上限が3Aになりました。Type-Cです。
- USB 2.0の規格上、上限0.5A
- USB 3.0の規格上、上限0.9A
- そこで、QC(Quick Charge)とPD(Power Delivery)の規格が登場しました。
- QC 3.0 :3.6V〜20V、最大18W
- PD 3.0 :5V=3A,9V=2.2A,12V=1.67A、最大20W
- 4Bは Type-C規格ですが、当初制御に利用するCC1とCC2の設計を間違い、一部で動作しないことが判明しています。
- CC1とCC2を個別に5.1kでプルダウンが正解です。間違ってCC1とCC2をまとめてプルダウンしています。
- 現在は修正されているとのことです。回路図を確認するとPDの文字があります。
- 供給側は3A能力なら10kでプルアップします。
- (PD規格として)CCを使ったネゴシエーションを行わないので5V以外の電圧が供給されることはありません。
- スマートフォン用のUSB PDを使用できることが判明しました。
- ダイソーのスマートフォン用のUSB PDが\770と格安です。
- PDが目印です。3.0A対応のType-Cケーブルもあります。
- 電圧が安定し、電圧低下エラーを解消しました。
- 世界的にスマートフォン用電源はType-Cに統一されました。この恩恵です。
- 4B用の専用アダプタは不要です。
- しかもスマートフォン用電源と共用できます。
- 急速充電(9割充電)なら40分くらいで終わります。残りの時間を4Bに使えます。効率的です。
- ※容量4570mAhx3.7V=17Wh、17Whx90%/20W=0.765h=46分。
品不足解消
- 2022年、ラズパイの品不足に陥りました。転売ヤーも入手できない状況でした。
- 2022年12月30日、日本の小売店で販売を再開した。メモリは4GB
- 日本の在庫割り当てが回ってきた。
- 秋月電子価格で\14,800
- 千石電商価格で\14,800
- 年末年始のため、実際の販売は年明けから。
- 円安の関係で値上げは仕方がない。
- なお、RSコンポーネンツは2022年6月で契約終了のため販売していない。
- 3A+も再開している。
- 秋月電子価格で\5,800
- 千石電商価格で\8,000
- 2023年06月01日、2GBモデルを再開
- 秋月電子価格で\9,990
- 千石電商価格で\11,000
2.4GHzと5GHz
- Raspberry Pi 4BのWiFiは802.11b/g/n/ac対応です。
- 2.4GHz帯と5GHz帯(5.2GHz,5.3GHz,5.6GHz)が使えます。
NOOBSと16GB制限
- NOOBS 3.1.1(Buster) からRaspberry Pi 4Bに対応しました。
- NOOBS 3.2.0から16GBのSDカードが必要になりました。
- 8GBでは容量不足でインストールできません。
- 8GBでインストールしようとすると、必要な容量=5019MBに対して空き容量=4936MBのため、83MB不足します。
- Raspberry Pi imagerなら8GBも可能です。
4B用のファームウェア更新
- Raspberry Pi 4Bはファームウェアに問題を抱えており、更新が必要です。
- $ sudo apt update
- $ sudo apt install rpi-eeprom
- $ sudo reboot
- たまに rpi-eeprom と rpi-eeprom-images が更新されていないか確認しましょう。
- rpi-eeprom-update コマンドは自動的に新しいファームウェアをダウンロードしません。
- $ sudo apt update
- $ sudo apt install rpi-eeprom
- $ sudo apt install rpi-eeprom-images
- 更新可能なパッケージは apt list --upgradable で確認
- 現在と最新のバージョンを確認します。この例では 000137ab が最新です。
- $ sudo rpi-eeprom-update
- *** UPDATE REQUIRED ***
- BOOTLOADER: update required
- CURRENT: 2019年 7月 15日 月曜日 12:59:55 UTC (1563195595)
- LATEST: 2019年 9月 10日 火曜日 10:41:50 UTC (1568112110)
- VL805: update required
- CURRENT: 00013701
- LATEST: 000137ab
- ファームウェアを更新します。
- $ sudo rpi-eeprom-update -a
- *** INSTALLING EEPROM UPDATES ***
- BOOTLOADER: update required
- CURRENT: 2019年 7月 15日 月曜日 12:59:55 UTC (1563195595)
- LATEST: 2019年 9月 10日 火曜日 10:41:50 UTC (1568112110)
- VL805: update required
- CURRENT: 00013701
- LATEST: 000137ab
- EEPROM updates pending. Please reboot to apply the update.
- $ sudo reboot
gpioコマンドが動かない、wiringPiの4B対応
- $ gpio readall
- Oops - unable to determine board type... model: 17
- Raspberry Pi 4B対応は 2.52からです。
- $ gpio -v
- gpio version: 2.50
- 最新版に更新
- $ cd /tmp
- $ wget https://project-downloads.drogon.net/wiringpi-latest.deb
- $ sudo dpkg -i wiringpi-latest.deb
- なお、2.52でも 4Bで gpio コマンドでプルアップとプルダウンの設定ができません(バグ)。
- $ gpio -g mode 26 in
- $ gpio -g mode 26 up
- $ gpio readall
- $ gpio -g mode 26 down
- $ gpio readall
- 代替策として raspi-gpio コマンドを使います。
- $ raspi-gpio set 26 ip
- $ raspi-gpio set 26 pu
- $ raspi-gpio get
- $ raspi-gpio set 26 pd
- 本家が開発を終了したことにより、非公式のWiringPiサイトが立ち上がりました。
- https://github.com/WiringPi
- ソースコードを確認したところ、4Bのプルアップとプルダウン問題は修正されていました。
- 入れ替え方法です。
- $ sudo apt-get purge wiringpi
- $ git clone https://github.com/WiringPi/WiringPi.git
- $ cd WiringPi
- $ sudo ./build
RPi.GPIOのプルアップ、プルダウンが機能しない、RPi.GPIOの4B対応
- Raspberry Pi 4B対応は 0.7.0からです。
- $ pip list | grep RPi.GPIO
- RPi.GPIO 0.6.5
- $ pip3 list | grep RPi.GPIO
- RPi.GPIO 0.6.5
- Python2用の最新版に更新
- $ pip install --upgrade rpi.gpio
- $ pip list | grep RPi.GPIO
- RPi.GPIO 0.7.0
- Python3用の最新版に更新
- $ pip3 install --upgrade rpi.gpio
- $ pip3 list | grep RPi.GPIO
- RPi.GPIO 0.7.0
©2019-2023 All rights reserved by Y.Onodera.