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

Node と組み合わせて使えるようにする #9

Closed
dynamis opened this issue Aug 8, 2016 · 6 comments
Closed

Node と組み合わせて使えるようにする #9

dynamis opened this issue Aug 8, 2016 · 6 comments

Comments

@dynamis
Copy link
Contributor

dynamis commented Aug 8, 2016

Web ブラウザからデバイス操作をする場合は

  • 各デバイス操作専用の WebAPI を WebIDL 書いて Gecko に実装してそれを操作する
  • 各デバイスを操作するローカルのアプリやサーバと Web 技術で通信して操作する
    という解があるが、後者の解として Node.js と組み合わせることは多いので対応したい。

具体的には meta-nodejs レイヤーがあるのでそれと組み合わせて使えるようにする。ハード制御などは Node 側で行ってブラウザの Web コンテンツ側からはローカルの Node と通信させる。

https://github.com/imyller/meta-nodejs
https://layers.openembedded.org/layerindex/branch/master/layer/meta-nodejs/

  • 現時点で用意されているバージョンは 4.6.0 と 6.8.0
    • v4 が現在の Active LTS なのでまずはそこから
    • v6 は 2016/10 以降に Active LTS に切り変わったら
      でしょうか。

note: 少なくとも Qt などと組み合わせて使ってる例はある様子
https://blog.qt.io/blog/2016/06/23/enabling-connectivity-embedded-product/

@dynamis
Copy link
Contributor Author

dynamis commented Aug 8, 2016

具体的な利用例としては Serial や BLE などを使っての各デバイスとの通信用途。

  • USB Serial
    • モジュールは node-serialport とか
    • 例えば ECHONET Lite のスマートメーターなどは Wi-SUN 経由
  • BLE = Bluetooth Low Energy
    • モジュールは noble とか
    • BLE (GATT) は色々あるが
    • Project Linking デバイスなんかも結構お手軽か

note: USB Serial は将来的には Gecko 側に実装されることになると思われるが先の話なので node 経由で扱えることが必要

@dynamis
Copy link
Contributor Author

dynamis commented Aug 18, 2016

どうせなら同じ JS エンジンが使える SpiderNode も使えると良いと思ってる:

まだ実験的なプロジェクトという位置づけになってるので採用は早いかも知れないが、本格的に使われる見込みも出てきてるので少し先ならありか。 - (#16 として分離)

@dynamis dynamis changed the title Node.js と組み合わせて使えるようにする Node or Spidernode と組み合わせて使えるようにする Aug 19, 2016
@dynamis
Copy link
Contributor Author

dynamis commented Sep 27, 2016

外部デバイスとして Serial / BLE の前にセンサー系の I/O にも対応する

一杯モジュールがあるので最新の Node.js (安定ブランチ) などでちゃんと動くモノを確認していく

note: GPIO / I2C に関しては CHIRIMEN で実装されている API の移植により node 非依存の Gecko だけで使えるようにする方が良いがそれは Next Step

@ghost ghost mentioned this issue Sep 27, 2016
6 tasks
@dynamis dynamis changed the title Node or Spidernode と組み合わせて使えるようにする Node と組み合わせて使えるようにする Sep 27, 2016
@dynamis dynamis assigned ghost Oct 16, 2016
@ghost
Copy link

ghost commented Oct 17, 2016

https://github.com/imyller/meta-nodejs は v4.6.0/6.8.0 になっていますね。 (最初のメッセージを修正しました)

96boards krogoth 上で v4.6.0 で gpio/i2c を使ってみましたが、特に問題ありませんでした。
しかし、時期的にはもう v6 の方がよいですかね...

@dynamis
Copy link
Contributor Author

dynamis commented Oct 26, 2016

v6.9.x もリリースされたので v6 に移行して行きたいとは思いますが、ひとまずは v4.6.0 でも全然大丈夫です。Firefox 側も何か別のビルド試すときにでもまた。

note: v6 が嬉しい理由は 4 系列は ES6 の対応が弱く Firefox 側と同じコードが動かないところが増えるから。デバイス使うだけであれば取り敢えずそんなにややこしいコードは書かなければ大丈夫。
http://kangax.github.io/compat-table/es6/#node4

@dynamis
Copy link
Contributor Author

dynamis commented Nov 22, 2016

Node と組み合わせて GPIO/I2C デバイスを使うという Issue は解決済みなのでこちらは close します。
Node v6 へのアップデートについては #36 で (他と一緒に) 続きという事で。

現状としては https://github.com/imyller/meta-nodejs が v4.6.2/6.9.1 まで更新されたようで、6.9.x は LTS なので切り替えても大丈夫な感じにはなったかと思います。

@dynamis dynamis closed this as completed Nov 22, 2016
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

1 participant