Intel Edison勉強会に参加してきた

2015年1月30日に行われたIntel Edison勉強会に参加してきた。

現時点で公開されている発表資料はこちら。

[2015/02/09追記]

勉強会のページで発表資料が公開されていました。

Intel Edison勉強会 - 資料一覧 - connpass

個人的に勉強になったことのまとめ

個人的に面白かったり気になったりしたことをまとめておこうと思う。自分は今Edisonを持ってなくて、今回はどんなものか知りたかったのが参加した目的。

※注意:当日のメモを元に書いているので内容はあまり正確ではないと思う。正確な情報は各自調べるようにしてください。

R2ファームウェア

Intelの中の人の発表によると、近いうちにR2というEdisonの新しいバージョンのファームウェアが出るようだ。

R2ではオーディオ再生やMCU用のSDKBluetoothのプロファイル追加などの機能追加があるみたい。

今までBluetooth対応だと聞いていたけど、まだ完璧ではなかったらしい。でも今回みたいに色々な機能が増えたり強化されたりするということは、今後のバージョンアップでも面白そうなことができるようになったりしそうで期待できそうだ。

EdisonにはAtomとQuarkの2つのプロセッサが載ってる

ずっとEdisonはデュアルコアAtomが載ってるだけだと思ってたけど、それとは別にMCUとしてQuarkプロセッサが載ってるようだ。QuarkではリアルタイムOSが動作するらしい。

上で書いたようにR2ファームウェアMCUSDKが含まれる予定で、これを使ってQuarkプロセッサ用の処理が書けるようになるようだ。リアルタイム処理が書けるようになるみたいだけど、どの程度書けるかは実際に公開されたものを使ってみて検証する必要がありそう。

mBaaS

mBaaSはニフティさんのモバイルバックエンドサービス。

mBaasとEdisonなどのIoTデバイスを組み合わせたメリットの話が勉強になった。

IoTデバイスは常時電源を使えるとは限らないし、メモリーやストレージが小さいので常時全てのデータを保存しておくことはできないから、適宜データを捨てる必要がある。また、大量のデバイス1つ1つにスマホからアクセスするのは現実的じゃない。けれどmBaaSをデバイススマホの間に置けば、データの保存やアクセス処理が簡単にできるようになるし、デバイスの管理もできるよ、ということだった。

それと、M2M(Machine to Machine)ではデバイスが多種類あるとプロトコルを合わせるのが難しいけども、間にクラウドサービスを挟む(M2C2M(Machine to Cloud to Machine))とクラウドプロトコル変換を行えるので楽になるという話だった。デバイス上でたくさんのプロトコルを実装するのはスペックの制約があるしデバイスのリソースも奪うので大変だったり難しいけども、間にmBaaSを挟むことで、mBaaSで対応しているプロトコルを使ったりリソースが豊富なサーバーでプロトコルを処理できるから楽になるってことだと理解した。

クラウドサービスに詳しくないので具体的な使い方が分かって勉強になった。mBaaSはある程度は無料で使えるみたいなので、試してみると面白そうだ。

mBaaSとは | ニフクラ mobile backend

Amazon SQSとEdisonを組み合わせたデモ

Amazon SQSとEdisonを組み合わせたデモが面白かった。Amazon SQS(調べたらスケーラブルで高可用なキューサービスらしい)にメッセージを送ると、3台のEdisonのどれか1台がそのメッセージを処理するというもので、Edisonに接続されたLEDを光らせたりブザーを鳴らしたりしていた(電気ショックもあった)。

普通はデバイス側がデータを送る方だけど、今回は逆にデバイスでデータを処理するという発想で、自分が思いつかなかった考え方なのもあって面白いなと思った。

こういうアイデアを出せるようになるには実際に色々作ってみる必要があるのかなと思ったので良い刺激になった。

Henry

今のところEdisonでUSBカメラを使うにはカーネルを自分でビルドし直さないといけないが、Henryという拡張ボードを使うとUSBコネクタにUSBカメラを繋げるだけですぐに使えるらしい。

FRISKケースに入るEdison用ベース基板 Henry - ランニングエレクトロニクス

フリスクケースに入る大きさで9軸モーションセンサーを載せているようだ。他にもEdisonの使い勝手を良くする機能が載ってるみたい。

日本語の情報が少ない

発表者の人がEdisonの日本語情報が少なくてすごく苦労したと言っていた。Edisonユーザー会が出来たのも、日本語の情報を集約したりして情報を共有するのが目的の1つだと言っていた。

その他

他にも色々話を聞いたので簡単に載せておく。

  • 開発環境
  • ubilinuxというEdisonで動くDebianがある。
  • Edisonにはinit.dはないのでsystemdを使う。
  • configure_edisonという設定スクリプトがある。
  • opkgというEdison用のパッケージマネージャがある。
    • 初期状態だとリポジトリが少ないので追加すると良い。
  • Intel Edison Kit for ArduinoのPWM Swizzlerは、EdisonのPWM出力(4本)を拡張ボードのPWM出力(6本)のどこに振り分けるかを決める。
  • ピンマルチプレックス
    • EdisonのピンマルチプレックスについてはIntelから情報がほとんど出てないけれど、代わりにEmutex社というところが詳しい情報を公開している。
    • EdisonとIntel Edison Kit for Arduinoの両方でマルチプレックスしている。
    • MRAAなどのライブラリを使うほうが楽らしい。
  • EdisonのGPIOは1.8Vで大抵のセンサーを繋げるには電圧の変換が必要だけど、変換はそんなに難しくないらしい。(後で調べたら変換する部品が数百円で売ってたので挑戦してもいいかも。)
  • MRAAはEdisonだけでなくRaspberry Piなどにも対応しているので、勉強しておくと他のデバイスを使う時でも役立つ。
  • MRAAは「ムラー」と発音するようだ。
  • EdisonはIntelがフルカスタマイズで作ったものなので完成度が高い。

感想

Edisonのソフトウェア環境はまだまだ開発中らしくバグも多いけど、開発が活発にされてるのでアップデートも頻繁に行われていて楽しそうだ。

Intelの中の人や実際にEdisonを使って勉強してる方達の話だったので、実際に役立ちそうな情報がたくさんあったと思うし、Edisonに限らずサーバーとの組み合わせとかの勉強になったり開発のモチベーションも上がったりしてとても良い勉強会だった。

主催者の方と発表者の方々ありがとうございました。