「iot」タグアーカイブ

RaspberryPiでAmazonEcho(Alexa)を自作しながら筋トレ

Alexaの最新ライブラリが発表されたのに便乗して

今や音声入力インターフェースが花盛り。
アメリカさんでは一家に一台AmazonEchoなんて言われるくらい浸透してて、GoogleもGoogleHomeで追随中。
もちろん、iOSにはSiriさんがいるし、Windowsにはcortanaくんが。
そして、日本でもLINEが「WAVE(Clova)」という音声インターフェースを発表したことが話題になった。
(先行申し込みした人にはそろそろ届き始めている頃かな。)

そんなこんなで、音声入力インターフェースが「ポスト・スマホの最有力」なんて言われたりするものだから、世界中で巨人達が熾烈な争いを繰り広げている。

そんなさなか、amazonが二週間ほど前に最新のAlexa用公式ライブラリ(SDK)を発表

以前からずっとAlexaを使ってみたいと思っていたので、ちょうど良い機会だし「Amazon Echoもどき」を作ってみようかな、動かしてみたいし・・・という軽い動機にて。
「声」「音」のユーザーインターフェースの雄(英語圏で)となっているAmazon Echo(Alexa)をラズパイで自作(DIY)してみます。
(あと今後のAlexa SDKの勉強も兼ねて!)

ちなみに。
説明する必要も無いと思うけど、Amazon Echoってこれね。

でもって、最新Alexa SDKのGithubリポジトリはこちら。
https://github.com/alexa/avs-device-sdk

AVS(Alexa Voice Service)SDKリポジトリのwikiには、Amazonが最新SDK用の丁寧な”Quick Start Guide”を用意してくれているので、これをなぞるだけで、Alexaが動くよ!(らしいよ。)
なので、コマンドラインを少しでも扱える人なら誰でも簡単にラズパイでAlexaが作れちゃう。(らしいよ。)
いや、コピペするだけなので、最悪コマンドラインが分からなくても作れちゃう!(らしいよ。)

と思っていたら、結果的に「かなりの忍耐力」を要求されたことだけは先に言っておきます。
(エンジニアなら知っているはず、「道を知ることと道を行くことは全く違う(モーフィアス)」。そういうもんだよね。)

もう一度言っておきます。
「コピペ」するだけでラズパイを使ってAlexaを構築可能であることに間違いはない。
が、コンパイルの待ち時間などが超長かったりドキュメントに不備があったりで、「忍耐」が必要という覚悟を持って臨むべし。

前置きが長くなった・・・・。

さぁ、帆を上げろ!
Let’s go!!

何よりもまず、ラズパイを用意する

今回、私は手元に2年前くらいに買った「Raspberry Pi2」があったのでそれを使用します。
ただし、最新ラズパイはRaspberry Pi3で、2よりも随分と処理能力が上がっています。
なので、ラズパイ3を使うと、もしかしたら「私が苦しんだAlexa構築時間」がラズパイ2の半分くらいの時間で済むかも。
ラズパイ3 5500円前後

ラズパイ自体のセットアップ等については、過去記事参照。
Raspberry Pi 2(or 3)で楽しく格安ディスクトップPC構築

ちなみに、Alexaはマイクから音声を拾って、スピーカーを通して返事を返すので、上記説明とは別にラズパイに繋げる①マイクと②スピーカーは必須です。
私は、マイクとスピーカーをamaoznで激安で購入。(ちゃんと動いたよ)
あとインターネットにも繋がる必要があるので、有線LANケーブルかUSBのWifiを用意。
(ラズパイ3だと、WiFiが標準装備なのでWiFi子機は不要だね。)

Alexa(AVS)動作までのステップを確認しておこう

Alexaを構築作業に着手する前に、構築のステップを大まかに把握ね。

  1. 手持ちのラズパイをAmazon Developerに登録する(オンライン)
  2. Alexa SDKを動かすために必要なライブラリをインストールする。(これが時間かかる)
  3. Alexaの実行環境が整ったら、公式サンプルをダウンロードしてきてビルドする。
  4. ビルドしたアプリを立ち上げて、マイクに向かって”Alexa!”と呼びかける。(すると、奇跡が・・・)

ラズパイをAmazon Developerに登録する

(以下の登録は、ラズパイでやってもいいし、PCで作業してもOK。私は普段使っているMacでやりました。)

まずは、Amazon Developerにアクセスし、ログインする(アカウントが無い人はアカウントを作ってログイン)。
https://developer.amazon.com/

Amazon Developerにログインしたら”Alexa”タブを選択して、”Alexa Voice Service”で”Get Started“!!

次に、画面右上の”CREATE PRODUCT“を選択。

これ、全部スクショとってたらアップしてたら記事がめっちゃ読みづらくなりそう・・・。
あと、スクショ撮っても画面やUIって頻繁に更新されてすぐに参考にならなくなるしね、できるだけ文字で解説します。

上記”CREATE PRODUCT”をクリックすると入力フォームが出てくるので、各項目を解説しておきます。

  1. “Product Name”- 任意のプロダクト名を入力
  2. “Product ID”- 任意のプロダクトIDを入力
  3. “Is your product an app or a device?”- “Device”を選択
  4. “Product category”- “Other”を選択。”Rapsberry Pi Project on GitHub”と入力。(って公式ドキュメントに書いている)
  5. “Brief product description”- プロダクトの簡単な説明。(”My first Pi project.”とか入力。)
  6. “How will end users interact with your product?”- “Touch-initiated”と”Hands-free”を選択。
  7. “Upload an image”- プロダクトのアイコンね。私はスルーしました。(公式もスキップしてもOKって書いている)
  8. “Do you intend to distribute this product commercially?”- “No”選択。
  9. “Is this a children’s product or is it otherwise directed to children younger than 13 years old?”- “No”選択。

フォームを埋めたら”NEXT“ボタンを押して次へ。

セキュリティー設定を行う。
CREATE NEW PROFILE“をクリック。

セキュリティー設定のフォーム入力項目はこれだけ。

  1. “Security Profile Name”- プロファイルの名前を入力。(ex.Alexa Voice Service Sample App Security Profile)
  2. “Security Profile Description”- プロファイルの説明。(ex.Alexa Voice Service Sample App Security Profile)

“NEXT”を押すと”Client ID“と”Client Secret“の二つが生成されてます。

