SlideShare a Scribd company logo
1 of 106
Download to read offline
IoTハンズオン勉強会
~センサーデータをクラウドに蓄積してみよう~
2015年1月期AITCオープンラボ
2015/01/24
1
自己紹介
•菅井康之     
•株式会社イーグル所属
•AITC運営委員会
•  &クラウドテクノロジー活用部会 サブリーダー
•
https://www.facebook.com/yasuyuki.sugai
よろしくお願いしまーす
2
はじめに・・・
基本的にはスライドに沿って
説明しながら進行していきますが、
内容無視して自由にセンサー
繋いだり、色々試していただいても
OKです!
ガチの人は最後にこんなの
作ってみたと発表してください!
何より楽しんでやりましょー!
3
ハンズオンの目的
★簡単なセンサーを用いてArduinoを使用した
電子工作を体験します
★電子工作ということで、普段聞きなれない
用語なども出てきますが、なるべく説明して
いく予定(つもり)です
★ 複雑なことをやるよりも、理解を優先しています
★電子工作ってどんなものか、IoTも含めて
雰囲気だけでもつかんでいただければと思い
ます
4
今日の目標・・・
★Arduinoのセンサー値をPCに取り込み、最終的に
クラウドサービスにセンサー値を蓄積することを
目標とします
★Arduinoから直接クラウドサービスに接続したい、
という考えもありますが、Arduinoはセンサー値の
収集に注力し、クラウドサービスとの通信は
PCから行うことを予定しています
★ 何でもかんでもArduinoで、、というわけではなく・・・
★ センサーネットワーク(後述)をイメージした構成となります
★ 割とArduinoからRaspberryPiなどのPCを経由する
構成にするケースが多いです
★ PC(プログラム)でセンサー値を取り扱えれば、後は何とでも・・・
5
と、言い訳が多いですが
一番の理由は・・・
6
ネットワーク系の部品の用意が難しい(高い)・・・ ボソッ
7
環境について
★このスライドでは、以下のソフトウェアが
インストールされていることを前提としていま
す
• Arduino IDE
http://arduino.cc/en/Main/Software
• Node.js
http://nodejs.org/
8
Node.jsは安定板でお願いします
2015年1月現在、開発版(v0.11)では動作しません
安定板(v0.10)をインストールしてください
そもそもIoTって・・・
★ IoTとは何ぞや・・・という部分については過去の勉強会資料を
ご参照ください!
★ 第一回 IoT勉強会
★ IoT概論: 
http://www.slideshare.net/dsuket/iotvol1-iot
★ IoTを実現する技術: 
https://www.dropbox.com/s/385fw858ep3wh31/IoT%E3%82%92%E5%AE%9F%E7%8F
%BE%E3%81%99%E3%82%8B%E6%8A%80%E8%A1%93.pdf
★ 国内外の事例紹介: 
http://www.slideshare.net/yasuyukijinnouchi/aitc-open-labiot20141117
★ とりあえずIoT的なものを作ってみた:
http://www.slideshare.net/yasuyukisugai/iot-41780126
★ 第二回IoT勉強会
★ IoTデバイス Intel Edison編
http://www.slideshare.net/yasuyukisugai/iotiot-intel-Edison
★ littleBitsとIFTTTで超お手軽IoTクッキング
http://www.slideshare.net/yasuyukisugai/iot-42756830
9
電子工作入門
10
電子工作入門
とりあえず
やってみよう
プログラムで
読み込もう
クラウドに
蓄積しよう
リモート通信 自由時間
電子工作って?
★大量生産を目的としない電子機器の
設計や製作のことである(by Wikipedia)
★小規模の実験・試作を行う、
プロトタイピング的なもの (or 趣味)
★要は、アイデアを形にする
★画面などの制約にとらわれず、現実のモノや
出来事に干渉できるようなアイデアを
実現可能とする
11
どうやって作るの?
★電子機器を繋いで回路を組み立てる
★ 回路は電源の+から始まり、機器を経由して-に戻ってくる
★ 輪っかを作成するようなイメージ
★Arduinoの登場により、複雑な回路を
組まなくてもプログラムで制御することが
可能になり、電子工作の敷居が下がった
★ ある程度の知識は必要だが、ネット上に回路が
アップされていることも
★ ブレッドボードによって、ハンダ付けが
必須じゃなくなったことも
12
Arduinoって?
★マイコンの一種
http://www.arduino.cc/
★ オープンソースハードウェア
★ 2005年にイタリアで安価なプロトタイピング・システムを
製造することを目的にスタート
★ センサーなどによる環境の感知、アクチュエーターを
使用した環境への働きかけを行う
★ シリアル通信(UART)によって多くのソフトウェアと
連動可能
★ Makerブームの火付け役
13
プログラムが書けるって?
★Arduino IDE
http://arduino.cc/en/Main/Software
★Windows, Mac, Linuxで動作(Javaで作成)
★エディター, コンパイラ, 基盤への転送機能を
有する
★ その他、シリアルポートによる基盤との双方向の通信が可能
★独自の言語(Arduino言語)
★ Wiringから派生した、C言語風の構文で
基盤向けに最適化
★デバイスドライバーも含まれているので、
まず最初にインストール
14
Arduino IDE
15
Arduinoで電子工作
★輪っかを作るように部品をつなぐことで、
電子回路を組み立てる
★基本的には・・・5V(or3.3V)から始まり、
センサーを繋いでGNDに戻ってくる
★5V(or3.3V)
★ 常に5V(or3.3V)の電圧を出力するピン
★ 電気の+側
★GND(グランド)
★ 0V(終着点)のピン
★ 大地に電気が流れていく(捨てられる)イメージ
★ 電気の-側
16
どうやって回路は組み立てるの?
★ ユニバーサル基盤
★ 基板上に部品のピンをハンダによって接続する
★ 部品と部品を繋ぐ(回路)のも、ハンダ(orスズメッキ線)で
一つ一つ繋いでいく
★ 用途:製品用
★ プリント基板
★ 基盤上に部品のピンをハンダによって接続する
★ あらかじめ回路がプリントされているため、部品を接続するだけでOK
★ ただし、自分で自由に回路を作成することは出来ない
★ 用途:製品用
★ ブレッドボード
★ 部品のピンを差し込むだけで接続できる
★ 縦、横に回路がひかれているため、直線状にピンを接続することで、
回路を組み立てていく
★ ハンダ付けが不要であるため、容易にトライ&エラーを
繰り返すことが出来る
★ 実験やプロトタイピング用
Wikipedia:基盤
Wikipedia:プリント基板
Wikipedia:ブレッドボード
17
ブレッドボード
★縦、または横一方向に回路が繋がっている
★回路上にピンを刺して行くことで回路を組み立てる
★一般的には・・・
★ 横に繋がる赤い側に+を、青い側にーを刺す
★ 縦に繋がる所にセンサーなどの部品を刺す
★ 横のラインからジャンパーワイヤで電源を供給
★
省略・・・
18
ミニブレッドボード
★縦一方向に回路が繋がっている
★回路上にピンを刺して行くことで回路を
組み立てる
★ブレッドボードと出来ることは同じ
★
この辺りは実際に使って行くと
感覚が分かります
19
とりあえずつないでみればいいのね?
★注意:部品が耐え切れない電流を
流すと、壊れる可能性がある
★LEDが焼けきれてしまったり、Arduino側にも
影響を及ぼすことも
•
20
抵抗
★電流が強すぎる場合には、抵抗を入れることで
電流を下げる
★抵抗は4色の色を見ることで、抵抗値が判別可能
★ 1桁(1本目) + 2桁(2本目) * 桁数(3本目) 4本目:誤差
★オームの法則に従い、抵抗値を計算して抵抗を入
れる
★ 抵抗値ピッタリの抵抗を使用するのではなく、下記に示す抵抗
値で近いものを使用するのが一般的
★ 良く使う抵抗値:E6系列 (1, 1.5, 2.2, 3.3, 4.7, 6.8, 820) *
(1Ω, 10Ω ... 1MΩ)
★ 4本目(誤差)は金色が一般的?
21
オームの法則
★電流I (A) = 電圧E (V) / 抵抗R (Ω)
★電圧E (V) = 抵抗R (Ω) * 電流I (A)
★抵抗R (Ω) =電圧E (V) / 電流I (A)
22
色 1桁(1本目) 2桁(2本目) 桁数(3本目) 誤差(4本目)
黒 0 0 * 1Ω -
茶 1 1 * 10Ω ±1%
赤 2 2 * 100Ω ±2%
橙 3 3 * 1KΩ ±0.05%
黄 4 4 * 10KΩ -
緑 5 5 * 100KΩ ±0.5%
青 6 6 * 1MΩ ±0.25%
紫 7 7 - ±0.1%
灰 8 8 - -
白 9 9 - -
金 - - * 0.1Ω ±5%
銀 - - * 0.01Ω ±10%
無色 - - - ±20%
抵抗カラーコード
23
抵抗 読み方
24
赤  赤  茶  金
2  2 10Ω ±5%
抵抗値: 220Ω
誤差: ±5%
センサーの値ってどうとるの?
★Arduinoでプログラムが書けるといっても、
部品とのインタフェースは基本的には
電圧となる
★0~5Vの電圧を変化させるor読み取ること
で、制御することが可能
★ センサーへの入力として電圧を変化
★ センサーの出力を電圧で読み取る
★センサーの特性によって、デジタル値や
アナログ値として扱う
25
デジタル?アナログ?
★ デジタル
★ 0/1の2値を入出力で扱う
★ 0V or 5V / LOW or HIGH / TRUE or FALSE
★ 入力
★ 0V~3V未満: LOW、3V以上:HIGH として扱う
★ タクトスイッチなどを利用した回路の接続状態による、スイッチングなどで利用
★ 出力
★ LOW: 0V、 HIGH: 5V
★ 電圧のON/OFF制御など、スイッチングなどで利用
★ アナログ
★ 入力
★ 0~1023の1024段階の値を扱う(電圧の0V~5Vを1024分割)
★ センサ値(温度、照度、音量)などの読み取りで利用
★ 出力(PWM)
★ 0~255の256段階の値を扱う(電圧の0V~5Vを256分割)
★ LEDの明るさや、部品の値調整などで利用
★ Arduinoがアナログ値<-->数値の変換をしてくれる(ADコンバータ)
26
必要なもの
★ジャンパワイヤー
★ 部品の結線で使用
★ブレッドボード
★ 部品の接続で使用
★抵抗
★ 100Ω, 150Ω, 220Ω, 1KΩ 辺りがあれば大体事足りそう
★あった方がいいもの
★LED
★ 通電の確認で良く使用するので、あった方が良い
★ハンダ付けセット
★ ピンヘッダがついていない部品もたまにあるので、
ハンダ付けが出来た方が良い
★ トランジスタやコンデンサは慣れてきてから・・・
27
LEDや抵抗、ジャンパワイヤーは
たくさん用意してあります
※流行りの青色LEDは
ちょっとしかありません。。28
他にも色々・・・
念のためハンダ付けセットも
足りないものがあれば秋葉まで走ります
29
とりあえずやってみよー
30
電子工作入門
とりあえず
やってみよう
プログラムで
読み込もう
クラウドに
蓄積しよう
リモート通信 自由時間
LED接続
★ まずはArduinoにLEDを繋いで
光らせてみましょう
★ 線を繋ぐ前に・・・抵抗値を計算
★ LEDは割と簡単に焼け切れてしまいます・・・
★ LEDを電圧:2V, 電流:20mAとして、オームの法則から
抵抗値を計算
★ ※LEDはモノによって違うけど。。。
★ 抵抗R (Ω) = (Arduino:5V - LED:2V) / 0.02 = 150Ω
★ ※Arduinoが5V、LEDが2Vなので、3Vの電圧で計算
•
31
LED接続
★150Ωとジャンパ、LEDをブレッドボードにつ
ないでいきます(次スライド参照)
★抵抗には向きは無いけど、
LEDは向きがあるので注意
★ 足の長い方が+側、足の短い方が-側
★ArduinoをUSBに接続して、5Vを流してみま
しょう
★ USB経由で電力を供給しているだけなので、
コードやセットアップなどは不要、つなげばOK
32
+ー
LED接続
ブレッドボード ミニブレッドボード
33
LED接続
回路図
34
★スライドに記載している回路図や配線図
はFritzingというアプリケーションを使用し
ています
http://fritzing.org/
★オープンソースの回路図作成アプリ
★プリント基板のパターン図を作成し、
実際に発注まで出来る
★回路図やパターン図を公開したり、
他の人が公開しているのを参照出来たり
回路図の作成について
35
Lチカ
★LEDがついたら、次はLEDの照明を
Arduinoから制御してみましょう
★通称:Lチカ
★ArduinoIDEのセットアップを行う必要があります
★USB経由でシリアル通信でArduinoと通信する
ための設定
•
36
Lチカ
何もセットアップしていないと、ArduinoIDEは
真っ白な画面が表示されています
37
Lチカ
まずはArduinoを認識させるため、シリアルポートを
設定します
 「ツール」 > 「シリアルポート」
