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.

Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION

76 views

Published on

MTDDC Meetup TOKYO 2018で行ったセッションのスライドです。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION

  1. 1. Movable Typeでロボットを動かす? AIスピーカーをしゃべらせる? Data APIでMovable TypeとIoTを FUSION 2018/11/3 MTDDC Meetup TOKYO 2018 藤本 壱 1
  2. 2. 今日のアジェンダ • IoTの基本 • Movable Typeでロボットを制御する • Movable TypeでGoogle Homeをしゃべらせる • その他の事例 2
  3. 3. 自己紹介 3
  4. 4. 自己紹介その1 • 藤本 壱(ふじもと はじめ) • 兵庫県伊丹市出身 • 群馬県前橋市在住 東京 埼玉 山梨 神奈川 栃木 茨城 千葉 4
  5. 5. 自己紹介その2 • ブログはもちろんMovable Type (ただしVer.6.3.7ですごめんなさい) 5http://www.h-fj.com/blog/
  6. 6. IoTの基本 6
  7. 7. IoTとは • 「Internet of Things」(物のインターネット)の略 • これまでインターネットに接続されていなかったようなものを 接続 • 例 • センサーからのデータ収集(気温、湿度、気圧など) • 各種機械の自動制御(照明、スピーカー、エアコンなど) 7
  8. 8. IoTは市場拡大中 11.701 5.816 0 2 4 6 8 10 12 14 2022年 2017年 支出額(兆円) 8
  9. 9. IoTと電子工作 • 既製品もあるが自分で作ることも可能(電子工作) • IoTに適したマイコンと各種モジュールを組み合わせ • プログラムでマイコンやモジュールを制御 9
  10. 10. MTDDC 2017では… • 再構築LEDバー 10
  11. 11. Raspberry Pi • ひと昔前のスマホ並みの性能 • IoTのコアとして多用される • Linuxベース • 小型のRaspberry Pi Zero WHも 便利 11
  12. 12. Raspberry Piのプログラミング環境 • Linuxベースなので多彩な言語を利用可能 • Pythonがもっとも使いやすい(各種パーツ用のライブラリが 豊富) 12
  13. 13. Arduino • シンプルなマイコン • 様々なモデルが存在 (主に8ビットCPU) • オープンソースハードウェアで安価な 互換機が豊富 • ネットワーク機能はほとんどない 13
  14. 14. Arduinoのプログラミング環境 • 統合環境(Arduino IDE)をパソコン にインストール • パソコンとArduinoをUSBケーブル で接続してプログラムを書き込む • 独自のArduino言語(C++に近い) 14
  15. 15. ESP32 • WiFi/Bluetooth内蔵のマイコン • Arduino IDEで開発可能 • 「ネットワーク機能付きArduino」の ようなイメージで使える • 比較的安価 15
  16. 16. Movable Typeでロボットを制御する 16
  17. 17. カムプログラムロボット • タミヤのプラモデル 17
  18. 18. 今回紹介する事例 • 元々のカムプログラムロボットはカムを差し込んで動きを制 御 • マイコン(ESP32)でモーターのオン/オフを制御するように 改造 • モーターのオン/オフのタイミングをMovable Typeのコンテ ンツタイプとして入力 18
  19. 19. デモをご覧ください 19
  20. 20. ハードウェア構成 ESP32 モータードライバ TB6612FNG カムプログラム ロボット OLEDディスプレイ 20
  21. 21. ソフトウェアの仕様 • ESP32はWebサーバーとして動作 • http://ESP32のIPアドレス/start?id=○○にアクセス • 指定したIDのコンテンツデータをData APIで取得 • JSONをパースしてモーター制御のデータを取得 • 取得したデータに沿ってロボットのモーターを制御 • http://ESP32のIPアドレス/stopにアクセス • ロボットのモーターを停止 21
  22. 22. ソフトウェアの動作 Webブラウザ ESP32 Movable Type 7 ロボット アクセス Data API JSON モーター制御 22
  23. 23. Movable TypeでGoogle Homeをしゃべらせる 23
  24. 24. Google Home 24
  25. 25. Google Homeの概要 • Google製のAIスピーカー • 話しかけられたことに反応して動作 25
  26. 26. 今回紹介する事例 • Raspberry PIに1~4のスイッチを接続 • 押されたスイッチに応じてMovable Typeの記事を取得 • Google Homeに記事の本文をしゃべらせる 26
  27. 27. デモをご覧ください 27
  28. 28. ハードウェア構成 Raspberry PI Google Home スイッチ 28
  29. 29. ソフトウェアの仕様 • スイッチの状態を取得 • スイッチが押されているとき • 対応する記事をData APIで取得 • JSONをパースして文章を取得 • google-home-notiferでGoogle Homeにしゃべらせる(キャスト) 29
  30. 30. google-home-notifier • Node.js製のライブラリ https://github.com/noelportugal/google-home-notifier • Raspberry Piなどで動作 • テキストを指定すると音声化してGoogle Homeにキャスト • Webサーバー化してHTTP経由で動作させることも可能 30
  31. 31. google-home-notifierのサンプルコード var googlehome = require('google-home-notifier'); var language = 'ja'; googlehome.device('デバイス名', language); googlehome.ip('aaa.bbb.ccc.ddd', language); googlehome.notify('こんにちは', function(res) { console.log(res); }); 31
  32. 32. ソフトウェアの動作 Pythonのコード Movable Type 7 Google Home テキスト Data API JSON 音声 google-home-notifier Google テキスト 音声 32
  33. 33. その他の事例 33
  34. 34. 電光掲示板の制御 • 記事のタイトルと本文をData APIで取得して電光掲示板に 表示 34
  35. 35. Google Homeから記事投稿 • Google Homeに記事のタイトルと本文を話して、Movable Typeに投稿 https://www.youtube.com/watch?v=uc89P4PhrOY 35
  36. 36. まとめ 36
  37. 37. まとめ • Data APIでIoTとMovable TypeをFUSION • アイデア次第でさまざまな活用が可能 37
  38. 38. ご清聴ありがとうございました 38

×