で、”Client ID”と”Client Secret”の下に
“Allowed Origins”と”Allowed Return URLs”の入力項目が現れるので、それぞれに
“http://localhost:3000″、”http://localhost:3000/authresponse”と入力して”UPDATE”。

ちなみに、最後に入力したURL二つは、ラズパイでAlexaSDKをインストールした後に、認証するために必要になります。

これで、プロダクト登録完了!!
この後、”Client ID“、”Client Secret“、”Product ID“などはラズパイの設定ファイルに書き込むことになります。

ほい!ではAVS-SDKの必須ライブラリインストール

もうすでにぐったりしている人もいるかもしれないが、ぐったりするのはこれからだから。
とはいえ、この先、コピペで行けるから気は楽に。
Take It Easy.

ということで、ここからは、ラズパイのコマンドラインを立ち上げてひたすらコピペ。
本当にコピペだけでAlexaのサンプルアプリ動作まで行けてしまうんだけど、先に述べたように「忍耐力」は必要だからね。
(あと、公式ドキュメントだけだとハマった部分もあったんだけど、ハマらないようにガイドします。)

では、行きましょう!

1.まずはラズパイに作業フォルダと環境変数を設定

定番ですが。
Linuxのパッケージ管理システムも使うので、まずはapt-get update!


$ sudo apt-get update

環境変数等設定。


$ echo "export SOURCE_FOLDER=$HOME/sources" >> $HOME/.bash_aliases
$ echo "export LOCAL_BUILD=$HOME/local-builds" >> $HOME/.bash_aliases
$ echo "export LD_LIBRARY_PATH=$HOME/local-builds/lib:$LD_LIBRARY_PATH" >> $HOME/.bash_aliases
$ echo "export PATH=$HOME/local-builds/bin:$PATH" >> $HOME/.bash_aliases
$ echo "export PKG_CONFIG_PATH=$HOME/local-builds/lib/pkgconfig:$PKG_CONFIG_PATH" >> $HOME/.bash_aliases
$ source $HOME/.bashrc
$ mkdir $SOURCE_FOLDER

2.Buildツール類をインストール

apt-getだけでなく、ソースからmake(コンパイル)しないといけないライブラリ類もあるので。


$ sudo apt-get install git gcc cmake build-essential

3.ネットワーク系ライブラリ

OpenSSL/HTTP2/libcurlをインストール

・http2 ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://github.com/nghttp2/nghttp2/releases/download/v1.0.0/nghttp2-1.0.0.tar.gz
$ tar xzf nghttp2-1.0.0.tar.gz
$ cd $SOURCE_FOLDER/*nghttp2*/
$ ./configure --prefix=$LOCAL_BUILD --disable-app
$ make -j3
$ sudo make install


この辺りはまあまあ余裕。

・openssl ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2a.tar.gz
$ tar xzf openssl-1.0.2a.tar.gz
$ cd *openssl*/
$ ./config --prefix=$LOCAL_BUILD --openssldir=$LOCAL_BUILD shared
$ make -j3
$ sudo make install


このあたりからいきなりコンパイル時間が長い!
ぶっちゃけ、腹筋30回(インターバル30秒)×3セットやっても、全然時間が余ったので、25kgのハンドグリップをニギニギしつつ待つ。
長すぎて握力死んだ。

・libcurl ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://curl.haxx.se/download/curl-7.50.2.tar.gz
$ tar xzf curl-7.50.2.tar.gz
$ cd *curl*/
$ ./configure --with-ssl=$LOCAL_BUILD --with-nghttp2=$LOCAL_BUILD --prefix=$LOCAL_BUILD
$ make -j3
$ sudo make install


プッシュアップバーを使った腕立て深めで10回×3セットでは時間が余りまくったので、水曜日のダウンタウンみてた。

4.データベース系

・sqlite インストール


$ sudo apt-get install sqlite3 libsqlite3-dev


apt-getが癒し。
やっぱりサクッとインストールできるね。

5.マルチメディア系

マルチメディア系ライブラリのgstreamerをインストールする前に、依存関係のライブラリをインストール


$ sudo apt-get install bison flex libglib2.0-dev libasound2-dev pulseaudio libpulse-dev
$ sudo apt-get install libfaad-dev libsoup2.4-dev libgcrypt20-dev

・gstreamer-1.10.4 ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.10.4.tar.xz
$ tar xf gstreamer-1.10.4.tar.xz
$ cd *gstreamer*/
$ ./configure --prefix=$LOCAL_BUILD
$ make -j3
$ sudo make install


まだまだ続くよ。
ぶっちゃけ、夜から構築作業し始めたから、make放置して寝ようかと思った。

・gst-plugins-base-1.10.4 ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.10.4.tar.xz
$ tar xf gst-plugins-base-1.10.4.tar.xz
$ cd *gst-plugins-base*/
$ ./configure --prefix=$LOCAL_BUILD
$ make -j3
$ sudo make install


ここらあたりになってくると、なんのライブラリを入れているのかよくわからない。

・gst-libav-1.10.4 ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.10.4.tar.xz
$ tar xf gst-libav-1.10.4.tar.xz
$ cd *gst-libav*/
$ ./configure --prefix=$LOCAL_BUILD
$ make -j3
$ sudo make install


記憶が定かではないが、確かこの辺りでお風呂に入ったけど、出てきてもまだmake終わってなかった。

・gst-plugins-good-1.10.4 ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.4.tar.xz
$ tar xf gst-plugins-good-1.10.4.tar.xz
$ cd *gst-plugins-good*/
$ ./configure --prefix=$LOCAL_BUILD
$ make -j3
$ sudo make install


プラグインのGoodってなんやねん。

・gst-plugins-bad-1.10.4 ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.4.tar.xz
$ tar xf gst-plugins-bad-1.10.4.tar.xz
$ cd *gst-plugins-bad*/
$ ./configure --prefix=$LOCAL_BUILD
$ make -j3
$ sudo make install


プラグインのBadってなんやねん。
待ち疲れて、make放置して寝た。
また明日〜。

6.サンプルアプリ用音声録音・再生

・portaudio ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ wget http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz
$ tar xf pa_stable_v190600_20161030.tgz
$ cd *portaudio*/
$ ./configure --prefix=$LOCAL_BUILD
$ make -j3
$ sudo make install


インプットされた音声を録音したり再生したりするライブラリらしい。
なるほど、SDKでは、話しかけた音声をストリーミングで解析するのではなく、一度音声ファイルに保存して、保存したファイルを音声解析するのかな。

7.Sensory wake word engine

