OrangePi-PCを使ってみる

個人的な評価

今まで10回以上にわたり、OrangePi-PCを紹介してきました。
途中からご覧になった方はこ ちらが初回です。
全ての機能を試したわけではありませんが、RaspberryPi と比較した場合の個人的な評価です。

良いところ

@イメージが小さい
GUI無しのイメージを選べるので4GのSDカードでも十分使えます。
RaspberryPiにもGUI無しのイメージが欲しいです。 → いつの間にか raspbianにもliteバージョンが出ていました

ACPUパワー
こちらにRaspberry PiとOrange Piのベンチマーク比較が公開されています。
また、こちらでは Orange Pi Zero    Raspberry Pi2    Orange Pi PC2のベンチマーク比較が公開されています。
いずれもRaspberryPiに比べはるかに高いスコアを出しています。
安価に入手できるRaspberry Pi Zeroですが、パフォーマンスが低すぎて使い物になりません。
OrangePi ZEROはそこそこ使い物になります。
UnixBenchの結果によると、OrangePi PCはRaspberryPi 3とほぼ同じパフォーマンスです。
OrangePi PC2はRaspberryPi 4よりパフォーマンスが上です。
OrangePi 4やOrangePi 5になると、もう無敵です。

Bシリアルポート
シリアル通信で使えるポートが3組あります。
また、Armbianはデフォルトでデバッグ用のシリアルポート(ログイン可能なシリアルポート)が使えます。
OrangePi LiteやZeroなど、HDMI端子を持たないモデルのインストール時や、
USB-Wifiドングルを交換するときなど、デバッグポートは(かなり)重宝します。

Cオンボードの赤外線受信機
リモコンで簡単に操作することができます。

D新しいモデル
OrangePiシリーズは新しいモデルが定期的にリリースされています。
SOCもH2+、H3、H6、H616、H618、RK3566、RK3399、RK3588とバリエーション豊かです。
何を使えばいいのか迷ってしまうほどです。
ハイエンドだけでなく、Zero3やZero2Wの様なローエンドの新製品も発売されています。
Raspberryはローエンドの新製品が欲しいと思っても、ハイエンドの新製品しかありません。

E入手しやすい
2015年に発表されたRaspberry Pi Zeroは、2018年になってようやく入手できるようになりました。
OPIはどのボードでも、発売直後からAliですぐに入手することができます。
送料もそれほど高くなく、1週間程度で手元に届きます。
但し、ポスト投げ込みではなく、手渡し+受領捺印が必要なのが少し面倒です。

FUSB OTGコンソール
ZEROなどの一部の機種では、最初からUSB OTGコンソールを使ってログインができます。
電源供給用のUSBケーブルをWindowsPCのUSBポートに刺すだけで、コンソールが出現します。
PCやOneやLiteなどでも、USB OTGのドライバーを有効にするに事で、USB OTGコンソールが使えるようになります。
常時使用していなくて、時々使うボードや、常時稼働のサーバーとしてHeadLessで使っている場合、これに慣れてしまうともう戻れなくなりま す。

G安い
何といっても安いです。
RaspberryPi4を1枚買う値段で、OrangePi Zeroが3枚買えます。


悪いところ

@カーネル非標準のデバイス
ドライバーが無いデバイスを使いたい場合、ドライバーソースからのコンパイルが必要になりますが
ドライバーのコンパイル手順が今のところ良く分かっていません。
これは時間が経てば誰かが手順を公開してくれると思います。
ドライバーのコンパイル手順が分かったら紹介したいと思います。
新しいデバイスのインストールはかなり改善されました。
よほど特別なデバイスではない限り、調べれば何とかなります。
ドライバーソースの中にdkms.confが含まれているときは、dkmsによりインストールすることができます。
dkmsはこちらで紹介しています。

AハードウェアPWM
H3 datasheet v1.1に よると、ハードウェア PWMは1ポートしか使えません。
しかも使えるポートはオンボード上のUART0_RX(PA5)となっています。
このポートはWiringOPでは扱えないので、WiringOPでpwmWrite関数や「gpio pwm」コマンドは使えません。
Mainline Kernelでは標準でPWMドライバーが提供されています。

