ogochan
このブログでも時々シングルボードコンピュータ(以下SBC)の話をしています。
元々サーバが潰れてしまった時にローカルのLinux環境がなくなってしまい、それではやっぱり不便だということでRaspberry Pi(4)を使うようになりました。しばらく運用していたら結構いい感じだったので、「もうLinux環境はこれで良いんじゃね?」ということで、開発用の環境をRaspberry Piに移したことが発端です。
しばらく運用していると結構便利に使えてしまい、もうよほどのことがない限りローカルにIAなLinux環境は持たないのではないかと思います。またクラウドの方でもコストのこともあるので、AWSのインスタンスもIAなものは使わないだろうと思います。
なのでAWSに立てるインスタンスもローカルで動作確認をしたい場合は事実上SBC一択になってしまいます。
以前書いたように、このブログ自体もRaspberry Piにホストされています。
他方、実際にいろいろ使っていると、Raspberry Piの問題も見えて来ます。一番良くないのは
売ってない
ということですね。売ってても平時の価格よりずっと高いですし。
そこで今回はRaspberry Piの代用と言うかそれ以上に使えるSBCについてまとめて書いてみたいと思います。
SBCとは
最初にここで扱う「シングルボードコンピュータ」を定義しておきます。
ごく雑に言ってしまえば
ラズパイみたいな奴
なんですが、やっぱり定義はしておきましょう。ここで言うSBCは、一応
ボード単体で動作する(小さな)コンピュータ
ということにしておきます。なので、秋葉のPCショップで売っているような、「マザーボード」は含まないことにしておきます。と言うか、その辺の話を含めてしまうといろいろ発散してしまう上に、わざわざ話題にする必要はありませんからね。
SBCのフォームファクタ
一言で「ラズパイみたいな奴」と言っても、実はいろんなサイズや形状のものがあります。
多くはRaspberry Piを意識していて、だいたいああいった寸法です。
「ラズパイサイズ」は通称「クレカサイズ」と呼ばれることがあります。ちょうどクレジットカードとピッタリのサイズではないですけど、だいたいそんな感じのサイズですね。
じゃあみんなRaspberry Piのケースに納まるかと言えば、同じRaspberry Piであってさえ同じケースに納まりません。ボードのサイズが全く同じもの(結構あります)であっても、各種コネクタの大きさや場所が異なります。
たとえばOrange Pi 5(8GB)はこんな感じ。
見慣れているRaspberry Piとは随分と違いますね。
この辺は、96boardsで標準化されていたりもしますが、これはこれで「いわゆる96boardsの仕様」でしかありません。また、96boardsでも結構いろんなサイズのものがあります。
この「コネクタが違う」というのは、拡張ボードにつなぐためにあるコネクタにも言えます。「完全互換」を謳うもの以外は結構まちまちです。信号くらい合わせておけば拡張ボードを流用できて良いだろうと思うのですが、ものによってはピン数まで異なります。たとえば上のOrange Pi 5だと「26pin」しかありませんね。また、カメラとかディスプレイ用にフラットケーブル用のコネクタがあったりしますが、これも数も場所も異なります。
さらに言えば、ボードのサイズもいろいろあります。ちょうどいいので、代表的---と言うよりも個人的に注目しているボードのスペックを以下にまとめます。
ボード | CPU | メモリ(GB) | ストレージ | 消費電力 | Wi-Fi | サイズ | 価格 | 備考 | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
micro SD | eMMC(GB) | M.2 | 規格 | 技適 | W | D | ||||||
BeagleBone® Green | AM3358 | 0.5 | ○ | 4 | × | 5V 1A(未満) | × | 53.34 | 86.36 | 49.5 | 32 bit CPU | |
Raspberry Pi 3 A+ | BCM2837B0 | 1 | ○ | × | × | 5V 2.5A | 802.11b/g/n | 007-AH0191 | 65 | 56 | 35 | |
Raspberry Pi 3 B+ | BCM2837B0 | 1 | ○ | × | × | 5V 2.5A | 802.11b/g/n | 007-AG0046 | 65 | 56 | 35 | |
Raspberry Pi 4 | BCM2711 | 1 | ○ | × | × | 5V 1.7A | 802.11ac | 007-AH0184 | 85 | 56 | 35 | |
2 | 45 | |||||||||||
4 | 55 | 実売価格はこの倍くらい | ||||||||||
8 | 75 | |||||||||||
Rock Pi 4C+ | RK3399-T | 4 | ○ | 8, 16, 32, 64, 128 | M2.M 2230 | USB-C 5V 3A | 802.11ac | × | 85 | 54 | 69 | |
Orange Pi 4 LTS | RK3399 | 4 | ○ | 16 | × | 5V 4A | 802.11ac | × | 91 | 56 | 72.9 | |
Rock 5B | RK3588 | 4 | ○ | 8, 16, 32, 64, 128 | M2.E 2242 M2.M 2280 |
USB-C 12V以上 2A以上 | × | 100 | 72 | 129 | 5ドル払うと50ドルのディスカウントチケットが購入できる | |
8 | 149 | |||||||||||
16 | 189 | |||||||||||
Orange Pi 5 | RK3588S | 4 | ○ | × | M2.M 2242 (ただしPCIe 1 lane) |
5V 4A | × | 100 | 62 | 68 | 5V 4Aの電源が8.9USD | |
8 | 83 | |||||||||||
16 | 115 | |||||||||||
32 | ||||||||||||
Khadas Edge 2 | RK3588S | 8 | ○ | 32 | × | USB-C 30W | 802.11 ax | 219-229237(?) | 82 | 57.5 | 239 | |
16 | 64 | 339 | ||||||||||
LattePanda 3 Delta 864 | N5105 | 8 | 64 | 2 | 802.11 ax | × | 125 | 78 | 279 | |||
ZimaBoard 832 | N3450 | 8 | 32 | 12V 3A | 138.7 | 81.4 | 199.9 | LAN2 SATA2 | ||||
Lichee Pi 4A | TH1520 | 4 | ○ | 16, 32, 64, 128 | × | 5V | × | プリオーダー中 | ||||
8 | ||||||||||||
16 | ||||||||||||
ODYSSEY-X86i31125G4 | i3 1125G4 | M2.E 2230 M2.M 2242/2280 M2.B 2242/2252/2280 |
12V | M2.Eに搭載可 | 146 | 100 | 269 | SBCと言うよりはミニマザー | ||||
以下はSBCではありません | ||||||||||||
Kingnovy M6 | N6000 | 16 | 256GB | USB-C 24W | 222.75 | ミニPC | ||||||
Quieter3Q | N5105 | 8 | ○ | 128, 256 | M2.E 2280 | USB-C 12V | 802.11ax | 131 | 81 | 234.62 | ミニPC | |
Surface Go | Pentium Gold 4415Y | 8 | ○ | 64, 128 | 802.11ac | 209-J00068 | 私の常用のノートPC | |||||
Surface Go 3 | Pentium Gold 6500Y | 8 | 64, 128 | 802.11ax | 最新のSurface Go |
いろいろマチマチなのがわかると思います。
ただ、だいたいpico-ITX以下のサイズのものが主です。大き目のRock 5Bは並べると凄く大きそうに見えますが、このサイズは
2.5" HDDと同じくらい
の大きさです。大きいと言ってもその程度です。
まぁ小さいのばかり選んだというのはあるのですが、これ以上のサイズのものでもUSBやLANのコネクタが多いとかくらいでしかありません。後述するようにCPUがスマホやタブレット用なので、コアとなる部分はそれ程大きいわけでも(IAのマザーボードのように)拡張性が高いわけでもないからです。SATAコネクタがあるものすら珍しい部類です。メモリも今のところ最大のものでも16GB程度です(32GBモデルがあることになっているものもまだ発売されてない)。
総じてSBCはその名の通り「シングルボード」で完結するものだと思った方が良いようです。
拡張性はあまりないですが、強めのCPUが載っているものはM2のコネクタがついているものが結構あります。ここにSSDを載せることが出来ます。また、eMMCを持ったものもあるので、ここにシステムを入れてしまうことも出来ます。つまり、Raspberry Piのようにストレージがmicro SDである必要性がなくなります。実はRaspberry Piを「ちゃんとした用途」に使い辛くしている大きな原因がここにあるので、SDから解放されるだけでも「使える」という感じになりますよ。
SBCのCPU
冒頭でARMアーキテクチャがコンピュータが使いたい時の選択肢がSBCだみたいなことを書いたのですが、実のところARMアーキテクチャだけではありません。たいていの現行のCPUが用意されています。
- IA
- ARM
- MIPS
- RISC-V
強いて言えばSPARCのものが見当らないくらいでしょうか。
種類としては「何でもある」のですが、いわゆる「超強力」なCPUはありません。USB-Cや丸ストレートDCプラグで給電できる程度の消費電力、ボード単位でだいたい30Wくらいまでのものだと思っておけば良いでしょう。
とは言え、実際に多いのはARMアーキテクチャのものでしょう。
これは主にスマホやタブレットで使われているCPUを使ったものです。この辺はRaspberry Piも同じですね。この辺のCPUは実はあまり市場に出て来ることがありませんが、いくつかのメーカのものは出て来るようですね。この辺もRaspberry Piと同じだと思います。Rockchipのものが結構ありますが、多分Rockchipはスマホタブレット以外の市場を強く意識しているからでしょう。もう少し下のクラスのパワーになると、数世代前のスマホタブレット用のチップのものがあってもう少しメーカがいろいろになりますが、敢えてそれらを使うメリットはないように思います。
物によってはRaspberry Piよりも「強い」CPUを使っているものがあります。コアの数とか搭載できるメモリ量、接続できるペリフェラル等々、いろんな点でRaspberry Piよりも強力なものが結構あります。
この辺でよく使われるCPUと近いスペックのIAのCPUの比較を以下に挙げておきます。
名前 | メーカー | コア | クロック(GHz) | pass mark(multi) | Geekbench 5 (multi) | CoreMark | |
---|---|---|---|---|---|---|---|
コア数 | |||||||
AM3358 | TI | Coretex-A8 | 1 | 1.0 | |||
BCM2837 | Broadcom | Cortex-A53 | 4 | 1.2 | 3800 | ||
RK3658 | Rockchip | Cortex-A55 | 4 | 2.0 | 1186 | 492 | |
BCM2711 | Broadcom | Cortex-A72 | 4 | 1.5 | 1375 | 692 | 8257 |
RK3399 | Rockchip | Cortex-A72 | 2 | 1.2 | 1378 | 615 | |
Cortex-A53 | 4 | 1.5 | |||||
RK3399-T | Rockchip | Cortex-A72 | 2 | 1.2 | 638 | ||
Cortex-A53 | 4 | 1.0 | |||||
Pentium Gold 4415 | Intel | Kaby Lake-Y | 2 | 1.6 | 1605 | 905 | |
N3450 | Intel | Apollo Lake | 4 | 1.1 | 1913 | 969 | |
J4150 | Intel | Gemini Lake | 4 | 1.5 | 2697 | 1368 | |
Pentium Gold 6500Y | Intel | Amber Lake-Y | 2 | 3.4 | 3203 | 1593 | |
N6000 | Intel | Jasper Lake | 4 | 1.1 | 3816 | 1505 | |
N5105 | Intel | Jasper Lake | 4 | 2.0 | 4041 | 1797 | |
i3-8100T | Intel | Coffee Lake-S | 4 | 3.1 | 5322 | 2447 | |
i5-8265U | Intel | Whiskey Lake-U | 4 | 1.6 | 6108 | 2937 | |
RK3588 | Rockchip | Coretex-A76 | 4 | 2.4 | 6124 | 2235 | |
Coretex-A55 | 4 | 1.8 | |||||
RK3588S | Rockchip | Coretex-A76 | 4 | 2.4 | 6133 | 2269 | |
Coretex-A55 | 4 | 1.8 | |||||
Core i7-1165G7 | Intel | Tiger Lake-UP3 | 4 | 1.2 | 10493 | 4598 | |
TH1520 | SiPeed | C910 | 4 | 1.8 | 13006 | ||
C906 | 1 | ||||||
E902 | 1 |
当然ながらベンチマークの値はあくまでも目安に過ぎませんので、まぁそのくらいかと思っておくのが良いとは思いますが、RK3588は結構凄いパフォーマンスのように見えます。BMC2711(Raspberry Pi 4のCPU)の4倍ですからね。タブレットPCや小型PCの普通のスペックと比較しても、結構強力に見えます。
RISC-Vはいくつかのメーカから出ていますが、今のところ上記の表に追加できるようなベンチマークのデータがありません。情報が得られ次第追加して行きたいと思っています。ごく雑な話によると、J7110はBCM2837とBCM2711の間くらいのパフォーマンスらしいです(未確認)。
SBCのOS
公式(ボード作成元)が出しているものは、基本的にはLinuxです。ですから、Linuxの各種ディストロが使えます。たいていのボードが、
- Ubuntu
- Armbian
- Debian
が用意されていることが多いようです。また、AndroidやBSD系OSの入るものもあります。
たとえば以下はRock 4でインストールできるOSのリストです。
https://wiki.radxa.com/Rock4/downloads
結構いろいろあると思います。
前掲のSBCのリストは「汎用で使えるSBC」という基準で挙げてありますが、ここに挙げてないような小さなボードだと、OpenWRTに対応しているものもあります。
ごく雑なことを言うなら、Debian派生(要するにUbuntu)とAndroid派生のOSがあれば、普通に使う分には十分ではないでしょうか? Linuxであるならパッケージ管理が違うだけで、ユーザーランドはだいたい似たようなものが使えますからね。
私自身の使い方だと、Ubuntu Serverだけあれば十分です。主に使うのは開発用バックエンド(?)ですから。AWSでARM系インスタンスを使っている人がローカル開発環境として使うのであれば(私がそう)、これで十分ですね。
案外に嬉しいのはAndroidです。もちろんGoogle Playストアは使えません(hackはあります)が、いわゆる「野良ストア(サイドローディング)」から入れればいろいろ入手可能です。有料アプリであっても、サイドローディングに対応したベンダだと支払い可能だったりもしますので、特にライセンス上の問題もないでしょう。もっともあくまでも「野良」ですから、危険なものや「いけないもの」もあるかも知れませんので、そこは自己責任ということで。
そんなふうにすればAndroidで動いているアプリが動かせます。大きな画面で動かすAndroidは結構便利です。ここで試してみたのはOrange Pi 5だけですが、家で使うパソコンとしてならこれで十分なのではないかと思うほどです。ご家庭のテレビ(HDMI)につなぐとYouTubeやAmazon Prime Videoが見れるようになるのは、なかなか嬉しいです。AndroidをSBCに入れて試した話は、次のエントリで。
Orange Pi 5 レビュー
Androidを入れて動かしてみる
SBCのいいところ
しばらく使っていると、「SBC捨てたものじゃないな」と感じて来ます。いくつもあるのですが、特に強く感じたことを挙げておきたいと思います。
一番大きいなと思うことは、「小さくて電気食わない」ということです。そして、それでいて「案外パフォーマンス高い」ということです。
前に挙げたリストのように、SBCはだいたい小さいです。パフォーマンスのことを考えなければRaspberry Piよりも小さいものもあります。パフォーマンスを重視しても、せいぜいpico-ITXくらいのサイズなので、どんなに大きくても
2.5" HDDくらい
とごくごく小さいものです(例外はあります)。ですから、置き場について考える必要はまずありません。狭い机の上でも置けないということはありません。重さもサイズなりに軽いので、ディスプレイの後ろとかに隠してしまうのも容易です。
また、多くのSBCのCPUはスマホやタブレットで使われているものなので、パワーの割に消費電力が少ないです。ボードの一覧を見ると、せいぜい30Wとかその辺ですね。これでも十分少ないと言えるのですが、実はこれはピークの消費電力で、実際に使うのはこの何分の一かです。あまり負荷の高くない時は、消費電力も低くなります。このため待機電力等のことをあまり心配しないで常時稼動させることが可能です。
そうやって小さい電気食わない割にはパフォーマンス高いというのもいいところです。
ボードとCPUの一覧を見てもらうとわかりますが、高パフォーマンスのCPUは小型PCやノートPCの中位で使われるCPUよりも高パフォーマンスです。
Raspberry PiをSDカードのみで使っていると「遅いなぁ」と思うことは少なくないと思いますが、USB経由でHDDをつないで使うと結構使えるものです。今の私のLinux環境はRaspberry Pi 4 8GBにUSB経由でHDDをつないだものですが、普段の開発(webpack動かしたりファームのコンパイルしたり)で不自由することはほぼありません。それより高パフォーマンスのCPUや、M.2 SSDが使えるものになると、開発環境としては十分過ぎるほどです。
つまり、Linuxであるということがデメリットでない用途であれば、小型軽量省電力のパソコンとして使うことが出来ます。
SBCのダメなところ
もちろんSBCに欠点がないわけではありません。
一番ダメだなと思うのは、
商品じゃない
という点です。もちろん「値段をつけて売っている」という意味では商品であることに間違いはないのですが、とてもじゃないですが「コンシューマプロダクト」という意味での「商品」と言えるようなものではありません。ほとんどがボード単体で売っているので、「単なる部品」と思った方が無難です。「一般のご家庭」にポンと置いておけるようなものではありません。また「逸般の誤家庭」となると、ホコリをかぶってしまったりショートしたりの危険があるでしょう。そのままだと「裸の電子部品」でしかありません。
Raspberry Piのような安定した商品ではないものがほとんどなので、Raspberry Piのようにいろんなケースが存在したものはほぼありません。自分で作るか、あっても「アクリル板サンドイッチ」くらいがせいぜいです。もちろんEMC的なものは全くと言って良いほど考慮されていませんから、高周波的には「ノイズのかたまり」です。
Seeedの売っているre_computer caseがほぼ唯一の「市販されている汎用ケース」だと思っても良いと思います。
格好良いんですが、中は結構スカスカ… つまりせっかく小さい基板なのに台無しと言えなくもないです。
サイトに行ってもはっきりサイズは書いてありませんが、写真から読み取ると120 × 129のようです。Mac mini(197 × 197)よりは小さいですけど。
次にダメだなと思うのは、フォームファクタに統一性がないということです。これは最初の「SBCのフォームファクタ」のところでも書いていますが、ありとあらゆることに統一性がありません。同じシリーズであっても、コネクタの位置や大きさは互換性がないのが当たり前ですし、ましてや異なるシリーズだと何の互換性もありません。強いて言えば、Rock Pi 4C+がRaspberry Pi 4Bとケースの流用が出来る程度に互換性があるというくらいで、Raspberry Pi同士であっても互換性がないものと思って良いです。これはre_compuer caseの内部の図を見てもわかりますね。
だいたいどのボードにも20〜40ピンくらいのコネクタがついているのですが、これもまず互換性がありません。Rock Pi 4C+がちょっとその辺を意識していてRaspberry Pi 4とデータシート上では同じようになっていますが、これが本当に互換性があるかどうかは試してないとわかりません。同じシリーズの中でもまちまちだったりします。つまり「汎用ハット」は作れません。カメラやLCDを接続するためにいろんなフラットケーブルがついているものもありますが、これも互換性があるかどうかはわかりません。
というように、いろんな意味で「商品」と呼ばれるものとはほど遠いものであるとも言えます。「わかった人」でないと、そのままでは扱い辛いものです。PCのマザーボードでPCを作るというのよりも高度な技術が必要になります。
また、後からメモリ等を増設することが出来ません。これがPCであれば、後からメモリカードを追加して増設というようなことが出来たりもするのですが、SBCでそれが出来るものはありません。なので、最初から必要なメモリ量を予測して適合したメモリを搭載したモデルを買うということになります。この事情は多くの場合eMMCも同じなのですが、ごく一部の機種では「eMMCはモジュール化されていて交換可能」というものがあったりもするので、そういった機種であれば増設は可能です。
SBCの使いどころ
いろいろ欠点も挙げましたが、近頃のSBCは小型軽量省電力のパソコンとしては結構メリットがあるということはおわかりいただけたと思います。そういったことから使いどころを考えてみたいと思います。
部品として使う
一番ありそうで問題がないのは、この部品として使うということではないかと思います。部品として使うとなれば、ボード単体で販売されていることはそんなにデメリットではありません。
たとえば弊社の例だと、
こんな感じで制御盤の中に組み込まれるコンピュータとしての製品があります。この写真は試作のでっち上げの時のものですが(製品版だと基板の背中しか見えないんで試作品の方の写真にしました)、製品版ではCANインターフェイスを持って他の制御機器と協調動作します。SBCはBeagleBone Green Wirelessです。
ここで紹介した例だと、CNC電源箱もそうですね。
部品として使う場合は結構「専用機器」になってしまうので、ハイパフォーマンスは不要であることが多いです。制御盤で使ったのはUSBのゲームコントローラとPLC(これも内製)のインターフェイス程度ですし、CNC電源箱は掃除機の速度制御とGRBLのホストです。いずれもLinuxの動くボードであればそれで十分という程度の要求です。
やっとLinuxが動く程度のものから小型PCに匹敵するようなパフォーマンスのあるものが、高々10cm程度の基板で済むというのは、結構使いでがあるものです。
サーバとして使う
SBCについている「拡張インターフェイスコネクタ」の類をガン無視して、単なるLinuxの動くサーバとして使うことが可能です。
普通の開発環境としては十分で、RailsやNode.jsを使ってバックエンドを開発する分には何の不自由もありません。最初に書いたように、Raspberry Pi 4であれば、「コンパイル」をしてもそんなに重さを感じることはありません。普通のIAのサーバと比較しても、そんなに遜色や違和感なく使えます。sshでログインしてXを飛ばすという使い方をすれば、GUIなものも特に苦もなく動きます。
特に意味があるのは、最初にチラと書いたようにクラウド上のCPUがARM系のCPUの場合(AWSだとaのつくインスタンスタイプ)は、ローカルでちゃんと確認しようとすると、SBCを使うのが最短ではないかと思います。一応IAもARMも大差ないってことになっているのですが、完全にそうかと言われるといろいろ微妙なので、やっぱり同じアーキテクチャで試しておきたいなと思いませんか?
サーバとしてちゃんと使うには、Raspberry Piだと一工夫必要です。SDカードでサーバというわけには行きませんからね。とは言え、USBを使えば外部HDD等が接続可能ですから、主なデータはそっちに置いてしまえば良いですね。私の今の環境では、これで十分です。
他のハイパフォーマンスのSBCだと、M.2コネクタがついているものがあります。ここは普通のM.2(NVMe)として使えるので、NVMeのSSDをつないだりNVMe - SATAのインターフェイスをつないだりすることが可能になります。NASを構築するといったことも可能だろうと思います。M.2はPCIe 4レーン分なので、結構な使いでがあります。普通のSATAならPCIe 1レーンでSATAが4つとかですからね。
STB(Android TV)として使う
OSのところで述べたように、標準でAndroidのイメージが提供されているものがあります。
SBCに使われているCPUは元々スマホやタブレットあるいはSTB用のものですから、むしろこっちの方がホームグラウンドとも言えます。実際、結構強力なGPUが載っていたりNPUが載っていたりしますし、これらを本格的に使うためには今のところAndroidアプリを使うしかないということもあります。
Androidを動かしてしまえば、単なるAndroid機になります。また、テレビにつないでやればAndroid TVが出来てしまいます。これが随分と快適です。ハイパフォーマンスのCPUだと3Dゲームとかも結構バリバリ動きます。
オープンソースな環境でYouTubeやAmazon Prime Videoを観るためにはDRMがどうこうという面倒臭い問題があったり、オーディオのレイテンシの問題があったりするのですが、Androidを使う限り問題なく使えます。
もちろんスマホやタブレットではないので、一部のゲーム(各種センサを使うもの)は動かなかったりしますが、そういったことが関係ないアプリならたいてい動かせます。
また、既に書いたようにGoogle Playストアが使えないという問題もありますが、この事情は一部のスマホや秋葉の「軒下」で売っているタブレットも同じような問題を抱えてますので、実用的にはそう大きな問題ではないでしょう。Androidはサイドローディングが充実していますからね。逆に下手にGoogleのアカウントと紐付けられたりしないので、そういったことを嫌う人にとっては快適でしょう。起動して冒頭にGoogleアカウントを入力させられるというようなことはありません。
Android環境になってしまうと、カーネルがLinuxであってもLinuxの環境ではないという残念さがあったりするのですが、Termuxのようなものを入れてしまえばJailbreakしなくてもコンソールを使うこと出来るようになります。外からsshで入ることも出来るようになるみたいです。
アプライアンスにする
これは部品やサーバとしての使い方の延長ですね。
SBCはそこそこのパフォーマンスが出せるものでありながら、価格は非常に安くサイズや消費電力は少ないものです。なので、最初からアプリが動く形にしてしまって、
そういったアプリを動かすための環境
として扱うということが可能です。つまりはNASの延長ですね。と言うか、今時の「高級NAS」にはこういった機能があったりします。
商品化とか考える時でも、たとえば「自社製グループウェア」を販売したいと思った時に、「環境設定済みで全部入った箱」という形になればいろんな工数が節約できますね。小型のルータやNASと同じ程度の商品にしてしまうことが出来るわけです。
これが「PC」とか「普通のサーバ」となると結構高価だったり電気食ったり場所取ったりするわけですが、SBCで作ったシステムであればそういった問題を考えないで済みますから、導入の障壁は随分と下がるでしょう。
この辺、興味のある会社さんがあれば、ご相談いただけると嬉しいです。
弊社で言えば、NocoBaseを入れた箱とかHieronymusを入れた箱とかでしょうかね。
こういった商品としてのアプライアンスの他に、「そういった感じの使い方」というものもありますね。
たとえば、「開発用の環境」だとか「クラウドツールのテスト」というような使い方や、プリンタやファイルのサーバとか。ちょっと前だと中古のショボいパソコンにLinuxでも入れてとか思われていたような使い方です。多分こういった使い方のものはたくさんあると思います。弊社でも、
- レーザーカッターやCNCのコントロール
- 内部向けDNSサーバ(キャッシュ)
- ちょっとした情報共有
- サーバとしてデプロイする前の環境設定や調査
みたいな雑多な使い方に使われている「サーバのようでサーバ未満で、かと言ってデスクトップではない」みたいなそういったものがいくつかあります。ちょっと前だとそういったことはデスクトップとして使うにはショボくなってしまったようなパソコンにLinux入れてやってたりしました。
そういったショボいパソコンであっても、あらためて買うとなると「秋葉の軒下」で19,800円くらいで売ってるものだったりしました。AKIBA PC Hotline!とかで見掛ける「出物」を探してみたりもしました。
でも、CPUのスペックやボードのスペックを見ると、そういった「ショボいパソコン」よりもずっと高性能で低消費電力で省スペースなSBCが結構あることがわかります。
そういった用途にはちょっと「わかった人」だと
ラズパイ使えばいーじゃん
という感じでやったりもしていて、それはそれで結構便利だったりもしたのですが(弊社はそうしていた)、Raspberry PiにはRaspberry Pi特有の面倒なことがあって、万人にお勧めできるとは言いにくいものでした。特にSDカードの信頼性の低さに泣いたことがある人は少なくないのではないでしょうか。
でも、いろいろあるSBCの中にはシステムボリュームをSDカード以外にできるものが結構あります。ごく小さいものだと内蔵のeMMCで足りたりしますし、ガッツリと領域が必要であればM.2やUSBが使えます。結構「普通」な環境にすることができます。
そういったことを考えると、かつてあったような「ショボくなってしまったパソコンにLinuxを入れる」ような使い方は、たいていSBCで足りるようになったと言っても過言ではないでしょう。何よりもそういったものが「新品」で揃えられますからね。そういった含みもあって、CPUの一覧には「アキバの軒先で見掛けがちなちょっと前のPCのCPU」も入れておきました。比較検討の参考にしてもらえると良いです。
注意しなければならないこと
SBCは結構使いものになる上に廉価で運用コストも低いものですが、考えておかなければならことがあります。
ケースについて
やはり最大の問題は適当なケースがないということです。
ケースがなければ作ってしまえば良いじゃないかと私なんかは思うわけですが、それをやるのも実はあまり簡単ではありません。と言うのも、基板の形状に関する情報が案外に少ないからです。
たとえば、ネジ穴の位置はよくわかりませんし、コネクタの位置もよくわかりません。もちろん現物が手元にあれば実測することは出来ますが、それが本当にその寸法として設計されたのか、単に公差の範囲の値がそこにあるのかは、実ははっきりとはわかりません。この辺はよく考慮しておく必要があります。
また、EMC(放射妨害)についてもほぼ全く考慮されていません。高周波的には単なるノイズ源です。そのことを考えると、ケースは導電性のある材料(≒金属)である必要があります。つまり、基板全体をシールドしてしまうわけです。今のところ日本ではあまりEMCについてうるさくありませんが、ラジオ等がバリバリザーザー言うのは勘弁して欲しいところですからね。
選択肢がないとは言え、ボードメーカが出していたりすることはあるので、サイトで購入する時にはセットで購入することを考えた方がいいですね。あるとないとでは大違いなので、他に入れるアテがなければ「とりあえず」という形で買ってもいいでしょう。
技適について
一部のSBCではWi-FiやBlueToothがついています。
これがあると便利は便利なのですが、一覧にも書いたように技適を通ったものはそれ程多くはありません。ググって得られた情報から考えるに日本の市場はそれほど大きくはないと考えられているようなので、ベンダーやメーカが技適を通してくれると期待するのは難しいです。Raspberry Piくらい数が出れば、そういった意欲も出るのでしょうけど。
技適を取るには、諸々が用意されている状態(製品を輸入した場合はこの状態です)で1機種30万程度かかります。1台1000円乗せるとすると、300台売ることになります。たとえばRock Pi 4C+の場合1台1万円程度だと考えると、結構な上乗せになる上に結構な台数をコミットすることになります。単機種で日本でこんなに売れるでしょうか? もちろん売り方次第ですけれど。これは輸入業者であってもベンダーやメーカであっても同じです
一応理屈としては「電波を出さないようにして使え」とか言ってしまうところなのですが、ソフト次第で電波が発射可能であるということを考えると、厳密に言えば電波法的に問題があります。なので、「使えない」と判断してしまった方が気楽だろうと思います。一応技適未取得機器を用いた実験等の特例制度というものがあり、それを使えば「実験」と称して使うことは可能ではありますが、ちょっと趣旨が違うように思います。それにまぁ、いつまでもそれが出来るわけでもありませんし(延長はできますけど)。
他方、ケースのところで述べたようにSBCはノイズの塊ですから、ちゃんと使おうとすれば全体をシールドするくらいの勢いが必要になります。そうなるとオンボードのWi-Fiアンテナはシールドされてしまいますから、仮に技適が通っている機器であっても事実上使うことが出来ないと思って良いのではないかと思います。逆にあっても電波は出ないわけなんで問題ないとか言えたりもできますけど。
とか考えると、SBCを「商品」レベルのものに仕立てて使うことを考えると、技適の有無は考える必要がない—と言うよりはWi-Fiがついている必要がないと思って良いのではないかと思います。どうせ使えないんだからなくて良い、下手に邪魔になるくらいであればない方がいい。そういったことです。デスクトップPCやサーバにはWi-Fiがついていないのと同じですね。
クライアントとしてWi-Fiを使っていると気がつかないことが多いのですが、Wi-Fiは案外に切れます。たとえば私のところで動かしているRaspberry Pi 4だと、5GHzのWi-Fiでつないでいるインターフェイスでsshで入ったりそこからXのセションを飛ばしていると、時々セションが落ちています。セションが落ちる理由はいろいろある(*1)わけですが、有線LANで固定IPを振っているインターフェイスではそういったことは起きないので、そういったものなんだと思っています。なので、「つなぎっぱなし」を期待する使い方ではWi-Fiは使えないものだと思って良いのかも知れません。そういった点でもWi-Fiが使えるかどうかは、あまり意味を持たないことだと言えます。
どうしてもWi-Fiを使いたければ、USBにつなぐWi-Fiドングルなるものが販売されていますから、それを使えば良いでしょう。これであればシールドのがっちりしたケースであっても外部にアンテナがあるので使えます。実のところ4より前のRaspberry PiのLANはUSBの先につながっていたくらいなので、凄いネットワークパフォーマンスを要求しない限りはUSBの先のネットワークデバイスで十分と思って構わないでしょう。
この辺、以前Raspberry Piで「携帯用サーバ」的なものを作ろうと思った時にいろいろ考えたのですが、どう考えてもノイズとWi-Fiの問題は両立できないので諦めてしまいました。オンボードのWi-Fiは使えないと思った方が良いです。どうしても必要ならドングルで。
- *1
- 普通にWi-Fiを使っていると、電波の都合で落ちること(電波妨害等)もあればDFSで落ちることもあります。また、DHCPだとIPアドレスのリース期間という問題もあります。これらの問題が起きないようにするためには、Wi-Fiにしないで(つまり有線接続で)DHCPも使わないようにする必要があります。
電源について
ボード一覧でもわかるように、今時のSBCの多くはUSB-Cでの給電となっているようです。またそうでないものは、ストレート丸型DCプラグです。まぁだいたいどっちかです。どっちにしても「ACアダプタ」で給電されています。
当然ながら、これらのコネクタは外れやすいです。なので、安定して使うためには一工夫必要になります。
多くのボードでは(全てではない)、給電線と同じところの線が拡張ボードを接続するヘッダーピンのところに出ています。これがあるものであれば、このヘッダーピンから引き出して給電するようにすれば、いかようにも出来ます。写真で挙げた「制御盤に組み込む用のBBGW」の接続はそういった工夫をしたものです。この辺は回路図を読んでみないとわからないところですね。
そういったことが出来ない/わからない場合は、ケーブルクランプ的なもので固定してしまった方が良いですね。
まとめ
このようにSBCにはいろいろ欠点もありますが、それを補って余りある程度に使えるものになって来ました。
今まで単に好きな人達のものでしかなかったものですが、もうちょっと一般的に使うようになれば良いと思います。
まぁケースの問題はどうしようもない
とは思いますけどね。
PS.
Orange Pi 5はRaspberry Piみたいなケースがサードパーティーから出たようですね。さすが中国仕事が早いw
やっぱりせめてこれくらいはないと使い辛いでしょうし、これでも「一般のご家庭」ではまだまだですね。