音声検出エンジン "Sensory"
これ結構重要なんだよね。
たとえば、Siriって、ホームボタンを押して音声入力モードにしてから話かけるわけじゃん。
音声入力インターフェースって、なんらかのトリガーで音声入力モードにすることで音声認識をスタートさせるわけだけど、Siriはホームボタン長押しがトリガー。
Alexaはその起動に物理的なボタンではなくてAlexaと呼びかける「音声」をトリガーにしている。
実はこれって結構大変で、それを担ってくれるのがSensory。
(間違ってたらごめん。)

・Sensoryの依存ライブラリインストール


$ sudo apt-get -y install libasound2-dev
$ sudo apt-get -y install libatlas-base-dev
$ sudo ldconfig


apt-getは癒し。

・Sensory ダウンロード&インストール


$ cd $SOURCE_FOLDER
$ git clone git://github.com/Sensory/alexa-rpi.git

$ bash alexa-rpi/bin/license.sh

$ cp alexa-rpi/lib/libsnsr.a $LOCAL_BUILD/lib
$ cp alexa-rpi/include/snsr.h $LOCAL_BUILD/include
$ mkdir $LOCAL_BUILD/models
$ cp alexa-rpi/models/spot-alexa-rpi-31000.snsr $LOCAL_BUILD/models


また、魔のconfigure & make。

やーっと、AVS本体のビルドー!

1.AVS Device SDK ダウンロード


$ cd $HOME
$ mkdir AVS_SDK
$ cd AVS_SDK
$ git clone git://github.com/alexa/avs-device-sdk.git
$ echo "export SDK_SRC=$HOME/AVS_SDK/avs-device-sdk" >> $HOME/.bash_aliases
$ source $HOME/.bashrc

2.Sensory, GStreamer, PortAudioとともにSDKをビルド


$ cd $HOME
$ mkdir BUILD
$ cd BUILD
$ cmake $SDK_SRC -DSENSORY_KEY_WORD_DETECTOR=ON -DSENSORY_KEY_WORD_DETECTOR_LIB_PATH=$LOCAL_BUILD/lib/libsnsr.a -DSENSORY_KEY_WORD_DETECTOR_INCLUDE_DIR=$LOCAL_BUILD/include -DGSTREAMER_MEDIA_PLAYER=ON -DPORTAUDIO=ON
-DPORTAUDIO_LIB_PATH=$LOCAL_BUILD/lib/libportaudio.a -DPORTAUDIO_INCLUDE_DIR=$LOCAL_BUILD/include -DCMAKE_PREFIX_PATH=$LOCAL_BUILD -DCMAKE_INSTALL_PREFIX=$LOCAL_BUILD

3.設定ファイルに設定を書き込む

(ここどハマりポイント)

viでもvimでもnanoでもなんでもいいですが、設定ファイルを編集します。
設定ファイルは以下のパスに。
~/BUILD/Integration/AlexaClientSDKConfig.json

ちなみに、ここは私がどハマりしたポイントです。
設定ファイルの項目に何を書き込めばいいかわからない部分がいくつかあって悩んだ。
(公式ドキュメントに書いていない。)


 {
    "authDelegate":{
        "clientSecret":"${SDK_CONFIG_CLIENT_SECRET}",
        "deviceSerialNumber":"${SDK_CONFIG_DEVICE_SERIAL_NUMBER}",
        "refreshToken":"${SDK_CONFIG_REFRESH_TOKEN}",
        "clientId":"${SDK_CONFIG_CLIENT_ID}",
        "deviceTypeId":"${SDK_CONFIG_DEVICE_TYPE_ID}"
     },

   "alertsCapabilityAgent":{
     "databaseFilePath":"${SDK_SQLITE_DATABASE_FILE_PATH}",
     "alarmSoundFilePath":"${SDK_ALARM_DEFAULT_SOUND_FILE_PATH}",
     "alarmShortSoundFilePath":"${SDK_ALARM_SHORT_SOUND_FILE_PATH}",
     "timerSoundFilePath":"${SDK_TIMER_DEFAULT_SOUND_FILE_PATH}",
     "timerShortSoundFilePath":"${SDK_TIMER_SHORT_SOUND_FILE_PATH}"
   }
 }

まず"authDelegate"内の値。

"refreshToken"は、後の認証作業で自動的に書き込まれるので今は空欄にしておいてOK。
(これは公式にそう書いていたので安心。)

"clientSecret"、"clientId"の二つは、上記ラズパイのデバイス登録したときに表示された値を書き込みます。

で、"deviceTypeId"ですが、こんな値はデバイス登録したときに与えられおらず、Amazon Developersで登録したデータをあちこち探してもそんな値はない。
"deviceTypeId"とは何なのか、さっぱりわからなかったが、登録データに載っていて考えられそうな値としては"Product ID"あたり。
ということで、"deviceTypeId"には"Product ID"の値を書き込んでおく。
(結果、これで正解。)

次に、"deviceSerialNumber"。
これが一体何なのかさっぱりわからない、Amazon Developersのデータを見ていても「それらしい」雰囲気のものすらない。
一体どんな値を設定すればいいのかさっぱりわからないので、適当に”12345678”といれたら通った
(のちに、何処かのサイトでIDはなんでもいいと書いていた。とりあえずサンプルなので。)

次に、"alertsCapabilityAgent"内の値。

"databaseFilePath"は、データベースのファイルパスなんだけど、とりあえず任意の場所でOK。
ex./home/pi/alexa/database.db
データベースがなければ、そのパス上にDBが作成されるので、ご安心を。

で、問題はその下。
"alarmSoundFilePath","alarmShortSoundFilePath","timerSoundFilePath","timerShortSoundFilePath"
これらの値の意味がわからない。

意味がわからないので、空でいいや、と全部の値を空文字に設定してコンパイルしたら以下のようなエラーがでるし。


Failed to create default SDK client!

(SampleApp:12043): GStreamer-CRITICAL **: gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed
2017-08-25 06:15:24.808 [  2] E MediaPlayer:doStopFailed:reason=gstElementGetStateFailed

つまり、上記4つの値は空にはできないと思い、公式githubのissueを手当たり次第に当たっていたら、アラームとタイマー用の音声ファイルを設定しないといけないってことが判明。

https://developer.amazon.com/public/solutions/alexa/alexa-voice-service/content/alexa-voice-service-ux-design-guidelines

ここからタイマーとアラームの4つの音声をラズパイ上の任意の場所にダウンロード。
でもって、4つのファイルパスを上記の設定ファイルに書き込む。

