はじめに
こんにちは。@o_chicchi こと、おおぐちさとるです。
本記事は、M5Stack Advent Calendar 2019 の 2019/12/12(木)の記事です。
今回は、社内のハッカソンで、M5Stack GO を使った成果物の紹介をしたいと思います。
社内ハッカソン
弊社の勤務先では、親会社主催でグループ会社合同で、「テクのこ」というハッカソンを社内向けにやっています。 親会社は、株主さん向けにも、新卒募集のインターン活動の中でも紹介しています。
今回は、私も含めた4名のチームを事務局が編成したので、そこに参加してアイディア出し、開発を行いました。毎回、難しいのは、営業といった部署の人も参加するので、必ず技術スキル高い人たちばかりではないのは大変なところですが、スライド作成がそこまで得意ではない私にはありがたいです。
私は、過去にも参加していまして、その時の内容は、次の記事を参照してください。
今回のアイディア概要
今回は、呑み会などのシーンにおいて、新人や海外からまだ来たばかりでチームに入ったばかりの人に配慮してあげたいということをテーマに、J!NSMEME を使って視線を取ってみようかと考えました。今回の話はそこがメインではないので、そこは詳細には触れません。
視線を頭の傾きに置き換えて、次のスライドの右側にあるイラストを出すデバイスとして、M5Stack GO を使っています。
全体の構成
J!NSMEME から入ってきた値を処理して、M5Stack GO と、ラズパイに JSON でデータを送って処理する構成にしました。
M5Stack GO の UIFlow が、MQTTS 非対応のため MQTTS から MQTT の処理とする必要がありました。そのため、EC2に、mosquito を導入して、AWS IoT Core の後段に置きました。
M5Stack GO の処理
M5Stack GO に期待する処理は、2つあります。JSON で入ってきたデータを処理して画像を表示することと、M5Stack GO をビアグラスに付けることにしたので、そのモーションを取ることです。
まずは、前者の処理から、JSON を受け取って、含まれている A の文字数をここでは数えています。なんでこんな処理にしたのかなぁ…とは思うのですが(笑) 初めてだったし、夜中だったしなぁ..ということで。
UIFlow 1.4.2 は、デコードの処理が増えているので、いろいろ試して直したいと思っています。
画面については、リセットできるような仕組みを入れてあります。
後者の処理ですが、ビアグラスの動きを取りたかったのですが、なかなか思ったような動きにならず、苦戦しました。今後も研究の余地はありそうです。
JSON の生成も簡単には書けず、文字列を生成して突っ込んでいます。Python ならもっと簡単なのにと思ったのはヒミツです。
開発した感想と周辺の反応
UIFlow に関しては、MicroPython に変わるタイプのようなこの手のツールはないので、面白いとチームメンバーも思ってくれたようです。
でもですね、回りにアドバイスもらえる人が居ないのが、いちばん大変でした…(笑)
おわりに
UIFlow 初チャレンジだったのですが、もっと勉強します…。
宣伝
12月14日の技術書博覧会で、Swift&Kotlin愛好会で、Raspberry Pi で、Swift を使う話を寄稿しました。
まったくもって、また関係ない話を(笑)
よかったら、手に取ってください。
コメント