ワテもいよいよRaspberry Piをやってみた。
表題の通り、LEDチカチカに成功した。
Raspberry Piの名前は数年前からよく聞いていたのでその存在は知っていた。
ワテの理解ではRaspberry Piと言えば、手のひらに乗るくらいの小さなシングルボードコンピュータで、Linux系のOSがインストールできて、各種の接続ポートも標準装備されている。
Raspberry Piは世間では自作ロボット、自作NCマシン、自作の各種電子工作などに組み込んで使われているのも知っていた。
ワテも前々からRaspberry Piを使ってみたいなあと言う気持ちは有ったのだが、買ったとしても一人独学で使いこなせるかなあと言う不安があった。
そんな時に、丁度タイミングよくVesiri社さんからRaspberry Pi製品レビューの依頼を頂いた。
これは渡りに船と言うことで、そのレビューをお受けする事にしたのだ。
と言う事で、当記事ではRaspberry Pi初心者のワテが初めてRaspberry Piを使ってみた過程を詳細に記事で紹介したい。
具体的には以下の内容を紹介したい。
- Vesiri Raspberry Pi 4B Starter Kit RAM 4GB組み立て
- OSの入手とインストール
- 入出力ポートを使ったLEDチカチカ実験(Pythonプログラミング)
なお、レビュー記事の依頼を受けたからと言ってVesiri社さんに配慮して良い点ばかりを強調して悪いと感じた点には触れないのでは公平なレビューが出来ない。
そうではなくて、あくまで公平中立な立場でワテが気づいた良い点・悪い点などを遠慮なくレビューしたい。
では本題に入ろう。
アマゾンでVesiri Raspberry Pi 4B Starter Kit RAM 4GBを発注した
Vesiri社製のRaspberry Pi 4B Starter Kit RAM 4GBをアマゾンで発注した。
VesiriさんのこのRaspberry Piは第4世代のモデルBと言う最新型だ。
ワテはRaspberry Piは初めて買ったので第4世代と言っても良くわからない。
そこでRaspberry PiのWikipediaやRaspberry Pi公式サイトから第3世代と第4世代の仕様を以下に引用させて頂く。
Raspberry Pi 3B+ | Raspberry Pi 4 | Raspberry Pi 4B | |
SoC | Broadcom BCM2837B0 | Broadcom BCM2711 | Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64bit |
RAM | 1GB | 1GB, 2GB, 4GB | 4GB, 8GB |
電源 | microUSB | USB Type-C | USB Type-C |
Bluetooth | 4.2 | 5 | 5 |
映像出力 | HDMI | microHDMI × 2 | microHDMI × 2 |
周波数 | 1.4 GHz | 1.5 GHz | 1.5 GHz |
推奨電源 | 5 V 2.5 A (12.5 W) | 5 V 3 A (15 W) | 5 V 3 A (15 W) |
USB | 2×4 | 2.0×2, 3.0×4 | 2.0×2, 3.0×2 |
画質 | HD | 4K | 4K |
表 Raspberry Piの第3世代、第4世代、第4B世代の比較
引用元 https://ja.wikipedia.org/wiki/Raspberry_Pi_4
今回ワテが発注したVesiri社製のRaspberry Pi 4B Starter Kit RAM 4GBは上表の右端の仕様になる。
Raspberry Pi 4B Starter Kit RAM 4GBの仕様
Raspberry Pi 4B Starter Kit RAM 4GBの仕様を確認しておこう。
その内容は、SoC(System-on-a-chip)と呼ばれるプロセッサはARM社製1.5GHz 4コア64bit、メモリは4GB、USBポート合計4個、4K表示可能なmicroHDMIが2ポート、Bluetooth5も標準装備だ。
あとはUSB接続のマウスとキーボード、microHDMIポートに液晶ディスプレイを用意して接続すれば小型高性能コンピュータが完成するのだ。
オペレーティングシステムはRaspberry Pi公式サイトからダウンロード出来る。そのOSをキットに付属のMicroSDカードに入れてRaspberry Pi本体に挿し込んで電源を入れるとOSが起動する。
その辺りの作業は当記事の後半で行う。
ちなみにVesiri社ではRAM 8GBバージョンも販売されている。
4GB版と8GB版との価格差は本日の時点では3,000円くらいなので、大規模なプログラミングをやる予定の人は8GB版を買っておくと良いかも知れない。
でも4GBも有れば十分なメモリサイズだと思う。
Vesiri Raspberry Pi 4B Starter Kitを開封する
アマゾンから届いた小包を早速開封する。幅20cmくらいの小箱にパーツが綺麗に収納されている。
写真 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBを開封する
下写真のように全てのパーツを取り出した。
写真 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの内容物
赤い袋に入っているのがRaspberry Pi基板で白色のやつは基板を収納するケースだ。
下写真のように赤い袋を開封して基板を取り出す。
写真 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの基板
下写真はACアダプターだ。USB-Cケーブルの途中に電源スイッチ付きなので使い易い。
写真 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの電源接続は5V3AでUSB-Cタイプ
下写真のように拡大してみた。出力5.0V/3.0Aと印字されている。
写真 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの電源アダプター5V3A
下写真はRaspberry Pi基板以外のパーツを並べて撮影してみた。
写真 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBのヒートシンク、ファン、microSDメモリなど
これらのパーツの説明はアマゾンにあるVesiri Raspberry Pi 4B Starter Kit RAM 4GBの商品説明の画像が分かり易いので以下に引用させて頂く。
図 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBのセット内容
32GBのMicroSDカードまで付いているのは有り難い。MicroSD 32GB単体で買ったとしても千円前後はすると思うし。
Vesiri Raspberry Pi 4B RAM 4GBの入出力端子
さて、ワテの初のRaspberry Piなのでその基板を写真で紹介しよう。
写真 Vesiri Raspberry Pi 4 Model B RAM 4GB全体写真
上写真の多数のコネクタの意味はアマゾンにあるVESIRIさんの商品紹介画像が分かり易いので以下に引用させて頂く。
図 Vesiri Raspberry Pi Model 4B RAM 4GBの入出力端子
引用元 アマゾンのVesiri Raspberry Pi 4B Starter Kit RAM 4GBの商品説明
ちょっと写真が暗いが下写真はUSBポートとLANポートの側から撮影した。
写真 Vesiri Raspberry Pi 4 Model B RAM 4GBのUSBポートとLANポート
合計4つのUSBポートが有ればUSBマウス、USBキーボードを挿しても2個余るので十分だろう。
下写真左にある黒色の20ピンx2列(合計40ピン)のピンヘッダは40-Pin Headerと呼ばれるやつで、これらのピンを使って各種の信号を入出力出来るのだ。
写真 Vesiri Raspberry Pi 4 Model B RAM 4GB全体写真
Vesiri Raspberry Pi 4Bは技適認証済
下写真は基板の裏側だ。
基板右端にはMICRO SD CARDスロットが付いているのでこの部分に付属のMicroSDカードを挿せば良い。あるいは付属のUSB接続タイプのSDカードリーダーに挿してUSB接続しても良い。
写真 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの基板裏側
上写真の基板裏面の中央下部に技適マークがあるのが分かるだろう。
図 技適マーク
Raspberry Piの基板にはWiFi機能が付いているので電源を入れると自動的に電波が出る。
ネット情報によると、そのような製品を日本国内で使用するには、日本の電波法に定められている技術基準に適合している事を示す「技術基準適合証明(技適)」認証を取得している必要があるとの事だ。
Vesiri Raspberry Pi 4B Starter Kit RAM 4GBは「技適取得済」で有ることを示すこの技適マークが付いているので安心だ。
参考までに、実体顕微鏡でRaspberry Pi基板を拡大撮影してみた。
写真 実体顕微鏡でRaspberry Pi基板を拡大撮影
上写真のように各種サイズの表面実装部品が使われている。
長方形の抵抗やコンデンサが多数ハンダ付けされているが、最も小さなやつは長さが1ミリ以下の極小サイズだ。
このあとの作業でこの基板を白いケースに収納するが、注意事項としてはこれらの極小の表面実装部品をうっかり何かにぶつけるなどすると、剥がれ落ちる危険性もあるのでその辺りの扱いには注意が必要だ。
あと、静電気で半導体デバイスを壊す事故も起きるので、その点も要注意だ。
Vesiri Raspberry Pi 4B Starter Kitを組み立てる
では早速組み立ててみよう。
付属のマニュアルは各国語で書かれている。
図 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの説明書(各国語、日本語もあり)
下写真は日本語部分を拡大してみた。
図 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの説明書(日本語部分)
この説明書には組み立て作業の詳細に付いては記載が無いようだ。
まあ説明書が無くても実物を見ながらやれば出来そうなので先に進む。
ちなみに下写真のように説明書にも技適に関する説明書きがあった。
図 Vesiri Raspberry Pi 4B Starter Kit RAM 4GBの説明書にも技適認証済の説明あり
電波法に違反すると罰金だけでなく懲役刑になる場合もある。
アマゾンやAliExpressには技適認証を取得していない電子機器も販売されているので注意が必要だ。
免許を取得しないで電波を発射すると、不法無線局を開設・運用したとされ電波法違反となります。 1年以下の懲役又は100万円以下の罰金、また、公共性の高い無線局に妨害を与えた場合は、5年以下の懲役又は250万円以下の罰金の対象となります。
引用元 電波適正利用推進員のサイト
そう言う点でも、技適マーク認証済のVesiriさんの製品は安心して使える。
白色ケースは3つのパーツから成る
下写真のように白色ケースは3つのパーツに分解出来る。
写真 Raspberry Pi基板は白色ケースに挟み込む構造(ネジなどは使わない)
上写真で3つの白色パーツのうち、左端にあるのが底板だ。放熱の通気孔が開いている。
その底板の上にRaspberry Pi基板を載せて、白色パーツ中央のやつを被せて基板を挟み込む。
組み立てる際に下写真のように斜めになってしまう場合もあるので要注意だ。
写真 Raspberry Pi基板を白色ケースに収納した例(左:失敗例、右:成功例)
なので、基板を入れる前にケース単体で組み立てる練習を何度か繰り返せばコツを掴めると思う。
それで上手く出来るようになれば、基板を入れて組み上げれば上写真右のように成功するだろう。
下写真は上から撮影したものだ。
写真 Raspberry Pi基板を白色ケースに挟み込んで組み立て成功
この上に上蓋を被せれば完成となる。ただしその前にキットに付属のヒートシンクとファンを取り付ける必要がある。それはこのあとで行う。
無事にケース組み立て成功すると、下写真のようにケース側面に開いている穴位置に、基板上にある各種の接続コネクタが正しく顔を出す。
USB-C, MicroHDMIx2, Audio | Micro SD CARDスロット |
写真 ケース側面からアクセス出来る入出力端子
MicroHDMI端子が2個あると言うことは、二画面出力が出来るのかな?
その辺りは今後試してみたい。
上写真右のMicroSD Cardスロットはケース底部にあるのでアクセスしにくい。
そのスロットにMicroSDカード挿し込むのは問題ないが、引き抜く作業がやりにくかった。
例えば何らかの機器にRaspberry Piを組み込むとして、その開発段階で何度も頻繁にMicroSDカードを抜き差しする必要がある場合には、付属のUSBカードリーダーにMicroSDカードを装着してUSB接続で使うほうが扱いやすいと思う。
実際、このあとでOSをインストールするが、その時にはOSを入れたMicroSDカードをUSBカードリーダーに装着してRaspberry Piを起動する方式でやった。
3種類のヒートシンクを自分で貼る
さて、Raspberry Piキットには下写真中央にある三種類のヒートシンクが付属している。
ヒートシンク裏側は粘着テープになっているので保護シートを剥がして貼り付ければ良い。
写真 発熱する半導体デバイスにヒートシンクを貼り付ける
このヒートシンク貼り付け作業は基板をケースに収納した状態でも可能だとは思うが、以下では念のために基板をケースから取り出した状態で作業している。
下写真のように三個のヒートシンクを貼り付けた。
写真 三個のヒートシンクを貼り付けた
どのヒートシンクどこに貼り付ければ良いのかは、ネット検索すれば作業例の写真が沢山ヒットするのでそれを見てやった。
あるいはヒートシンクの大きさや形状から判断すれば、どれをどこに貼れば良いのかは見当が付くだろう。
ヒートシンクを貼り付ける際の注意事項としては、半導体デバイスの上面からヒートシンクがはみ出さないようにすることが重要だ。
もしヒートシンクがはみ出してしまうと、先程の作業で白色ケースを上から被せたがヒートシンクがケースに干渉してケースが嵌らなくなるからだ。
写真 ヒートシンク貼り付け終わったので白色ケースを被せた
そう言う点では、ケースを被せたあとでヒートシンクを貼る方が確実かも知れない。
その辺りは、皆さんの自由にやればよいだろう。
ファンを取り付ける
あとは上蓋を被せれば完成するのだが、その前に上蓋にはファンを取り付ける必要がある。
写真 付属のファンを上蓋に取り付ける(4組のネジとナットは使わない)
上写真では4本のネジとナットが写っているが、これは使わなかった。
このDCブラシレスモーターファンは白いラベルに印字されている文字を見るとDC5V/0.20Aの仕様だ。
一般に上写真のようなファンはこのようなラベルが貼ってある側から空気が噴き出す。なのでそのラベル側がヒートシンクに向くように取り付ければ良い。
下写真のように、このケースは上蓋にある四箇所の爪にファンを引っ掛けて固定する構造だ。
四箇所の爪の間にファンを挿し込んで爪が「カチッ」と鳴るまで差し込めば良い。
写真 ファンの取り付け間違いの例
ところが上写真ではオレンジ枠で囲った部分の爪がファンの中に入って羽根を押さえてしまっている。
これじゃあ電源を入れてもファンが回らない。
実はこの失敗に気づかずにしばらくRaspberry Piを使っていたのだ。
その時には当然だがファンが回らなかった。
でもワテは、多分CPUがそんなに発熱していないからファンが回らないんだろう。何か重い処理をすればCPUが発熱してファンも回るだろうという程度に思っていた。
でも実は、上写真のようにファンの羽根を物理的に止めてしまっていたのだ。
で、先程この失敗に気がついて修正しておいた。
さて、ファンにはDC5Vを供給する必要があるが、それは40ピンヘッダの下写真の部分にコネクタを挿せば良いみたい。これはネット情報で調べた。
写真 ファンに5VとGNDを供給するためにコネクタを40ピンヘッダに挿す
上写真で2列になっている40ピンヘッダの奥列の左から2番目(5V)と3番目(GND)にファンのコネクタを挿したらファンが回った。
赤色ケーブルに5V、黒色ケーブルにGNDを供給する。
40-pin HeaderとGPIOピンの関係
さて、この40ピンヘッダに付いて少し調べておこう。
ラズベリーパイ公式サイトに分かり易い図が有ったので引用させて頂く。
図 GPIO and the 40-pin Header
引用元 https://www.raspberrypi.com/documentation//computers/os.html#gpio-pinout
まず、この20ピンx2列(合計40ピン)の端子は「40-pin Header」と呼ぶようだ。
この40ピンは上図のように1から40までの番号が振ってある。
今回5Vファンに使ったのは、4番ピン(5V)と6番ピン(Ground)となる。
一方、この40ピンの中に GPIOと名付けられた端子が幾つかある。
GPIOとは英語で(general-purpose input/output)との事なので、日本語なら「汎用入出力ピン」という訳で良いのかな。
注意事項としては上図に示すようにGPIOピンは40ピンヘッダの中に規則的に配置されているのではなくて、色んな場所に飛び飛びに存在する。かつ、GPIOピンの番号は40ピンヘッダの番号とは全く無関係に振られているようだ。
例えばGPIO17ピンは40ピンヘッダ11ピンに割り当てられているが、それを単に「17ピン」と言うとGPIOの17ピンなのか40ピンヘッダの17ピンなのか混乱する。
なのでRaspberry Piを扱う場合には、GPIOピンの番号と40ピンヘッダの番号とを明確に区別しながら作業を行う必要があるだろう。
図 GPIO and the 40-pin Header
引用元 https://www.raspberrypi.com/documentation//computers/os.html#gpio-pinout
上図ではGPIO2から始まってGPIO26まであるがGPIOの0や1が見当たらない。
以下に引用するように、ラズベリーパイ公式サイトの情報によるとGPIOピン0とGPIOピン1は基板上にあるとの事だ。
The numbering of the GPIO pins is not in numerical order; GPIO pins 0 and 1 are present on the board (physical pins 27 and 28) but are reserved for advanced use (see below).
基板上にあるGPIOピン0やGPIOピン1の使い方は今後調査したい。
Raspberry Piのオペレーティングシステムを準備する
さて、次はRaspberry Piを起動するためのオペレーティングシステムの準備作業に取り掛かる。
付属のMicroSDカードは下写真のように付属のSDカードリーダーに差し込めばUSB接続可能となる。
写真 付属SDカードリーダーにMicroSDカードを挿した例
ちなみに、上写真右のSDカードリーダーの「川宇」ってのは何か?
ネット検索して調べてみたが、SDカードリーダーでは有名なメーカーらしい。
アマゾンにも売っている。
Vesiri Raspberry Pi 4B Starter Kit RAM 4GBには32GB microSDカードや川宇カードリーダーまで標準装備されているのでお買い得感がある。
Raspberry Pi Imagerを入手してWindowsにインストールする
ワテが使っているWindows 10パソコンのUSBポートに上写真の川宇のカードリーダー(MicroSD 32GB装着済)を挿し込んでおいた。
次に、ラズベリーパイ公式サイトからRaspberry Pi Imagerと言うツールをダウンロードした。
実行するとRaspberry Pi Imagerツールがパソコンにインストール出来る。
図 Raspberry Pi Imagerのインストール画面
インストールに成功するとWindowsのスタートメニューにRaspberry Pi Imagerが追加された(下図)。
図 WindowsのスタートメニューにRaspberry Pi Imagerが追加された
早速Raspberry Pi Imagerを実行してみる。
WindowsパソコンでRaspberry Pi Imagerを実行する
Raspberry Pi Imagerを実行すると下図の画面が出る。
図 Raspberry Pi Imagerの起動直後の画面
上図の通り、簡素な画面なので説明を読まなくても分かる。
下図のようにとりあえず推奨(Recommended)されている32ビットOSを選択した。
図 推奨(Recommended)されている32ビットOSを選択
次に、下図のストレージを選ぶをクリックした。
図 ストレージを選ぶをクリック
下図のように事前にパソコンに挿している川宇のUSBが候補に出た。
図 パソコンに刺さっているストレージデバイスの一覧が出る
下図のように川宇の32GB MicroSDを選択した。
図 川宇の32GB MicroSDを選択した
書き込むボタンをクリックしたら下図のように確認画面が出る。
図 書き込むボタンをクリックしたら下図のように確認画面が出た
ここで「はい」をクリックするとネットワーク経由でOSをダウンロードしてUSBメモリに書き込まれる。
図 USBメモリにOSを書き込み作業中
注意事項としては、しばらくすると下図のようにWindowsが「ドライブI:を使うにはフォーマットする必要があります。フォーマットしますか?」と言うメッセージを表示した。
図 紛らわしいWindowsのメッセージはキャンセルする
ここでうっかりして「ディスクのフォーマット」をクリックするとやり直しなので、冷静に「キャンセル」をクリックする。
下図のようにUSBに装着したMicroSDカードにRaspberry Pi OS(32bit)が書き込まれた。
図 USBに装着したMicroSDカードにRaspberry Pi OS(32bit)が書き込まれた
これで準備完了だ。
Vesiri Raspberry Pi 4BのOSを起動する
早速このOSでRaspberry Piを起動してみよう。
USBキーボード、USBワイヤレスマウス、HDMI液晶ディスプレイを接続
下写真のようにRaspberry Piの本体に、5V電源、HDMI液晶ディスプレイ、USBキーボード、USBワイヤレスマウスを接続した。
写真 電源、HDMI液晶ディスプレイ、USBキーボード、USBワイヤレスマウスを接続
OSをインストールしたUSBタイプSDカードリーダー(microSDメモリ装着済)もUSBソケットに挿した(下写真)。
写真 電源、HDMI液晶ディスプレイ、USBキーボード、USBワイヤレスマウス、USBカードリーター(OS)を接続
写真 USBキーボード、USBワイヤレスマウス、USBカードリーター(OS)拡大写真
USBポートはUSB2.0とUSB3.0が各2個(合計4個)あるが、USBキーボード、USBワイヤレスマウス、USBカードリーター(OS)を挿したので3個を使った。まだ一つ余っているので安心だ。
上写真ではOSが入ったUSBカードリーターを左側USB2.0ポートに挿している。
でも右側USB3.0ポートに挿す方が読み書き速度が速いのでOSの実行速度が向上するかも知れない。その辺りの実験は今後試してみたい。
OSを起動する
そしていよいよACアダプターに付いている電源スイッチをONした。
数秒後に下写真の画面が出た。
写真 Raspberry Piの起動直後の画面
でも先に進まない。
そこで <ESC> to cancel and go to diagnostics screen と書いてあるのでESCキーを押してみた(下写真)。
写真 diagnostics screenにFailed to open device:’sdcard’ のエラーメッセージ発見
上写真のようにFailed to open device:’sdcard’ のエラーメッセージが出ている。
なんでかな?
良くわからないので、USBカードリーター(OSを入れたMicroSD装着済)を抜き差しして、再び電源投入からやり直した。
その結果、下写真のように無事にRaspberry Pi Desktopウインドウが表示された。
写真 無事にRaspberry Pi Desktopウインドウが表示された
この時点ではRaspberry Piの画面をキャプチャーする方法が分からなかったのでスマホで撮影している。
初期設定を行う
下写真のように幾つかの設定画面が出て来るので、必要に応じて入力する。
写真 国、言語、タイムゾーンを設定
上写真のようにJapan, Japanese, Tokyoと入力した。
次に下写真のようにユーザー名、パスワードを設定した。
写真 ユーザー名、パスワードを設定した
写真には撮っていないがこの設定作業ではWiFiの設定画面も出てきたのだが、それはスキップした。WiFi設定はこのあとで手作業で行う。
ここまで来れば設定完了なので下写真のRestartボタンをクリックした。
写真 Restartボタンクリックして再起動する
上でも紹介したようにファンの取り付け間違いをしていた。
その結果、この時点でもファンは回っていない。
写真 上蓋の爪がファンの羽根を止めている(取り付け間違い)
このあとで、ファンの取り付けはやり直しておいた。
Raspberry Pi OS(32bit)が無事に起動
さて、下写真のようにRaspberry Pi OS(32bit)が無事に起動したぞ。
写真 Raspberry Pi OS(32bit)が無事に起動した
素晴らしい。
ワテ人生初のRaspberry Piだ!
さてRaspberry Pi OSに関してはワテは全く知らない。
Raspberry PiのWikipediaによるとOSはDebian系らしい。
以下、Wikipediaから少し引用させて頂く。
最初のバージョン「Raspbian」(公開は2012年7月15日)
正式名称が「Raspbian」からRaspberry Pi OSへ変更(2020年5月)
Raspberry Pi OS with desktop and recommended software
Raspberry Pi財団が推奨するソフトウェア一式が入ったバージョンRaspberry Pi OS with desktop
GUIのX-Windowをはじめ、ブラウザやワープロ、表計算、プレゼンテーションなど事務用の必要最小限のソフトウェア(オフィススイート)も同梱している。OSパッケージは4GB以上になり、8GB以上のSDが必要である。Raspberry Pi OS Lite
軽量版。GUIは使えず、コマンドラインで利用する。GUIのX-Windowも最初から無い。「同梱ソフト」類も入っていない。
引用元 https://ja.wikipedia.org/wiki/Raspberry_Pi_OS
ちなみに、ワテの場合は昔はUnixをかなり使い込んだ経験がある。Linuxもgccコンパイラやmuleのコンパイルなどを必死でやった記憶がある。なのでUnixやLinuxの操作は大抵の事は分かるはずだ。
今回実行したのはRaspberry Pi OS with desktop and recommended softwareというやつだが、簡素なメニューだ(下写真)。
写真 Raspberry Pi OS with desktop and recommended softwareが起動した
上写真のGUIはX-Windowで動いているらしい。
ワテはX-WindowsやMotifプログラミングも昔はかなりやった経験がある。
Raspberry PiでMotifが使えるのかどうか知らないが、久しぶりにX-Windowプログラミングでもやってみるかな。
写真 Raspberry Pi OS起動実験の様子
さて次に進もう。
64bitのOSイメージも起動してみる
今回使っているVesiri Raspberry Pi 4B Starter Kit RAM 4GBはARM製64bitプロセッサが使われているので、OSも64bit版を実行してみたい。
Raspberry Pi Imagerツールを実行すると各種のOSを選択出来るが、ここでは事前にOSイメージを入手しておいて、それをRaspberry Pi ImagerでSDカードに書き出す手法でやってみた。
64bit OSの入手先は以下の通り。
https://www.raspberrypi.com/software/operating-systems/
このサイトにある各種のOSイメージの中から下図のRaspberry Pi OS(64-bit)をダウンロードした。
次に、Raspberry Pi Imagerツールを実行して、下図の「カスタムイメージを使う」をクリックした。
図 カスタムイメージをクリック
下図のように事前にダウンロードした64bit OSイメージを選択する。
図 事前にダウンロードした64bit OSイメージを選択する
あとはストレージを指定して書き込めば完了だ。
図 ストレージを指定して書き込む
このようにして作成したRaspberry Pi OS(64-bit)を使ってRaspberry Piを起動してみた。
その結果、最初に試した32bit版と何ら変わらない。
まあそうだろうなあ。
という訳で、以下の実験では推奨版(Recommended)の32bit版を使った。
vimエディタが見つからない
LEDチカチカ実験をするにあたり、Pythonでプログラムを書く必要がある。
そこで下写真のようにvimエディタを起動してみようとしたが見つからない。
写真 vimエディタが見つからないのでインストールした
しかし失敗した。理由はネットに接続していないからだ。
写真 ネット接続していないのでvimパッケージインストール失敗
この時点で「PrintScreen」キーを押すと全画面のキャプチャが撮れる事が分かった。
上写真の画面も「PrintScreen」キーで撮ったものだ。
キャプチャした画像は /home/wate に保存される。
ファイル名は 年-月-日-時刻_Width_Height_scrot.png 形式になる。
例: 2023-09-14-142055_1920x1200_scrot.png
Wi-Fi接続の設定を行う
LinuxにおけるWi-Fiの設定は未経験なので以下の作業はネット情報を参考に行った。案外簡単に出来た。
iwlistコマンドを実行してWi-FiスポットのESSIDを一覧表示する。
Wi-Fiの設定は /etc/wpa_supplicant/wpa_supplicant.conf に記述すれば良いらしい。
下写真のように接続したいルーターのssidとpskを書き込んで保存すれば良い。
設定を有効化するためにRaspberryPiを再起動した。
再起動したらネット接続が出来ているはずだ。
試しにブラウザーでYahooのサイトを開くことに成功した。
図 Wi-Fi設定を有効化してネット接続成功
ifconfigコマンドを実行してネット接続状態を確認。
ちなみに現状ではDHCPでIPアドレスを取得する設定になっている。
もし静的IPアドレスを設定したい場合には /etc/dhcpcd.conf で設定出来るらしい。
vimのパッケージをネット経由でインストールする
無事にネット接続出来たので、vimパッケージを再度インストールする。
今度はエラーせずに順調にインストール出来ている。
上写真のように無事にvimのインストールに成功した。
でも良く考えてみると、vimを入れなくてもLinuxにはもともとviエディタが入っているのでは無いのか?
まあどっちでもいいわ。vimもviも同じような操作性だから。
ちなみにワテはviは昔はバリバリに使いこなすことが出来た。今は忘れかけているが、やれば思い出すだろう。
viエディタ講座
viエディタはUnix/Linuxの基本だ。
以下のコマンドを覚えておけばどうにかなるだろう。
コマンドモードに入るにはESCを押す。
o 現在行の下に行を挿入
u Undo
A 現在行の末尾から文字入力開始
a 現在文字位置の後ろから文字入力開始
i 現在文字位置の前から文字入力開始
0 行頭にジャンプ
$ 行末にジャンプ
G 文末にジャンプ
1G 先頭行にジャンプ
6G 6行目にジャンプ
dG 文末まで削除
dd 1行を削除
3dd 3行を削除
yy 1行をコピー
3yy 3行をコピー
p コピーした行を現在行の後ろにペースト
P コピーした行を現在行の前にペースト
:q! 保存せずに強制終了
:wq 上書きして終了
:set nu 行番号表示
これでも自称viエディタの達人だ。
あとは手を素早く動かせば良いのだ。
ブレッドボードを使ってLEDチカチカ実験を行う
ブレッドボードにLEDと抵抗を直列接続する
LEDチカチカ実験を行うために手持ちのブレッドボードにLEDと5.6KΩ抵抗を直列接続した。LEDに流れる電流を制限する抵抗だ。
写真 Raspberry Piの40ピンヘッダとブレッドボードを赤黒ケーブルで接続
40ピンヘッダーとブレッドボードを接続
ブレッドボードと40ピンヘッダを接続する赤黒ケーブルは下写真のように接続した。
写真 ブレッドボードと40ピンヘッダを接続する赤黒ケーブル(赤ソケットはファン用)
上写真で赤色ソケットはファンの電源コネクタなのでここでは気にしなくても良い。
黒色ソケットの赤ケーブルと黒ケーブルがブレッドボードと40ピンヘッダを接続するケーブルだ。
以下のように接続している。
黒ケーブル:40ピンヘッダ11番ピン(GPIO17)
下図にGPIOと40-pin Headerの図を再掲する。
図 GPIO and the 40-pin Header
ブレッドボードへの赤黒ケーブル配線の様子を下写真に示す。
写真 ブレッドボードへの赤黒ケーブル配線の様子
上写真でLEDは足が長い方がアノード(⊕電極)、短いほうがカソード(⊖電極)だ。
赤ケーブルはLEDアノードに接続、LEDカソードは抵抗に接続している。抵抗のもう一方の足は黒ケーブルに接続している。
LEDチカチカPythonソースコード作成
さて、肝心のLEDチカチカするためのプログラムをPythonで書く。
ファイル led.py をvimエディタで作成した。
図 LEDチカチカ用Pythonソースコード
このLEDチカチカ用Pythonソースコードはネットで見つけたやつを少し手直ししたものだ。
#!/usr/bin/env python import RPi.GPIO as GPIO import time Led = 11 # pin11 def setup(): GPIO.setmode (GPIO.BOARD) # Numbering according to the physical location GPIO.setup(Led, GPIO.OUT) # Set pin mode as output GPIO.output (Led, GPIO.HIGH) # Output high level(+3.3V) to off the led def loop(): while True: print('...led on') GPIO.output(Led, GPIO.LOW) # led on time.sleep(0.5) print ('led off...') GPIO.output(Led, GPIO.HIGH) # led off time.sleep(0.5) def destroy(): GPIO.output(Led, GPIO.HIGH)# led off GPIO.cleanup()# Release resource if __name__ == '__main__': # Program start from here setup() try: loop() except KeyboardInterrupt: # Press 'Ctrl+C' to end the program destroy()
LEDチカチカ用Pythonソースコード
処理の流れとしては40ピンヘッダ11番ピン(GPIO17)の電圧を0.5秒毎にLOW(0V)とHIGH(3.3V)に切り替える無限ループになっている。
CTRL+Cで中止すると、11番ピンをHIGHにして終了する。
LEDチカチカPythonコードを実行する
早速実行してみる。
このコマンドを実行すると、下図のようにターミナルに0.5秒毎に表示されて行く。
写真 LEDチカチカPythonプログラムを実行した
その様子を動画でキャプチャした。
LEDがチカチカする様子も動画に収めた。
LEDの光量が少し暗いがチカチカしているのが分かるだろう。
Raspberry Piを使ったLEDチカチカに成功したのだ。
電源電圧は3.3Vなので5.6KΩを入れるとLEDには0.6mA程度の電流が流れている計算だ。
一般にLED(発光ダイオード)は10mA前後の電流で使う場合が多いので、今回使った5.6KΩだと電流が少ない。
もっと明るく光らせたいなら330Ωくらいの抵抗を使うと良いだろう。
なのでかなり明るくなるはずだ。
という事で、無事にRaspberry Piを使ってLEDの点滅に成功した。
まとめ
ArduinoやそのワンチップマイコンであるAtmega328Pのプログラミングは以前にかなりやった経験がある。
今回、ワテもいよいよRaspberry Piをやることにしたのだ。
当記事はVesiri社さんからレビュー依頼を受けたワテが、Raspberry Pi 4B Starter Kitを組み立ててLEDチカチカ実験をするところまでの作業を紹介した。
過去にArduinoを使った経験で言うと、Arduinoの場合にはパソコンとUSBケーブルで接続しておいて、パソコン側からArduino側にスケッチと呼ぶプログラムを書き込んで実行する。
実行結果を画面に表示させるにはArduinoからパソコンにデータをシリアル送信してパソコンの画面に表示する必要がある。
つまり結構面倒くさいのだ。
一方、Raspberry Piの場合には当記事で紹介したようにmicroHDMI端子に液晶ディスプレイを接続して、あとはUSBマウス、USBキーボードを接続すればRaspberry Pi単体で高性能なシングルボードコンピュータになるのだ。
このようにRaspberry Piは他のコンピュータが無くても単体で手軽に扱えるので、組み込み機器として使う用途にはRaspberry Piは最適だと思う。
今回はPythonを使ったが、Raspberry PiのOSはLinux系なので各種の言語が使える。その場合にはviエディタ(vim)が使えないと不便なので、この際、基本的なコマンドは覚えておくと良いだろう。
ワテの場合、昔はviエディタを使って数万行くらいのソースコードを必死で編集していた事もある。
なので今でも基本コマンドは覚えている。
昔取った杵柄というやつか。京王線の駅は笹塚。なんのこっちゃ。
Vesiri社のRaspberry Piキットの使い勝手に関しては、基板をケースにはめ込むだけなので難しい点は無かった。
強いて問題点を上げるなら、ケースを被せる時に斜めになる場合があるので多少やり辛かった。
それとファンを固定する時にウッカリ間違えるとファンの羽根をケースの爪で押さえてしまう問題もある。
逆に言えばその二点さえ十分に注意しておけば組み立てに失敗する事は無いだろう。
あと気づいた点としては、もう少し詳しい組み立て説明書が付属していれば良いと思う。
この点に関してはネット検索すれば組み立て方を解説しているサイトは沢山あるし、そもそも基板をケースにはめ込むだけなので、説明書が無くても実際上は組み立てでそんなに迷うことは無いと思う。
でも詳しい組み立て説明書が付属しているほうが商品としての完成度の高さをアピール出来ると思う。
という事で大きなトラブルも無く無事にRaspberry PiでLEDチカチカまでを完了することが出来た。
今後の予定としてはこのRaspberry Piを使って何かやってみたいのだが、何をやるかそのテーマを考える事から始めたい。
(続く)
アマゾンで Raspberry Pi 4B Starter Kit を見る>>
コメント