webdino / gecko-embedded

Main (meta) repository for Project GEM (Gecko Embedded)
https://gecko-embedded.org
22 stars 2 forks source link

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

Closed dynamis closed 7 years ago

dynamis commented 8 years ago

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

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

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

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

dynamis commented 8 years ago

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

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

dynamis commented 8 years ago

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

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

dynamis commented 8 years ago

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

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

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

ghost commented 8 years ago

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

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

dynamis commented 8 years ago

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

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

dynamis commented 7 years ago

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

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