おもしろ工作・プログラミング動画配信中!せでぃあのYouTube

Arduino UNO R4 WIFIをArduino Cloudに接続してIoTを体験する方法

Arduino UNO R4 WIFIをArduino Cloudに接続してIoTを体験する方法
  • URLをコピーしました!

この記事内には、プロモーションが含まれます。

スマイルSALE!

4/22まで!スマイルSALE開催中

こんにちは、せでぃあ(@cediablog)です。

Arduino UNO R4 WIFIを使って、手軽にIotを体験できる方法を紹介します。

必要なもの

  • Arduino UNO R4 WIFI
  • スマートフォン
  • パソコン
  • USB TypeCケーブル

IoT(Internet of Things)とは、あらゆるモノがインターネットに接続されることを言います。

せでぃあ

家電製品がネットワークと接続して情報提供したり、スマホから制御できる機能もIoTの活用事例になります。

この記事を読んでわかること
  • Arduino Cloudの設定方法と使い方
  • Arduino動作プログラムの作り方
  • スマホアプリ「Arduino IoT Cloud Remote」の使い方
この記事を書いた人
せでぃあ

せでぃあはこんな人物です

✅プライム企業に勤める電気・機械設計エンジニア

✅親子の絆を深めるため、夏休みに子供と一緒に電子工作を製作

✅Arduinoプログラミングを用いて作ったプログラミング電子工作「信GO機」が市の発明くふう展で「優秀賞」を受賞

✅本ブログにてArduinoスクラッチプログラミングLESSON記事投稿中

✅YouTubeチャンネル「せでぃあブログちゃんねる」運営中

Arduino UNO R4 WiFiはここで買えます

目次

スマホアプリからLEDマトリクス表示を制御する

スマホアプリ「Arduino IoT Cloud Remote」から、LEDマトリクス表示を制御するプログラム動作を説明します。

動作の解説動画「せでぃあブログちゃんねる」より
プログラムの動作説明
  • プログラム動作を開始する。
  • スイッチウィジェットが「OFF」のとき、LEDマトリクスに「OFF」を表示。
  • スイッチウィジェットが「ON」のとき、LEDマトリクスに「ON」を表示。
STEP
プログラム動作を開始

プログラム転送後、または本体のリセットボタンを押すとプログラム動作を開始します。

プログラム動作を開始すると、WiFiネットワークへの接続動作を行います。

STEP
スイッチが「OFF」のとき、LEDマトリクスに「OFF」を表示。
ウィジェットスイッチが「OFF」のとき、LEDマトリクスに「OFF」が表示されます。

ウィジェットスイッチが「OFF」のとき、LEDマトリクスに「OFF」が表示されます。

STEP
スイッチが「ON」のとき、LEDマトリクスに「ON」を表示。
ウィジェットスイッチが「ON」のとき、LEDマトリクスに「ON」が表示されます。

ウィジェットスイッチが「ON」のとき、LEDマトリクスに「ON」が表示されます。

WiFiネットワークに接続して、スマホアプリ画面のスイッチを操作することでArduino UNO R4 WIFI本体のLEDマトリクス表示を制御することができます。

スマホとArduino本体がネットワーク経由で接続されており、IoTを活用した動作を体験していることになります。

せでぃあ

IoTの世界が手っ取り早く体験できるテーマだと思います。

Arduino Cloudの設定方法と使い方

今回の動作を行うための設定方法と使い方を紹介します。

Arduino Cloudの説明
Arduino CloudのHome画面

Arduino Cloudの設定項目

  • Devices
    接続するマイコンボード
  • Things
    制御やデータ収集を行うデバイス
  • Dashboards
    情報を見える化して操作可能なツール
  • Sketches
    Arduinoを動作させるプログラム

Arduino Cloudで設定すべき項目は上記の4項目になります。

それぞれの設定方法を解説していきます。

今回Sketchの作成は、Thing設定から行います。

Arduino Cloudへのサインイン

まずはじめに、Arduino Cloudサイトにログインします。

サインインするには、Arduino Cloudのユーザー登録(無料)が必要です。

ユーザー登録方法については、こちらの記事にて詳しく説明しています。

STEP
Arduino Cloudサイトに移動する。
Arduino公式サイトを開き、画面右上のCloudマークをクリックします。

Arduino公式サイトを開き、画面右上のCloudマークをクリックします。

STEP
「SIGN IN」をクリックする。
「SIGN IN」をクリックします。

「SIGN IN」をクリックして、サインインページに移動します。

