Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raspi 互換ボードなどの検証 #65

Open
dynamis opened this issue May 22, 2019 · 7 comments
Open

Raspi 互換ボードなどの検証 #65

dynamis opened this issue May 22, 2019 · 7 comments
Assignees

Comments

@dynamis
Copy link
Contributor

dynamis commented May 22, 2019

Raspi 3 でやっとまともに動かせる性能になったから Raspi3 に移植したわけですが、rapi3 ではまだ開発環境としては辛いという声もあったので、Raspberry Pi 3 互換ボードに Debian ベースの OS を入れている場合にも動かせないか試して報告するスレ。

取りあえず (動作報告では無く) 検証すると良さそうだなと思う候補の例を挙げる:

ASUS Tinkerboard (RK3288)

https://www.asus.com/jp/Single-Board-Computer/Tinker-Board/
動くと小玉さんが行ってた気がします。私も手元に持っているので試してみようかな...

Rock Pi 4 (RK3399)

model A (無線無し) だと 1GB で $39 と Raspi と十分タメを張れるのに圧倒的な高性能 https://shop.allnetchina.cn/products/rock-pi-4-model-a-board-only-no-wlan-bluetooth-poe?variant=15819370954854

open spec なところは CHIRIMEN Open Hardware と非常に相性が良い
https://wiki.radxa.com/News/2018/11/introduce-the-new-rockpi-4-hardware
https://wiki.radxa.com/Rockpi4/hardware

96boards 系

Raspi 互換以外には 96boards がかなり増えて生きているのでそちらも使えると良いかもしれない
https://www.96boards.org/products/

例えば最初にでた Dragonboard 410c https://www.chip1stop.com/sp/solution/dragonboard410c や最近だと Kirin 960/970 とか RK960 とか Renesas RZ/G2E とか...

@dynamis dynamis self-assigned this May 22, 2019
@dynamis dynamis changed the title Raspi 互換ボードの検証 Raspi 互換ボードなどの検証 May 22, 2019
@kou029w
Copy link
Contributor

kou029w commented Jun 6, 2019

Rock Pi 4

Chirimen for Raspberry PiをRock Pi 4にインストールするためには、いくつか問題がある
現時点での利用は困難
サーバー起動するまでは確認できたけど、実際にIOを触ったり、ブラウザでのクライアント側での動作は未確認

環境

setup.shの実行に関わる問題

  • pi → linaro
    • /home/pi → /home/linaro
  • /boot/cmdline.txt: No such file or directory
  • /etc/xdg/lxsession/LXDE-pi/autostart: No such file or directory
  • Package at-spi2-core is not available
  • E: パッケージ ttf-kochi-gothic が見つかりません
  • E: パッケージ npm が見つかりません
  • Arduino IDEのインストールに失敗している
  • bash: crontab: コマンドが見つかりません
  • bash: raspi-config: コマンドが見つかりません
  • npm i に失敗
    • makeやg++に依存
      • sudo apt-get install -y build-essential で解決
  • 日本語入力ができない
  • タイムゾーンがUTC
    • JSTにするには sudo timedatectl set-timezone Asia/Tokyo で解決
  • bash: chromium-browser: コマンドが見つかりません
    • 代わりに chromium として存在している
  • tee: /etc/xdg/lxsession/LXDE-pi/autostart: そのようなファイルやディレクトリはありません
  • sed: /usr/share/raspi-ui-overrides/applications/lxde-x-www-browser.desktop を読み込めません: そのようなファイルやディレクトリはありません
  • tee: /usr/share/raspi-ui-overrides/applications/lxde-x-www-browser.desktop: そのようなファイルやディレクトリはありません
  • certutil: unable to open "~/_gc/srv/crt/ca.crt" for reading (-5950, 2).
    • certutil -A -n org-TripArts -t "TCu,Cu,Tu" -i ~/_gc/srv/crt/ca.crt -d sql:/home/linaro/.pki/nssdb で解決
Package at-spi2-core is not available
Package at-spi2-core is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'at-spi2-core' has no installation candidate

srv.js 起動に関わる問題

  • /home/linaro/_gc/srv/node_modules/raspi-board/dist/index.js:799
    • throw new Error('Unable to parse revision information in /proc/cpuinfo');
      • RASPI_IO_TEST_MODE=on node srv.js で無視して起動可能
  • /bin/sh: 1: modprobe: not found
    • /home/linaro/_gc/srv/node_modules/raspi-i2c/dist/index.js:106 コメントアウト (modprobeの使われている行をコメントアウト) すると無視して起動可能

