ArduinoIoTクラウドの環境データ
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
![]() |
| × | 1 |
アプリとオンラインサービス
> ![]() |
|
このプロジェクトについて
ストーリー
このプロジェクトを作成することで、ENVシールドで利用可能なさまざまなセンサーからデータを読み取る方法を学び、Arduinoクラウドで利用可能なウィジェットでデータを視覚化する方法も学びます。
必要なもの
このプロジェクトには、Arduino MKR WiFi 1010、MKR ENVシールド、バッテリーパック(またはボードに電力を供給するその他の手段)、およびArduinoIoTクラウドのアカウントが必要です。
- プロジェクトの中核はArduinoMKR WiFi 1010です。このボードは、SAMD21マイクロコントローラーとWiFiおよびBLE対応のオンボードNINA-W10モジュールのおかげで、計算と通信を処理します。
- バッテリーパックはMKRWiFi 1010に接続されており、代替電源が利用できない場合にデバイスに電力を供給するために使用されます。
- MKR ENVシールドは、温度、湿度、圧力、光、UVを測定する環境センサーを備えたArduinoMKRシールドです。
- WiFiネットワークに接続するにはアクセスクレデンシャルが必要です。
ハードウェア構成は比較的単純です。必要なのは、MKR WiFi 1010、MKR ENVシールド、およびバッテリーパックのみです。
<図>
MKR WiFi 1010とENVシールドを位置合わせし、ラベルの付いたピンコネクタが一致していることを確認します
<図>
バッテリーパックは、MKR WiFi1010の指定されたコネクタに接続する必要があります。
<図>
コード構造
このプロジェクトに必要なコードには、2つの主要な部分があります。MKRWiFiボードから受信したデータを表示するArduino IoT Cloud APIによって生成されたスケルトンテンプレートと、すべてのセンサーによって測定された値を読み取ることができるArduinoMKRENVライブラリです。
>- 当社のArduinoIoTクラウドモノ MKR WiFi 1010によって取得され、安全な接続を介して送信されるすべての測定値を表す6つのプロパティを保持するように構成されます。
- Arduinoスケッチは最初にIoTCloudによって自動生成され、インターネットへの接続と、Thingとボード間のデータ転送を処理します。次に、ArduinoMKRENVライブラリを追加してENVシールドセンサーを管理します。 >
スケッチ
最初のコードセクションは、アプリケーションに必要なライブラリを含めるために使用されます。
thingsProperties.h
すべてのWiFi接続機能とクラウド接続管理が含まれます。ユーザーに必要な情報は、WiFiネットワーク( SSID )との接続を確立するために必要な資格情報のみです。 およびパスワード 。
Arduino IoT Cloudは、デバイスのセットアップ中にボードの暗号チップ内に保存されているキーを使用して、接続されたデバイスを認証します(デバイスの下) セクション - 追加 デバイス) 、安全なチャネルを介したデータ送信を保証します。
Arduino_MKRENVライブラリ MKRENVシールドの各センサーによって測定された値を読み取るために必要なすべてが含まれています。
#include "thingProperties.h" #include
いつものように、 setup
セクションでは、Arduino IoT Cloudとそのプロパティを含む、スケッチで使用されるすべてのオブジェクトを初期化できます。 ArduinoCloud.begin()
ボードがダッシュボードに接続してデータを交換する準備ができていることを確認します:
void setup(){//シリアルを初期化し、ポートが開くのを待ちます:Serial.begin(9600); //この遅延により、delay(1500);が見つからない場合、ブロックせずにシリアルモニターを待機する機会が与えられます。 //thingProperties.hで定義initProperties(); // Arduino IoTクラウドに接続しますArduinoCloud.begin(ArduinoIoTPreferredConnection); / *次の関数を使用すると、ネットワークとIoTクラウド接続およびエラーの状態に関連するより多くの情報を取得できます。数値が大きいほど、より詳細な情報が取得されます。デフォルトは0(エラーのみ)です。最大は4 * / setDebugMessageLevel(2 ); ArduinoCloud.printDebugInfo(); if(!ENV.begin()){Serial.println( "MKR ENVシールドの初期化に失敗しました!"); while(1); }}
コードの最後のビットは、MKRENVシールド上の各センサーにクエリを実行するループです。スケッチを読むたびに、プロパティ変数が更新され、 ArduinoCloud.update()
に感謝します。 データはクラウドと同期されます:
void loop(){ArduinoCloud.update(); //ここにあるコードhimmumity =int(ENV.readHumidity()); lux =int(ENV.readIlluminance());圧力=int(ENV.readPressure());温度=int(ENV.readTemperature()); uva =int(ENV.readUVA()); uvb =int(ENV.readUVB()); uvi =int(ENV.readUVIndex()); delay(1000);}
設定と使用方法
すべての部品を接続してから、MKR WiFi 1010をコンピューターに接続し、Arduinoクラウドアカウントにログオンします。
Arduinoクラウド入門で説明されている手順に従い、次の表で指定されているようにプロパティを作成する必要があります。各名前では大文字と小文字が区別されることに注意してください。
<図>
新しいウィジェットを追加するたびに、次のようなフォームに入力する必要があります。
<図>
各プロパティを正しく入力すると、次のようになります。
<図>
すべてのプロパティが作成されたら、[コードを編集]ボタンをクリックします。 Arduino Create Web Editorにリダイレクトされ、最初のタブのメインスケッチを次のコードに置き換えます。
/ * Arduino IoT Cloud Thing "env_shield" https://create.arduino.cc/cloud/things/829941ed-efdd-4572-91c0-e93a732192ecによって生成されたスケッチArduinoIoTCloudプロパティの説明次の変数Thingプロパティのint湿度が変更されると、自動的に生成および更新されます。 int lux; int圧力; int温度; int uva; int uvb; int uvi; Cloud ThingでREAD / WRITEとしてマークされているプロパティには、ダッシュボードから値が変更されたときに呼び出される関数もあります。これらの関数はThingで生成され、このスケッチの最後に追加されます。* /#include "thingProperties.h" #include void setup(){//シリアルを初期化し、ポートが開くのを待ちます:シリアル。 begin(9600); //この遅延により、delay(1500);が見つからない場合、ブロックせずにシリアルモニターを待機する機会が与えられます。 //thingProperties.hで定義initProperties(); // Arduino IoTクラウドに接続しますArduinoCloud.begin(ArduinoIoTPreferredConnection); / *次の関数を使用すると、ネットワークとIoTクラウド接続の状態に関連するより多くの情報を取得できます。エラーの数が多いほど、より詳細な情報を取得できます。デフォルトは0(エラーのみ)です。最大は4 * / setDebugMessageLevel(4);です。 ArduinoCloud.printDebugInfo(); if(!ENV.begin()){Serial.println( "MKR ENVシールドの初期化に失敗しました!"); while(1); }} void loop(){ArduinoCloud.update(); //ここにあるコードhimmumity =int(ENV.readHumidity()); lux =int(ENV.readIlluminance());圧力=int(ENV.readPressure());温度=int(ENV.readTemperature()); uva =int(ENV.readUVA()); uvb =int(ENV.readUVB()); uvi =int(ENV.readUVIndex()); delay(1000);} void onHumidityChange(){//何かをする} void onLuxChange(){//何かをする} void onPressureChange(){//何かをする} void onTemperatureChange(){//何かをする} void onUvaChange() {//何かをする} void onUvbChange(){//何かをする} void onUviChange(){//何かをする}
スケッチをボードにアップロードすると、接続が確立されると、MKRWiFiはMKRENVシールドから取得した値をクラウド内のプロパティと同期し始めます。これはダッシュボードに表示されます。 作成されたものの
<図>
Arduino Createのスケッチは、以下のコードセクションで入手できます。
Arduino IoT Cloud、MKR WiFi 1010、洗練されたMKR ENVシールドを使用して、シンプルなホーム/ガーデンセンサーの作成を楽しんでいただければ幸いです。
あなたのもの、
Arduinoチーム
コード
ArduinoIoTクラウドの環境データ
製造プロセス