10. (C) Copyright 1996-2016 SAKURA Internet Inc.
今回のワークショップでご提供するもの
Arduino Uno
Rev3
9
ブレッドボード
ジャンパーコード 人感センサ 照度センサ温湿度センサ 各種抵抗
※必要に応じてご提供
さくらのIoT通信モジュール
+Arduino用シールドキット
給電用USB2.0
ケーブル(A-B)
マイコンの準備
棒アンテナ
11. (C) Copyright 1996-2016 SAKURA Internet Inc.
Arduino Softwareのダウンロード
10
https://www.arduino.cc/en/Main/Software
マイコンの準備
12. (C) Copyright 1996-2016 SAKURA Internet Inc.
Arduino Softwareのダウンロード
11
【JUST DOWNLOAD】にてダウンロード
マイコンの準備
13. (C) Copyright 1996-2016 SAKURA Internet Inc.
Arduino Softwareのセットアップ
12
インストールは全てデフォルト推奨、ドライバーについても全てインストール
マイコンの準備
14. (C) Copyright 1996-2016 SAKURA Internet Inc.
Arduino Softwareのセットアップ
13
Arduino Softwareが起動したら、Arduino本体をPCに接続します。
その後ボードは【Arduino/Genuino Uno】、シリアルポートは
出てきたCOMポートを選択します。
マイコンの準備
15. (C) Copyright 1996-2016 SAKURA Internet Inc.
マイコン(Arduino)の準備
14
[ファイル]→[新規ファイル]→【→】ボタンクリックで内容がクリアされますので、
該当箇所のLEDが点灯状態になることを確認します
マイコンの準備
16. (C) Copyright 1996-2016 SAKURA Internet Inc.
マイコン(Arduino)の準備
15
[ファイル]→[スケッチの例]→[01.Basics]→[Blink]→【→】ボタンクリックで
該当箇所のLEDが点滅状態になることを確認します
マイコンの準備
17. (C) Copyright 1996-2016 SAKURA Internet Inc.
温湿度センサ HDC1000 ライブラリ
16
#include "HDC1000.h"
HDC1000 hdc1000;
void setup() {
Serial.begin(9600);
// hdc1000.setRdyPin(PIN_NO); // use Rdy Pin
hdc1000.begin();
}
void loop() {
float temp = hdc1000.getTemperature();
if (temp == HDC1000_ERROR_CODE) {
hdc1000.begin(); // retry once
temp = hdc1000.getTemperature();
}
Serial.print("Temperature: ");
Serial.println(temp);
float humi = hdc1000.getHumidity();
if (humi== HDC1000_ERROR_CODE) {
hdc1000.begin(); // retry once
humi = hdc1000.getTemperature();
}
Serial.print("Humidity: ");
Serial.println(humi);
delay(1000);
}
Googleにて「github hdc1000」を検索し、ライブラリを入手します。
https://github.com/hotchpotch/Arduino-HDC1000
温湿度センサの
繋ぎ込み
起動時の処理
ループ処理
温度取得
湿度取得
エラー時の対応
シリアルモニタ表示
エラー時の対応
シリアルモニタ表示
Copyright (c) 2015 Yuichi Tateno
Released under the MIT license
https://github.com/hotchpotch/Arduino-HDC1000/blob/master/LICENSE.txt
18. (C) Copyright 1996-2016 SAKURA Internet Inc.
ライブラリ の入手
17
入手したフォルダごと以下へ格納します。インストール先を変更した場合は
別フォルダとなっている場合があります。配置をしたらArduino Softwareを
再起動します。
Windows C:¥Users¥《ユーザ名》¥Documents¥Arduino¥libraries
Mac 書類¥Arduino¥libraries
温湿度センサの
繋ぎ込み
34. (C) Copyright 1996-2016 SAKURA Internet Inc.
温湿度センサの動作確認 #再確認
さくらのIoT通信モ
ジュールの繋ぎ込み
[ファイル]→[スケッチの例]→[HDC1000]→[hdc1000]→【→】ボタンをクリック
[ツール]→[シリアルモニタ]よりTemperature&Humidity情報が取得されることを
確認します。
34
35. (C) Copyright 1996-2016 SAKURA Internet Inc.
さくらのIoT通信モジュール ライブラリ
#include <SakuraAlpha.h>
#define BUF_LEN 16
uint32_t cnt = 0;
SakuraAlphaI2C sakura;
void setup() {
Serial.begin(9600); // start serial for output
Serial.println("Waiting to come online...");
for(;;){
if( sakura.getNetworkStatus() == 1 ) break;
delay(1000);
}
}
uint8_t updated[BUF_LEN];
void loop() {
cnt++;
Serial.println(cnt);
sakura.writeChannel(0,cnt);
sakura.writeChannel(1,cnt);
sakura.writeChannel(2,cnt);
delay(250);
int num_updated = sakura.getUpdatedChannels(updated,
BUF_LEN);
Serial.print(num_updated);
Serial.print(" updated channels: ");
for (int i = 0; i < min(num_updated,BUF_LEN); i++) {
Serial.print(' ');
Serial.print((int)updated[i]);
}
Serial.println("");
char type=0;
byte value[8]={0};
sakura.readChannel(0, &type, value);
for (int i = 0; i < 8; i++) {
Serial.print(' ');
Serial.print(value[i],HEX);
}
Serial.print(" type:");
Serial.print(type);
Serial.println("");
delay(250);
Serial.print("Tx[0] status: ");
Serial.print( sakura.getTxChannelStatus(0) );
Serial.println("");
Googleにて「github sakura arduino」を検索し、ライブラリを入手します。
https://github.com/sakura-internet/SakuraAlphaArduino
通信モジュールへの
センサデータ受け渡し
通信状態取得
起動時の処理
ループ処理
35
36. (C) Copyright 1996-2016 SAKURA Internet Inc.
さくらのIoT通信モジュール ライブラリ
sakura.transmit(TRANSMIT_ONCE);
delay(250);
num_updated = sakura.getUntransmittedChannels(updated,
BUF_LEN);
Serial.print(num_updated);
Serial.print(" untransmitted channels: ");
for (int i = 0; i < min(num_updated,BUF_LEN); i++) {
Serial.print(' ');
Serial.print((int)updated[i]);
}
Serial.println("");
delay(1000);
Serial.println("");
}
通信モジュールへの
センサデータ受け渡
し
データ送信
Googleにて「github sakura arduino」を検索し、ライブラリを入手します。
https://github.com/sakura-internet/SakuraAlphaArduino
36
37. (C) Copyright 1996-2016 SAKURA Internet Inc.
ライブラリの入手
入手したフォルダごと以下へ格納します。インストール先を変更した場合は
別フォルダとなっている場合があります。配置をしたらArduino Softwareを
再起動します。
Windows C:¥Users¥《ユーザ名》¥Documents¥Arduino¥libraries
Mac 書類¥Arduino¥libraries
通信モジュールへの
センサデータ受け渡
し
37
38. (C) Copyright 1996-2016 SAKURA Internet Inc.
温湿度センサ ライブラリ 流用部分
#include "HDC1000.h"
HDC1000 hdc1000;
void setup() {
Serial.begin(9600);
// hdc1000.setRdyPin(PIN_NO); // use Rdy Pin
hdc1000.begin();
}
void loop() {
float temp = hdc1000.getTemperature();
if (temp == HDC1000_ERROR_CODE) {
hdc1000.begin(); // retry once
temp = hdc1000.getTemperature();
}
Serial.print("Temperature: ");
Serial.println(temp);
float humi = hdc1000.getHumidity();
if (humi== HDC1000_ERROR_CODE) {
hdc1000.begin(); // retry once
humi = hdc1000.getHumidity();
}
Serial.print("Humidity: ");
Serial.println(humi);
delay(1000);
}
①
②
③
該当ライブラリから赤字部分を弊社用ライブラリに流用します
通信モジュールへの
センサデータ受け渡
し
38
Copyright (c) 2015 Yuichi Tateno
Released under the MIT license
https://github.com/hotchpotch/Arduino-HDC1000/blob/master/LICENSE.txt