STEP
登録したユーザー名またはメールアドレスとパスワードを入力する。
登録したユーザー名またはメールアドレスとパスワードを入力してサインインする。

登録したユーザー名またはメールアドレスとパスワードを入力し、「SIGN IN」ボタンをクリックします。

STEP
Arduino Cloudへのサインインが完了する。
Arduino Cloudのメイン画面

Arduino CloudのHome画面に移動したらサインイン完了です。

Devicesの設定

Devicesでは、接続するマイコンボードの選択と設定を行います。

Arduino UNO R4 WIFI本体とパソコンをUSBケーブルで接続した状態で設定を行ってください。

STEP
メニューからDevicesを選択して、「ADD DEVICE」をクリックする。
Home画面のメニューからDevicesを選択して、「ADD DEVICE」をクリックします。

Home画面のメニューからDevicesを選択して、「ADD DEVICE」をクリックします。

STEP
Arduino boardをクリックする。
Arduino boardをクリックします。

Arduino boardをクリックします。

マイコンとの接続が行われます。

USBケーブルで接続されたArduino UNO R4 WIFI本体との接続が行われます。

STEP
Arduino Create Agentのインストール
ArduinoCreateAgentのインストールを行う。

Arduino Create Agentがパソコンにインストールされていない場合は、インストール要求がされます。

「INSTALL」ボタンをクリックして、インストールを進めます。

ダウンロードフォルダに保存されたインストール実行ファイルを起動する。

ダウンロードフォルダに保存された、インストール実行ファイルを起動します。

「NEXT」をクリックします。

「NEXT」をクリックします。

承認ボタンをONにして、「NEXT」をクリックします。

承認ボタンをONにして、「NEXT」をクリックします。

インストールフォルダを選択して「承認ボタンをONにして、「NEXT」をクリックします。

インストールフォルダを選択して「承認ボタンをONにして、「NEXT」をクリックします。

特にこだわりがなければ、初期表示フォルダのまま進めてOKです。

「NEXT」をクリックします。

「NEXT」をクリックします。

インストールが行われるので、待ちます。

インストールが行われるので、待ちます。

インストールが完了したら「Finish」をクリックします。

インストールが完了したら「Finish」をクリックします。

STEP
Arduino UNO R4 WIFIを検出させる。
Arduino UNO R4 WIFIを検出したら「CONFIGRE」をクリックします。

Arduino UNO R4 WIFIを検出したら「CONFIGRE」をクリックします。

デバイス名を入力して、「NEXT」をクリックします。

デバイス名を入力して、「NEXT」をクリックします。

任意のデバイス名を入力してください。

STEP
デバイスIDとシークレットキーを控える。
デバイスIDとシークレットキーが表示されるので、控えます。
その後チェックを入れて「CONTINUE」をクリックします。

デバイスIDとシークレットキーが表示されるので、控えます。

画面下のチェックを入れて「CONTINUE」をクリックします。

シークレットキーは、ネットワーク設定で必要になりますので絶対に控えておいてください。

STEP
セットアップ動作が開始される。
セットアップが開始されます。

セットアップが開始されます。

「CONFIRM」をクリックします。

「CONFIRM」をクリックします。

セットアップが完了したら「DONE」をクリックします。

セットアップが完了したら「DONE」をクリックします。

Home画面のDevicesをクリックすると、登録したデバイスが表示されます。

Home画面のDevicesをクリックすると、登録したデバイスが表示されます。

Thingsの設定

Thingsでは、接続するデバイス「モノ」の選択と設定を行います。

STEP
メニューからThingsを選択して、「CREATE THING」をクリックする。
メニューのThingsを選択し、「+CREATE THING」をクリックします。

Home画面のメニューからThingsを選択して、「CREATE THING」をクリックします。

STEP
Thing名を変更する。
Thing名がUntitledになっているので、Renameをクリックする。

Thing名がUntitledになっているので、Renameをクリックして名前を変えます。

Thing名を変えなくても動作に支障はありませんが、変えておくとデータを紐づけるときにわかりやすいです。

新しいThing名を入力して、RENAMEをクリックします。

新しいThing名を入力して、RENAMEをクリックします。

Thing名が変更されました。

Thing名が「Trigger」に変更されました。

STEP
クラウド変数を追加する。
SetupタブのADDをクリックします。

SetupタブのADDをクリックします。

クラウド変数情報を設定して、「ADD VARIABLE」をクリックします。

クラウド変数情報を設定して、「ADD VARIABLE」をクリックします。