※環境によって異なります
 Windowsの方は、デバイスマネージャーなどを
 ご確認ください
38
Windows: 'COMX'
Mac: /dev/tty.usbmodemXXXX
Lチカ
Arduinoが正しい製品を指定されているか、
確認します
 「ツール」 > 「マイコンボード」
39
Lチカ
★ Arduinoに書き込むプログラムを作成します
★ 基本的にArduinoのコードは、setupメソッド、loopメソッドを
実装することで動作する
★ setup: 最初の一回のみ実行される、初期処理用
★ loop: 繰り返し実行される、メイン処理用(delayを入れないと大変なことに)
★ プログラムは次スライド参照
•
←白い所にプログラムを
 書いて行きます
40
Lチカ
•
#define LED_OUTPUT 8
void setup() {
pinMode(LED_OUTPUT, OUTPUT);
}
void loop() {
digitalWrite(LED_OUTPUT, HIGH);
delay(1000);
digitalWrite(LED_OUTPUT, LOW);
delay(1000);
}
•#define LED_OUTPUT 8
•変数の定義
•8という数字に変数名割り当て
•pinMode(LED_OUTPUT, OUTPUT);
•Digitalの8Pinを出力に設定
•デフォルトでは入力となるため、モードの切り替え
•digitalWrite(LED_OUTPUT, HIGH);
•Digitalの8Pinから5Vを出力
•HIGH = ON
•digitalWrite(LED_OUTPUT, LOW);
•Digitalの8Pinから0Vを出力
•LOW = OFF
サンプルプログラム
41
Lチカ
★ Arduinoにプログラムを書き込みます
★ 左上の→ボタンを押下すると、Arduinoにプログラムの書き込み
が行われます
★ プログラムを書き込んだ後は、PCは電力供給用でしかなくなる
★ 電源さえあれば動作可能
(ただし、シリアル値を読み込む場合は別)
•
42
Lチカ
★Arduinoは電源が供給されるとプログラムが
自動的に動き出す
★前に書いた謎のプログラムが動いている可能性が
あるため、注意
★久しぶりに使うデバイスや人のを借りた場合は、
プログラムを書き込んでから配線しましょう
★5Vの接続をやめて、デジタルピン(今回は8ピン)から
電圧のON/OFF(5V/0V)を切り替えてみましょう
•
5
43
Lチカ
ブレッドボード ミニブレッドボード
44
Lチカ
回路図
45
Lチカ アナログ出力編
★ついたり消したりではなく、照明の明るさを
変えてみましょう
★5Vを全て流すのではなく、アナログ出力で流す電圧を
調整します
★Arduinoでは、デジタルピンの3,5,6,9,10,11が
アナログ出力(PWM)として使用可能
(チルダでPWMの対応が示されている)
★ PWM出力: HIGHとLOWを交互に繰り返すことで電圧を制御
★ 通常のデジタルピンでも、交互にHIGH/LOWを繰り返すことで電圧を
制御することも可能(先ほどのLチカのdelayの間隔を短くするとLED
の明るさ調整が可能) ※ただ、正確にやるのは難しい・・・
46
Lチカ アナログ出力編
•
#define LED_OUTPUT 3
int value = 0;
void setup() {
}
void loop() {
if(value > 255) {
value = 0;
}
analogWrite(LED_OUTPUT, value);
value += 50;
delay(1000);
}
•#define LED_OUTPUT 3
•変数の定義
•3という数字に変数名割り当て
•int value = 0;
•LEDに出力するアナログ値用の変数
•if(value > 255) {
•アナログ出力は255までなので、255を超えたら
0に戻る
•analogWrite(LED_OUTPUT, value);
•3ピンからアナログ出力
•valueの所を0から255の数字に変えてみてもOK
•value += 50;
•valueの値を50増加
サンプルプログラム
47
Lチカ アナログ出力編
デジタル3ピンに差し替えるだけ
ミニブレッドボード 回路図
48
Lチカ まとめ
★ここまでで配線をつなぎ、デジタル出力や
アナログ出力を行ってきました
★アナログ出力とGNDが理解出来れば、
カラーLEDなども容易に使いこなせます!
★3ピンのLEDや4ピン(RGB)のLED(GND+2or3)
★次はセンサー値を読み取る前に、
色々遊べるスイッチングをやってみます
★プルダウン抵抗はたまに嵌りますので
49
参考:フルカラーLED
★ GND以外のピンに電流を流すと
RGBに対応した色が発色する
★ 流す電流をアナログ出力にすると、RGBで(255,255,255)の
カラーコードを指定できる
★ 情報の視覚的なアウトプットとして有効
★ 赤:危険、エラー、青:正常 など
50
タクトスイッチ
★タクトスイッチは、通常は片側の
ピンのみ回路が繋がっていますが、
ボタンを押すことで全てのピンの
回路が繋がります
★ボタンを押すと、LEDがつく
タクトスイッチ版のLチカをやってみましょう
★ボタンが押されるとデジタルピンに
電圧がかかるような回路を作って行きます
•
51
タクトスイッチ
★どうやってつなげば良いか?
★なんとなくいけそうな回路
★回路が繋がれば5Vが入力されるはず
•ミニブレッドボード 回路図
52
タクトスイッチ
★回路が繋がっていないときが問題
★入力ピンが何も繋がっていない(=オープン)
状態では、電圧は安定しません
★ノイズ的なものとか・・・
★繋がっていない場合の電圧が安定するよう、
入力ピンをGNDに繋げる必要があります
★入力ピンとGNDの間に抵抗を入れておけば、
電流は流れやすい方に流れるので、
回路が繋がったときに入力ピンに5V流れます
•
53
タクトスイッチ
★いけてる回路
★ちなみに、プルダウン抵抗と呼びます
★同じ目的でプルアップ抵抗もありますが、今回は割愛
•ミニブレッドボード 回路図
54
タクトスイッチ
★ここまで理解出来たら終わったも
同然
★ボタンを押したときにLEDを
光らせてみましょう
★ ちなみに、Arduinoでは内部にプルアップ抵抗を持っていますが、これまた割愛
•
55
タクトスイッチ
•
void setup() {
pinMode(8, INPUT);
pinMode(3, OUTPUT);
}
void loop() {
digitalWrite(3, digitalRead(8));
//same as...
//if(digitalRead(8) == HIGH) {
// digitalWrite(3, HIGH);
//} else {
// digitalWrite(3, LOW);
//}
delay(10);
}
•pinMode(8, INPUT);
•8ピンを入力用にモード切り替え
•pinMode(3, OUTPUT);
•3ピンを出力用にモード切り替え
•digitalWrite(3, digitalRead(8));
•8ピンがHIGHの場合、3ピンをHIGHに
•8ピンがLOWの場合、3ピンもLOWに
サンプルプログラム
56
タクトスイッチ
一見複雑そうに見えるけど、単純な回路
ミニブレッドボード 回路図
57
タクトスイッチ まとめ
★電圧は安定させるに限るという
話でした
★人の行動をトリガーとした
インタラクションがあると
色々遊べそうですね
★そろそろ次はセンサー値を扱っていきます
•
58
照度センサー(フォトレジスタ)
★センサーは照度センサーの
CdSセルを使用します
★CdSセルは上面に照射される
光の強さに応じて抵抗値が変化します
★ 暗いと抵抗が高くなり、明るいと抵抗が低い
★ 抵抗値の変化を読み取ることで、光の強さを識別
★センサー値はアナログ値として読み取ります
★ ON/OFFのようなものではなく、値に意味があるため
★センサー値をシリアル出力で確認していきます
59
照度センサー(フォトレジスタ)
•
#define CDS_INPUT 0
void setup() {
Serial.begin(9600);
}
void loop() {
int value = analogRead(CDS_INPUT);
Serial.println(value);
delay(1000);
}
•Serial.begin(9600)
•シリアル通信用の設定
•9600: bitの送信レート(BaudRate)
•int value = analogRead(CDS_INPUT);
•アナログの0ピンからアナログ値を読み込み
•Serial.println(value);
•センサー値をシリアル出力(改行含む)
サンプルプログラム
60
照度センサー(フォトレジスタ)
ブレッドボード ミニブレッドボード
61
CdSセルの向きは気にしないでOK
照度センサー(フォトレジスタ)
回路図
ちなみに、5Vと入力ピンの間に
CdSセルを挟むだけでいけそうな
気がしますが、それだけでは
抵抗値が大きすぎて電圧が
取れません。。。
この辺りは抵抗分割の法則による
分圧回路を利用しています
http://ja.wikipedia.org/wiki/%E5%88%86%E5%9C
%A7%E5%9B%9E%E8%B7%AF
GND側に抵抗を設けて、入力ピンに
分圧した電圧が流れるように
大きめの抵抗を入れときます
62
照度センサー(フォトレジスタ)
Arduinoから出力したシリアル値は、USBを
経由してArduinoIDEのシリアルモニタで
確認出来ます
 「ツール」 > 「シリアルモニタ」
63
照度センサー(フォトレジスタ)
シリアルモニタでは、Arduinoからの出力を
確認する他に、Arduinoへシリアル入力を
行うことも出来ます
シリアルモニタの右下の
baudの値はArduinoと
合わせます
64
照度センサー まとめ
★センサー値が取れましたか?
★CdSセルはレイヤーが低い部品のため、
分圧とか若干めんどくさい話が出て来ましたが。。
★最近のセンサーは3ピンのものが増えてきたので、
接続するだけでセンサー値が取れるように
なってきました
★VDDピン, GNDピン, DATAピン(センサー値出力)
★5VとGNDとアナログピンにつなぐだけ
★他のセンサーつないだり、照度センサーの値によって
LEDを変化させるような回路を作ってみてください
•
65
★Arduinoでは、Arduinoにかぶせて使う
シールドというものもあります
★回路を組まなくてもつなぐだけで使えるので、
とっても便利
★今日もサンプルでいくつか持って来てます
★ XBeeシールド
★ Xbee用(後述)
★ イーサネットシールド
★ 有線LAN接続用
★ Groveシールド
★ これとっても便利、Grove製のセンサーつけ放題
★ プロトタイプシールド
★ Arduinoにハンダ付け
66
Arduino シールド
プログラムで
読み込んでみよー
67
電子工作入門
とりあえず
やってみよう
プログラムで
読み込もう
クラウドに
蓄積しよう
リモート通信 自由時間
★シリアル出力でセンサー値を
確認することは出来たけど、
Arduinoにだけ値があっても
しょうがない・・・
★せっかくセンサー値が取れるなら
利用したい
★どこかに蓄積したり・・・
★センサー値を分析したり・・・
★閾値を設けたり・・・
センサー値とれたけど・・・
68
★Arduinoとシリアル通信する
プログラムを書いて、センサー値を
取り扱えるようにしよう
まずは・・・
69
★今回はNode.jsを使って、Arduinoから
センサー値を読み込みます
★シリアル通信が簡単に出来れば何でも
良いのですが・・・
★Node.jsにしたのは、比較的環境構築が
しやすいのと、使えるライブラリが多い、
という点もあり・・・
★Node.jsからArduinoを操作することも
可能になってきたので・・・
何を使おう?
70
★まず作業用のディレクトリを適当に作
成します
★例)
★Windows: c:/iot
★Mac: /User/xxx/iot
★Node.jsを操作する際には、黒い窓を
触ります
★Windows: コマンドプロンプト
★Mac: ターミナル
Node.jsでシリアル通信
71
★必要なライブラリのインストール
★Node.jsでシリアル通信するために
「serialport」をインストールします
★コマンドプロント(or ターミナル)で
作業ディレクトリに移動し、npmコマンドを
実行します
•
Node.jsでシリアル通信
> cd 作業ディレクトリ
> npm install serialport Windowsでエラーが発生した場合、
エラーメッセージに記載されている
npmフォルダを作成してから再実行
してみてください
72
Node.jsでシリアル通信
•
var serialport = require('serialport');
var portName = 'COMXX'; //Windows
// Mac: /dev/tty.usbmodemXXXX
var sp = new serialport.SerialPort(portName, {
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("rn")
});
sp.on('data', function(input) {
console.log(input);
});
•テキストエディタ(メモ帳など)でプログラム
を作業ディレクトリに保存
•とりあえずファイル名は「step1.js」
•portNameのところは、環境に合わせて
書き換える
•Arduinoが接続しているポート
•ArduinoIDEのシリアルポートと同じ値
•改行コードもたまに違うかも。。
•駄目な場合、nに修正
サンプルプログラム
73
★Node.jsのプログラムを実行します
★コマンドプロント(or ターミナル)で
作業ディレクトリにいる状態で、
下記コマンドを実行します
• ※シリアルモニタを閉じてから実行してください
• シリアルポートが使われているとエラーになります
Node.jsでシリアル通信
> node step1.js
74
★簡単な手順でシリアル通信を
行うプログラムを作成しました
★プログラムでセンサー値を
読み込んだ後、何をするかは
あなた次第!
まとめ
75
クラウドサービスに
蓄積してみよー
76
電子工作入門
とりあえず
やってみよう
プログラムで
読み込もう
クラウドに
蓄積しよう
リモート通信 自由時間
★センサーデータをクラウド上で永続化
★ センサーデータは膨大な量になるため、クラウドサービスを
利用して蓄積する
★ クラウド上に蓄積しておくと、後で分析するときにも楽
★ センサーデータ以外のデータとも組み合わせたり
★クラウドサービスも豊富に
★ センサーデータやストリーム通信を目的とした
クラウドサービスの増加
★センサーデータはストリーム通信が必須
★ センサーデータは毎秒発生するため、
いちいちコネクションはれない
クラウドへの蓄積(再掲)
77
★ Plot.ly(https://plot.ly/)
★ Web上でデータの可視化(グラフ描画など)を行えるサービス
★ Streaming APIが用意されているため、
センサーデータをストリームでサーバ上にアップ出来る
★ Streaming APIでは、Web上でリアルタイムに
グラフ描画が行われるので、センサーデータを
単純にグラフ化したい場合はこれで充分かも
★ 永続性は無いので注意
★ Rなどでデータを取り出すことも可能
★ 無料なので、とりあえず使ってみましょ
今回使うのは・・・
78
https://plot.ly/streaming/
79
★まずはPlot.lyでアカウント作成します
★アカウントの作成に抵抗がある場合は、
用意したアカウントを使用していただきます
Plotly
80
★アカウントを作成し、ログイン後の右上の
ユーザ名のメニューから、「Subscription」を
選択するとAPI Keyなどが表示されます
Plotly
81
★Streaming APIを使用す
る場合はTokenの発行も
行います
★ここで表示される内容を
後のプログラムで
書き換えて使用します
★必要なライブラリのインストール
★Node.jsでPlotlyと通信するために「plotly」を
インストールします
★コマンドプロント(or ターミナル)で作業ディレ
クトリに移動し、npmコマンドを実行します
•
> cd 作業ディレクトリ
> npm install plotly
82
Plotly
•
var serialport = require('serialport')
, plotly = require('plotly')('Username','API Key')
, token = 'Streaming API Your token';
var portName = '/dev/tty.usbmodemfd121';
var sp = new serialport.SerialPort(portName, {
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("rn")
});
// helper function to get a nicely formatted date string
function getDateString() {
var time = new Date().getTime();
// 32400000 is (GMT+9 Japan)
// for your timezone just multiply +/-GMT by 36000000
var datestr = new Date(time +
32400000).toISOString().replace(/T/, ' ').replace(/Z/, '');
return datestr;
}
サンプルプログラム
var initdata = [{x:[], y:[], stream:{token:token, maxpoints:
500}}];
var initlayout = {fileopt : "extend", filename : "sensor-test"};
plotly.plot(initdata, initlayout, function (err, msg) {
if (err) return console.log(err)
console.log(msg);
var stream = plotly.stream(token, function (err, res) {
console.log(err, res);
});
sp.on('data', function(input) {
if(isNaN(input) ¦¦ input > 1023) return;
var streamObject = JSON.stringify({ x : getDateString(),
y : input });
console.log(streamObject);
stream.write(streamObject+'n');
});
});
1/2
2/2
※一つのファイルです
83
Plotly
★前スライドのプログラムを
作業ディレクトリに保存「step2.js」
★ UsernameやAPI Key, Tokenは自分のアカウントの情報を・・・
★ あとportNameは前回同様に・・・
★コマンドプロント(or ターミナル)で
作業ディレクトリにいる状態で、
下記コマンドを実行します
•
> node step2.js
84
Plotly
•
Macintosh:iot sugawi$ node step2.js
{ streamstatus: 'All Streams Go!',
url: 'https://plot.ly/ sugai/33',
message: '',
warning: '',
filename: 'sensor-test',
error: '' }
{"x":"2015-01-23 22:52:01.385","y":"49"}
{"x":"2015-01-23 22:52:02.384","y":"31"}
{"x":"2015-01-23 22:52:03.383","y":"33"}
{"x":"2015-01-23 22:52:04.386","y":"35"}
{"x":"2015-01-23 22:52:05.385","y":"34"}
{"x":"2015-01-23 22:52:06.384","y":"32"}
:(省略)
サンプルプログラム 実行イメージ
PlotlyのサイトからWorkspace
(https://plot.ly/plot)を確認するか、
実行結果に出力されるurl先
を見ると、リアルタイムに変化
する様子が確認出来ます
実行結果のurlは他人と共有
することも出来ます
85
Plotly
★センサーデータがWeb上にリアルタイムに
可視化出来るようになりました
★外出先から家の温度などを
モニタリングすることが出来ます
★蓄積したデータはプログラムで
読み出すことも出来るので、
Rなどで分析してみましょう
★色々構想が膨らみそうですね
まとめ
86
リモートでセンサー値を
取得してみよー
87
電子工作入門
とりあえず
やってみよう
プログラムで
読み込もう
クラウドに
蓄積しよう
リモートで
取得しよう
自由時間
おわび
88
部品が一つしかないので、
全員は試せないかと思います。。。
予めご了承ください。。。
89
★USB経由でセンサーデータを取得していたけど、
PCが無いと計測できないなんて、
そんなのセンサーじゃない
★センサーネットワーク
★ センサーデータを近距離の無線通信で収集する
★ ワイヤレスにすることで、センサーの設置場所の制約を軽
減出来る
★ なるべく省電力なものを採用
★ 電力は貴重なリソースなので、通信部にあまり費やしたく
ない
★ 近距離無線通信
★ BLE, Zigbee, MQTT
センサーデータの収集(再掲)
90
★Xbeeモジュール (Zigbee規格)
★省電力(データ量も少量)
★スケーラブルなネットワーク構成
★スター型、メッシュ型、ツリー型
★多くの機器がネットワークに参加可能
★通信するモジュールの情報を予め書き込んで
おくことで、該当するモジュールへ情報の送信を行う
★デバイスタイプ:
★coodinator: 親機
★router: 子機
今回使うのは・・・
91
★Xbeeのセットアップでは、X-CTUという
アプリケーションから設定します
http://www.digi.com/support/productdetail?pid=3352
★ USBでXbeeモジュールを接続し、セットアップする
★今回は予めモジュール設定済みのものを使用
★ PCにUSB接続するモジュール側の設定
★ Coodinator AT/透過モード
★ Arduinoモジュール側
★ Router AT/透過モード
•
Xbee
92
★ArduinoはXbeeのシールドを
かぶせる形で接続
★PCはUSBでXbeeモジュールと接続
★デバイスドライバはArduinoIDEに含まれています
★Windowsの場合、自動認識ではインストール
されないので、個別にドライバの設定
★そして何故か2回やらないと認識しない。。。。
★AT/透過モードに設定しているため、シリアル通信が
そのままリモート通信となる
★特別なプログラムを記述する必要がない
Xbee
93
★リモート通信や近距離無線と
難しそうな単語が出て来ましたが、
予想以上に簡単にリモート化を
体感出来たかと思います
★シリアル通信を透過的に行っているた
め、USBで動作確認したものをプログラム
そのままでリモート化できます
★これまた色々構想が膨らみそうですね
まとめ
94
番外編
95
★センサーデータをリアルタイムに分析したい
★閾値を超えたら何かしたり・・・
★より本格的な利用
★AWS Kinesis(http://aws.amazon.com/jp/kinesis/)
★AWS上のリアルタイムデータ処理サービス
★データの受け付けとデータを処理するための
ストリームがAWS上で提供されている
★あくまでストリーム基盤の提供であり、ストリームの
受け付け先のサービスは自分で実装する
•
リアルタイムに処理がしたい
96
https://www.gosquared.com/blog/kinesis-demo-aws-reinvent-2013
97
★Node.jsからAWSのKinesisを利用する
サンプル
★AWSの課金が発生するので、気をつけ
て使用してください
★1ヶ月ストリーム使うと・・・
★ $0.0195 per provisioned shard-hour 744 ShardHour $14.51
★ ※一ヶ月使用した実際の請求金額
•
Kinesisのサンプル
98
★必要なライブラリのインストール
★Node.jsでAWSのサービスを利用するために
「aws-sdk」をインストールします
★コマンドプロント(or ターミナル)で作業ディレ
クトリに移動し、npmコマンドを実行します
•
Kinesisのサンプル
> cd 作業ディレクトリ
> npm install aws-sdk
99
Kinesisのサンプル
•
{ "accessKeyId": "XXXXXX",
"secretAccessKey": "XXXXXX",
"region": "ap-northeast-1" }
config.jsonを用意
※自分の環境に合わせて、AWSのアカウント情報を設定
100
•
var serialport = require('serialport')
, AWS = require('aws-sdk');
var portName = 'XXXXXX';
var sp = new serialport.SerialPort(portName, {
baudRate: 9600,
databits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: serialport.parsers.readline("rn")
});
// data from Serial port
var lastData = 0;
sp.on('data', function(input) {
console.log(input);
lastData = input;
});
// helper function to get a nicely formatted date string
function getDateString() {
var time = new Date().getTime();
// 32400000 is (GMT+9 Japan)
// for your timezone just multiply +/-GMT by 36000000
var datestr = new Date(time + 32400000).toISOString().replace(/
T/, ' ').replace(/Z/, '');
return datestr;
}
サンプルプログラム
AWS.config.loadFromPath('./config.json');
var kinesis = new AWS.Kinesis();
var kinesisloop = setInterval(function () {
if(lastData == 0) {
return;
}
var dt = new Date();
var params = {
Data: new Buffer(JSON.stringify({ x : getDateString(), y :
lastData })).toString('base64'),
PartitionKey: 'test_key',
StreamName: 'sensor-test'
};
kinesis.putRecord(params, function(err, data) {
if(err) console.log(err, err.stack);
else console.log(data);
});
}, 5000);
1/2
2/2
※一つのファイルです
101
Kinesisのサンプル (書き込み)
•
var AWS = require('aws-sdk')
, base64_decode = require('base64').decode;
AWS.config.loadFromPath('./config.json');
var kinesis = new AWS.Kinesis();
var describeParams = {
StreamName: 'sensor-test',
Limit: 1000
};
kinesis.describeStream(describeParams, function(err, data) {
if(err) console.log(err, err.stack);
else console.log(data);
var shardParams = {
ShardId: data.StreamDescription.Shards[0].ShardId,
ShardIteratorType: 'LATEST',
StreamName: data.StreamDescription.StreamName
};
var getRecords = function(shardIterator) {
var getParams = {
ShardIterator: shardIterator,
Limit: 1000
};
サンプルプログラム
kinesis.getRecords(getParams, function(err, data) {
if (err) return console.log(err, err.stack); // an error occurred
console.log(data);
if (data['Records'].length > 0) {
for (var i in data['Records']) {
var js = JSON.parse(base64_decode(new
Buffer(data['Records'][i]['Data'] ¦¦ '', 'base64').toString('utf8')));
console.log(js.y);
}
}
getRecords(data['NextShardIterator']);
});
};
kinesis.getShardIterator(shardParams, function(err, data) {
if(err) console.log(err, err.stack);
else console.log(data);
getRecords(data.ShardIterator);
});
1/2
2/2
※一つのファイルです
102
Kinesisのサンプル (読み込み)
★Node.jsから直接Arduinoを操作することも可
能
★ブラウザからの操作も可能に
★Web of Things??
★johnny-five
http://www.instructables.com/id/
Javascript-robotics-and-browser-based-
Arduino-cont/?ALLSTEPS
★ここまで資料作成が手がまわらず。。。
Node.jsからArduinoを操作
103
104
好きなセンサーや、LEDなどを
組み合わせて何か作って
みてください
最後に出来た作品を
是非発表してください
電子工作入門
とりあえず
やってみよう
プログラムで
読み込もう
クラウドに
蓄積しよう
リモートで
取得しよう
自由時間
☆★自由時間☆★
•Let’s have Fun!! :)
•
105
•fin...Zzz...zzz...
106

More Related Content

Viewers also liked

IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」Yasuyuki Sugai
 
IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会dsuke Takaoka
 
AWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoTAWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoTAmazon Web Services Japan
 
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築Amazon Web Services Japan
 
クラウド―Arduino接続について
クラウド―Arduino接続についてクラウド―Arduino接続について
クラウド―Arduino接続についてKenichi Yoshida
 
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」Satoshi Maemoto
 
Iotデモ健康アプリ
Iotデモ健康アプリIotデモ健康アプリ
Iotデモ健康アプリAkihiro Iwaya
 
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトークハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトークhecomi
 
5分で分かった気になるIoT
5分で分かった気になるIoT5分で分かった気になるIoT
5分で分かった気になるIoTKimihiko Kitase
 
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~法林浩之
 
Io t工場機器監視デモ
Io t工場機器監視デモIo t工場機器監視デモ
Io t工場機器監視デモAkihiro Iwaya
 
Aws io tとintel eisonを用いたワイガヤ可視化システム
Aws io tとintel eisonを用いたワイガヤ可視化システムAws io tとintel eisonを用いたワイガヤ可視化システム
Aws io tとintel eisonを用いたワイガヤ可視化システムServerworks Co.,Ltd.
 
ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森亮介 山口
 
さくらのIo tプラットフォーム
さくらのIo tプラットフォームさくらのIo tプラットフォーム
さくらのIo tプラットフォーム亮介 山口
 
Node redでソーシャルデータ分析
Node redでソーシャルデータ分析Node redでソーシャルデータ分析
Node redでソーシャルデータ分析Atsushi Kojo
 
IoTをどうとらえ、どう行動するか
IoTをどうとらえ、どう行動するかIoTをどうとらえ、どう行動するか
IoTをどうとらえ、どう行動するかShuji Honjo
 
Ibm bluemix を使ってモバイルのセンサーデータを利用する
Ibm bluemix を使ってモバイルのセンサーデータを利用するIbm bluemix を使ってモバイルのセンサーデータを利用する
Ibm bluemix を使ってモバイルのセンサーデータを利用するMasaya Fujita
 

Viewers also liked (20)

IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
 
IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会
 
AWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoTAWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoT
 
AWS IoTアーキテクチャパターン
AWS IoTアーキテクチャパターンAWS IoTアーキテクチャパターン
AWS IoTアーキテクチャパターン
 
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
 
Node js 入門
Node js 入門Node js 入門
Node js 入門
 
クラウド―Arduino接続について
クラウド―Arduino接続についてクラウド―Arduino接続について
クラウド―Arduino接続について
 
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」MakersHubMeetup! 「大阪のIoTスタートアップと東京のセンサー好き飲み会が手を組んでみた!」
MakersHubMeetup! 「大阪のIoTスタートアップと 東京のセンサー好き飲み会が 手を組んでみた!」
 
Iotデモ健康アプリ
Iotデモ健康アプリIotデモ健康アプリ
Iotデモ健康アプリ
 
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトークハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
 
5分で分かった気になるIoT
5分で分かった気になるIoT5分で分かった気になるIoT
5分で分かった気になるIoT
 
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
 
Io t工場機器監視デモ
Io t工場機器監視デモIo t工場機器監視デモ
Io t工場機器監視デモ
 
Aws io tとintel eisonを用いたワイガヤ可視化システム
Aws io tとintel eisonを用いたワイガヤ可視化システムAws io tとintel eisonを用いたワイガヤ可視化システム
Aws io tとintel eisonを用いたワイガヤ可視化システム
 
ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森
 
さくらのIoT Platform α technical_details
さくらのIoT Platform α technical_detailsさくらのIoT Platform α technical_details
さくらのIoT Platform α technical_details
 
さくらのIo tプラットフォーム
さくらのIo tプラットフォームさくらのIo tプラットフォーム
さくらのIo tプラットフォーム
 
Node redでソーシャルデータ分析
Node redでソーシャルデータ分析Node redでソーシャルデータ分析
Node redでソーシャルデータ分析
 
IoTをどうとらえ、どう行動するか
IoTをどうとらえ、どう行動するかIoTをどうとらえ、どう行動するか
IoTをどうとらえ、どう行動するか
 
Ibm bluemix を使ってモバイルのセンサーデータを利用する
Ibm bluemix を使ってモバイルのセンサーデータを利用するIbm bluemix を使ってモバイルのセンサーデータを利用する
Ibm bluemix を使ってモバイルのセンサーデータを利用する
 

Similar to IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」

第2回 某社Arduino勉強会 ハンズオン
第2回 某社Arduino勉強会 ハンズオン第2回 某社Arduino勉強会 ハンズオン
第2回 某社Arduino勉強会 ハンズオンYusuke HIDESHIMA
 
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」aitc_jp
 
SFC デザイン言語WS(電子工作)第4回「センサーを使う」
SFC デザイン言語WS(電子工作)第4回「センサーを使う」SFC デザイン言語WS(電子工作)第4回「センサーを使う」
SFC デザイン言語WS(電子工作)第4回「センサーを使う」Makoto Hirahara
 
Osc hokkaido2015 arduinoで温度を測るところまで
Osc hokkaido2015 arduinoで温度を測るところまでOsc hokkaido2015 arduinoで温度を測るところまで
Osc hokkaido2015 arduinoで温度を測るところまでrarere
 
【入門】Arduino勉強会
【入門】Arduino勉強会【入門】Arduino勉強会
【入門】Arduino勉強会Masashi_Brilliant
 
12.06.16 日本橋勉強会資料 公開用
12.06.16 日本橋勉強会資料 公開用12.06.16 日本橋勉強会資料 公開用
12.06.16 日本橋勉強会資料 公開用Miwa Iwatsuki
 
IOT Algyan and Technologist
IOT Algyan and Technologist  IOT Algyan and Technologist
IOT Algyan and Technologist Atomu Hidaka
 
スクー Twe lite提出版
スクー Twe lite提出版スクー Twe lite提出版
スクー Twe lite提出版schoowebcampus
 
Start physical computing with Ruby + Arduino
Start physical computing with Ruby + ArduinoStart physical computing with Ruby + Arduino
Start physical computing with Ruby + Arduinotoyoshi
 
AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験
AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験
AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験TomohisaYamazoe
 

Similar to IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」 (16)

Netduino
NetduinoNetduino
Netduino
 
Arduino001
Arduino001Arduino001
Arduino001
 
第2回 某社Arduino勉強会 ハンズオン
第2回 某社Arduino勉強会 ハンズオン第2回 某社Arduino勉強会 ハンズオン
第2回 某社Arduino勉強会 ハンズオン
 
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
 
SFC デザイン言語WS(電子工作)第4回「センサーを使う」
SFC デザイン言語WS(電子工作)第4回「センサーを使う」SFC デザイン言語WS(電子工作)第4回「センサーを使う」
SFC デザイン言語WS(電子工作)第4回「センサーを使う」
 
Osc hokkaido2015 arduinoで温度を測るところまで
Osc hokkaido2015 arduinoで温度を測るところまでOsc hokkaido2015 arduinoで温度を測るところまで
Osc hokkaido2015 arduinoで温度を測るところまで
 
【入門】Arduino勉強会
【入門】Arduino勉強会【入門】Arduino勉強会
【入門】Arduino勉強会
 
Arduino
ArduinoArduino
Arduino
 
12.06.16 日本橋勉強会資料 公開用
12.06.16 日本橋勉強会資料 公開用12.06.16 日本橋勉強会資料 公開用
12.06.16 日本橋勉強会資料 公開用
 
IOT Algyan and Technologist
IOT Algyan and Technologist  IOT Algyan and Technologist
IOT Algyan and Technologist
 
スクー Twe lite提出版
スクー Twe lite提出版スクー Twe lite提出版
スクー Twe lite提出版
 
Japanino Workshop #3
Japanino Workshop #3Japanino Workshop #3
Japanino Workshop #3
 
Start physical computing with Ruby + Arduino
Start physical computing with Ruby + ArduinoStart physical computing with Ruby + Arduino
Start physical computing with Ruby + Arduino
 
Japanino Workshop #2
Japanino Workshop #2Japanino Workshop #2
Japanino Workshop #2
 
AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験
AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験
AWS GreengrassによるLチカとAIスピーカーによるBAS制御の実証実験
 
Slides AXIS WS2
Slides AXIS WS2Slides AXIS WS2
Slides AXIS WS2
 

More from Yasuyuki Sugai

業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -Yasuyuki Sugai
 
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -Yasuyuki Sugai
 
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-Yasuyuki Sugai
 
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-Yasuyuki Sugai
 
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」Yasuyuki Sugai
 
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」Yasuyuki Sugai
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Yasuyuki Sugai
 
IoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみるIoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみるYasuyuki Sugai
 
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」Yasuyuki Sugai
 
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」Yasuyuki Sugai
 
AITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからAITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからYasuyuki Sugai
 
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜Yasuyuki Sugai
 
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-Yasuyuki Sugai
 
Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会Yasuyuki Sugai
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現Yasuyuki Sugai
 
Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2Yasuyuki Sugai
 
Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Yasuyuki Sugai
 
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜Yasuyuki Sugai
 
RとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようRとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようYasuyuki Sugai
 

More from Yasuyuki Sugai (19)

業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -
 
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
 
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
 
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
 
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
 
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
 
IoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみるIoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみる
 
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」
 
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
 
AITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからAITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれから
 
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
 
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
 
Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
 
Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2
 
Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編
 
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
 
RとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようRとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しよう
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (10)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」