Arduinoシールド スタートガイド

ここでは、Arduino と sakura.io 通信モジュールを組み合わせて、データをプラットフォームに送信するためのチュートリアルを行います。

対象読者

本ドキュメントは、以下の方に向けて作成されています。

  • sakura.ioを利用し、最小限の機器で動作を確認したい方

用意するもの

コントロールパネルへのログイン

sakura.io コントロールパネルから、 プロジェクト の作成、 通信モジュール の登録、 連携サービス の設定を行います。

会員IDの取得

さくらインターネットのサービスで使用する「会員ID」が必要です。 さくらインターネットの会員IDをお持ちでない場合は、 マニュアル>会員登録 を参考に、会員IDを取得してください。

sakura.io コントロールパネル

会員登録が完了したら、 sakura.io コントロールパネル を開き、コントロールパネルにログインします。

初めてコントロールパネルにログインした場合、各種約款への同意を求められます。

内容をご確認いただいたうえで、 ✓同意する をクリックするとコントロールパネルにアクセスできます。

約款同意

コントロールパネルにアクセスすると、プロジェクトの一覧が表示されます。 初回ログイン時には デフォルトプロジェクト という名前のプロジェクトが自動で作成されます。

プロジェクト一覧

このプロジェクトを使って進めることも可能ですが、この手順では新たにプロジェクトを作成し、そちらを使用することにします。

プロジェクト作成

プロジェクト一覧画面を開いたら、右上にある +プロジェクト追加 をクリックします。

プロジェクト追加ボタン

新規プロジェクトの作成画面に遷移するので、 名称 欄に任意の名前を入力し、 追加 をクリックします。

プロジェクト作成画面

プロジェクトが作成されると自動的にプロジェクト一覧画面に戻ります。名称欄に入力した名前でプロジェクトが作成されていることを確認できます。

プロジェクト作成完了

通信モジュール登録

次にモジュールの登録を行います。作成したプロジェクトの右上に表示されている 詳細 ボタンをクリックし、プロジェクトの詳細を表示します。

プロジェクトの詳細表示

モジュール登録 のボタンをクリックします。

モジュール追加をクリック

モジュールの追加画面に遷移します。 sakura.io モジュールのラベルに記載されている登録用IDと登録用パスワード情報を確認します。

登録フォームには、sakura.io モジュールに貼り付けられている下のラベルのうち ID:XXXXXXXXXXPASS:XXXXXXXXXX の部分を入力します。

文字が小さくて読み取りづらい場合には、その下のQRコードを読み取ることで同様の情報を得ることができます。

モジュールラベル

指定したプロジェクトが選択されていることを確認のうえ、モジュール記載の登録用ID、登録用パスワード、および任意の名称を入力して、 追加 ボタンをクリックします。

モジュール登録画面

登録に成功すると、このようなダイアログが表示されます。登録対象のモジュールが初めてsakura.ioコントロールパネルに追加された場合、初回登録ポイントがアカウントに付与されます。

モジュール登録完了画面

ホームへ戻る ボタンをクリックすると、プロジェクト詳細ページでモジュールが追加されていることを確認できます。

モジュール登録後の一覧画面

連携サービス作成

続けて、連携サービスを作成します。モジュールを登録したプロジェクトの 詳細 ボタンをクリックしてプロジェクト詳細画面を開きます。

プロジェクト詳細画面

プロジェクトの詳細ページ内の 連携サービス をクリックします。連携サービス一覧表示に切り替わるので、右端の 連携サービス追加 をクリックします。

連携サービス一覧

連携サービスの選択画面に遷移します。ここではWebSocketを選択します。

WebSocket連携サービスを使うと、通信モジュールからのメッセージをブラウザ上でプレビューできるほか、外部のプログラムとの双方向通信の窓口として使用することができます。

新規連携サービス種別選択

名前の入力を求められるので、適当な連携サービス名を入力します。入力が済んだら 作成 ボタンをクリックします。

連携サービス名入力

連携サービス一覧画面に戻ると、連携サービスが追加されたことが確認できます。