クラウド変数の設定内容

  • 変数名:event
  • 変数の型:Boolean
  • 権限:Read & Write
  • 更新頻度:On change
クラウド変数が追加されました。

クラウド変数が追加されました。

STEP
デバイス「Arduino UNO R4 WiFi」を紐づける。
Select Deviceのリンクボタンをクリックします。

Select Deviceリンクボタンをクリックします。

ASSOCIATEをクリックして登録済のデバイス「Arduino UNO R4 WIFI」を紐づけます。

ASSOCIATEをクリックして、登録済のデバイス「Arduino UNO R4 WiFi」を紐づけます。

Arduino UNO R4 WiFiが紐づけられました。

Arduino UNO R4 WiFiが紐づけられました。

この時点ではネットワーク設定前のため、Offline状態で問題ありません。

STEP
ネットワーク設定する。
Configureリンクボタンをクリックします。

Configureリンクボタンをクリックします。

ネットワーク接続設定情報を入力して、SAVEをクリックします。

ネットワーク接続設定情報を入力して、SAVEをクリックします。

ネットワーク情報が設定されました。

ネットワーク情報が設定されました。

STEP
Metadataを設定する。
Metadataタブをクリックして、Timezoneを設定します。

Metadataタブをクリックして、Timezoneを設定します。

STEP
Sketch(動作プログラム)を作る。
sketchタブをクリックすると、自動でプログラムが作られています。

sketchタブをクリックすると、自動でプログラムが作られています。

このプログラムを編集して、動作させたいプログラムを作り上げていきます。

プログラム内容については、このあと詳しく説明していきます。

検証ボタンをクリックして、プログラムコードを検証します。

プログラムが作れたら検証ボタンをクリックして、プログラムコードを検証します。

転送ボタンをクリックして、プログラムコードをArduino本体に転送します。

転送ボタンをクリックして、プログラムコードをArduino本体に転送します。

Dashboardsの設定

Dashboardsでは、デバイスから得た情報を見える化して操作可能なツールの設定を行います。

STEP
メニューからDashboardsを選択して、「CREATE DASHBOARD」をクリックする
メニューのDashboardsを選択し、「+CREATE DASHBOARD」をクリックします。
STEP
Dashboard名を変更する。
Dashboard名がUntitledになっているので、Renameをクリックする。

Dashboard名がUntitledになっているので、Renameをクリックします。

新しいDashboard名を入力して、RENAMEをクリックします。

新しいDashboard名を入力して、RENAMEをクリックします。

Dashboard名が「event」に変更されました。

Dashboard名が「event」に変更されました。

STEP
ウィジェットを配置する。
ADDボタンをクリックしてウィジェットウィンドウを開き、Switchをクリックします。

ADDボタンをクリックしてウィジェットウィンドウを開き、Switchボタンをクリックします。

Link Variableボタンをクリックします。

スイッチウィジェットが表示されました。

Link Variableボタンをクリックします。

Variablesにinput_eventを選択して、LINK VARIABLEボタンをクリックします。

Variablesにinput_eventを選択して、LINK VARIABLEボタンをクリックします。

DONEボタンをクリックします。

DONEボタンをクリックして設定を完了させます。

スイッチウィジェットをクリックすると、ON-OFF表示が切り替わります。

スイッチウィジェットをクリックして、ON-OFF表示が切り替わることを確認してください。

スイッチがOFFのときのLEDマトリクス表示
スイッチがONのときのLEDマトリクス表示

これでダッシュボードの設定が完了しました。

Arduino UNO R4 WIFIにプログラムデータを転送済であれば、スイッチをOFFーON切り替えることでLEDマトリクス表示が切り替わることが確認できます。

Arduino Cloudでは様々なウィジェットが用意されています。

スイッチの他に、Arduino Cloudでは様々なウィジェットが用意されています。

せでぃあ

慣れてきたらいろいろなウィジェットを使って遊んでみてください。

スマホアプリからの操作方法

先ほどはArduino Cloud画面に設置したスイッチウィジェットから、Arduino本体のLEDマトリクス表示を遠隔制御しました。

ここではスマホアプリ「Arduino IoT Cloud Remote」を使った、スマホ画面上のスイッチウィジェットからLEDマトリクス表示を遠隔制御する方法を紹介します。

Arduino UNO R4 WIFIに電源を供給して、オンライン接続状態にしてください。

STEP
アプリをインストールする。
Arduino IoT Cloudをインストールする。

Arduinoが提供するアプリ「Arduino IoT Cloud」をインストールします。

