HOME | Raspberry Pi | ビジネス書籍紹介 | 2026-01-04 (Sun) Today's Access : 164 Total : 1260862. Since 10 Sep. 2019

Zero 2 W と Bullseye
2022.02.08


YouTube でも紹介しています。画像をクリックすると再生できます。

Raspberry Pi Zero W と 2 W の大きな違いは、CPUアーキテクチャが ARMv6 (32bit) → ARMv8 (64bit) に変更されたことにあります。
これにより、2 W では、Raspberry Pi 3 と同等の開発環境を構築できるようになりました。
Raspberry Pi シリーズの性能比較は、他サイトや既存の動画にて確認してみてください。

Zero2 W Zero W 3B
CPUチップ RP3A0 SiP
(Broadcom
BCM2710A1)
Broadcom
BCM2835
Broadcom
BCM2837
CPUコア数 4コア 1コア 4コア
動作クロック周波数 1.0GHz 700MHz 1.2GHz
メモリ 512MB 512MB 1GB
CPUアーキテクチャ ARMv8 (64bit)
ARM Cortex-A53
ARMv6 (32bit)
ARM11
ARMv8 (64bit)
ARM Cortex-A53
Ref.Raspberry Pi

Zero W と Zero 2 W での開発環境の違いについて軽く触れておきます。

■TTGO T-Camera ESP32 WROVER & PSRAM Camera Module ESP32-WROVER-B OV2640 Camera Module 0.96 OLED (魚眼レンズ)

これは以前に紹介した、ESP32 CAMERA です。これに使用するソースコードを、Zero W でビルドしようとしました。

$ platformio init -b esp32cam

