この記事はゆめみとQiitaのコラボ企画である「オフィスや自宅を快適にするIoT byゆめみ③ Advent Calendar 2018」 24日目のエントリです。
はじめに
はじめまして。 私は大阪で学生をしている者です。
最近、学部内でコンテストが行われていたので、そこに出展する作品を作りました。
この記事では、IoT,AIの知識0の状態から、1週間で友達と一緒に作り上げたプロダクト"Ai Locker"の完成までの道のりについて書きます。
【コンテストの概要】
テーマ: 未来のデスクトップ
詳細: 机の周りにあったらいいなと思うアイテムをMonoLab(大学内の工房)でつくる
注目👊
— WebSojo (@WebSojo) 2018年11月29日
総情の創設25周年プレイベントとして、「ものづくりコンテスト」が開催されます!
締め切りは12/20、ものづくりが好きなそこのアナタ!ぜひご応募ください! pic.twitter.com/AvokJaCh4Z
Ai Lockerとは
皆さんは鍵をいくつもっていますか?
家の鍵、会社の鍵、倉庫の鍵、引き出しの鍵、ロッカーの鍵
少なくとも3個以上を毎日持ち歩いている人が多いのではないでしょうか?
そしていざ使う時、似た鍵がありすぎで、ドアの前でアタフタ、、、なんてことも。。。
そこで僕たちが開発したのはリアルタイムピクチャパスワードを実装したAi Lockerです。
お手持ちのスマホをかざすだけでロックが解除できます。
このロッカーを使えば、鍵の心配とはおさらば。
きっと、オフィスや自宅が快適になります。
ペーパーレス、キャッシュレスの次はキーレスの時代が来ることでしょう!!!
(大風呂敷を広げました。ごめんなさい)
※ここからプロダクトの制作過程の話になります
Day1. アイデアソン
まず、何を作るかすら、決まってなかったので、Yahoo! Japan OsakaさんのMix Leap Open Dayで、友達とアイデアソンをしました。
電源、Wi-Fi、ドリンク、お菓子だけでなく、アイデア出しの方法やUI/UXの話などをしてくださいました。本当にありがとうございます。
またその時の話は別の記事に書いていますので、ご覧いただけると幸いです。
アイデアソンでは
ブレインストーミングをして、
構想を練って、
アーキテクチャを考えた結果、
指パッチンをしたら、おかしが出てくる引き出しをつくることにしました!!
Day2. Lピカ & Lチカ(Arduino)
次の日、MonoLabにある電子工作キットで、Lピカ、Lチカをしました。
中学校の理科の授業のとき、乾電池と豆球をつないで光らせたことぐらいしか、電子工作をしたことがなく、LittleBitsやArduino、ブレッドボードなんて触ったこともなかったのですが、ググりながら試行錯誤し、指パッチン(マイクセンサー)をトリガーにライトを光らせるところまで、出来ました。
ただ、指パッチン以外(手を叩いても)でも反応してしまうことに気づきました。
そこで、指パッチンを判別するAIの分類器、finger-snapを探し出し、クローンしてみました。
成功。
マイク部分は電子工作ではなく、USBマイクを使うことにしました。
Day3. 計画
アイデアソンはしたものの、具体的な計画にまで落とし込めてなかったので、必要な部品、技術を洗い出し、締め切りの20日までになんとか落とし込みました。
改めてみてみると、無茶苦茶な計画
バイトや授業がある中で、ハード過ぎるし、レーザーカッター使ったこともないし、DCモーターの制御なんかしたことないのによく、こんな短期間で出来ると思ったな、自分。
何より、一緒にやってくれてる友達にはマジで感謝
Day4. 買い出し
とりあえずモーターとベルコンが必要だと分かったし、買い出しに行きました。
いいサイズ感のものがあれば、引き出しは買おうと思ってたけど、無かったので結局作ることに。
Day5. レーザープリンタ & LINE bot
とりあえず、レーザーカッターを使ってみることに。illustratorのデータが必要だということが分かりました。illustratorは何回か使ったことがある程度でしたが、なんとかなりました。💦
LINE Beaconをラズパイにセットアップすることにも成功!このままトントン拍子で行くと思っていました。この時は、、、
Day6. 挫折
& 方向転換
& TensorFlow Lite
サーボモーターの制御は上手くいったんですが、DCモーターはうまく制御ができず、よく調べてみると、モータードライバーが必要だと気づきました、あと残り1日、やってもたー。 内心、これは終わったなと思いました。
でも、幸運にもチーム開発だったので、僕がテンパってても、友達がちゃんと冷静に判断してフォローしてくれました。「作るもの変えよう!!」と。
これがきっかけとなって、もう一度アイデアを練り直しました。
そして、「引き出しのアイデアはそのまま使って、DCモータをでロックの部分を実装。LINEで解除できるIoT Locker」を作ることに。
完成の目処が立ったのですが、なんか、未来感薄いなと思い、AIというか、機械学習を使ってみることにしました。AIの知識はほとんど無かったんですが、必死にググって、TensorFlowLiteのデモアプリを見つけ、
Objective-C++の知識は0でしたが、ググりまくって、if文と文字列操作、アラートの出し方、HTTPのGETリクエストをする方法を習得し、AI技術を使ったリアルタイムピクチャパスワードを実装しました。
Ai Lockerの最終的なアーキテクチャ図です
実物はこんな感じ
需要はないと思いますが、一応、GitHubにも公開してるのでよかったら見てください。
iOS APP
Raspberry pi
Day7. 動画撮影
& 資料作成
提出資料と動画は前日に作っておくつもりだったんですが、疲れすぎて、寝落ちしてしまい、早朝5時ぐらいから家で撮影、編集しました。(笑)
撮影風景
提出資料
Vimoというアプリで動画編集を行いました。
Vimo iOS
Vimo Android
12. まとめと感想
Mix Leapのスタッフの方やMonoLabのスタッフの方はもちろんですが、チームのメンバーである友達に常にめちゃくちゃ助けてもらってもらってるな。ありがたいなー。と感じる一週間でした。
次回、何かチャンスが有れば、もっと余裕をもって計画して、面白いものをまたチームで作れたらなと思います。
結果発表が楽しみです。