Silicon Valley Internship Program に行ってきた感想とプロダクト紹介
こんにちは、田嶋幸智子です。
今年の夏休みに会津大学で行われてる、シリコンバレーインターンシッププログラムに参加してきました。
ひと段落ついたのでブログにまとめてみようと思います。
参加するきっかけ
私は今まで、何かを開発したことがなくものをつくる経験がない初心者だったので、このインターンに参加すればアメリカにもいけるしいいじゃんと軽い気持ちで応募してみました。
正直なところ、IoT関連の知識が一切なく英語も得意でなかったので、面接の時に留学生にボロボロにされ(あとでわかったんですが留学生じゃなくて日本人でした)絶対落ちたと思ってたので、合格メールがきて飛んで喜びました 笑
事前研修
実際にアメリカへ飛び立つ前に、Aizu FaboさんでSV勢はみんな1週間の事前研修を受けました。 朝9時から午後6時まで(昼休みあり)みっちり3Dプリンタやレーザーカッターの使い方の基礎から、arduinoやラズパイのLチカからはじまりandroidからラズパイカーの操縦まで一通りみっちり教わります。
そしてこの研修の最終日に、チームを組んでプロトタイピングをしました。 私はみっさー、星くん、大川原くんの三人でチームを組みました。
これは実際に作ったのが入れ物になった姿です。
と、言うのも、ケースとラズパイの準備は良かったものの、私の担当していたアイテムを出すはずだったandroidも、念の為に星くんに作ってもらっていたPCからアイテムを出すほうも完成できず、絶望のまま完成形を撮るのを忘れていたからです。
みんな本当にすみません。。。
(ケースを作ってくれたみっさー本当に天才)
私の書いたコードはgithubにあげてたので公開します。
(でも多分もう一生androidは触らないです。)
シリコンバレーにて
現地についてからはまず、空港で向こうでお世話になる水野さんとその助手(?)のちょうらんと合流してから、ホテルにチェックイン後 Hacker Dojoに行きました。
ご存知の方も大勢いると思いますが、Hacker Dojo というコアワーキングスペースで2週間開発をします。
ここは3Dプリンタなど数々の施設や煮詰まった時の卓球台などまさにエンジニアの天国のようなところです。
作業開始
はじめに私たちはそれぞれのアイデアを出し合いました。 私の出した案、なんか光る綺麗な積み木的なオブジェに星くんがきてくてれて、一緒ににしゅんじ先輩もきてくれたので、三人で開発することになりました。
水野さんがちょうどよいarduinoを持っていたので、それを使うことになりました。
もともとこれはドローンを作ろうとしていたそうです。
まずはじめに考えていた案として、
- ブロックはもともと光っていて、積み木を組み合わせることで色を共有したり色を混ぜ合わせた色になる。
- ブロックをつかって街を作る。陸の部分にのせると緑色になったり、海の部分にのせると青になったりする。
- ブロック一つ一つが音を持っていて組み合わせると、音楽になる。(ドラム + タンバリンなど)
これらの案を実現するなかで、一番の課題だったのが、arduinoが互いにくっついていたり離れていたりをどうやって認識させるかということでした。
ここで考えついたのがラズパイを一つサーバー的な感じで設置し、それとarduino同士をなんらかの方法通信して、arduinoの挙動を監視する、という方法です。 しかし、ラズパイとarduinoの通信方法をいろいろと探っていたのですがうまく行きませんでした。。。
そこで水野さんからヒントをいただき、ラズパイとarduinoをシリアル通信してからarudino同士をBluetooth Low Energy (BLE) を使って通信する方が簡単で楽だと教えていただき、通信することにしました。
ここでarudino側が困難を極め、みんな疲れ果てた末に、「これ寿司ゲームにしたら面白くね?」と星くんとしゅんじ先輩が謎のテンションで盛り上がり始め、期限も迫っていたので寿司ゲームになりました。
こんなイメージ
どんなゲームかというと、
- 寿司ブロックを振ることで、ネタを変えられる。
- ネタとシャリを合わせて振り、寿司をつくる。
- 寿司下駄において完成!
完成や寿司作りのときに、ディスプレイいん表示したり「へいおまち!」と音を出したり、など色々考えましたが、簡単なのに行こうということでまず作ってるっぽい音をながすことにしました。
ここで、arduinoのほうが難しそうだったので、しゅんじ先輩と星くんに任せ、私はラズパイとラズパイについてるarduino(親機)を担当しました。
ラズパイと親機の動きとして、
- 親機が子機(寿司のarduino) から、BLE通信でネタがなにか、握っているか、握って降っているかを受け取る
- 親機は受け取った値+BLEのrssi値をラズパイにおくる。
- ラズパイは受け取った値によって音を流す
こんな感じです。
そしてできたものがこちら。
見栄えは悪いですが一応完成しました。
マイクロソフトの食堂でプレゼンをしてきました。
中には特許とらなきゃ!なんて声もあり嬉しかったです。
私が書いていたコードがこちら
機会があればもっと機能追加したいです。 ちなみに現地ではPython2系で書いていて、帰ってきてから3系で書き換えました。
終わりに
シリコンバレーですが、結果として行けてよかったです。
いろいろとトラブルもあり大変でしたが、IoTについて知識がついたし、普段知り合わない先輩や現地での友達もできてすごい楽しかったです。
英語力がなく、話しかけられてもほとんど会話を任せっきりで微笑んでただけだったので、それだけが心残りでした。
事前研修でお世話になった、Aizu Faboの島影さん、佐々木さん、
そして現地でとてもお世話になった、水野さんやちょうらん!三菱さんたちもろもろ!笑
あと、援助をしてくださったSGUの皆様に感謝の心をこめて終わりにします。