KAIGI NO OWARI

KAIGI NO OWARI

社内ハッカソンの資料です。

DEMO動画のリンク
https://youtu.be/4uxLJHIBcqo
https://youtu.be/JB2AUmH3zAM

D3f673bee1c7b59b8bdade8f6db61282?s=128

radiocat

July 09, 2016
Tweet

Transcript

  1. KAIGI NO OWARI Ideathon & Hackathon @ Naniwa 2016.7.7

  2. concept & idea

  3. Concept   会議の終わりを    そっとお知らせ

  4. IDEA KAIGI NO OWARI Groupware

  5. ラズパイやArduinoもいいけど何か別なもの使いたい! • 会議室に置いて通知するだけなのでオーバースペック • チャレンジ要素が少ない 鳩を出したい! • 鳩時計みたいな通知 • 古来よりお知らせといえば鳩

    Technical theme
  6. ESP-WROOM-02 • 小型Wi-Fiモジュール • Arduinoマイコンとして利用可能 • 単体では1,000円未満 低価格で最低限の機能を揃えている 今回は開発ボードのESPr-Developerを購入 ESP-WROOM-02単体

    ESPr Developer ESP-WROOM-02本体 USB接続可 はんだ不要で 各種パーツに接 続
  7. servo motor モーターの回転位置と回転速度を制御できる 様々な用途で利用されている • 製造工場の機械・産業ロボット • ラジコンなどのホビー用途

  8. system design

  9. 各モジュールに呼びやすい名称をつけた System image 会議 スケジュール Saori Fukase Nakajin Love デスクネッツから

    会議室のスケ ジュールを取得し てFukaseに送る Fukaseに通知要否 を問い合わせ、 サーボモーターを 動かす 実行コントロール Groupware
  10. Nakajin • Groupwareにログインして会議室のスケジュールを取得する • 取得した情報をFukaseにPOSTする • cronで定期的に実行する コマンドラインからブラウザ操作が実行できるCasperJSを採用

  11. CasperJS • http://casperjs.org/ • WebKitベースのヘッドレスブラウザ • PhantomJSのラッパーライブラリ ◦ PhantomJSをより簡易的に扱える •

    E2EテストやWebスクレイピングで利用 • Seleniumよりも環境構築が簡単で手軽に扱える
  12. Fukase • 会議情報を管理するAPIサーバー • Nakajinが取得した会議スケジュールを受信しDBに登録する • Saoriからの問い合わせに応答して通知要否を返す

  13. Node.js+PostgreSQL on Heroku (ESLint by Travis CI)

  14. Saori • 会議の終了時刻が近づいたらデバイスを制御してお知らせする • 30秒間隔でWi-Fiモジュールを介してFukaseに通知の要否を確認する • Fukaseが通知”要”を返した場合はサーボモーターを制御して鳩を動かす

  15. Arduino ide • https://www.arduino.cc/ • C言語+αでハードウェア制御プログラミング ◦ いつどのピンの信号を ON/OFFするか ◦

    ライブラリが豊富でネットワーク通信も簡単 • USB経由でESP-WROOM-02へ書き込み • ラズパイと違ってコードを修正するたびに イメージの再書き込みが必要
  16. Arduino Code Sample IO12番ピンをサーボモーターに 接続し、90度回転信号を送る シリアル通信速度の設定 Wi-Fi接続もライブラリで抽 象化されていて楽ちん

  17. Love Saoriは一定時間おきにFukaseに問い合わせする実装を組み込んだ Nakajinはcronで一定時間おきに起動する FukaseはSaoriとNakajinの問い合わせに応答するのみ 結論:Loveは必要なし

  18. Information メンバー脱退のお知らせ いつもKAIGI NO OWARIを応援頂きありがとうございます。 このたび方向性の違いによりLoveが脱退することとなりました。 突然のお知らせとなり本当に申し訳ありません。 メンバー、スタッフで何度も話し合いを重ね、様々な形を模索してまいりました がこのような結論に至りました。 今後、Loveは概念となり皆様の心に残り続けます。

    何卒ご理解頂けますと幸いです。
  19. Development

  20. Prototype-1 ダンボールで試行錯誤 たまたま家にあっ たビール箱 サーボモーターで 糸を引っ張る 人形が飛び出す

  21. Prototype-2 レゴで試行錯誤

  22. product この後デモします

  23. Impressions

  24. Hard • プログラマブルなハト時計は売ってない • 凧糸が売ってない、そもそもどこで売ってるか分からない • モーターの回転をどうハトの上下運動へ変換するか • ハトが思うように動いてくれない •

    ハトを鳴かせたかった • ESP-WROOM-02は充分検証しないままやや見切り発車で採用した • CasperJSは実装は簡単だけどデバッグがしにくい
  25. fun • 動いたときの感動! • 工作したことでモノを作った実感が倍増 • アーリーテスターからの声 • 帰りの電車でプルリクをチェックしてマージをキメた •

    VimだけでNakajinの開発にチャレンジ • GitHub, Gitter によるチーム開発 • Googleスライドでもチーム開発(共同編集機能がすごい!)
  26. Demo

  27. Prototype-1 https://youtu.be/4uxLJHIBcqo

  28. product https://youtu.be/JB2AUmH3zAM