Category Archives: Orangepi系

Windows IoTに対応したOrange Pi Winがリリースされる???


githubのOrange Pi LibraにあるOrange Piボード用のSDKには「Orange Pi H5 SDK」「Orange Pi H2 SDK」「Orange Pi A64 SDK」の3種類がある。

Orange Pi A64 SDKは、H5を採用する前のテストボード用で、製品はリリースされない、と思っていたのですが、build.shをよくよく見てみると気になる記載が・・・

build.shの95行~99行目に「OrangePi Win」と「OrangePi 3(internal version)」の2機種が・・・

内部向けと書かれているOrange Pi 3はともかく、気になるのは、Orange Pi Win

同じくAllwinner A64を採用しているBananaPiのBPI-M64とPINE64は、Windows IoTに対応しています。(参考:Allwinner A64搭載ボードのBPI-M64とPINE64がWindows 10 IoTに対応開始。記事は2016/08/04に書いたものだが、2017/01/06時点でもGet Startedには記載が無いがgithubを見に行くと手順書は存在している)

これは、Orange Piの方でもWindows IoTに対応したボードを出そうという意気込みなのか?と期待してしまいます。


ちなみに、当blogでは記事にしていませんでしたが、2016/12/24にFriendlyARMからAllwinner A64搭載のNanoPi A64の情報も出ています。

FriendlyARMのAllwinner A64 SDK:「https://github.com/friendlyarm/a64_lichee
搭載ボード情報:「NanoPi A64

NanoPi A64の最大のトピックは、Allwinner A64搭載ボードでは最小サイズ、といったところでしょうか

Allwinner H5が登場したとこで、Allwinner A64の出番が減るかと思っていたのですが、PINE64を始めとした製品が出てから1年以上が経過したいまになって、採用製品が増え出す、というのはちょっと意外な感じです。

LicheePi OneとLicheePi Zero


Allwinner系SoCを使ったLinuxを扱う場合に基礎となるLinux-sunxiを見ていたら、見慣れないプロダクトを2つ発見
LicheePi One
LicheePi Zero

ぱっと見た感じだと、ディスプレイ出力ができるLicheePi Oneと、シリアル出力のみのLiecheePi Zeroなのかな?と思ったのですが、よく見てみると全然違いました・・・

LiecheePi One
CPUが古く、Cortex-A8のAllwinner A13搭載。
CHIPSで使っているAllwinner R8の前身となるSoCを使用。
HDMIコネクタは無いが、フラットケーブル接続で液晶パネルがつけられる。

https://github.com/Zepan/ilicheeに関連資料がある。

cnx-softwareでLichee Pi Oneは6ドル、という記事があったが、作者によれば、6ドル、というのは誤りだそうな。

LicheePi Zero
CPUはCortex-A7のAllwinner V3s搭載。
Orange Pi Oneなどで使用しているAllwinner H3からGPU機能などを抜き、車載カメラやIPカメラ用にしたSoCを使用。
RAMは64MBと限られている。
ESP8266モジュールのような感じでブレッドボードにさして使える感じのもの。
標準ではLANコネクタは無く、またWiFiも搭載されていない。
「Network: 10/100Mbps Ethernet (via extension board, not available now)」とあるので、別途取り付けはできるようになる模様。

対応するLinux kernelは、https://github.com/Icenowy/linux/tree/v3sで公開されている。U-Bootについても同じ作者が開発中

作者によると、Lichee Pi Zeroは6ドルぐらいで販売できるらしい。

Allwinner H5搭載のOrangePi Zero Plus2とH3搭載のNanoPi M1 Plus