これで、設定ファイルの編集は完了!

4.いよいよAVS-SDKのインストール


$ cd $HOME/BUILD
$ make -j3
$ make install


またこのmakeが長い。

5.SDKの認証


python AuthServer/AuthServer.py

上記コマンドで、ラズパイ内にWEBサーバーが立ち上がる。
その後、ラズパイのWEBブラウザを立ち上げて、http://localhost:3000 にアクセスする。

すると、ページがリダイレクトされて、Amazonの認証ページに進むので

認証ボタンを押す。

認証に成功すると以下のような画面が現れて、先ほどの設定ファイルに"refreshToken"が自動的に書き込まれる。

祝!Alexaインストール完了!

ということで、こんな感じでDIY Alexa誕生。
(ちょっとブサイクなAlexaだけど)

いよいよAlexa on RaspberryPiとお話

よし!Alexa起動!


TZ=UTC ./SampleApp ~/BUILD/Integration/AlexaClientSDKConfig.json $LOCAL_BUILD/models

Alexaのコマンドが表示されAlexaがスタートした!

早速、Alexaに話しかけてみる。

私:"Alexa!"
A:"Yes"
私:"How are you?"
A:"Great! Ready to help."

私:(よし!やったー!うまくいったどー!)

いやー、ラズパイちゃんにAlexaさんが載って、ちゃんとお返事してくれています!

難しいことはしていないけど非常に時間がかかっただけに、Alexaさんの反応を聞けて嬉しい限り。

ま、ここまではね。

・・・・・・。

ええ、ここまではね。

この先、話しかけるとなぜかアプリが落ちる。

"hello!"と、挨拶のやりとりまではいいんだけど、その後"What's the weather in Kyoto now?"とか、Alexaさんと別の会話をしようとすると一気に機嫌を損ねてしまうようで。
急にブチ切れて、落ちちゃう。

う〜ん・・・。

公式のGithubにもissueが結構溜まってきてるし、Sampleアプリの不具合なのか、私の設定がどこかでミスっているのか・・・。

とりあえず、今回は一旦この辺りにしておいて、近いうちに修正していきます。

おまけ(費用のお話)

昔買ったラズパイを使いまわしているので、現在の価格と相違があるかもしれませんが、予算的なことを。
ちなみに、ラズパイ本体以外は、全部格安のもので揃えました。

  • RaspberryPi 2 Model B 5140円 (2年以上前の2015年に購入)
  • SDカード 360円
  • USBマイク 790円
  • USBスピーカー 1290円
  • WiFi 1000円

合計 8580円

※今回はリモートディスクトップ(VNC)を使ってラズパイを操作したので、モニター等は使っていません。
ということで、9000円以内であなたもAlexaをDIYできちゃいます!(^^)

すっげー!!

ただし、ebayとかだと、本体4000円+送料3000円くらいで正規のAmazon Echo(Dot)が買えるんだけどね(^^)
orz

このエントリーをはてなブックマークに追加

「絵で見て分かるIoT/センサの仕組みと活用」が分かり易いかも

image

ここ最近(1年以上)、IoTについての調べたり電子工作したりと、本業(WEB系ソフトウェア開発)の傍らでIoTな活動もやってるので、IoT系の書籍がでたら基本的にはできるだけ片っ端から読むようにしている。
ということで、今回は、「絵で見て分かるIoT/センサの仕組みと活用 (著)NTTデータ」を読んだので、忘れないうちに感想を。

前回、「サルでもわかるIoT入門」っていう記事を書いたように、”IoT”って話が色々と多岐にわたっていて「一言で説明」するのが結構難しい。
そんな中で、本書は「エンジニアリング」の視点で非常に包括的で、良くまとまっていたと思う。

視点がエンジニア側になっているが、著者がNTTデータさんですから、当然ですな。
なので、「ビジネス視点」は、ほとんど無いけれども、これはこれで思い切ってエンジニアにフォーカスしてしまった「IoTの総論」としては非常に上手くまとめたなーという印象。

ただ、本書のターゲットは、あくまでも「IoT」を開発プロジェクトとして受託していこうと考えているSIerの経営者・SEさん・プロマネさんなのかな。
(「サービスアイデア」の出し方とか、考え方など、さっきも言ったように「ビジネス視点」「アイデア視点」では書かれていない。)
あくまでも「IoTの全体像」を「エンジニアリングの視点」で「俯瞰している」構成。

おそらく、本書ターゲットユーザー(読者)さんにとっては、知りたかった内容が全部載っているとても役に立つ良書になると思う。