下記は、Raspberry Pi Zero W でビルドした結果です。
$ platformio run
Processing esp32cam (platform: espressif32; framework: arduino; board: esp32cam)
-----------------------------------------------------------------------
PlatformManager: Installing espressif32
Downloading [####################################] 100%
Unpacking [####################################] 100%
espressif32 @ 1.11.2 has been successfully installed!
The platform 'espressif32' has been successfully installed!
The rest of packages will be installed automatically depending on your build environment.
PackageManager: Installing tool-esptoolpy @ ~1.20600.0
tool-esptoolpy @ 1.20600.0 has been successfully installed!
PackageManager: Installing toolchain-xtensa32 @ ~2.50200.0
Error: Could not find a version that satisfies the requirement '~2.50200.0' for your system 'linux_armv6l'

platformioは以下のURLからパッケージを探します。
http://dl.platformio.org/packages/manifest.json
(※ ~/.platformio/packages/toolchain-xtensa32)

manifest.jsonの中身をみてみると
....
"toolchain-xtensa32": [
 {
  "sha1": "78fd686e27d2619a2691150a25015ab44ae5d7ca",
  "system": [
   "linux_armv7l",
   "linux_armv8l"
  ],
  "url": "http://dl.platformio.org/packages/toolchain-xtensa32-linux_armv7l-2.50200.80.tar.gz",
  "version": "2.50200.80"
 },
....
toolchain-xtensa32 は。ESP32用の開発ツール群です。 linux_armv61 は対象外となっていて、パッケージをダウンロードできず、ビルドできませんでした。
※現在では、アップデートされビルド可能になっています。

このような理由もあって、Zero W は開発環境の第一線から退くことになり、開発環境の主流は、Raspberry Pi 3 となっていました。

時は流れ、Zero 2 W のリリースにより、CPUアーキテクチャが、64bit ARMv8 に変更され、Raspberry Pi 3 と同様の開発環境の構築が可能になりました。

ここで、現在の開発環境である、Raspberry Pi 3 model B を確認しておきます。

■Raspberry Pi 3 model B
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
$ lscpu
Architecture:        armv7l
Byte Order:          Little Endian
CPU(s):              4
Vendor ID:           ARM
Model:               4
Model name:          Cortex-A53
CPU max MHz:         1200.0000
CPU min MHz:         600.0000
lsb_release では、32ビットカーネルと32ビットsysrootを実行しているarmv8ハードウェアの場合、armv7lが返されます。
Rapbianをインストールした当初、OSは32bitで、64bitのARMv8は使えず、32bitのARMv7互換しか使えなかったため、 ARMv7対応のパッケージがインストールされたことにより、アーキテクチャに、arm7lが表示されています。
Ref.Add core definition for armv8l and armv7l
Ref.Raspberry Pi 3はまだ"真の力"を発揮していないだけ

Raspberry Pi には基板固有のリビジョンコードがあります。
$ cat /proc/cpuinfo
model name      : ARMv7 Processor rev 4 (v7l)
Hardware        : BCM2835
Revision        : a32082
Serial          : 00000000XXXXXXXX
Model           : Raspberry Pi 3 Model B Rev 1.2
マスクして表示していますが、Serialの部分が一意のコードです。
Hardware の部分に、BCM2835と表示されていますが、RPi3のSoCは BCM2837 です。この理由に付いては下記を参考にしてください。
Ref.RPi 3 with BCM2835 ???
Ref.Raspberry Pi各モデルのリビジョンを調べる

$ dpkg -s gcc
Architecture: armhf
Version: 4:8.3.0-1+rpi2
Provides: c-compiler, gcc-arm-linux-gnueabihf (= 4:8.3.0-1+rpi2)

■下準備


CPUチップには、ヒートシンクを取り付けてしまうので、型番確認用に、刻印されたロゴ・マークの記念撮影です。


Zero 2 W にヘッダーピンをはんだ付けして、ケースに収納、ヒートシンクを貼り付けて完成です。
開発環境として使うのであれば、この程度の放熱対策で十分だと思います。

■Raspberry Pi OS Bullseye ARM64

Raspberry Pi OS Buster (32bit) と同様の開発環境を構築してもよいのですが、それでは、ARMv8 の性能を活かせません。
そこで、Zero 2 W に、64bit版 Raspberry Pi OS Bullesys の検証環境という位置づけで開発環境を構築していきます。

Raspberry Pi OS 64bit版のダウンロード
Ref.Index of /raspios_arm64/images

raspios_arm64-2022-01-28/ 2022-01-28 16:53
2022-01-28-raspios-bullseye-arm64.zip
  ↓解凍
2022-01-28-raspios-bullseye-arm64.img


Ref.Raspberry Pi
ダウンロードしたRaspberry Pi Imager を起動します。

CHOOSE OSでUse customをクリックし、先程ダウンロードして解凍したimgファイルを選択します。


書き込み先を選び、全部消えちゃうけどいいよね確認にオッケーして、SDカードに書き込みします。
書き終わったら、Zero 2 W のSDカードスロットに挿します。


初期設定時のみに使用するHDMIモニターとキーボード。ネットワーク接続設定完了後は、SSH接続するので不要になります。

初期インストールに関しては、従来のRaspberry Pi OS 32bit版 Busterとほとんど同じです。

解像度を1280x800に変更

$ sudo vi /boot/config.txt

framebuffer_width=1280
framebuffer_height=800
hdmi_group=2
hdmi_mode=28
hdmi_cvt=1280 800 60 5 0 0 0

■Raspberry Pi Zero 2 W (RaspiOS 64bit Bullseye)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
$ lscpu
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
Vendor ID:                       ARM
Model:                           4
Model name:                      Cortex-A53
CPU max MHz:                     1000.0000
CPU min MHz:                     600.0000
$ cat /proc/cpuinfo
Hardware        : BCM2835
Revision        : 902120
Serial          : 00000000XXXXXXXX
Model           : Raspberry Pi Zero 2 W Rev 1.0
$ dpkg -s gcc
Architecture: arm64
Version: 4:10.2.1-1
Provides: c-compiler, gcc-aarch64-linux-gnu (= 4:10.2.1-1)
■Python関連

BullseyeではPython2用にビルドされているコアパッケージはほとんどありません。 アップデートが終了しているPython2用のライブラリは動作しない可能性があります。
$ ls -al /usr/bin/python*
/usr/bin/python -> python2
/usr/bin/python2 -> python2.7
/usr/bin/python2.7
/usr/bin/python3 -> python3.9
/usr/bin/python3.9

$ cat /usr/local/bin/pip
#!/usr/bin/python3
.....
$ cat /usr/local/bin/pip3
#!/usr/bin/python3
.....

pythonコマンドでは、python2が起動するようになっていますが、pip は pip も pip3 も python3を指しています。

#!/usr/bin/python
#!/usr/bin/env python
Shebang(シバン)は、Linux環境でスクリプトの1行目に記述し、そのスクリプトを実行するインタープリタを示します。
Python3 を前提とした Bullseye で、Python 2 で動作してしまっては混乱を招きます。 そこで、Pythonコマンドが実施された場合に、Python 3 で動作するように設定変更します。

$ sudo apt-get install python-dev-is-python3
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libpython2-dev libpython2.7 libpython2.7-dev python2-dev python2.7-dev
これを削除するには 'sudo apt autoremove' を利用してください。
取得:1 http://deb.debian.org/debian bullseye/main arm64 python-is-python3 all 3.9.2-1 [2,800 B]
取得:2 http://deb.debian.org/debian bullseye/main arm64 python-dev-is-python3 all 3.9.2-1 [1,396 B]
python-dev-is-python2 (2.7.18-9) を削除しています ...

$ ls -al /usr/bin/python*
/usr/bin/python -> python3
/usr/bin/python2 -> python2.7
/usr/bin/python2.7
/usr/bin/python3 -> python3.9
/usr/bin/python3.9

※Python2絡みで影響を受けてしまったアプリケーション
Pimoroni Piano HAT と DAWソフトウェア Rosegarden を連携するための、midi-sequencerでエラーがでてしまいました。
AttributeError: module 'midi.sequencer' has no attribute 'SequencerHardware'
このモジュールは、Python 2 用のライブラリに依存しています。 この類のエラーは厄介で、python3対応モジュールがでるのを待つことにします。

■WiringPiライブラリのビルド
gpioコマンドを使えるようにするために、WiringPiをビルドしました。
$ sudo apt-get install libi2c-dev
$ git clone https://github.com/WiringPi/WiringPi.git
$ cd WiringPi
$ ./build

■無線LANの設定
$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
  ssid="[ブロードバンドルーターのSID]"
  psk="[パスフレーズ]"
  key_mgmt=WPA-PSK
}

ブロードバンドルータのSID、パスフレーズが設定されていない場合は、このファイルを直接編集してください。

◇ラズベリーパイのローカルIPアドレスの固定化
下記を追加します。
$ sudo vi /etc/dhcpcd.conf
interface wlan0
SSID [ブロードバンドルーターのSID]
static ip_address=192.168.11.33/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1

ここでは、ラズベリーパイのローカルIPアドレスを 192.168.11.33、ルーターのアドレスを、192.168.11.1 として説明しています。

■2022.02.07時点での未解決事項

・機械学習ライブラリー scikit-learn(サイキット・ラーン)
・科学技術計算ライブラリー SciPy(サイパイ)
 ダウンロード終了間際に強制終了

$ sudo pip3 install tensorflow
ERROR: Could not find a version that satisfies the requirement tensorflow ERROR: No matching distribution found for tensorflow

1月28日に公開されたばかりパッケージなので、まもなく対応してくれるかもしれません。

■参考文献
3Bよりも速く、従来のZeroモデルより5倍速いPi Zero2 W
Raspberry pi OS 64bit 版 に移行!
Python 2 support for Bullseye
Raspberry Pi(ラズベリー パイ)は、ARMプロセッサを搭載したシングルボードコンピュータ。イギリスのラズベリーパイ財団によって開発されている。
2019.12.19 ファイル共有 dokany + Win-sshfs
2019.12.26 Arduino開発環境構築 PlatformIO
2022.02.08 Zero 2 W と Bullseye
2022.07.15 NAS導入とApache2パス設定
2023.04.01 秋月・amazon・PIMORONI・tindie
2023.07.16 ログ表示
2024.04.23 NASリプレース
2024.10.24 Bookworm & PlatformIO
2025.08.09 ESP32 WEB SERVER

たいていのことは100日あれば、うまくいく。長田英知著
「時間がなくて、なかなか自分のやりたいことができない」 「一念発起して何かを始めても、いつも三日坊主で終わってしまう」 「色んなことを先延ばしにしたまま、時間だけが過ぎていく」 そこで本書では、そんな著者が独自に開発した、 まったく新しい目標達成メソッド「100日デザイン」について、 その知識と技術を、余すところなくご紹介します。

まんがで納得ナポレオン・ヒル 思考は現実化する
OLとして雑務をこなす日々に飽き足らず、科学者だった父が残した薬品を商品化すべく、起業を決意した内山麻由(27)。彼女はセミナーで知り合った謎の女性からサポートを得ながら、彼女と二人三脚でナポレオン・ヒルの成功哲学を実践し、さまざまな問題を乗り越えていく。 ヒル博士の<ゴールデンルール>に従い、仕事に、恋に全力疾走する彼女の、成功への物語。

今日は人生最悪で最高の日 1秒で世界を変えるたったひとつの方法 ひすいこたろう著
偉人の伝記を読むと、最悪な日は、不幸な日ではなく、新しい自分が始まる日であることがわかります。最悪な出来事は、自分の人生が、想像を超えて面白くなる兆しなのです。偉人伝を読むことで、このときの不幸があったおかげで、未来にこういう幸せがくるのかと、人生を俯瞰する視線が立ち上がるのです。

ご飯は私を裏切らない heisoku著
辛い現実から目を背けて食べるご飯は、いつも美味しく幸せを届けてくれる。 29歳、中卒、恋人いない歴イコール年齢。バイト以外の職歴もなく、短期バイトを転々とする日々。ぐるぐると思索に耽るけど、ご飯を食べると幸せになれる。奇才の新鋭・heisokuが贈るリアル労働グルメ物語!

【最新版Gemini 3に対応!】できるGemini (できるシリーズ)
Geminiを「最強の知的生産パートナー」として使いこなすための、実践的なノウハウを凝縮した一冊です。 基本的な操作方法から、具体的なビジネスシーンでの活用、日々の業務を自動化するGoogle Workspaceとの連携、さらには自分だけのオリジナルAIを作成する方法まで余すところなく解説します。

Rustプログラミング完全ガイド 他言語との比較で違いが分かる!
Rustの各手法や考え方を幅広く解説! 500以上のサンプルを掲載。実行結果も確認。 全24章の包括的なチュートリアル。

ポチらせる文章術
販売サイト・ネット広告・メルマガ・ブログ・ホームページ・SNS… 全WEB媒体で効果バツグン! カリスマコピーライターが教える「見てもらう」「買ってもらう」「共感してもらう」すべてに効くネット文章術

小型で便利な Type-C アダプター USB C オス - USB3.1 オスアダプター
Type-C端子のマイコンボードをこのアダプタを介して直接Raspberry Piに挿すことができます。ケーブルなしで便利なツールです。

Divoom Ditoo Pro ワイヤレススピーカー
15W高音質重低音/青軸キーボード/Bluetooth5.3/ピクセルアート 専用アプリ/USB接続/microSDカード

電源供給USBケーブル スリム 【5本セット】
USB電源ケーブル 5V DC電源供給ケーブル スリム 【5本セット】 電源供給 バッテリー 修理 自作 DIY 電子工作 (100cm)

Copyright © 2011-2027 Sarako Tsukiyono All rights reserved®.