2016年11月19日 AITCシニア技術者勉強会 第1回「1からはじめるIoT...
Transcript of 2016年11月19日 AITCシニア技術者勉強会 第1回「1からはじめるIoT...
1からはじめるIoT ~IoTまでの歴史~
2016年11月19日
先端IT活用推進コンソーシアム
クラウド・テクノロジー活用部会 リーダー
アドソル日進株式会社 荒本道隆
1970年生まれ
IoTが流行っている理由(個人の感想です)
安価に調達できる ◦ 30年前にもすでに技術はあったが、とても高価だった ◦ 現在は安価&高精度&小さい
◦ 今なら1万円でシステム全体ができる 必要となるPCやネット環境は、すでにある
◦ センサーの種類も豊富
危険が少ない ◦ 破壊、爆発、感電する可能性のある場面が少ない 半田コテを握らなくても、プロトを作成できる 電子ブロック感覚で、小学生でも安心
出力ピン:Arduinoは 5V 40mA, Raspberry PI は 3.3V 50mA
1人で全部できる ◦ すべての構成要素の難易度&所要時間が下がった 学習用マイコン、軽量プログラミング言語、IaaS
偶然にスゴイものが出来るかもしれない 人間の作業量が少なくなった。単純作業はCPUにお任せ
2
おすすめサイト
ネットショップ ◦ スイッチサイエンス https://www.switch-science.com/
◦ 秋月電子 http://akizukidenshi.com/catalog/default.aspx
◦ 千石 https://www.sengoku.co.jp/
ニュースサイト ◦ IoTニュース https://iotnews.jp/ https://www.facebook.com/inetofthingsnews/
◦ Engadget http://japanese.engadget.com/
3
IoTを構成要素に分解
測定 ◦ マイコン、センサ
通信 ◦ ネットワーク
蓄積 ◦ ファイルシステム、データベース ◦ KVS, クラウドサービスの利用、ストレージ
分析 ◦ 統計処理、機械学習、ビックデータ活用
出力 ◦ ビジュアライゼーション、プッシュ通知
4
ここまでやってこそのIoTです
測定-1976年頃の学習用マイコン
TK-80
◦ ¥88,500-(大卒初任給が¥26,200-の時代)
◦ 2MHz μPD8080A(8bit), 0.5KByte-RAM
◦ パラレルI/O:1個
◦ 備考 機械語を16進キーで入力
5
http://pc.watch.impress.co.jp/img/pcw/docs/357/649/html/718.jpg.html
測定-2016年の学習用マイコン Arduino Uno
◦ ¥3,240-
◦ 20MHz 8-bit AVR, 32KBytes
◦ デジタルI/O:14本
◦ アナログI/O:6本
◦ 備考 C/C++をベースとした言語で開発 PCとUSB接続して、コンパイル結果を書き込む
Raspberry PI 3
◦ ¥4,575-
◦ 1.2GHz 4コア ARM Cortex-A53 CPU
◦ 1GB RAM, 有線LAN, 無線LAN, USBx4, HDMI,
◦ GPIO(デジタルのみ), MicroSD card slot
◦ 備考 MicroSDカード追加で、Linuxマシンが完成 PC用のUSB機器の多くを流用可能 家のTVをモニタにすれば、後はキーボードだけで開発も可能 6
アナログ値を 0~1023で表現
Arduino 対 Raspberry PI Arduino UNO
◦ シンプルで分かり易い
◦ 教育用に作られたので、純正品は壊れにくい
◦ 有線LAN, 無線LANは、別途購入 本体より高い 通信部分で苦労する場合が多い
◦ 慣れてきたら、互換品が便利 ESPr Developer(無線LAN付き) ¥2,160- https://www.switch-science.com/catalog/2500/
Raspberry PI 3 ◦ Linuxが動作しており、かなり複雑 Linuxを使ったことがない人は、大変 Linuxに慣れている人は、楽
◦ Linux用のソフトウエアがそのまま動作する Webサーバやメールサーバも動作可能
◦ PC用のUSB機器も、そのまま動作する 消費電力に注意 7
シニア勉強会での方針 基本的に「Arduino UNO」を使っていきます
◦ 「Arduinoをはじめようキット」がオススメ https://www.switch-science.com/catalog/181/ ¥4,320-
◦ 使ってみたいセンサを追加購入
◦ 貸し出し用もあります ただし、数に限りがあります
互換品やRaspberry PIを使ってもOK ◦ Raspberry PIやLinuxに関する質問もOK
◦ ただし、対応できない場合もあります
8
測定-20世紀のセンサ あることはあったけど、とても高価だった
◦ 例:加速度センサ
9
加速度センサーの進化 http://techon.nikkeibp.co.jp/article/SCR/20140716/365681/
測定-2016年のセンサ 様々なセンサが安価に購入可能で、接続も簡単
◦ ほとんどのセンサが、抵抗を1つ加える程度で、 ArduinoやRaspberry PIに接続できる
10 http://akizukidenshi.com/catalog/c/caccel_spop/
加速度センサ
SensorTag $25 6種類のセンサを内蔵 Bluetooth Low Energy
http://www.tij.co.jp/tool/jp/cc2541dk-sensor
ちょっと変わったセンサも個人で購入できる
◦ ダストセンサーDSM501Aモジュール ¥2,138-
http://shop.smartdiys.com/products/detail.php?product_id=552
◦ Grove 水分センサー モジュール ¥559-
http://shop.smartdiys.com/products/detail.php?product_id=326
◦ においセンサ TGS2450 ¥300-
http://akizukidenshi.com/catalog/g/gP-00989/
◦ 大面積Si PINフォトダイオードS6775 ¥300-
http://akizukidenshi.com/catalog/g/gI-04806/
測定-2016年のセンサ
11
通信-1993年頃の通信
サーバとの通信
◦ サーバは電話回線を持っており、その番号に発信
◦ 距離に応じて電話代がかかる(テレホーダイは1995年開始)
通信手段:有線
◦ アナログモデムの最高速度は14,400bps 28,800bpsの登場が1994年
◦ 1988年に「INSネット64」がサービス開始
◦ 1992年頃に、日本でインターネットの商用利用が開始
無線通信=無線機+音響カプラ
◦ 300bps程度しか出なかった
◦ 1999年に無線LAN(IEEE802.11b:11Mbps)が登場
12
通信-2016年の通信
サーバとの通信 ◦ サーバはインターネット上で、グローバルIPを持つ http/httpsなら、どこからでも通信できる
逆向き(サーバ→クライアント)の通信も可能 Ajax+Comet, WebSocket, MQTT
◦ 通信量の上限はあるが、相手が海外でも固定料金
通信手段:無線 ◦ IEEE 802.11n:最大伝送速度600Mbps
◦ Bluetooth:BLEで省電力
◦ Ultra Wideband:位置測定もできる
◦ ZigBee:低速で省電力
◦ 3G/LTE:日本国内であれば、どこでも通信可能
◦ WiMax:通信エリアが狭いけど、早い・安い・無制限
◦ SORACOM:IoTに特化し、携帯の電波を利用。300円/月~
13
通信-最近のニュースより
「たった100bps」の通信網、京セラが全国展開へ
『ビッグデータを安価に集める手段が必要』と社長語る
http://japanese.engadget.com/2016/11/11/100bps/
14
1回線は年額100円前後、海外でも通信可能
SIGFOXの特徴は「低価格」「省電力」「長距離伝送」の3つです。周波数帯は免許不要の920MHz帯を使い、最大伝送距離は数十キロに達しま す。また省電力という点では、電池で約5年間のデバイス運用が可能であり、定期的な充電が不要になり屋外の利用に向くとの説明です。
価格は、黒瀬社長によれば「1日の通信回数が2回以下の場合、1回線が年額で100円前後で使えるようになる」とのこと。費用の問題からこれまでネットワークに繋げられなかったモノも繋げられるようになると説明します。
蓄積-2016年のストレージ
容量
◦ 8TByteのHDDが個人用 ST8000DM002 3万円強
20年前と同じ金額で、1GB → 8TB
性能
◦ HDDの性能は、この10年でたった1.2倍
◦ SSDの登場で大きく性能アップ 懸念だった寿命問題もほぼ解決
◦ ビックデータはI/O性能が一番重要
15
蓄積-2016年のストレージ
RDB
◦ 様々な無償のRDBが利用できる MySQL, PostgreSQL
◦ 有償のRDBも、制限付きで無償利用できる Oracle Express, DB2 Express-C, SQLServer Express
商用利用OK、制限:CPU数、データベースサイズ
◦ RDB以外のものも豊富にある Cassandra, HBase, MongoDB
16
蓄積-2016年のストレージ
クラウドサービスの利用
◦ サーバの構築・メンテナンス・場所・電気代が不要 REST API サービスなら、サーバ側のコーディングが不要
データ量が少なければ、無料で利用できるものも多い
可視化をしてくれるサービスもある
http://qiita.com/kozo2/items/b530d38633111cbace8c
◦ IaaSを8時間だけ利用する場合
OS導入済みサーバの入手:5分
メモリ4GByte、CPU2コア、Linuxの場合
AmazonEC2の利用料金:$0.08 × 8時間 = $0.64 = 76円
メモリ244GByte、CPU32コアで遊びたい場合
AmazonEC2の利用料金:$3.36×8時間=$26.88=3,300円
24時間x1ヶ月使い続けると、リースとほぼ同額 17
分析-機械学習までの歴史
http://ja.wikipedia.org/wiki/人工知能の歴史
18
1 前史 2 人工知能の誕生 1943~1956 2.1 サイバネティクスと初期のニューラルネットワーク 2.2 ゲームAI 3 黄金時代 1956~1974 3.1.2 自然言語 3.1.3 マイクロワールド 4 AIの冬第1期 1974~1980 5 ブーム 1980~1987 5.1 エキスパートシステムの隆盛 5.2 知識革命 5.3 資金復活: 第五世代コンピュータプロジェクト 6 AIの冬第2期 1987~1993 7 1993年以降 7.1 マイルストーンとムーアの法則 7.2 知的エージェント 7.4 様々な場面で裏方として働くAI
TVなどで良く聞いた
イマココ
分析-機械学習までの歴史
エキスパートシステム
◦ http://ja.wikipedia.org/wiki/エキスパートシステム
エキスパートシステムは基本的に、特定の分野の問題についての情報を解析するルール群から構成されるプログラムであり、その情報はシステムの利用者が提供する。 問題の分析結果を提供するだけでなく、設計によっては利用者の行動を正しく導く指針を与えることもできる。
機械学習
◦ http://ja.wikipedia.org/wiki/機械学習 機械学習(きかいがくしゅう、英: machine learning)とは、人工知能にお
ける研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。
エキスパートシステムと機械学習の違い
◦ エキスパートシステム:識者がルールを作成する 識者自身も認識していない部分はルール化できない
◦ 機械学習:大量のデータを投入し、ルールを自動生成する どんなルールなのか人間には理解できない。でも役には立つ 19
事例:Google IME
機械学習が注目されている理由1
大量の電子データの入手が容易になった
◦ 最初から電子化されているテキスト情報 Twitter Stream API
様々な言語のつぶやきが無料で入手できる
タグ付けされている、位置情報付き(一部)
Facebook Graph API
ユーザー情報、写真、記事、コメント
◦ 電子化されたテキスト情報
電子書籍、特許情報
◦ 数値データ 総務省統計局、気象庁、Linked Open Data、センサデータ、
Webサイト(スクレイピング禁止サイトは要注意)
◦ 画像 Google、Flickr、CCDカメラ 20
個人の研究で、 よく使われている
機械学習が注目されている理由2
1人でも、アイデア次第で凄い物が出来るかも
◦ 人間が書くコードの量は、圧倒的に少なくなった エキスパートシステムでは、ルールを人手で書いていた
→膨大な専門家の作業が必要だった
軽量プログラミング言語に、豊富なライブラリ
→全アルゴリズムを端から試してみるのも悪くない
◦ 投入する大量データは、無料もしくは安価で手に入る 最初からデジタル化されているデータ
◦ 瞬間的に必要な計算パワーはクラウドで安価に調達 数時間だけ、という利用形態が可能
◦ 結果をビジュアライズするためのライブラリも豊富
HTMLにすれば、世界中の人に使ってもらえる
21
分析-2016年の機械学習
R言語
◦ 1996年に登場
◦ 実行環境、RStudio(統合環境)が無償
◦ プログラマでなくても、結構使いこなせる
インタプリタで結果を確認しながら、1ステップづつ進める
数学が苦手な人は、ツライです
◦ 便利なライブラリが、大量に無料で入手できる
TensorFlow
◦ Googleが開発。Pythonで記述
◦ 今、一番流行ってます
その他の軽量プログラミング言語 ◦ Python, Perl, Ruby, Scala, JavaScript, e.t.c…. 22
まとめ
昔はとても個人ではできなかったことが ◦ ハードウエア:安価、小さい、高精度、簡単 ◦ ソフトウエア:ほとんど無償、高機能 ◦ データ:ほとんど無償、大量に入手できる
ちょっと休日にやってみれる ◦ ソフトをやってきた人は、ハードを触ると新鮮 ◦ サーバを1日だけ利用 ◦ 偶然にスゴイ発見・発明が生まれるかも
とにかくやってみる ◦ 本を読むと、分かった気になるけど 実際やってみると、全然印象が違う事が多い
◦ 一度やってみる、せめて、一度見てみる AITCのオープンラボを利用してください YouTubeで手順を動画で公開している人多数 一度見ていると、自分でやる時に苦労しない
23