B開発環境
2017年11月時点で、以下の開発環境が無いです。
RPi.GPIOライブラリ → OrangePi版が公開されました。
WiringPi- PythonライブラリOrangePi版 が公開されました
bcm2835ライブラリ
bcm2825ライブラリをベースにしているツール(例えばWebioPiな ど)も動きません。
・WiringPiを使わずにライブラリ内部でgpioのアドレス操作を行っているライブラリ(例えばrpi-rgb-led-matrixpigpioなど)も動きません。

Cオンボードの赤外線受信機
IRの扱いが特殊なので、lirc を使って赤外線を発射することはできません。
赤外線発射もできる事が分かりました。
こちらで紹介しています。

DGPIO割り込み処理
そもそもGPIOの機能に割り込みがありません。
どうもArmbian側に問題があるようで、kernelのconfigを変更してkernelを再コンパイルすれば動くという情報もあります。
標準のカーネルでは、WiringOPの割り込み関連の関数(waitForInterrupt/wiringPiISR)は動きません。
Armbian Version5.25から動くようになりました。

ESPI通信処理
Raspberryではbcm2835ライブラリを使って高速なSPI通信を行う事ができますが、
OrangePiではWiringOPライブラリしかないので、SPI通信が(ものすごく)遅いです。
今のところ、これが一番ネックかもしれません。

FHDMIサポートが貧弱
RPiでは何も考えずに使えるHDMIモニターですがOPiでは難儀します。
Mainline Kernelで解消されています。

G販売終了や販売開始のアナウンスが無い
今まで入手できていたモデルが、いつの間にか入手できなくなっていることが(よく)有ります。
また、いきなり新しいモデルが登場することが(よく)有ります。
定期的にチェックしていないと、え!!!こんなの出たの!!!と思うことが(よく)有ります。


評価が分かれるところ

@OSイメージがモデルごとに分かれている
Raspbianは全てのモデルで同じイメージを使うことができます。
Rpi3でセットアップしたイメージを、そのままRpiZeroで使うことができます。

一方Armbianはモデルごとにイメージが分かれています。
今まではRaspbianの方が優れていると思っていましたが、
1つのOSイメージで全てのモデルをサポートするのはそろそろ限界かもしれません。
Raspbianの場合、新しいモデルの登場時に、破壊的な変更が発生することが有ります。

AGPIOのピンアサイン
Rpiは全てのモデルで統一したピンアサインとなっています。
Opiはモデルにより、ピン数やピンアサインが変わることが有ります。
GPIOを使っているアプリでは、ボードが変わるとライブラリやアプリの変更が必要になる事が有ります。
ボードにより採用しているSoCが違うので致し方ない点です。

Bパフォーマンス/安定性のどちらを優先するか
2019年にRaspberry Pi4がリリースされましたが、その性能の低さに正直がっかりしました。
2016年にリリースされたOrangePi-PC2の方が、2019年リリースのRaspberry Pi4を上回っています。
まだ入手していませんが、2019年にリリースされたOrangePi4は、おそらく比べ物にならないぐらい性能が向上していると思います。

ただ、やはりRaspbianの方がきっちりテストした上でリリースされているように感じます。
Armbianの場合、カーネルを更新すると、今まで動いていた機能が動かなくなることが(時々)有ります。
2020年8月にArmbian_20.08.1がリリースされましたが、Lite2にインストールしたら起動できなくなってしまいました。
また、オンボードWiFiがサポートされていないボードや、USB OTGがサポートされていないボードなど、
ボードによりカーネルの完成度にばらつきが有ります。
こちらに明記されていますが、多くの ボードがコミュニティによりサポートされていて、Armbianチームは開発、テストに関与していません。
安定性を優先するか、性能を優先するか評価が分かれます。
カーネルを更新したら起動できなくなった時に、笑って済ますことができない場合はRaspberryPiを使いましょう。



OrangePi-PCを最初に使い始めたのは2015年(ぐらい)からですが、当初は使いこなすのにハードルが高いマシンでした。
最近は余りにも普通に使えるので、書くことが無くなっています。

こちらでOrangePiシリーズを紹介しています。