Arduino IoT Cloud Remote
Arduino IoT Cloud Remote
開発元:Arduino
無料
posted withアプリーチ
STEP
アプリを開く。
インストールできたら、アプリを開きます。

インストールができたらアプリを開きます。

アプリの初回起動時の画面が出るのでしばらく待ちます。

アプリの初回起動画面が出るので、しばらく待ちます。

STEP
Arduino Cloudにサインインする。
Arduino Cloudにサインインする。

パソコンで登録したArduino Cloud登録情報を入力して、サインインします。

STEP
ダッシュボードを選択する。
ダッシュボード画面から「event」を選択します。

ダッシュボード画面から、先ほど作成した「event」を選択します。

STEP
ウィジェットを操作して動作確認する。

先ほど作成したスイッチウィジェットが配置されています。

スイッチがOFFのときのLEDマトリクス表示「OFF」
スイッチがOFFのときのLEDマトリクス表示

スイッチをタップすると、OFFーONが切り替わります。

スイッチがONのときのLEDマトリクス表示「ON」
スイッチがONのときのLEDマトリクス表示

スイッチの状態に応じて、LEDマトリクス表示が変わることを確認してください。

せでぃあ

スマホから制御できるとIoTを体感しやすいと思います。

LEDマトリクス表示の作り方

メインプログラムを作る前に、LEDマトリクス点灯パターンプログラムを取得しておきます。

今回作成するマトリクスLED表示

  • 「ON」表示
  • 「OFF」表示

これらの表示パターンはLEDマトリクスエディタを使って作ります。

これらの作り方を説明していきます。

ON・OFF表示パターンコードを生成する

アニメーションではなく、単独表示パターンであってもLEDマトリクスエディタを使ってコード生成すると、32ビット整列のデータを確認できるため便利です。

STEP
ON表示パターンを作る
LEDマトリクスエディタを使った、ON表示の作り方

LEDマトリクスエディタを使って、ON表示パターンを作ります。

パターンを作ったら画面右上のコードファイル生成ボタンを押して、ファイル生成します。

今回ファイル名を「matrix_ON」にしましたが、他ファイル名と重複しなければ何でも良いです。

STEP
プログラムコードを確認する
生成したプログラムコードをメモ長で開いて確認します。

生成したコードファイルは、ダウンロードフォルダに保存されています。

生成ファイルを右クリックして、プログラムから開くからメモ帳を使ってファイルを開きます。

メモ帳を使ってON表示のコードを確認します。

すると、コードの中身をかくにんすることができます。

中かっこ内の4列のうち、上から1~3列目までがマトリクス表示コードです。

4列目はアニメーション表示時間のため、今回は使用しません。

STEP
OFF表示パターンを作る
LEDマトリクスエディタを使った、OFF表示の作り方

ON表示と同様に、OFF表示パターンも作成します。

作成できたらコードを生成します。

メモ帳を使ってOFF表示のコードを確認します。

生成したコードをメモ帳で開いて、OFF表示させるためのコードを確認します。

せでぃあ

確認したコードは、プログラム作成時に使用します。

これでLEDマトリクス表示コードの確認作業は完了です。

マトリクスエディタの使い方については、こちらの記事にて詳しく説明しています。

動作プログラムの解説

プログラムの内容を解説します。

プログラム(スケッチ)はある程度自動で作成されるので、自分が動作させたい部分を追加編集して作っていきます。

/*
  Sketch generated by the Arduino IoT Cloud Thing "Cloud_LED_MATRIX"

  Arduino IoT Cloud Variables description

  The following variables are automatically generated and updated when changes are made to the Thing

  bool input_event;

  Variables which are marked as READ/WRITE in the Cloud Thing will also have functions
  which are called when their values are changed from the Dashboard.
  These functions are generated with the Thing and added at the end of this sketch.
*/

#include "thingProperties.h"

// Arduino_LED_Matrixライブラリをインクルードする
#include "Arduino_LED_Matrix.h"

// マトリックスパネルのオブジェクトを作成する
ArduinoLEDMatrix matrix;

// LEDマトリクスに表示「ON」
const uint32_t matrix_on[] = {
  0x7a24b,
  0x24aa4a64,
  0xa27a2000,
};

// LEDマトリクス表示「OFF」
const uint32_t matrix_off[] = {
  0xf7794,
  0x49779449,
  0x44f44000,
};