余談

https://wiki.radxa.com/Rockpi4/dev/libmraa に従ってRock Pi向けmraaを導入すると比較的簡単にgpioやi2cを触れられるが、カーネルを更新したタイミングでchromiumがクラッシュするようになりました

@dynamis
Copy link
Contributor Author

dynamis commented Jun 11, 2019

どうやら radxa 公式ビルドのできが悪いが (apt upgrade で Chromium 起動しなくなるし) Armbian のビルドはまともにメンテナンスされてそうなのでやるなら Armbian に CHIRIMEN 環境が追加できるかというトライをした方がよさそう。Ubuntu/Debian 両方あるのをどちらにすべきかは少し悩みどころ。

https://www.armbian.com/rock-pi-4/
https://dl.armbian.com/rockpi-4b/archive/

media script は Ubuntu のみのサポートっぽいのでそちらにすべきかも?
https://forum.armbian.com/topic/9272-development-rk3399-media-script/

FYI: https://github.com/dynamis/memo/wiki/RockPi4

@dynamis
Copy link
Contributor Author

dynamis commented Oct 1, 2019

Jetson Nano

Raspberry Pi シリーズ以外でちゃんと普及していて重要度の高いボードの筆頭なので検証・対応したいところ (取りあえず弊社オフィスでも確保した)

@kou029w
Copy link
Contributor

kou029w commented Oct 1, 2019

Jetson Nano

srv.jsを書き換えてGPIOが動作することまでは確認できた
setup.shを使ってChirimen for Raspberry Piをインストールするためには、いくつか問題がある (#65 (comment) と似た問題) ので手動でnode周りや証明書のインストールを済ませた

環境

  • Jetson Nano Developer Kit JP 4.2.22019/08/26
    • md5sum: 130ece72ef18c7627ba645e94be2e0b5

GPIOの動作手順

  1. package.json, srv.jsから i2c 周りのコードを取り除く
  2. npm i && sudo node srv.js
  3. ブラウザ (chromium-browser) を起動し、GPIO BlinkのExampleページにアクセス
  4. ポート番号を適当に書き換える

確認するためのコードは
https://github.com/chirimen-oh/chirimen-raspi3/tree/jetson-nano ブランチに置いています

@kou029w
Copy link
Contributor

kou029w commented Oct 1, 2019

NOTE: raspi-i2cは比較的単純なi2c-busとピンマッピングするためのモジュール (raspi-board, raspi-peripheral) の組み合わせ
RasPi&Raspbian 32Bit環境以外のARMボードの環境に対応するなら、i2c-busモジュールを直接使って書き直す必要があるかも?

@kou029w
Copy link
Contributor

kou029w commented Oct 3, 2019

raspi, raspi-i2cモジュールへの依存を取り除きi2c-busモジュールを直接用いるようにして #82 にて master にマージしました
これによってARM 32bit環境だけでなくi2c-busモジュールがインストール可能なビルドツールチェーンが一通り揃ったLinux環境であればsrv.jsについては問題なく動くようになったんじゃないかなと思います

もちろんRasPi環境でも今までどおり使えると思います
(…がまだ一通り試せていないので不具合無いことを確認したいところです) RasPi環境で動作テストキット(/testSet/testAll.html) で一通り試しても問題ないことを確認しました

@dynamis
Copy link
Contributor Author

dynamis commented Dec 5, 2020

暫く前に Jetson Nano は 2GB 版で 6820 円という廉価版が出てきた。メモリ半減で価格半減とはね。。。

Raspi 4 も 2GB あればブラウザを動かすのにも足りると検証済みであるし、CPU コアが A53 と A57 という全然性能違うコア (DMIPS だと 2 倍くらい違う) なので 2200 円差くらいなら全然 Jetson Nano 2GB が CHIRIMEN 環境としてはブラウザがより快適に動いて魅力的。もちろん AI など GPU 処理系の場合は更に魅力的。

  • Raspi4: Quad [email protected] - 4620 円
    • 別途 CPU ヒートシンクが必須、HDMI が microHDMI でケーブル類も追加で必要
  • Jetson Nano: Quad [email protected] - 6820 円
    • 巨大ヒートシンク付きで安心、フル HDMI コネクタ

今年はリモート連携のリレーサーバ系を強化したけど AI サンプルと組み合わせる AI x IoT を JavaScript だけで学習する体験環境として強化していくのにとても良いと思う今日この頃。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants