Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

トイレにRESTfulなAPIを実装してみた

4,929 views

Published on

Developers Summit 2016 19-E-7 おうちハックLT大会で発表したスライドです。
http://eleclog.quitsq.com/2016/01/restful-toilet.html

Published in: Technology
  • Be the first to comment

トイレにRESTfulなAPIを実装してみた

  1. 1. トイレにRESTfulなAPIを 実装してみた 吉村 圭一郎 けーいち@9SQ Developers Summit 2016 - Day 2【19-E-7】 February 19, 2016
  2. 2. IoT 超HOT
  3. 3. Internet of Things モノのインターネット
  4. 4. Internet of Toilet トイレのインターネット
  5. 5. ること3年前 Internet of Toilet歴 元年 1月 1日
  6. 6. ‒ 某mrubyとかVimの人 便器からツィートが流れだすまであと少し ‒ 某QRコードを焼く人 トイレ流すリモコンの信号を受信すれば
 すぐ実現出来そう。大小の区別も…。 2013年1月1日のTwitter (一部省略)
  7. 7. トイレツイートbot
  8. 8. トイレツイートbot 改
  9. 9. あれから3年… トイレ→ネットだけでなく Internet of Toilet歴 3年 1月 1日 ネット→トイレの時代が来る
  10. 10. トイレにRESTfulなAPIを 実装してみよう
  11. 11. ハードウェア選定 http://espressif.com/en/products/wroom/ ESP-WROOM-02 ESP8266EX chipset • TCP/IPプロトコルスタック搭載32bit MCU • Wi-Fi STA, AP, STA+AP • 10-bit ADC with HSPI, SDIO, UART, PWM, I2C, and I2S 簡単 安い 無線LAN
  12. 12. ハードウェア構成 • ESP-WROOM-02 (with オリジナル基板) • 赤外線LED ケース 3Dプリンタで製作 基板 スイッチサイエンスPCB
  13. 13. リモコンからコードを取得 Arduino UNOに赤外線リモコン受信モジュールを接続 PL-IRM2161-XD1 Arduino-IRremote https://github.com/z3t0/Arduino-IRremote example/IRrecvDumpを書き込んで シリアルモニタで取得
  14. 14. リモコンからコードを取得 トイレのリモコンが 送信している信号をGET 流す(小)流す(大) 停止1 停止2 やわらか1 やわらか2 送信開始リーダ部 約6ms, 2.9ms データ部 1.5ms=1, 0.5ms=0が続く 流す以外のコマンドは 2回に分けて送信されている
  15. 15. プログラムを書く&書き込む 1. 無線LAN接続する 2. サーバ起動 3. リクエストを受ける 4. 赤外線送信 ESP8266 core for Arduino https://github.com/esp8266/Arduino ESP-WROOM-02を単体で Arduinoのように使える IRremote ESP8266 https://github.com/markszabo/IRremoteESP8266 38kHzで変調して赤外線LEDを 点滅させるライブラリ トータル 150行くらい
  16. 16. 設置
  17. 17. toilet.local
  18. 18. http://toilet.local/ HTML(bootstrap3)+JavaScript ボタンを押すとXMLHttpRequestで
 各コマンドを叩く mDNS対応ブラウザ でアクセス可能 (Androidは…)
  19. 19. toilet.local/washlet おしりを洗浄したいとき curl -X POST -d 'c=rear' http://toilet.local/washlet 洗浄を止めたいとき curl -X POST -d 'c=stop' http://toilet.local/washlet
 exam ple ® ウォシュレット,WashletはTOTOの登録商標です
  20. 20. toilet.local/washlet 「大」を流すとき curl -X DELETE -d 'c=big' http://toilet.local/washlet 
 ® ウォシュレット,WashletはTOTOの登録商標です exam ple
  21. 21. もう少しスマートに しようじゃないか
  22. 22. Androidアプリ作りました。 Android 5.0 ✔通知領域に常駐 他のアプリ起動中もシームレスに おしりの洗浄が可能
  23. 23. Blog 全部まとめて公開中 トイレにRESTfulなAPIを実装してみた 赤外線リモコンで操作できる 機器, 家電に応用可能
  24. 24. G itH ub 全部まとめて公開中 ESP-WROOM-02(ESP8266)向けコード Androidアプリのコード 赤外線リモコンで操作できる 機器, 家電に応用可能
  25. 25. モノがネットワークに繋がり RESTful APIを持つ トイレ
  26. 26. トイレ ???の可能性 APIを与えるだけで出来ることが一気に広がる +音声認識 = 対話できるトイレ? 「hey Siri, おしり洗って!」 +人工知能 = 行動予測するトイレ?? お尻を3回洗う人が来たぞ! 様々な既存ソフトウェア技術要素と組み合わせて…
  27. 27. [room].local/[device] Let s Enjoy おうちハック! 流行らないかなぁ…

×