小型シングルボードコンピュータのNanoPi NEOを購入しました。
(と言っても、実際には2カ月ほど前に購入し、私の手元では既に1カ月以上の安定運用に入っています。)
個人的にはシングルボードコンピュータはOrangePi One、RaspberryPi ZERO WHを使ってきましたが、NanoPI NEOはOrangePi Oneと同じくAllwinnerのH3を搭載しています。
すなわち、所謂Quad CoreなARMプロセッサを搭載しており、シングルコアのRaspberryPi ZERO WHと比較すればかなりパワフルなシングルボードコンピュータです。
それでいて、安価に国内*1で入手することができます。
OrangePiシリーズを安価に購入しようとすると海外通販に頼らざるを得ないことを考えると、入手性・費用・性能のバランスが取れたシングルボードコンピュータだと言えると思います。
現物
秋月で買ったパッケージ
下記画像の通りプチプチ袋に入った状態で店頭に陳列されており、箱には入っていません*2。
価格は、画像中のラベルからも判りますが、たったの税込み1680円です。Quad CoreなのにSingle CoreのRaspberryPi ZERO WHより安いです*3。
なお、秋月の商品ページには以下の記述があるため、興味のある方は早目に入手した方が良いかもしれません。
※次回入荷分から2,280円に値上げいたします。2018.4.20
OSインストール
特に深く考えずに、OrangePi Oneで安定稼働しているARMBIANのNanoPI NEO版(Ubuntu 16.04ベース)を導入することにしました。
導入方法は基本的にOrangePi Oneの時と同様で、PCでイメージファイルをダウンロードして、microSDに書き込んだ後、NanoPI NEOに挿入して起動という流れになります(下記投稿を参照)。
wave.hatenablog.com
初回起動画面
これもOrangePi Oneの時と同様ですが、アスキーアートというかバナーがNanoPi Neoのものに変わっています。
デフォルトのrootパスワードを変更した後、後は普通のLINUX端末として使えます。
但し、昨今の多くのシングルボードコンピュータとは異なり、NanoPi NEOシリーズはHDMI端子などの映像出力端子がありません。
モニタに繋いでデスクトップ環境を使うとか、テレビに繋いでメディアプレイヤーにするとか、デジタルサイネージ端末にするとかそういった用途には使えません。
ですので、単なるLINUXサーバー的な用途として運用するとか、GPIOを活用して外部機器のコントローラにするとか、センサ情報を集積・インタフェースするような端末にするとか、派手さは無いながらもそれなりのパフォーマンスが要求されるような用途で活きると思います。
私の場合は日次で複数の外部機器から収集した数万件規模のデータをDBに投入し、その数値データをもとに夜間バッチで動画生成するというシステムを構築しましたが、十分に実用になるパフォーマンスです。
注意点としては、CPUコアが高温になると動作クロックが低下するため、放熱に配慮が必要なことでしょうか。
純正のヒートシンクは秋月で400円で販売されていますが、もっと安い汎用のヒートシンク(14mm * 14mm)でもかなり効果を発揮します*6。
EasyWordMall アルミニウムヒートシンク Raspberry Pi用 6枚入り
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他
- この商品を含むブログを見る
各種確認
バージョン情報
# uname -a Linux nanopineo 4.14.14-sunxi #1 SMP Thu Jan 25 12:20:57 CET 2018 armv7l armv7l armv7l GNU/Linux
CPU情報
# cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 24.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 processor : 1 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 24.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 processor : 2 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 24.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 processor : 3 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 24.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 Hardware : Allwinner sun8i Family Revision : 0000 Serial : ****************
※Serialは掲載に際し伏せました。
CPU動作クロック関連
指定可能ガバナー、動作クロック確認
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors conservative userspace powersave ondemand performance schedutil $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 240000 480000 648000 816000 912000 960000 1008000 1104000
(何もいじっていないのでデフォルトの)ガバナー、最高・最低クロック、現在の動作クロック確認
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ondemand # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 912000 # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 240000 # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 912000
H3の最高動作クロックは1.3GHzなのだが、NanoPi NEO用のARMBIANでは動作クロックの設定可能上限が1.104GHzに制限されている。さらに、デフォルトでは上限が912MHzに制限されていることが判る。
CPU温度
以下の3つのどれを見ても同じ模様。1000で割るとセ氏温度に換算可能。
/sys/devices/virtual/thermal/thermal_zone0/temp
/sys/class/thermal/thermal_zone0/temp
/sys/class/hwmon/hwmon0/temp1_input
ARMBIAN起動直後の無風状態で5月下旬の室内で特に負荷をかけずに、ヒートシンクなどの放熱器具を装着せずに、概ね35℃だった。
$ cat /sys/devices/virtual/thermal/thermal_zone0/temp; cat /sys/class/thermal/thermal_zone0/temp; cat /sys/class/hwmon/hwmon0/temp1_input 35453 35453 35453
メモリ
特に何も追加インストールする前のデフォルトのARMBIAN導入状態で以下の通り。
# grep Mem /proc/meminfo MemTotal: 505164 kB MemFree: 377344 kB MemAvailable: 447468 kB
USB周り
USBポートに何もつながない状態で、以下の通り。
# lsusb Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ポート周り
ARMBIAN導入直後のデフォルト状態で(今まさにSSH接続している以外の不審な)通信は当然していないし、SSH以外LISTENしていない。
# netstat -atu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:ssh *:* LISTEN tcp 0 64 nanopineo:ssh PC:52067 ESTABLISHED tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 *:bootpc *:* udp 0 0 nanopineo:ntp *:* udp 0 0 localhost:ntp *:* udp 0 0 *:ntp *:* udp6 0 0 nanopineo:ntp [::]:* udp6 0 0 localhost:ntp [::]:* udp6 0 0 [::]:ntp [::]:*
以上。