Orange Pi提供のH5 SDK(https://github.com/orangepi-xunlong/OrangePi_H5SDK)をコンパイルしてみたら、ボードの選択肢に奇妙なものが・・・

内部用という「OrangePi Prima」はいいとして、もう1つの「Orange Pi Zero Plus」
Zero系ってことはHDMIなしなのかな?とfexファイルを見てみると・・・
・100Mb NIC
・WiFiとBluetoothがオンボード
・HDMI関連については記述が特に分からない

まぁ、予想通りな感じのもの。

そして、FriendlyARM提供のH3 SDK(https://github.com/friendlyarm/h3_lichee)の更新ログを見ると、2016/10/21に「board: add a new board nanopi-m1-plus」というものが・・・
M1とM1 Plusのfexファイルを比較すると・・・
・WiFiとBluetoothがオンボード
・1000Mb NIC搭載
・SATAコネクタっぽいものあり?

Orange Pi Plusみたいな立場のボードですね。


Orange Pi PC2とOrange Pi Zero Plus2のfexファイル比較

osakanataro@ubuntu16:/work/h5/OrangePi_H5SDK$ diff -u ./external/sys_config/OrangePiH5_PC2_sys_config.fex ./external/sys_config/OrangePiH5_Zero_Plus2_sys_config.fex
--- ./external/sys_config/OrangePiH5_PC2_sys_config.fex 2016-12-20 10:53:50.176568908 +0900
+++ ./external/sys_config/OrangePiH5_Zero_Plus2_sys_config.fex  2016-12-20 10:55:56.841989102 +0900
@@ -3,7 +3,7 @@
 ; ?明: 脚本中的字符串区分大小写,用?可以修改"="后面的数?,但是不要修改前面的字符串
 ; 描述gpio的形式:Port:端口+?内序号<功能分配><内部?阻状?><??能力><?出?平状?>
 ;---------------------------------------------------------------------------------------------------------
-; Platform: OrangePi PC2
+; Platform: OrangePi Zero Plus2
 [product]
 version = "100"
@@ -197,7 +197,7 @@
 ;   rx-delay    --  receive clock delay:  0~31                                 ;
 ;------------------------------------------------------------------------------;
 [gmac0]
-gmac0_used         = 1
+gmac0_used         = 0
 phy-mode           = "rgmii"
 ;gmac_rxd3          = port:PD00<2><default><3><default>
 ;gmac_rxd2          = port:PD01<2><default><3><default>
@@ -836,7 +836,7 @@
 [sdc1]
-sdc1_used          = 0
+sdc1_used          = 1
 bus-width      = 4
 sdc1_clk           = port:PG00<2><1><3><default>
 sdc1_cmd           = port:PG01<2><1><3><default>
@@ -929,10 +929,10 @@
 gpio_used              = 1
 gpio_num               = 2
 gpio_pin_1             =  port:PL10<1><default><default><0>
-gpio_pin_2             =  port:PA20<1><default><default><1>
+gpio_pin_2             =  port:PL06<1><default><default><1>
 ;gpio_pin_3            =  port:PA13<1><default><default><1>
 normal_led             = "gpio_pin_1"
-standby_led            = "gpio_pin_2"
+;standby_led           = "gpio_pin_2"
 ;network_led           = "gpio_pin_3"
 ;--------------------------------
@@ -1049,15 +1049,15 @@
 ;wlan_hostwake:     wlan to wake-up host
 ;--------------------------------------------------------------------------------
 [wlan]
-wlan_used           = 0
+wlan_used           = 1
 wlan_busnum         = 1
 wlan_usbnum         = 3
 clocks             = "&clk_losc_out"
 wlan_power          = "vcc-wifi"
 wlan_io_regulator   = "vcc-wifi-io"
 ;wlan_en             = port:PC14<1><default><default><0>
-wlan_regon          = port:PC14<1><default><default><0>
-wlan_hostwake       = port:PL07<0><default><default><0>
+wlan_regon          = port:PA09<1><default><default><0>
+wlan_hostwake       = port:PL07<6><default><default><0>
 ;--------------------------------------------------------------------------------
 ;bluetooth configuration
@@ -1068,11 +1068,11 @@
 ;bt_rst_n:          power up/down internal regulators used by BT section
 ;--------------------------------------------------------------------------------
 [bt]
-bt_used             = 0
+bt_used             = 1
 ;clocks             = "&clk_losc_out"
 bt_power            = "vcc-wifi"
 bt_io_regulator     = "vcc-wifi-io"
-bt_rst_n            = port:PC16<1><default><default><0>
+bt_rst_n            = port:PA10<1><default><default><0>
 ;--------------------------------------------------------------------------------
 ;bluetooth lpm configuration
@@ -1082,10 +1082,10 @@
 ;bt_hostwake:       bt device wake-up host
 ;--------------------------------------------------------------------------------
 [btlpm]
-btlpm_used          = 0
+btlpm_used          = 1
 uart_index          = 1
-bt_wake             = port:PC15<1><default><default><1>
-bt_hostwake         = port:PL06<6><default><default><0>
+bt_wake             = port:PA20<1><default><default><1>
+bt_hostwake         = port:PL02<6><default><default><0>
 ;--------------------------------------------------------------------------------
 ;3G configuration
osakanataro@ubuntu16:/work/h5/OrangePi_H5SDK$

NanoPi M1とNanoPi M1 Plusのfexファイル比較

osakanataro@ubuntu16:/work/nanopi/h3_lichee$ ^diff^diff -u
diff -u ./tools/pack/chips/sun8iw7p1/configs/nanopi-h3/boards/sys_config_nanopi_m1.fex ./tools/pack/chips/sun8iw7p1/configs/nanopi-h3/boards/sys_config_nanopi_m1_plus.fex
--- ./tools/pack/chips/sun8iw7p1/configs/nanopi-h3/boards/sys_config_nanopi_m1.fex      2016-12-20 20:27:23.160150836 +0900
+++ ./tools/pack/chips/sun8iw7p1/configs/nanopi-h3/boards/sys_config_nanopi_m1_plus.fex 2016-12-20 20:27:23.180150100 +0900
@@ -22,7 +22,7 @@
 logical_start = 40960
 sprite_work_delay = 500
 sprite_err_delay = 200
-sprite_gpio0 = port:PA15<1><default><default><default>
+;sprite_gpio0 = port:PA15<1><default><default><default>
 next_work = 3
 [box_start_os]
@@ -40,7 +40,7 @@
 gpio1 = port:PG11<1><default><default><1>
 [recovery_para]
-used = 1
+used = 0
 mode = 2
 recovery_key = port:PL04<0><default><default><default>
@@ -176,6 +176,8 @@
 uart_type = 4
 uart_tx = port:PA00<2><1><default><default>
 uart_rx = port:PA01<2><1><default><default>
+uart_rts = port:PA02<2><1><default><default>
+uart_cts = port:PA03<2><1><default><default>
 [uart3]
 uart_used = 1
@@ -183,6 +185,8 @@
 uart_type = 4
 uart_tx = port:PA13<3><1><default><default>
 uart_rx = port:PA14<3><1><default><default>
+uart_rts = port:PA15<1><2><default><default>
+uart_cts = port:PA16<3><2><default><default>
 [spi0]
 spi_used = 1
@@ -339,17 +343,35 @@
 tv_dac_src0 = 0
 [pwm0_para]
-pwm_used = 1
+pwm_used = 0
 pwm_positive = port:PA05<3><0><default><default>
-
-[pwm1_para]
-pwm_used = 1
-pwm_positive = port:PA06<3><0><default><default>
+;       If set gamc_phy to use = 2
 [gmac0]
-gmac_used = 2
+gmac_used = 1
+gmac_rxd3          = port:PD00<2><default><3><default>
+gmac_rxd2          = port:PD01<2><default><3><default>
+gmac_rxd1          = port:PD02<2><default><3><default>
+gmac_rxd0          = port:PD03<2><default><3><default>
+gmac_rxclk         = port:PD04<2><default><3><default>
+gmac_rxdv          = port:PD05<2><default><3><default>
+gmac_rxerr         = port:PD06<2><default><3><default>
+gmac_txd3          = port:PD07<2><default><3><default>
+gmac_txd2          = port:PD08<2><default><3><default>
+gmac_txd1          = port:PD09<2><default><3><default>
+gmac_txd0          = port:PD10<2><default><3><default>
+gmac_crs           = port:PD11<2><default><3><default>
+gmac_txclk         = port:PD12<2><default><3><default>
+gmac_txen          = port:PD13<2><default><3><default>
+gmac_txerr         = port:PD14<2><default><3><default>
+gmac_col           = port:PD15<2><default><3><default>
+gmac_mdc           = port:PD16<2><default><3><default>
+gmac_mdio          = port:PD17<2><default><3><default>
 gmac_power1 =
+[gmac_phy_power]
+gmac_phy_power_en   = port:PD06<1><default><default><0>
+
 [csi0]
 vip_used                 = 1
 vip_mode                 = 0
@@ -414,7 +436,7 @@
 [mmc0_para]
 sdc_used = 1
-sdc_detmode = 3
+sdc_detmode = 1
 sdc_buswidth = 4
 sdc_clk = port:PF02<2><1><2><default>
 sdc_cmd = port:PF03<2><1><2><default>
@@ -430,7 +452,7 @@
 sdc_power_supply = "none"
 [mmc1_para]
-sdc_used = 0
+sdc_used = 1
 sdc_detmode = 4
 sdc_buswidth = 4
 sdc_clk = port:PG00<2><1><3><default>
@@ -449,7 +471,7 @@
 sdc_ddrmode = 1
 [mmc2_para]
-sdc_used = 0
+sdc_used = 1
 sdc_detmode = 3
 sdc_buswidth = 8
 sdc_clk = port:PC05<3><1><2><default>
@@ -549,7 +571,7 @@
 lpo_use_apclk =
 [wifi_para]
-wifi_used = 0
+wifi_used = 1
 wifi_sdc_id = 1
 wifi_usbc_id = 5
 wifi_usbc_type = 1
@@ -558,11 +580,12 @@
 wl_host_wake_invert = 0
 [bt_para]
-bt_used = 0
-bt_uart_id = 1
-bt_rst_n =
-bt_wake =
-bt_host_wake =
+bt_used = 1
+bt_uart_id = 3
+bt_uart_baud = 115200
+bt_rst_n = port:PG13<1><default><default><0>
+bt_wake = port:PA08<1><default><default><0>
+bt_host_wake = port:PA07<0><default><default><0>
 bt_host_wake_invert = 0
 [pcm0]
osakanataro@ubuntu16:/work/nanopi/h3_lichee$

RetroPie以外のレトロゲーム向けディストリビューションLakkaとlibRetro


ラズベリーパイを使って各種ゲーム機やパソコンをエミュレートして遊びやすくしたディストリビューションとして「Retro Pie」というのがある。

他に似たようなのがないか探していたら「Lakka」というものを発見。
ちょうど、「Orange Pi PC向けのサポートを開始したばかり」のようです。

RetroPieのサポートリスト」と「Lakkaのサポートリスト」を見比べても、基本的に大差はないようです。

LibRetro」という古いアーキテクチャ環境ソフトウェアRetroArchをWindows,Linux,MacOSX向けに提供しているところが提供しているディストリビューションが「Lakka」という位置づけのようです。
なので、「Getting Started with RetroArch」を見ると、Ubuntu Linuxの追加レポジトリとして登録するための手順も書いてあったりします。

で、Lakkaのマニュアルで特に気になったのは「NetPlay
1プレイヤー用のLakka上でスーファミのマリオカートを動かし、2プレイヤー用のLakkaから1プレイヤー用のLakkaにネットワーク接続することで、対戦が可能になる、というもの

さすがに同一スイッチ内、ということですが、ちょっと面白そうな感じがします・・・

RetroEngine Sigmaの中身はおそらくOrange Pi Lite


おそらくNintendoのファミコンクラシック/NES Classicの成功を受けて、Indiegogoで始まったクラウドファンディングプロジェクト「RetroEngine Sigma – Mini Console & Media Player」というものがある。

各種エミュレータを搭載してるだけのようなのだが、コネクタ配置に見覚えが・・・

うちにあるOrange Pi Oneを見てみる・・・

Indiegogoページにあるコネクタ周りの配置・・・

横のUSBコネクタ周りにはRJ45がなく、ちょっと間隔があいてUSBコネクタが2つということは・・・

Orange Pi Lite!!!

上に乗せるOSについては、ラズパイ向けに出ている「RetroPi」をarmbianベースに変更し、Orange Piに移植した「RetrOrangePi」というのがあるので、もしかしたら、もしかするかもしれません
ちなみにRetroPiで動くエミュレータは「Systems in RetroPie」にあるように、多岐に渡っており、RetroEngine Sigmaがうたっている機種が含まれています。

というわけで、このプロジェクト、Aliexpressで送料込み$15.11で販売しているものに、それっぽいケースをつけて、RetroPi(とそれで使っているエミュレータ)を載っけて最低価格$49+送料で販売するってことですかね・・・

権利関係、ほんとに大丈夫なのかな???