Successfully reported this slideshow.

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

0

Share

1 of 38
1 of 38

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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

×