ArduinoIoTクラウドAmazonAlexa統合
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
| |||
| ||||
|
このプロジェクトについて
イントロ:はじめに
このチュートリアルでは、Arduino IoT Cloudを使用します。ArduinoIoTCloudを初めて使用する場合は、最初にこの入門プロジェクトを確認することをお勧めします。このプロジェクトでは、概要を説明し、サポート対象のセットアッププロセスをガイドします。ボード、IoTクラウドのモノとプロパティ、そしてあなたをオンボードに導きます。
パート1:ArduinoIoTクラウド
IoTクラウドのメインページから、新しいものを作成し、意味のある名前を割り当てます。 次に、ボードを選択します 使用します。ボードが表示されない場合は、 [デバイスの追加] をクリックした後に開始される手順に従って、新しいデバイスの追加をスキップした可能性があります。 [デバイス]の下のボタン セクション。
完了したら、 3つのプロパティを追加します 私たちのものに 。最初の2つはランプを表します 、最後のものは温度です。
タイプ ColoredLight RGB を制御できます 光、明るさと色を制御できます。 読み取りと書き込みとして設定します Alexaを使用してその動作を制御する必要があるためです。
DimmedLight タイプは上記と似ていますが、ライトの明るさを制御することしかできません。
追加する最後のプロパティは温度です 。これを読み取り専用として追加しましょう 値を知りたいだけなので、設定はしません。タイプとして、温度を使用できます センサー (摂氏)、 ただし、自分に合っている場合は、Fºに設定してください。
これがダッシュボードです モノのビュー この時点で次のようになります:
<図>プロパティを追加するときは、スマートホームの下にリストされているタイプのみを使用するようにしてください セクションがない場合、Alexaでは機能しません。
<図>次に、 Webエディタに移動します スケッチの編集をクリックします モノのボタン の編集ビュー。
パート2:ArduinoWebエディター
Webエディタで、スケッチにコードを追加する必要があります 自動生成されます。
いくつかの環境データ(つまり、温度ですが、必要に応じて光、湿度、圧力を自由に追加してください)を読みたいので、 Arduino_MKRENV をインポートします。 スケッチの上部にあるライブラリ
#include
次に、 R、G、Bandwhitelight に使用されるボードピンの定数を定義します。 、このようにしてコードが読みやすくなります:
#define PIN_MEETING_ROOM 5#define PIN_LOUNGE_AREA_R 2#define PIN_LOUNGE_AREA_B 3#define PIN_LOUNGE_AREA_G 4
セットアップ機能になりました Arduino MKRENVシールドを初期化できます と:
if(!ENV.begin()){Serial.println( "MKR ENVシールドの初期化に失敗しました!"); while(1);}
このように、シールドが取り付けられていない場合はスケッチ 実行はブロックされます。
その pinMode
を指定する必要はありません OUTPUT
である必要があります analogWrite()
を使用するため 白色LEDまたはRGBLEDの単色の強度を設定します。
ループ関数内 毎秒温度を読み取ります:
temperature =ENV.readTemperature(); delay(1000);
最後に、コールバック関数を実装します。プロパティが変更されるたびに実行される関数です。 の価値はIoTクラウドから引き出されます。
onMeetingRoomChange
を実装する必要があります および onLoungeAreaChange
:
void onMeetingRoomChange(){uint8_t bright =map(meetingRoom.getBrightness()、0、100、0、255); if(meetingRoom.getSwitch()){Serial.println(brightness); analogWrite(PIN_MEETING_ROOM、明るさ); } else {analogWrite(PIN_MEETING_ROOM、LOW); }}
上記のコードで、最初に明るさの値を読み取ります クラウドとマップから 使用可能な値に設定してから、ライトスイッチかどうかを確認します オンになっている場合は、 brightness
を使用してライトをオンにできます 前は赤。それ以外の場合は、ライトをオフにします
動作原理は他のコールバックでも同じです:
void onLoungeAreaChange(){uint8_t r、g、b; LoungeArea.getValue()。getRGB(r、g、b); if(loungeArea.getSwitch()){Serial.println( "R:" + String(r)+ "G:" + String(g)+ "B:" + String(b)); analogWrite(PIN_LOUNGE_AREA_R、r); analogWrite(PIN_LOUNGE_AREA_B、b); analogWrite(PIN_LOUNGE_AREA_G、g); } else {Serial.println( "ランプオフ"); analogWrite(PIN_LOUNGE_AREA_R、0); analogWrite(PIN_LOUNGE_AREA_B、0); analogWrite(PIN_LOUNGE_AREA_G、0); }}
唯一の顕著な違いは、明るさだけでなく、3つの異なるコンポーネントがあるという事実です。これらはライトのRGBカラーの表現です。もちろん、Alexaアプリで名前でカスタムカラーを定義できるので、設定する赤、緑、青の量を手動で指定する必要はありません。
パート3:AmazonAlexaスキルのセットアップ
ここで、Apple AppStoreまたはGooglePlayストアからダウンロードできるAmazonAlexaアプリが必要になります。インストールしたら、既存のアカウントでログインするか、新しいアカウントを作成します。
ArduinoAlexaスキルをインストールするために必要な手順を実行してみましょう。以下の一連の画像に従って、必要なすべての手順を確認します。
<図> <図> <図> <図> <図> <図> <図> <図> <図>
パート4:AmazonAlexaデバイスのセットアップ
少し待つと、いくつかのデバイスが見つかったことがわかります。
<図>デバイスの選択をタップした後 利用可能なすべてのデバイスを一覧表示するセットアップページが表示されます(これらのデバイスには、Arduino IoT Cloudでのプロパティの名前の付け方に応じて名前が付けられます)。
<図>デバイスを1つ選択して、[設定]をタップします 上 デバイス 。必要に応じて、グループに追加することもできます(これにより、デバイスをより簡単に制御および整理できます)。それ以外の場合は、この部分をスキップしてください。
<図>セットアップを繰り返します 制御するすべてのデバイスのプロセス。
最後に、デバイスビューは次のようになります。
<図>ようやく「アレクサ、オフィスの温度は?」などと尋ねることができます。または「アレクサ、会議室の電気をつけて」
<図>AlexaとIoTクラウドで遊んで楽しんでください。質問がある場合、またはこのプロジェクトを構築する場合は、以下のコメントでお知らせください。
Arduino チーム
コード
Arduino
回路図
製造プロセス