categories: meetupgolangIoT
Full Stack Robotics/IoT Using Go参加レポート

マウンテンビューのGoogle本社で行われたGoでIoTデバイスを操作するGobotのイベントの参加メモです。 資料はまだ上がってないので上がった段階で追記します。

概要

内容

LT by Kevin

イベントページの発表者のlast nameは間違っているらしい(ググったけど映画監督しか出てこなったのはそのせいかw)。 正しい苗字はメモれなかった。

内容はイベントの紹介程度。

子供向けのイベントの紹介では発表者のお子さんの口から、こんなことをした、みたいな紹介が入った。

メインセッション

発表者

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のプログラムを普通に走らせることができる
  • 続いて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

簡単ですが以上です。