void setup() {
  // Initialize serial and wait for port to open:
  Serial.begin(9600);
  // This delay gives the chance to wait for a Serial Monitor without blocking if none is found
  delay(1500);

  // Defined in thingProperties.h
  initProperties();

  // Connect to Arduino IoT Cloud
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);

  /*
     The following function allows you to obtain more information
     related to the state of network and IoT Cloud connection and errors
     the higher number the more granular information you’ll get.
     The default is 0 (only errors).
     Maximum is 4
  */
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();

  // LEDマトリクス動作を開始する
  matrix.begin();

}

void loop() {
  ArduinoCloud.update();

  if (input_event == HIGH) {
    matrix.loadFrame(matrix_on);
  } else {
    matrix.loadFrame(matrix_off);
  }

}

/*
  Since Button is READ_WRITE variable, onButtonChange() is
  executed every time a new value is received from IoT Cloud.
*/

/*
  Since InputEvent is READ_WRITE variable, onInputEventChange() is
  executed every time a new value is received from IoT Cloud.
*/
void onInputEventChange()  {
  // Add your code here to act upon InputEvent change
}

これが完成したプログラムです。

このプログラムをコピペして、Arduino本体に転送すればすぐ動作確認することが可能です。

自動作成されたプログラムから追加・変更した部分を解説していきます。

初期化プログラム

初期化プログラム部で追加・変更した部分を抜き取って解説します。

// Arduino_LED_Matrixライブラリをインクルードする
#include "Arduino_LED_Matrix.h"

// マトリックスパネルのオブジェクトを作成する
ArduinoLEDMatrix matrix;

// LEDマトリクスに表示「ON」
const uint32_t matrix_on[] = {
  0x7a24b,
  0x24aa4a64,
  0xa27a2000,
};

// LEDマトリクス表示「OFF」
const uint32_t matrix_off[] = {
  0xf7794,
  0x49779449,
  0x44f44000,
};

ここでは、LEDマトリクス表示させるためのライブラリのインクルードを行います。

マトリクス型のオブジェクトを作成します。

LEDマトリクス表示パターンのコードを定義します。

LEDマトリクスエディタを使ったコードを定義します。

setupプログラム

setup関数内のプログラムは、プログラム演算開始後1回だけ実行されます。

setupプログラム部で追加・変更した部分を抜き取って解説します。

void setup() {

  // LEDマトリクス動作を開始する
  matrix.begin();

}

ここではLEDマトリクス動作を開始するためのbeginメソッドを実行します。

loopプログラム

loop関数内のプログラムは、繰り返し演算されます。

loopプログラム部で追加・変更した部分を抜き取って解説します。

void loop() {
  ArduinoCloud.update();

  if (input_event == HIGH) {
    matrix.loadFrame(matrix_on);
  } else {
    matrix.loadFrame(matrix_off);
  }

 }
}

ここでは、ウィジェットスイッチの状態「input_event」が「ON=LOW」か「OFF=HIGH」かによって、LEDマトリクス表示内容を切り替えるプログラムを追加しています。

単一パターンを表示させるときは、loadFrameメソッドを使います。

LEDマトリクス表示プログラムについては、こちらの記事にて詳しく説明しています。

Arduino CloudはIoTを手軽に始められる

ウィジェットスイッチの状態に応じたLEDマトリクス表示
ウィジェットスイッチの状態に応じたLEDマトリクス表示

今回はArduino UNO R4 WIFIをArduino Cloudに接続し、スマホアプリを使って遠隔操作する方法を紹介しました。

Arduino Cloudで提供されているウィジェットの種類が多く、いろいろな使い方ができそうです。

Arduino Cloudには4つのプランがあり、無料のプランも提供されています。(今回紹介した内容も無料プランを使った実例を紹介しています)

Arduino Cloudのプランについては、こちらの記事にて詳しく説明しています。

Arduino UNO R4 WiFiで遊んでみたい!と思った方は下記サイトで購入できますのでご検討ください。

Arduino UNO R4 WIFIが買える国内サイト

通信ケーブルは別売りですので、本体と併せて購入すると送料がお得になる場合があります。

せでぃあ

最後まで読んでいただき、ありがとうございました。

Arduino UNO R4シリーズはビジュアルプログラミングには対応していません。

Arduino UNO R3はビジュアルプログラミングにも対応していますので、小学生にはこちらがおすすめです。

ELEGOOのArduino互換キットは、コスパに優れた初心者向けキットです!

応援ありがとうございます(^^)/

Arduino UNO R4 WIFIをArduino Cloudに接続してIoTを体験する方法

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次