Meet IoT 1st on 2016/3/27
慶應義塾理工学部
松井忠宗
やる(やった)こと
• 私はこの分野にきてやっと1年です
• IoTの話をとってもざっくり,偏見たっぷりで話します
• 一通り話した後,ArduinoとLEDとセンサで遊んでみます
• 最終的には「光センサとボタンで光るLED」ができます
• 動画 https://www.youtube.com/watch?v=b4AzKfroLuw
• コード
https://github.com/matzTada/meetIoT/blob/master/sketch_160327LEDButto
nLightSensor/sketch_160327LEDButtonLightSensor.ino
• sketch_160327LEDButtonLightSensorが本スライドのプログラムと対応してます.お
まけもつけときました.
MeetIoT 1st 2016/3/27松井忠宗 2
そもそもIoTってなに
• 明確な定義はない
• Wikipediaでは…「モノのインターネット(Internet of Things、IoT)は、
様々な「もの」がインターネットに接続され、情報交換することに
より相互に制御する仕組みである[1]。「Internet of Everything」や
「Smart Everything」、「サービスのモノ化」ともいう[2][3][4]。
「Internet of Things」という用語は、1999年にケビン・アシュトン
(英語版)(Kevin Ashton)が初めて使った用語である[5]。ここでい
う「もの」とは、スマートフォンのようにIPアドレスを持つものや、
IPアドレスを持つセンサーから検知可能なRFIDタグを付けた商品や、
IPアドレスを持った機器に格納されたコンテンツのことである。
• https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%8E%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88
MeetIoT 1st 2016/3/27松井忠宗 3
http://www.indetail.co.jp/blog/5650/
MeetIoT 1st 2016/3/27松井忠宗 4
IoTの中身
• 「もの」が「インターネット」につながれば何でもIoT
• つながることが何を意味するか...
• データを「好きな時に」「遠隔で」取得できる
• 制御を「好きな時に」「遠隔で」行える
• 「より多くの」データを扱える
• 「自分が何もしなくても」便利なサービスが受けやすい
MeetIoT 1st 2016/3/27松井忠宗 5
IoTで生み出されるサービスの一例
• 結局,データ収集ができたからこそのサービス
• Smart Grid : 大規模な電力周り
• Energy Management System : 電力制御
• スマートハウス : 環境と家電機器の制御
• Intelligent Transport System : 交通システムへの応用
• モニタリングシステム : センサでのデータ取得全般
• スマートファクトリ : 工場へ適用
• 小型デバイスの活用 : ドローン,おもちゃ,家の監視などなど
MeetIoT 1st 2016/3/27松井忠宗 6
IoTの例 : Smart City でのICT活用
http://www.smartcity-planning.co.jp/index.htmlMeetIoT 1st 2016/3/27松井忠宗 7
なんで今できるようになってきたのか
• 昔:データを取る機械がデカい
• 今:IC技術の発達
• 昔:データは取れていたがすぐに集められない
• 今:通信技術(特に無線 )の発達
• 昔:データはあるけど使えない
• 今:大規模データ解析技術の発達
• 昔:解析はできるけど,適用できない
• 今:制御技術の発達,「安全に」制御できる
• 昔:もろもろ分かったけどさ,お高いんでしょう...
• 今:ユーザの増加,誰でも通信機器を持つ時代
MeetIoT 1st 2016/3/27松井忠宗 8
• WSN(Wireless Sensor Network)
• センシング×マルチホップ無線通信×
バッテリ
• 目に見えやすい研究(Explicit)
• データ利用サービスの提案
• 電力消費最小化
• 温湿度,発電量のモニタリング
• 目に見えにくい研究(Implicit)
• データ収集方法(経路選択)
• データ保存方法
• WSNシステムの電力消費
MeetIoT 1st 2016/3/27松井忠宗 9
研究サイドからの話(と私の研究 )
IoTの要素技
術
計測 通信
クラウド/
フォグ
LAN WSN
ローパワー
スリープに
よる解決
経路選択に
よる解決
センサノー
ド
ネットワー
ク
データ保存,
処理
データ統計,
リコメンド
流
データ取得
データ送信
データ収集
データ解析
動作を決定
動作送信
動作実行
対象の変化
分業が大切ですMeetIoT 1st 2016/3/27松井忠宗 10
今日の実機でやれること
• 前のぐるぐるをなんとなーく感じてもらいます
• 流れ
• ハードウェアを作る
• (何がしたいかを満たす素子を選ぶ)
• (回路設計する)
• (はんだ付け)
• 配線する ←ブレッドボード
• ソフトウェアを作る
• ファームウェア(的なもの)を作る ←Arduino
• 通信を作る ←シリアル通信
• もらったデータを処理する ←近藤さん
データ取得
データ送信
データ収集
データ解析
動作を決定
動作送信
動作実行
対象の変化
MeetIoT 1st 2016/3/27松井忠宗 11
配線図
MeetIoT 1st 2016/3/27松井忠宗 12
プログラム (1/3) 初期化とセットアップ
int ledPin = 2; //LEDとつながっているピン
int buttonPin = 3; //ボタンとつながっているピン
int sensorPin = A0; //光センサとつながっているピン
void setup() {
pinMode(ledPin, OUTPUT); //ledPinを出力ピンとして設定
pinMode(buttonPin, INPUT); //buttonPinを入力ピンとして設定
pinMode(sensorPin, INPUT); //sensorPinを入力ピンとして設定
Serial.begin(9600); //シリアル通信をbaudrate=9600で開始
}
MeetIoT 1st 2016/3/27松井忠宗 13
プログラム (2/3)
void loop() {
int buttonState = digitalRead(buttonPin);
//buttonStateにbuttonPinの電圧値を代入(0:LOW or 1:HIGH)
int sensorValue = analogRead(sensorPin);
//sensorValueにsensorPinの電圧値を代入(0 ~ 1023)
// Serial.println(buttonState);
Serial.println(sensorValue); //sensorValueをシリアルで出力
MeetIoT 1st 2016/3/27松井忠宗 14
プログラム (3/3)
if (buttonState == 1) { //buttonが押されていたら
digitalWrite(ledPin, HIGH); //LED点灯
}
else if (sensorValue > 750){ //光センサの値が一定以上なら
digitalWrite(ledPin, HIGH); //LED点灯
}
else { //それいがい
digitalWrite(ledPin, LOW); //LED消灯
}
}
MeetIoT 1st 2016/3/27松井忠宗 15
配線とプログラムができたら...
• 配線とプログラムができたら
• Arduino IDEの左上にある右矢印ボタンを押せば書き込めます.
• 注意
• ボードを合わせること(UNO, Nano, Mega, Fio…いっぱい)
• ポートを合わせること(書き込みたいArduinoをちゃんと見つける)
• その他
• シリアルモニタは右上の虫眼鏡ボタンまたはCtrl+Shift+Mでも(win)
MeetIoT 1st 2016/3/27松井忠宗 16
終わり
• 何かあればご連絡お気軽に
• やっぱり直接会う機会って大切ですね.
MeetIoT 1st 2016/3/27松井忠宗 17

MeetIoT 1st on 2016/3/27