iotで遊ぼうピタゴラスイッチ

98
アソボウ ピタゴラスイッチ セイノツヨシ クラスメソッド

Upload: tsuyoshi-seino

Post on 07-Aug-2015

2.465 views

Category:

Technology


3 download

TRANSCRIPT

         デアソボウ

ピタゴラスイッチ

セイノツヨシ クラスメソッド

みなさん おはようございます

#hcmpl

自己紹介

自己紹介

氏名:清野 剛史(せーの)

所属:クラスメソッド株式会社 札幌オフィス

役割:AWS ソリューションアーキテクト

ブログ:developers.io (http://dev.classmethod.jp/)

動機:沖縄に来たかった。

思惑と現実のズレ

いろいろあって

Lightning Talk(10分)に応募

メインセッション(50分)に登壇

思惑と現実のズレ

TOP?

思惑と現実のズレ

思惑と現実のズレ

思惑と現実のズレ

基調講演!!?

思惑と現実のズレ

基調講演:

・基本方針についての講演。企業や政党により、または、シンポジウムや会議などの開催に際して行われる。

・全体の催しの基本線を示す講演。会の目的や基本的な方針を明らかにするために発表される話。 基調講演の講演者としては、その分野の著名な研究者が選ばれることが多い。しかし、会議によっては学界の外から著名人を呼んで講演してもらうこともある。

思惑と現実のズレ

私のイメージする 基調講演

こういうのとか

AWSの基調講演の写真

こういうの

やばいことになった。

対策

いつも私が勉強会でするような話

ちゃんとした話

では よろしくお願いします

IoTとは?Internet of Things = モノのインターネット

コンピュータ同士のネットワーク

から

今まではネットワークに接続されていなかった 「モノ」が

インターネットを介して 情報をやり取りする能力を備えていく

IoTとは?

IoTとは?

IoTとは?

IoTとは?

IoTとは?

センサーデータから収集されるデータを活用し、 生活やビジネスの価値向上のために活用することができる。

ビジネスの効率化、合理化に寄与する。

IoTとは?

交通センターシステム

車両センサーと道路上に置いてある加速度センサーを使い 交通量、トラフィックをデータとしてクラウドに送信してデータ分析。

IoTとは?農業田畑追跡システム自分の畑の場所を設定し、スマートフォンを持っていくと雨量予測ができる。 予測値より種や肥料の量を確定し、予算を管理する。 収穫量がある程度推測できるため予算から収益の予測をする。

トラクターにスマホを持込み、GPSと衛星よりトラクターの走行軌跡を保存。作業管理をする。

IoTとは?センサーでデータを収集 Wi-Fiを使ってクラウドにアップデート クラウドでETLしてDWHかNoSQLに入れる DWHなら分析ツール NoSQLならダッシュボード で ブラウザ上に可視化する

この先はどうなる?

IoTの未来 -ビッグデータ分析

大量のデータを分析する

他のデータと組み合わせて方程式を導き出す

IoTの未来 -機械学習データの収集、分析を繰り返すことで

パターンを見つけ出しアルゴリズム化

モデルを作成し将来を予測する

素晴らしいIoTの世界

夢が広がり

ますか?

なんか違う

IoT = モノのインターネット で

浮かぶイメージ

しゃべる冷蔵庫

空飛ぶ家

Maker Faire Tokyo 2014

Maker Faire Tokyo 2014

Maker Faire Tokyo 2014

LEGO Education EV3

IoT = モノからネットワークへ (Input)

IoT = ネットワークからモノへ (Output)

Input = センサーデバイス

Output = 日常の電子機器

シングルボード

Intel Edison

IoTのInputいろいろ

シングルボード

Intel Edison

IoTのInputいろいろ

・SDカード形状のフル装備 ・ペンティアムクラスのPC ・Wi-Fi、Bluetoothを内蔵

シングルボード

HummingBoard

IoTのInputいろいろ

シングルボード

HummingBoard

IoTのInputいろいろ

・イスラエル製 ・1GHz ARMチップ搭載 ・メモリ1GB ・LAN,HDMI

シングルボード

Raspberry Pi 2

IoTのInputいろいろ

シングルボード

Raspberry Pi 2

IoTのInputいろいろ

・900MHz ARM 4コア ・提供OSにWindows10がある

シングルボード

tah

IoTのInputいろいろ

シングルボード

tah

IoTのInputいろいろ

・Arduinoとの互換性 ・Bluetooth Low Energy + Beacon ・iOS と Androidのライブラリ

シングルボード

OTOTO

IoTのInputいろいろ

シングルボード

OTOTO

IoTのInputいろいろ

・通電するものを楽器にできる ・MIDI信号に変換 ・入力センサーとの組み合わせが可能

シングルボード

OTOTO Demo

IoTのInputいろいろ

IoTのInputいろいろ

みんなだいすき

で最近注目しているもの

Trago

で最近注目しているもの

水分補給をしたほうが良いタイミングで通知

で最近注目しているもの

センサーデバイスの動かし方

センサーデバイスの動かし方

Arduino

センサーデバイスの動かし方

Arduino・元々はマイクロハード ・C++風の言語が優秀 ・IDEも使いやすい ・色々なハードに適用されるように

センサーデバイスの動かし方

Arduino

setup()とloop()の2つのみ

setup() - 初回時

loop() - それ以降

センサーデバイスの動かし方

#define LED_PIN 13

void setup () { pinMode (LED_PIN, OUTPUT); // 13番ピンをデジタル出力に設定する }

void loop () { digitalWrite (LED_PIN, HIGH); // LEDを点灯する delay (1000); // 1秒待機する(1000ミリ秒) digitalWrite (LED_PIN, LOW); // LEDを消灯する delay (1000); // 1秒待機する }

センサーデバイスの動かし方

XDK / IDEを使う

センサーデバイスの動かし方

IDE(統合開発環境)を使うと 開発が簡単に

センサーデバイスの動かし方

センサーデバイスの動かし方

ベースがLinuxのことが多い

センサーデバイスの動かし方

Linuxベースにプログラム言語をインストールして使う

センサーデバイスの動かし方

Python Node.js

Ruby あたりが多い

センサーデバイスの動かし方

怖がらずにドキュメントを読もう

センサーデバイスの動かし方

GPIO/mraaとは

センサーデバイスの動かし方

センサーデバイスの動かし方

センサーデバイスの動かし方

センサーデバイスの動かし方

基本は 「◯番の値を取得する」

以上。

センサーデバイスの動かし方

var m = require('mraa'); //require mraa console.log('MRAA Version: ' + m.getVersion());

//setup access analog inpuput pin 0, 1 var analogPin0 = new m.Aio(0); var analogPin1 = new m.Aio(1);

//read the value of the analog pin var analogValue0 = analogPin0.read(); var analogValue1 = analogPin1.read();

//write the value of the analog pin to the console console.log("A0: " + analogValue0); console.log("A1: " + analogValue1);

Input = センサーデバイス

Output = 日常の電子機器

センサーデバイスの動かし方

基本は 「◯番をOn/Offする」

※これに[どれくらいの割合で]が入るくらい

IoTのOutput

電子機器のOn/Offを センサーデバイスから行う

IoTのOutput

リレースイッチ

IoTのOutput

IoTのOutput

センサーデバイスで扱えない 大きな電力を

リレーを使って扱う

センサーデバイスの動かし方

Lチカ

センサーデバイスの動かし方

パワーLED

センサーデバイスの動かし方

256色パワーLED

センサーデバイスの動かし方class Led(object): # Define your GPIO Ports RED_PORT = 13 GREEN_PORT = 26 BLUE_PORT = 5

# Controll resolution Params # You don't have to change following 3 Params usually FREQUENCY = 200 # PWM Frequency RESOLUTION = 50.0 # Brightness control per span SPAN = 1.0 # Drive time in second at one call

# Brightness MAX_BRIGHTNESS = 1.0 # Master Brightness parameter 0.1 - 1.0

# Color Table # You can append your own colors COLORS = { "Red": [1.0, 0.0, 0.0], "Pink": [1.0, 0.3, 0.3], "Green": [0.0, 1.0, 0.0], "LightGreen": [0.2, 1.0, 0.2], "Blue": [0.0, 0.0, 1.0], "LightBlue": [0.3, 0.3, 1.0], "Yellow": [1.0, 1.0, 0.0], "Orange": [1.0, 0.3, 0.0], "Cyan": [0.0, 1.0, 1.0], "Lime": [0.0, 1.0, 0.3], "Magenta": [1.0, 0.0, 1.0], "Violet": [0.3, 0.0, 1.0], "White": [1.0, 1.0, 1.0], "Black": [0.0, 0.0, 0.0] } # Color index for Color Table

def __init__(self): self.phase = 0.0 self.color = Led.COLORS["Black"]

GPIO.setmode(GPIO.BCM)

# set GPIO port as output GPIO.setup(Led.RED_PORT, GPIO.OUT) GPIO.setup(Led.GREEN_PORT, GPIO.OUT) GPIO.setup(Led.BLUE_PORT, GPIO.OUT)

# set port as software PWM with f Hz self.red = GPIO.PWM(Led.RED_PORT, Led.FREQUENCY) self.green = GPIO.PWM(Led.GREEN_PORT, Led.FREQUENCY) self.blue = GPIO.PWM(Led.BLUE_PORT, Led.FREQUENCY)

# start software PWM with 0.0% self.red.start(0.0) self.green.start(0.0) self.blue.start(0.0) return

IoTのOutput

ソレノイド

IoTのOutput

これからのIoT

これからのIoT

モノに既にSDKが組み込まれている

これからのIoT

Drone

これからのIoT

APIとiOS / AndroidからのSample

https://github.com/Parrot-Developers/ARSDKBuildUtils https://github.com/Parrot-Developers/Samples

Linux上の動作 PCへのリアルタイム映像の送信等

これからのIoT

Rumba

これからのIoT

掃除しないルンバ - iRobot Create 2

これからのIoT

RumbaにはRaspberry Piが入る

これからのIoT

まとめ

まとめ

・モノが動く仕組みは基本いっしょ

・ボードを使って基本を覚える

・センサーを使ってデータを集めてみよう

・InputができたらOutputもしてみよう

・SDKを使って最新の機器を動かそう

・自分でIoTデバイスをつくってみよう