狠狠撸

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

More Related Content

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