Full Stack Robotics/IoT Using Go参加レポート
マウンテンビューのGoogle本社で行われたGoでIoTデバイスを操作するGobotのイベントの参加メモです。 資料はまだ上がってないので上がった段階で追記します。
概要
- 日時: 2015年10月7日 19:00 - 20:30
- 場所: Google Building CL2
- イベントページ
内容
LT by Kevin
イベントページの発表者のlast nameは間違っているらしい(ググったけど映画監督しか出てこなったのはそのせいかw)。 正しい苗字はメモれなかった。
内容はイベントの紹介程度。
- GDG DevFest - まもなくポストするとのこと
- なぜかGeek Bike Rideとかいうチャリンカー向けイベントの紹介
- 子供向けイベントの紹介。
子供向けのイベントの紹介では発表者のお子さんの口から、こんなことをした、みたいな紹介が入った。
メインセッション
発表者
Ron Evans(twitterアカウント)
- hybridgroupの人。
- Gobotに限らず、Cylon.js,ArtooといったIoT系のフレームワークを作っている。
- 子供向けのRubyのプロジェクトであるkidsrubyも作っている。
Gobotとは(サイトに書いてあるレベルのまとめ)
GobotはGolangで様々なIoTプラットフォーム向けのプログラムが書くためのもの。
公式ページのトップにはArduinoでLチカするコードが載っているが、Arduinoに限らず15のプラットフォームに対応している(発表後の質疑応答で18と言っていたのでサイトの情報は若干古い模様。またcylon.jsの方が対応プラットフォームが多いとのこと)。 この中にはArduinoのほか、ARDroneやラズパイ、EdisonといったデバイスだけでなくMQTTやOpenCVといったものまで含まれる。 また、GPIOドライバにより7つ、I2Cドライバにより6つの機器をサポートしている。
APIも用意されており、デバイスの状態を確認することなどが可能。 robeauxというReact.jsベースのダッシュボードで確認することもできる。
CLIの場合はGortを使って操作するようデザインされてるけどgobot独自のCLIもある。
発表内容
- アーキテクチャの図(スライド参照)
- ArduinoでLチカ(ちなみに英語ではblinking LED)をするデモ
- コードはGobotのサイトトップに書いてあるものと全く同じだった。
- Arduino上ではGoは動かないけどコンパイルしたコマンドを送ることができる
- Edisonで同じくLチカをするデモ
- Arduino版とのコードの差分はimort文1行とAdaptor生成部分のみ(
firmata.NewFirmataAdaptor("arduino", "/dev/ttyACM0")
がedison.NewEdisonAdaptor("edison")
になるだけ) - edisonの場合は中身がLinuxなのでsshで接続してGoのプログラムを普通に走らせることができる
- Arduino版とのコードの差分はimort文1行とAdaptor生成部分のみ(
- 続いてEdisonでボタンを押してる間だけ光るデモ
- GobotでAPIを立ち上げるプログラムを動かして、そこにcurlを送るデモ
host:port/api/robots
が起点になる模様。- デモでは操作じゃなくて参照しかしなかった。
- Gortのデモ
gort scan bluetooth
でbluetooth接続されている機器を一覧表示してそこからrfcomm connect
で接続(rfcommは普通のLinuxコマンドらしい。知らんかった。)
- Spheroのデモ
- robeauxを使ったデモ
- WebのUIからコマンド実行してSpheroを動かすデモ。あんまり思った通りの方向に進んでなかったw
- Twitterで指定のハッシュタグで呟いてSpheroまたはEdisonを抽選で1名にプレゼント!
- めっちゃ欲しかったけど当たりませんでした。。。
- commander.ioの紹介
- phonegapとかionic使って作ってるとのこと。
- parrot bebopという新しいDroneのデモ
- DroneをPS3のコントローラのジョイスティックで操作して、Droneで撮影している映像をリアルタイムに画面に表示するというデモ
- ジョイスティックは色々な種類があるので、jsonの設定ファイルを指定できるようになっているらしい
- コードは今までのものと比べると長いが、Goルーチンのおかげで、ビデオに撮って表示する部分とコントロールする部分が一つのコードの中でキレイに分離できるとのこと(この方、めっちゃGo推しでしたw)
分かりにくいけど写真貼っておきます。むしろどこにDroneいるか分かるかな、ってクイズにできるレベルですねw
簡単ですが以上です。