IoTや電子工作に詳しいエンジニアが読んだら、かなり薄い内容に感じるとは思うけど(^^;

とまぁ、本書の全体の印象は、この程度にして。
自分の記憶のアウトプット作業のために、各章をまとめておくきたい。

 

1章:IoTの基礎知識

やはり、本書も第一章からいきなりIoTに関する個々の説明に入らずに、「まずは全体像の俯瞰」をしている。
(たとえ、IoTをエンジニアリングの視点だけで切り取ったとしても多岐に渡るから重要だよね。)
IoTは、①デバイス(センサ)②ネットーワーク③IoTサービス④データ分析という構成要素を持っている。
(なるほど・・・、大規模IoTサービス開発をメインテーマとして話が進んでいくんだろうな〜という「かをり」がする。)

 

2章:IoTのアーキテクチャー

IoTのサービス全体を支えるアーキテクチャーを解説。
デバイス・サーバー・分析処理などに使う実際のアーキテクチャーをまずはサラッと解説。

サーバープロトコルとしてはHTTPよりもMQTTを詳しく解説していたので、おそらくNTTデータさんはMQTT推しなのではないかと。
あと、データベースに関しても、リレーショナルDB・KVS・ドキュメント指向DB(MongoDB)など同じ分量で解説。
(でも、実は、MongoDBが結構気に入ってるんじゃないのかな?と読めたけど、笑)
ちなみに、Apache Hadoopは、知っていたけど、Apache StormやApache Sparkは知らなかった。
たしかに、大規模なIoTサービスになってくると、これらの大規模データ処理技術は必要なんだろうと参考になった。
(個々の細かい技術は、もちろん本書を最後まで読んでも載っていない。)

 

3章:IoTデバイス

いよいよ各論が始まる。

まずは、IoTの末端となる「デバイス」から解説。
プロトタイピング(試作機)用として、汎用マイコンボード(Arduinoなど)やシングルボードコンピュータ(Rasberry pi・intel Edisonなど)の概要説明。

また、様々なセンサの種類(光センサ・加速度センサ・距離センサ・温度センサ)を挙げつつ、各センサの仕組みを非常に平易に解説。

たとえば、赤外線距離センサは、赤外線を照射し、反射してきた光の入射角(角度)で距離を測っている、など。
(知っている人には当たり前だけど、知らない人や文系人間でも「なるほど!」と理解できる。)

また、センサが出力したアナログ信号を、増幅回路が信号を増幅し、マイコンボード上でアナログ・デジタル変換が行われ、最後に「数値化」される仕組みもわかりやすく解説されていて、ハードウェアに詳しくないWEB系エンジニアなどもセンサーの仕組みが容易に理解できるようになっている。

 

4章:高度なセンシング技術

3章では、距離センサとか温度センサなど比較的原始的なセンサーについての基礎解説だったけど。
ここでは、非常に高度なセンサ、たとえばRGB-DセンサやKinectセンサやLeap motionなどが解説されている。
特に、画像の距離認識については少々詳しく解説。

ちなみに、初めて知ったのだが、KinectやLeap Motionのような、人間のジェスチャーや音声などをユーザーインターフェースとすることを「NUI」というらしい。

確かに、IoTでは、「GUI(グラフィカル・ユーザー・インターフェース)」はあまり用いられないので、「GUI」の「G」をとって「UI(ユーザー・インターフェース)」と呼んでいたけど、「NUI(ナチュラル・ユーザー・インターフェース)」は結構使いやすい言葉。
(今後、ドヤ顔で「NUI」という言葉を使っていく。)

その他、皆さんがカーナビやGoogleマップなどでお世話になる「GPS」の位置情報の算出の仕組み。
これは、人工衛星と計算式の関係が解説されてて、雑学としても普通に楽しめる内容。
(知り合いが以前、「4基の人工衛星の電波を受信できたら自分の正確な位置がわかるんですけどねー」と言っていて、「なんのこっちゃ」と思っていたが、今なら対等に闘える)

 

5章:IoTサービスのシステム開発

この章こそが大手システム屋のNTTデータさんならでは。

デバイスからサーバーサイドまで、IoTシステムの「開発フロー」を解説。
IoTシステムの開発フローの総論をざっと俯瞰したところで、実際にNTTデータさんが開発したIoTサービスの事例を紐解く。
実際のサービス設計やサーバー設計など、浅すぎず深すぎず解説。
(個人的には、浅いと思ったけど、あまり深堀りすると本書のターゲットユーザーが変わってしまうだろう。)

「実際の開発・導入事例」を引き合いに開発・設計・保守・セキュリティーについて語られると説得力がある。

 

6章:IoTとデータ分析

IoTとビックデータ解析の話は切っても切り離せないよね。
センサを使って無数のデータを収集しても、そのデータを貯めたままだったら「デジタルゴミ」ですから(笑)
その無数のデータを分析するからこそ、非常に価値ある情報や体験が得られる。

データ分析の種類は大きく分けて3つ。
可視化 ②発見 ③予測

・可視化 : 収集データをグラフ化したりして「見える化」することで人がデータを認識できるようにすること。
・発見 : 収集データを統計解析・機械学習によって、人の目ではわからない傾向などをあぶり出す。
・予測 : 発見からさらに発展して、収集データから「未来を予測」する。

①の可視化は、エクセルの表計算のような円グラフや棒グラフなどで容易に想像がつく。
②③は高度な分析になるので、それらの分析手法について「概要」を解説。
(Jubatusという機械学習フレームワークは知らなかった・・・)

 

7章:IoTとウェアラブルデバイス

個人的には、一番退屈な章だったかな〜。

「ウェアラブルデバイスといえば?」と聞かれて。
Google GlassとかApple Watchとか、キックスターターで有名になったRingなどが思いつく人にとっては読む必要が無いかもしれない章。
逆に、それらのことをよく知らない人にとっては、「概略説明」ということで意味があるのだろうと思う。

 

8章:IoTとロボット

この書籍の中で、一番ページ数の少ない章。
だけれども、個人的には一番アツかった。

ロボットは、非常に多くの様々なセンサー(画像認識・音声認識・加速度・光・温湿度などなど)を備えていて、
それらのセンサー情報を蓄積し、分析して、アクションを起こす。

さらに、ソフトバンクのPepperに代表されるように、ロボットが集めたデータを中央サーバーで機械学習させ、自律的にどんどん賢くなって行く。
まさに、IoTの集大成というところかもしれない。

しかも、今では、ロボット開発用のオープンプラットフォームが幾つかあるらしい。(知らなかった)
誤解を恐れずにいうと、「まるでWeb開発のフレームワークやAPI」のように共通メソッドで、形状の異なるロボットを動作させることができるわけ。
共通の「前進メソッド」を実行すると、車輪型ロボット(お掃除ロボのルンバとか)は、車輪を回転させて前進するし、二足歩行ロボットは、同じ命令で二足歩行で前進するわけだねー。

こりゃもう確信せざるを得ない、ロボットをDIYする日もかなり近い。
(Robi君とは違う^^;)

おそらく、5年以内に「はじめてのロボットプログラミング入門」「10日できるロボット開発」なんていう書籍が本屋に並ぶな〜。

 

まとめ

最近、IoT系のネタを書くと、最後はいかがわしい終末論者か、オカルトライターみたいになってしまうのが悩みの種。
(シンギュラリティー信奉者じゃないけど^^;)

ただ、この本は、エンジニアの皆様はよくご存知「株式会社 NTTデータ」という大手SIさんの著書なんで、オカルトでも何でもないのでご安心を。

個人的には、一番のメインターゲットは、まだIoT開発実績がない中堅SIerのSEさんやプロマネさんあたりだと思うので、そういった方々が読むと「IoT開発の全体像」を掴めて今後の仕事の参考にもなるのではないかと思う。

どちらにしろ、IoTのエンジニアリングについて初心者にもわかりやすく解説してくださっているのは確かなので、IoTに興味がある幅広いIT関係者さんたちにとって読みやすい書籍だと思います。

絵で見て分かるIoT/センサの仕組みと活用 (著)NTTデータ

このエントリーをはてなブックマークに追加

サルでもわかるIoT入門(初心者・一般向け)

image

・「IoT」がバズりはじめている

ここ最近、ビジネス界隈では”IoT”や”M2M”という言葉をよく聞くし、NHKなんかでもたまに特集番組が組まれたりしてる。

「最近IoTって言葉流行ってるよね〜」とか他人事のようにいいつつも。
私自身も、1年前から”IoT Kyoto”という「IoTについての勉強会」を京都で定期的(毎月一回)に開催してきていたりする。
なので、さすがに、個人的にはかなり馴染みのある言葉。

しかし、IoTに関する勉強会をもう10回以上開催してきているにもかかわらず、新しく勉強会に参加した方から「結局、IoTって何ですか?」って質問されるたびに、未だにスマートな回答ができないでいる。
いや、全体像は見えてるんだけど、多岐に渡った話なだけに、「一言」や「一文」ではなかなか説明できないのよね。

それでも、自分はソフトウェアエンジニアだし電子工作も好きだし(厳密に言うと、勉強会を通じて好きになっていった)、IoTの定義・意味自体はあんまり気にしてこなかったんだけどね。
ハードウェアを触ったりサービスを考えたりするのが楽しかったから。
それでよかった。

しかし、さすがにIoT勉強会も10回以上やっているし、色々とIoTについて知っていくに連れて、自分自身やコミュニティーでIoTのサービスやプロダクトを生み出していきたいと強く思うようになってきた。
なので、もっときちんと「体系的に」IoTについて深めておきたいな〜、なんて思っていたところに上記写真の書籍(雑誌)が発売された。

エグゼクティブな皆さんは、よくご存知の雑誌「ハーバード・ビジネス・レビュー」。
私は、「えぐぜくちぶ」ではないので、めったに買わない。

しかし、「IoTの衝撃」という衝撃的なタイトルに惹かれ、そして、ビジネス界では信頼性やブランド力の高い雑誌なので、コレだ!と思った。
たぶん、この雑誌を買ったのは人生で2回目くらい。

買ったのは、これね。
→ Harvard Business Review (ハーバード・ビジネス・レビュー) 2015年 04 月号 特集:「IoTの衝撃」

インターネットの父・村井純さんとかアメリカの”偉い人”とかが、IoTについて熱く語っているので、彼らの言葉と思考を借りて、私も「IoTをよりスマートに説明できるようになろう」と思ったわけだ。

つまり、この雑誌を丁寧に読み、書評をブログに書き留めることで、「IoTを簡単に解説してしまおう」と狙っていた・・・。

しかし、雑誌をざっと読んで、その目論見は脆くも崩れ去る。
そもそも、”えぐぜくちぶ”が読む本なので、馬鹿な私には文章が超難しい。

私も、IoTについてはそれなりに知識を蓄積してきたし、予備知識もあるので、文章も理解できるしそのコンテクスト(文脈)も分かるんだけどね・・・、なんせ書いていることが「概念的」「抽象的」「包括的」。

もうね、本を読んでる途中で、ぶっちゃけ悟ったさ。

「この本の書評をもってして、IoTの説明とすることは無理だわ・・・」、と。
もちろん、”えぐぜくちぶ”な方々は、コレを読んでベリースマートにIoTを理解できると思うよ。

「普通な一般人」「普通の生活者」にとっては、もともとわかりにくいIoTが、より理解不能なものへと導かれてしまうんじゃないか・・・とさえ思える小難しさだった。

せめて、一文だけでよかった。
「IoTとは?」と聞かれた時に「かっこ良く簡潔に説明できる一文」を「盗みたい」と思っていた。
が・・・、それは叶わず。

どうやら、世界の巨匠たちを持ってしてもIoTは「一言」では言い表せられないようだ。

ということで・・・。

こうなったら、私のコレまでの”IoT Kyoto”を通じて得た知識と自分の言葉で、「普通の人」にも分かるようにIoTを説明したい!

と、この本を読んで逆に思った。
ということで、「普通の人」が理解できるようにIoTを私なりに説明してみたいと思う。

・IoTとは

IoTとは、”Internet of Things”の略語。
読み方は、「アイ・オー・ティー」ね。
直訳すると「モノのインターネット」。

OK?

ま、、、意味不明よね(笑)

ということで、私なりの言葉で、「勝手に」定義してみると・・・。

「モノがインターネットとつながることで、今まで存在しなかった新しいデータと価値が生み出され、それによって起きるライフスタイルやビジネスの社会的変化」

と定義していいのではないかと思っている。
(長い?抽象的? まぁ、もう少し我慢して^^;)

「モノ」ってのは、もう身の回りにある「あらゆるモノ」ね。
時計でも洗濯機でも車でも家でも椅子でもベッドでもなんでもいい。
そんな身の回りにあるモノたちが、「インターネットとの接続機能」を持つわけだ。

例えば時計にBluetoothとかWiFiとかの通信機能がついて、時計がインターネットを通じてデータのやり取りができるようになるわけさ。
(俗にいう、スマートウォッチ・・・最近Apple Watchでたねー。)

同じような感じで、例えば冷蔵庫やエアコンにインターネット通信機能がついてたりするものをスマート家電なんて言ったりするけど、
それらもIoTなわけ。
(モノがインターネットに接続してデータのやり取りができるからね。)

ってことはだ・・・、IoTというのは、物理的な側面だけ捉えると、話はここで終わり。

「IoTって何?」
「簡単さ、いろんなモノにインターネット接続機能がついて、データのやり取りができるモノのことだよ。」

そういうこと。

・それぞれの立場によるIoT

しかしですな〜。

ここからが「IoT」という言葉を複雑にしてしまっている理由の一つなんだけど。

上記で、「インターネットに繋がるモノのことだよ。」というシンプルな文脈も、人の属性や職種によって捉え方がガラっと変わるよねー。

たとえば、エンジニアがIoTといえば、モノのインターネットを物理的な側面で捉えて、「電子工作」とか「プロトタイピング」とかそういう文脈で語る事が多くなるわけ。
ArduinoとかRaspberry Piとか言われるハードウェアを使って、WiFiやBluetoothとかで通信させて、ワイワイやってる。という光景がそれ。

逆に、ビジネスマンは、ビジネス的な側面で捉えて、「新しいビジネスチャンス」という文脈で語るわけ。
物流の効率化とか、製造ラインの改善とか、職場環境の改善・業務の効率化とか。
(いや、効率化や改善という文脈を超えて、「革命」というレベルで話されることが多いかも。)

こうやって、だれがIoTを語るかによって、IoTという言葉の使われ方が変わるので、すごく捉えがたいものになっている。

だから、その辺も踏まえて・・・。
「インターネットに繋がるモノ」というシンプルな表現から、もう少し幅を持たせて、
「モノがインターネットとつながることで、今まで存在しなかった新しいデータと価値が生み出され、それによって起きるライフスタイルやビジネスの社会的変化」という定義をしてみた。
つまり、将来的に自分たちの生活に及ぼす「現象」として捉えるのが、おそらく今もっとも「IoT」という言葉にフィットしてるんじゃないかな?

単なるパソコン通信の延長のようなものだった「インターネット」が、いつの間にか我々の生活に深く浸透し、ライフスタイルやビジネススタイルを変えてしまったよね?
ホント、インターネット出現以前と出現以後では世界が変わってる。
それと同じように、IoTも世の中のすべての事象と複雑に絡み合うことになる。

だから、IoTは、誰か知らない人が勝手に一人で叫んでいるだけの世界じゃなくて、
「すべての人間に関係がある」お話だったりするんだね。

自分がどの立場でIoTと接するかはわからない。
ハードの開発者なのか、サービスデザイナーなのか、単なる利用者なのか、それはわからないけど。
何かしらの形で、みんなの生活に深く入り込んでくるのはほぼ確実。

じゃ、例えばIoTは具体的にはどういう生活変化をもたらすのだろうか??

有識者からは「しょーもない」と怒られそうだけど、実に簡単な架空の事例に沿って考えてみたいと思う。

・自動車窃盗とIoT

image

たとえばさ。

自動車についている「防犯装置」がIoT(インターネットと接続されたモノ)だったらどうだろう?

想像してみて欲しい。

ある泥棒が、車を盗もうとしたり、車上荒らしをしようとしたら、防犯装置の警報が鳴る(これは今の普通の防犯装置)よね。
しかし、この防犯装置はインターネット接続機能を持っているから、車の所有者のスマホに緊急通知を送ることができるわけさ。

「盗まれそう!」「危ない!」となったら、車の所有者に即座に通知が来るわけ。

なるほど、確かに、便利だ。

車の警報機がなっても、遠くにいたりして聞こえない時だってあるし、警報機をサクッと止められちゃうかもしれない。
そうなってくると、スマホに通知が来るのは大変ありがたい。
すぐに現場を確認しにいけるし、「翌朝まで車上荒らしに気が付かなかった」なんてこともなくなる。

モノがインターネットにつながることによって、「モノの状態を知る」ことができるわけだね。

でもって、インターネットに繋がるモノをつくるハードル(コストなど)は、昔に比べて劇的に下がっている現代。
何なら、一般人が趣味の電子工作でできてしまうくらいのレベルにまでなっているわけ。

なので、今の時代「モノにインターネット接続機能をつける」ということは、もう技術的には全く問題なし、低コストでできる時代にはいっているんだね。
(この辺りは、「センサー」「電子工作」など「ハードウェア」という文脈で語られるが多い。)

つまり、こういうインターネット接続機能を備えた様々な便利な製品・商品が今後一気に増える可能性が高い。

ふーん・・・便利だねー・・・。

・・・では終わらないのがIoT。

・IoTとビッグデータ

image

ところで。
上記の車の防犯装置はインターネットでつながっているわけだ。

ということは・・・。
せっかくインターネットにつながっているんだから、もっと便利な活用方法はないかな??

たとえば、車上荒らしに遭ったら、所有者に通知するだけじゃなくて、即座に警察やセキュリティー会社にも通知が行ったら便利よね。

さらにだ。

その防犯装置に、事件データを警察やセキュリティー会社のデータベースに自動的に登録する機能をもたせたらどうだろう?
たとえば、防犯装置が作動したら、何時何分・どういう地域(GPS)で事件発生というデータを登録するのよ、自動的に。
(誤作動とかそういう細かい話は置いておいて。)

技術的には簡単だよ。
インターネットにつながってるんだもん。
防犯装置が作動すると、所有者のスマホへ通知するとともに、事件発生データを警察やセキュリティー会社に送信することくらいわけないことさ。

さらにさらにだ。
もし、日本全国のすべての車にこのIoT防犯装置が標準装備されていたとしたらどうだろう?

全国の自動車窃盗や車上荒らしに関する事件のデータが、毎日・毎時間のように警察やセキュリティー会社のデータベースにガンガン集まってくるのよ。
膨大な量の車上荒らし・自動車窃盗事件データがどんどんデータベースに溜まっていく。自動的に。

さらにさらにさらにだ。

この日本全国から日々集ってくる膨大なデータを解析・分析してみたらどうだろう??
車上荒らしが発生しやすい地域とか、自動車窃盗が発生しやすい時間帯とか、色々と見えてくると思わない?

この事件発生データがWEBで公開されてたら、一般市民は防犯対策ができるし。
当局は、このデータを活用して「重点捜査ポイント」とか絞れるわけだ。

いいね!便利ーー!

ただね。
モノが、様々なデータを取得して、様々なデータを自律的に配信できるようになると、コレまでのヒトがインターネットを利用して送受信していたデータ量とは比べ物にならないくらいの膨大なデータが発生して蓄積される。
となると、この蓄積されたデータを解析したり有効活用する場合、ものすごい大量のデータをどのように扱うか?っていう話になる。
つまり、「ビッグデータ」のお話へとつながっていくわけさ。

これが、IoTが「ビッグデータ」や「データサイエンス」の文脈でも語られる理由になるわけだね。

・IoTとAI(人工知能)

image

で、さらにこの自動車窃盗の話を進めていくと・・・。

次はIoTがAI(人工知能)の文脈で語られることになる。

あらゆるモノがデータを持ち始めたらさ、ビックデータ解析なんて、もはや人間ができる仕事ではなくなるわけさ。

もし、全人類がインターネットを使ったとしても、50億人だ。
しかし、世の中にあるモノがインターネットを使い始めたらどうなる?
IoT端末は、十数年後には500億端末とも1兆端末とも言われている。

それらのデータを解析するなんて、もう人手を使っていては埒があかないわな。

しかも、IoT端末から送られてくる日々の自動車窃盗の事件データだけじゃなくて、その事件データにプラスして、その日の天気データ(晴れの日だったのか雨の日だったか、とか)、その日の経済データ(株価が上がっていたか、下がっていたのか)、その日のその他の事件や話題のニュースデータなどなど、などなど、などなどなど。
あらゆる情報を組み合わせていくと、ヒトの能力では到底できなかった、自動車窃盗が起きやすい「シチュエーションやロケーションの予測(下手をすれば人物予測)」が可能になるかもしれないわけ。
(天気データなども、これもまたIoTによってビッグデータになっているわけだが。)

IoTが、予測や自動化という意味で語られる場合には「AI」「機械学習」という文脈が入ってくる理由はこういう感じ。

とある地域。とある時間。天気は曇。犯人は20代前半。男性。無職。上下黒のスエット。
自動車窃盗、発生確率80%。

なんていう、未来(とても近い未来)。
(倫理的にどうか?という話は都度、社会で議論していく必要があるだろうが、そこは今回は語らない。)

つまり、IoTによって集められた膨大なデータを、人工知能が処理して予知・予測・最適化・効率化などができるわけだね。

これは、あくまでも本当に小さな話。

・IoTとその他

IoTとデータファブリフィケーション(3Dプリンターとの絡み)とか、IoTとマーケティング(iBeaconの話など)とか、その他まだ色々とIoTと絡むテーマは色々とあるんだけど、そういうのはまたの機会に。
もしくは、バリュープロポジションとか超ビジネスライクにIoTを概念的に学びたいというのであれば、ハーバード・ビジネス・レビューの今月号をどうぞ(^^;
Harvard Business Review (ハーバード・ビジネス・レビュー) 2015年 04 月号 特集:「IoTの衝撃」

・IoT練習問題

じゃ、同じフローで、自分たちの身の回りのモノがインターネットに繋がってデータを送受信しはじめたらどうなるか?
想像してみてはどうだろう?

なんでもいいさ。
本当になんでも。

じゃ、私の目の前にたまたまお茶を煎れる「急須」があるし・・・。

この「急須」をIoT化したら?

お湯を入れたら、一番美味しくお茶が出た状態をスマホにお知らせ?(ハードウェア・センサーのお話)
煎れたお茶の葉や温度データと、美味しい美味しくないという反応データを、クラウドデータベース上で共有する。(データベースやクラウドのお話)
日本全国のみんなで、色々なお茶の葉で美味しいお茶がでるハウツーデータが構築されていく。(ビッグデータのお話)
そして、人口知能が、この膨大なお茶データを解析して未知のお茶の葉(新製品のお茶)に対しても、最も美味しくお茶ができる湯の温度や蒸らす時間などを予測して教えてくれる。(AIのお話)
急須は、その予測データを自動的に受け取って(だって、インターネットにつながってるからね!)、一番美味しいお茶ができた時に、自動であなたのスマホに通知してくれる。

と・か・ね。

さらに、このビッグデータはお茶農家さんが茶葉の品種改良用に欲しいデータかもしれない。(B to B)

と・か・ね。

じゃあさ〜、これが冷蔵庫だったら?
たとえば、これが、家だったら?
ドアノブだったら?
水道の蛇口なら?
公園のベンチなら?

これが街の信号機だったら?

信号機とかになってくると「急須」よりは、社会的な話だね。

視点が少しだけ大きくなるけど、ちょっと考えるだけでも面白いよ?

信号がIoT化されて、それぞれの信号がお互いに通信してさ、リアルタイムで交通の最適化をするわけさ。
つまり、車の交通量が多かったり渋滞している道路の信号の青の時間を長くして、空いている道路の信号の青の時間を短くするとか、
信号機が交通を自動的に最適化してくれたら便利じゃね?
(あ?もうある?ない?すみません、交通工学に詳しくないので知りませんが、笑)

色々と想像してみて欲しい。
たぶん、いろんな可能性が見えてくるんじゃないかと思う。(良い面悪い面含めて)

・IoTが、なぜ新たな産業革命と言われるのか

つまり、IoTは想像力一つでどんなモノにも適応される可能性を秘めているってのが、分かったんじゃないかな。

ということで・・・。
もう一度言うけど、IoTってのは、「どこかの」「誰か知らない人たちだけが騒いでる」「自分には関係のないお話」ではないって事。

どんなモノもIoT化されうるわけだ。

トイレだろうが。(トイレメーカー)
車だろうが。(自動車メーカー)
冷蔵庫やエアコンや電気ポットだろうが。(家電メーカー)
おもちゃだろが。(玩具メーカー)
郵便・宅配便だろうが。(物流サービス業)
もちろん、教育や医療や介護でも。

そもそも、時計もスマート化され、スマートホームという言葉ももう出現しているし、スマート家電なんてもう普通に市場に並んでるし。
もうすでにIoTはスタートしはじめてるよね(序章だけど)・・・。

みんながIoTに関係があり、みんなが一気にIoTに取り組むと、ものすごいスピードで社会変化が起きるかもしれないね?

たしかに、こりゃ新しい産業革命だわな。
だから、ビジネス界は、IoTというキーワードで大騒ぎしつつあるわけさ。

・まとめ

なんだか分かるような分からないような「IoT」という言葉。
多少理解できるようになったんじゃないかな?
(と、願いたい。)

もちろん、この考え方が全てじゃないのは当然だよ?
でも、モノを見たら、一度上記で説明してきた「フロー」で考えてみてはどうだろう?

  • モノに、どんなセンサーや通信機能をつけるとより便利になるだろう?
  • モノから得たデータをどんな用途でどんな場所に蓄積したら便利だろう?
  • データ分析・解析は、ヒトの手や既存のシステムで可能だろうか?人工知能を使ったらもっとデータの有効活用ができるのだろうか?
  • データそのものや、分析や解析されたデータなど、それらの情報をどのように共有すると便利だろう?

など。

あまり難しい事は書いていないつもりなんだけど、どうしてもコンピュータ用語などが出てきてわかりにくい所があるかもしれない。

もっと、短く書くと。

「コレがインターネットにつながっていて、データのやりとりができたら・・・。
無数のデータがクラウド上に集まってきたら、それを解析して何ができるかな・・・。」

という感じ。

このように思考できれば、もう立派にIoT思考入門はできたということでいいと思う。

もし、これでIoTに少しでも興味が出たら、雑誌や書籍などで更に深めていくと、とても興味深いと思うし、ビジネス思考の方には次のビジネスを考える一つのキッカケになって貰えれば。

もちろん、物事には必ず光と影があるように、IoTにも、良い面悪い面があります。
ですので、この記事が、多くの一般の方にとって「やがてくるIoT社会を、考えるきっかけ」になれれば、幸いです。

このエントリーをはてなブックマークに追加