連携サービス一覧(追加済)

上記の図中赤枠で示した 設定 ボタン(歯車マーク)をクリックすると、 連携サービスの編集 画面に遷移します。 この画面では、sakura.io 通信モジュールから送信されてきたデータをブラウザ上で確認することができます。

WebSocket連携サービス編集画面

このページは、この後の手順でデータが送信されてきたことを確認するために使用しますので、ブラウザで開いたままにしておくことをおすすめします。

デバイスの組み立て

通信モジュールとArduinoシールドの組み立て

空中線用のアンテナケーブルと通信モジュール側のアンテナコネクタを合わせ、垂直にはめ込みます。 基板には2つアンテナの端子があるため、2つとも取り付けます。 次に、アンテナケーブルのスクリュー溝部とアンテナを合わせて回すことで取り付けます。

注意事項

端子同士がズレている状態や斜めから強く押し込むとアンテナ端子が変形・破損する場合があります。

I2C通信ができるよう、Arduinoシールドの下記部分にジャンパーを取り付けます。

ジャンパーを取り付ける

両者の準備ができたら、Arduinoシールドと通信モジュールのコネクタを合わせ、垂直にはめ込みます。 この時、必要に応じて両面粘着テープを使用します。

通信モジュールのコネクタをArduino シールドの対向コネクタにはめ込みます。

注意事項

両面粘着テープを使用すると固定されるためArduinoシールドから通信モジュールを取り外すことができなくなります。その他機器への取り付けを検討されている場合は両面粘着テープを使わないようにしてください。 なお、ホストインタフェースの挿抜保証回数は30回です。 コネクタ部は壊れやすいため、挿抜は注意して行ってください。

補足

以下付属品はアンテナをArduinoシールドに固定する場合に使用します。本ドキュメントでは使用しません。

  • ワッシャー(通信モジュール)
  • アンテナプレート(Arduinoシールド)
  • 樹脂スペーサ(Arduinoシールド)
  • ネジ(Arduinoシールド)

Arduino Unoおよびセンサーとの接続

Arduinoシールド下部のピンはArduino Unoのピン配置に対応しています。 ピンがズレないよう、垂直にArduino Unoにはめ込みます。

開発環境の準備

Arduino IDEのインストール

下記リンクから以下のように進めると、Arduino IDEのインストーラを入手できます。

Arduino

  • 画面上部の Software をクリックします。
  • [Download the Arduino IDE]欄から Windows Installer をクリックします。
  • [Support the Arduino Software]欄から JUST DOWNLOAD をクリックします。

入手したexeファイルを起動し、内容を適宜確認・変更のうえ以下のように進めます。

  • [Arduino Setup: License Agreement]画面で I Agree をクリックします。
  • [Arduino Setup: Installation Option]画面で Next をクリックします。
  • [Arduino Setup: Installation Folder]画面で Install をクリックします。
  • [Arduino Setup: Installing]画面に遷移するのでインストール終了まで待ちます。
  • [Arduino Setup: Completed]画面が表示されたら Close をクリックします。

注意事項

ログインしているPCのアカウント権限によってはexeファイル起動時にユーザアカウント制御のポップアップが表示される場合があります。

Arduino IDEを起動すると、初めに sketch_xxxxxxx という以下内容が記載された画面が表示されます。

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Arduinoの接続

USBケーブル(A-B)でPCとArduinoを接続し、以下の2点を設定します。

  • [ツール]>[ボード:”XXXXX”]から Arduino/Genuino Uno をクリックします。
  • [ツール]>[シリアルポート:”XXXXX”]から COMx(Arduino/Genuino Uno) をクリックします。

通電して1分ほど経過するとUSBポート近くのLEDが1回点滅に遷移し、通信モジュールからプラットフォームへ接続されたことが確認できます。

注意事項

通電後しばらく経過しても2回点滅から1回点滅に遷移しない場合、以下の環境を変えてお試しください。

改善しない場合は、 故障かなと思ったら をご確認ください。

