Closed dynamis closed 7 years ago
具体的な利用例としては Serial や BLE などを使っての各デバイスとの通信用途。
note: USB Serial は将来的には Gecko 側に実装されることになると思われるが先の話なので node 経由で扱えることが必要
どうせなら同じ JS エンジンが使える SpiderNode も使えると良いと思ってる:
まだ実験的なプロジェクトという位置づけになってるので採用は早いかも知れないが、本格的に使われる見込みも出てきてるので少し先ならありか。 - (#16 として分離)
外部デバイスとして Serial / BLE の前にセンサー系の I/O にも対応する
一杯モジュールがあるので最新の Node.js (安定ブランチ) などでちゃんと動くモノを確認していく
note: GPIO / I2C に関しては CHIRIMEN で実装されている API の移植により node 非依存の Gecko だけで使えるようにする方が良いがそれは Next Step
https://github.com/imyller/meta-nodejs は v4.6.0/6.8.0 になっていますね。 (最初のメッセージを修正しました)
96boards krogoth 上で v4.6.0 で gpio/i2c を使ってみましたが、特に問題ありませんでした。 しかし、時期的にはもう v6 の方がよいですかね...
v6.9.x もリリースされたので v6 に移行して行きたいとは思いますが、ひとまずは v4.6.0 でも全然大丈夫です。Firefox 側も何か別のビルド試すときにでもまた。
note: v6 が嬉しい理由は 4 系列は ES6 の対応が弱く Firefox 側と同じコードが動かないところが増えるから。デバイス使うだけであれば取り敢えずそんなにややこしいコードは書かなければ大丈夫。 http://kangax.github.io/compat-table/es6/#node4
Node と組み合わせて GPIO/I2C デバイスを使うという Issue は解決済みなのでこちらは close します。 Node v6 へのアップデートについては #36 で (他と一緒に) 続きという事で。
現状としては https://github.com/imyller/meta-nodejs が v4.6.2/6.9.1 まで更新されたようで、6.9.x は LTS なので切り替えても大丈夫な感じにはなったかと思います。
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/