OrangePi5を試してみた
はじめに
Orange Pi 5 というSBC(シングルボードコンピューター)が 2022年末頃に発売開始されました。
これが Raspberry Pi 4 よりも性能がよく、比較的安価な価格設定というところで、
一部でブームが来ているように思います。
また、Raspberry Pi 4 は入荷されてもすぐに売り切れたり、
以前よりは価格上昇というところで、買いにくい状況になっているようにも見えて、
それよりは比較的購入しやすい印象が Orange Pi 5 にはあります。
※つい最近では Raspberry Pi 4 入荷情報も頻度が増えてきて、正しいルートで購入ができるチャンスが増えてきました。2023年には流通が復活するという話は達成されそうですね。
この記事では Orange Pi 5 購入と OS の書き込み、ちょっとした電子工作として LED の点灯など紹介します。
OrangePi5 外箱
購入方法
簡単に Amazon や秋月電子、スイッチサイエンスなどから購入できるようになるとよいのですが、この記事を書いている時点ではできません。基本的には AliExpress からの購入になります。
販売元の Orange Pi 5 のページを開くとページ下部に、Orange Pi Store と書かれた AliExpress へのリンクがあります。ここをクリックしてAliExpressの商品ページに飛ぶほうが比較的安心して購入できるのではないかと思います。
私の場合ですが、発送通知が送られてきてから手元に到着までは2週間弱ほど掛かりました。
一緒に購入するとよかったもの
この記事を書いている時点での話になりますが、一緒に購入すればよかったものを挙げておきます。
- ヒートシンク
- ファンがついているものが良い
- ケース
- アクリルケース。最近だと全体ヒートシンク化したメタルなものが出ているらしい
性能が良い分、もりもり処理をさせていくと結構発熱します。小さめのヒートシンクのみだと熱を逃がせられないのでファンも必要になる感触でした。また、人によってはケースも欲しいと思いますので、ケースも一緒のタイミングがよいかと思います。現時点でケースは選べるほど出ておらず、欲しいケースがなければ自作の道という感じかなと思います。
私の場合、とりあえず六角スペーサーを取り付けて足にしています。
OSのインストール・書き込み
Orange Pi 5 はストレージとして microSD および M.2 スロットに装着したSSD が使えます。
最初は microSD に OS を書き込んだほうが圧倒的に楽です。
OS イメージのダウンロード
販売元のページからダウンロードページがあるので、そこから取得します。現在は Google Drive からダウンロードするようになっているようです。
いくつかOSが選べますが、ここでは導入が楽だった Debian 11 (bullseye) を使ってみます。
Orangepi5_1.1.0_debian_bullseye_desktop_xfce_linux5.10.110.7z
というファイルをダウンロードして、7-Zip などを用いて中に含まれている img ファイルを展開します。
書き込み
img ファイルを microSD に書き込みます。
このとき使用するソフトの一例は以下の通りですが、普段慣れているものを使うのでよいと思います。
- balenaEtcher
- Win32 Disk Imager
私の場合、microSD は 32GB のものを使用し、Win32 Disk Imager にて書き込みを行いました。
OSの起動確認
書き込んだ microSD を挿入して電源を入れ、OS が起動してくるかを確認します。
今回使用したイメージはデスクトップ環境ありのものなので、グラフィカルなデスクトップ画面が表示されました。
起動時の様子を録画したものが以下の通りです。
Orange Pi のカラフルな背景のデスクトップ画面が出ています。
LED を点灯させてみる
LEDを点灯させるのに、 Arduino や Raspberry Pi でやっていたような LED 直結する方法ではハマリどころがありました。このような接続をしたい場合には、一部のピンでしか実現できないようです。
標準的に使えた WiringPi (OrangePi 用)を用いて、コンソールで以下のコマンドを実行すると点灯を制御できました。gpio コマンドは一般ユーザーではパーミッションの問題から動作しなかったので、root で実行しています。
$ sudo -i
# gpio mode 5 out
# gpio write 5 on
# gpio write 5 off
指定しているピンの番号が "5" となっていますが、これは物理ピンとしては 11番に対応するものです。gpio readall
コマンドを実行すると物理ピンと対応する wPi のピン番号が表示されるので、そこから確認しています。
LED を点灯させてみる その2
Orange Pi 5 に備わっている PWM を用いて、フルカラー LED を点灯させてみました。
あとで紹介する電子書籍(同人誌)を参考に、Python から PWM を設定しカラーを設定するコードを作成しました。 使用したコードは下記の通りです。Arduino とは違って、直接LEDを点灯させるための力がないため、トランジスタによる回路を作成しています。
from periphery import PWM
import time
class LED:
def __init__(self, chip):
pwm = PWM(chip, channel=0)
pwm.duty_cycle = 0 # 先にゼロにしてから周期をセットすること.
pwm.frequency = 100000
pwm.duty_cycle = 0.0 # フル点灯
self.__pwm = pwm
def set_rate(self, rate):
self.__pwm.duty_cycle = max(0.0, min(1.0, 1.0 - rate))
self.__pwm.enable()
def destroy(self):
self.__pwm.disable()
self.__pwm.close()
## 各pwmchip の割当に応じて値をセット
blue = LED(5)
green = LED(1)
red = LED(3)
red.set_rate(0)
green.set_rate(0)
blue.set_rate(0)
while True:
try:
for s in range(0, 100, 5):
inv = 100 - s
red.set_rate( s / 100.0)
green.set_rate( inv / 100.0)
blue.set_rate(0)
time.sleep(0.2)
for s in range(0, 100, 5):
inv = 100 - s
red.set_rate(0)
green.set_rate( inv /100.0)
blue.set_rate( s / 100.0 )
time.sleep(0.2)
for s in range(0, 100, 5):
inv = 100 - s
red.set_rate( inv / 100.0 )
green.set_rate(0)
blue.set_rate( s / 100.0 )
time.sleep(0.2)
except KeyboardInterrupt:
red.destroy()
green.destroy()
blue.destroy()
sys.exit()
動作の様子
まとめ
Orange Pi 5 の OS 書き込みから通称Lチカまでを確認してみました。
今回紹介しただけでは性能の良さを体感するには足りていません。しかしこの後プログラムのコンパイルや仮想マシンの起動など、SBC でここまでできるのか!を試してもらう第1歩になってくれれば幸いです。
Orange Pi 5 の技術同人誌
Orange Pi 5 を入手してから試してみたことを記載した技術同人誌を作成しました。
OSのインストール手順やLinuxサーバー的な使い方の1例、電子工作でおなじみGPIOやI2C,SPIなど、試してみた結果を記載しています。研究ノート的な位置づけとして、私の作業メモですが誰かの役に立つかもという話題も記述しました。
Discussion
今までのorangepiについていたWi-Fiを捕まえるぶらぶらした棒みたいなのがあったと思うんですがorangepi 5はそれがついていないようなのでWi-Fiは使えないんですか?
orangepi5 には Wi-Fi がボード上に標準搭載されておらず、そのままでは Wi-Fi が使えません。
今のところ簡単に Wi-Fi を使うためには、 USB Wi-Fi を装着して使うことになりますね。
ありがとうございます。