SakuraIOライブラリの入手

さくらインターネットが提供するArduinoのライブラリを入手します。 [スケッチ]>[ライブラリをインクルード]>[ライブラリを管理...]をクリックします。 検索機能を使用し、SakuraIOライブラリをインストールします。

[検索をフィルタ...]欄で sakuraio を入力し、最新バージョンを指定して インストール をクリックします。

ライブラリマネージャーで SakuraIO を検索し、インストールします

SakuraIOの名称の横にバージョンとINSTALLEDが表示されたら 閉じる をクリックします。

INSTALLED になったら、ライブラリマネージャーを閉じます

手入力送信用プログラムの書き込み

手入力によるデータ送信確認のため、予め用意されているスケッチをArduinoに書き込みます。 [ファイル]>[スケッチ例]>[SakuraIO]から Shell を呼び出し、マイコンに書き込みます。

この時、Webブラウザで作成した連携サービスページを開いておきます。

作成したWebSocketの連携サービスページを開いておきます。

Shellスケッチを呼び出したら、 マイコンボードに書き込む ボタンをクリックします。

注意事項

Arduino IDE が古い場合、コンパイルに失敗する場合があります。 コンパイルに失敗した場合は、Arduino IDEを最新版にアップデートして、再度お試しください。

Shellスケッチをマイコンボードに書き込みます。

書き込みが終わったら、シリアルモニタからデータ送信のコマンドを入力します。 ボードへの書き込みが完了したら、 シリアルモニタ ボタンをクリックします。

シリアルモニタを開きます。

シリアルモニタ画面で改行を CRのみ に変更したうえで以下コマンドを入力します。 (チャンネル 0int32_t 型の値 123 を入れたデータを送信しています。)

enqueue 0 i 123
send
上記コマンドを入力して、送信ボタンをクリックします。

正常に実行されている場合、コマンド以外に表示はされません。

正常に実行されている場合、コマンド以外にシリアルモニタに表示はされません。

エラー無くコマンドが実行されたら連携サービス画面の[受信データ]欄にデータが表示されていることを確認します。

受信データ欄で送信したデータが表示されていることを確認します。

自動送信用プログラムの書き込み

自動でのデータ送信確認のため、予め用意されているスケッチをArduinoに書き込みます。 [ファイル]>[スケッチ例]>[SakuraIO]から``Standard`` を呼び出し、マイコンに書き込みます。

この時、Webブラウザで作成した連携サービスページを開いておきます。

作成したWebSocketの連携サービスページを開いておきます。

Standardスケッチを呼び出したら、 マイコンボードに書き込む ボタンをクリックします。

standardスケッチをマイコンボードに書き込みます。

ボードへの書き込みが完了したら、 シリアルモニタ ボタンをクリックします。

シリアルモニタを開きます。

Standardスケッチでは通信モジュールから以下のような取得可能な様々な情報を出力するのと同時に、カウンタ値を送信キューに送り、キューが5個になった時点で送信しています。

Waiting to come online

1
1 -> 1
Unixtime 1490867057
ADC0 2508
ADC1 1226
PID 1
UID 16B0100684
Ver v1.1.2-170223-7e6ce64
Status 128
Quality 4
Enqueue 1
Tx Available=29 Queued=1
Rx Available=32 Queued=0

2
2 -> 2
...
..
.

連携サービス画面の[受信データ]欄にデータが表示されていることを確認します。

連携サービス画面で、受信データが表示されていることを確認します。

最後に

以上でチュートリアルは完了です! これでArduinoからsakura.io へデータを送信し、送信されたデータを確認することができました。

例えば、センサーからのデータをsakura.ioへ送信したい場合には、センサーをArduinoに接続し、センサーからのデータをArduinoで取得できれば、上記のスケッチと同様にして簡単にセンサーデータをsakura.io へ送信することができます。

お好きなセンサーモジュールを接続したり、別途販売しているブレイクアウトボードを使用して他のマイコンボードを組合せたり、実際の案件にお役立てください!