- ウェアラブルコンピューティングソリューションとIoTデバイスのプロトタイプと開発を目的として設計されたプラットフォームであるIntel Edisonへの接続方法。
- Intel IoT Developer KitのMRAAおよびUPMを使用してEdison I / Oインターフェースおよびセンサーとやり取りする方法
- センサーおよびアクチュエーターと対話するアプリケーションを作成するためのIDEであるIntel XDK IoT Editionでサンプルコードを実行する方法。 この開発環境により、Intel EdisonおよびIntel Galileo向けのアプリケーションの開発を迅速に開始できます。
- Microsoft AzureのAzure Redis Cacheを使用して灌漑システムデータを保存するWebアプリケーションサーバーをセットアップする方法。 これは、データ分析、機械学習、およびクラウドへのデバイスの接続を簡素化し、IoTプロジェクトを作業モードにすばやく移行できる多くの便利なツールをサポートするIoTソリューション向けのクラウドサービスのセットです。
- Twilio APIサービスを呼び出してテキストメッセージを携帯電話に送信する方法。
システム機能
Intel Edisonに基づいて作成する自動灌漑システムの機能は次のとおりです。
- カスタムスケジュールに従ってウォーターポンプのオンとオフを切り替えます。
- 適切なコマンドを受け取ったときに、ポンプが実際に水を汲み上げているかどうかを確認します。 このために、水流センサーが使用されます。
- 組み込みのWebインターフェイスを使用したシステムへのアクセスの編成。これにより、散水スケジュールを設定できます。
- システム運用情報をクラウドストレージに保存します。
- テキストメッセージを送信して、システムの誤動作が発生したことを消費者に通知します。
仕事の特徴
灌漑システムでは、スマートフォンやその他の適切なデバイスを使用して、Intel Edisonに保存されているWebページを開くことにより、灌漑スケジュールを設定できます。 湿度センサーを自動的にポーリングし、受信したデータをWebページに表示します。
水ポンプがオンになっていると想定されているが、水流センサーが水がパイプを通過していないことを示している場合、テキストメッセージがTwilioを介して指定された番号に送信されます。 したがって、故障している灌漑システムを迅速に修復できます。
さらに、システムは、Microsoft Azure環境で実行されるIntel IoT Examples Datastoreのコードを使用してイベントログを保持できます。
ハードウェア
プロジェクトのハードウェア部分は、Grove Environment&Agriculture Kitです。これには以下が含まれます。
- Arduinoサーキットボードを搭載したIntel Edison。
- グローブ湿度センサー 。
- 水ポンプ 。
- 水流センサー 。
- ドライリードスイッチグローブ付きリレー。
ソフトウェア
- Intel XDK IoT Edition
- Microsoft Azureアカウント
- Twilioアカウント
事前準備
開始するには、次のコマンドを使用して、How-To Intel IoT Code SamplesリポジトリをGitコンピューターにコピーします。
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
必要な資料を含むZIPアーカイブをダウンロードする場合は、 このページを開き、右側の[ZIPのダウンロード]ボタンをクリックしてください。 アーカイブをダウンロードした後、それを解凍し、このプロジェクト(watering-system)のコードを含むフォルダーを見つけます。
Intel XDK IoT Editionへのアプリケーションの追加
Intel XDK IoT Editionで、Node.jsプロジェクトのインポートコマンドを選択します。
Node.jsプロジェクトをインポートする
次に、トレーニングプロジェクトのファイルがあるフォルダーに移動して選択します。
プロジェクトコードのあるフォルダーを選択する
ここで、Intel Edisonボードをコンピューターに接続し、プログラムをボードにダウンロードする必要があります。 これを行うには、ウィンドウの左下にあるIoTデバイスメニュー(IoTデバイス)を使用できます。 システムが接続されたボードを自動的に認識した場合、メニューで適切な行を選択します。
Intel Edison Connection
ボードが自動的に認識されなかった場合は、[手動接続の追加]を選択し、表示されるウィンドウの[アドレス]フィールドに「192.168.2.15」と入力し、[ポート]フィールドに「58888」と入力します。接続。
Intel Edisonでのプログラムの手動インストール
さらに、プログラムはIntel Edisonに手動でインストールできます。 これを行うには、SSHを介してボードに接続し、次のコマンドを実行します。
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
次に、サンプルがあるフォルダーに移動します。 GitがEdisonにまだインストールされていない場合は、SSLを介してボードに接続し、次のコマンドを実行することでこれを行うことができます。
$ opkg install git
Groveセンサーの接続
プロトタイプ灌漑システムアセンブリ
センサーとアクチュエーターが接続されるGroove拡張ボード(Grove Shield)は、スイッチングArduino互換カードに接続する必要があります。 Grove拡張ボードの小さなVCCスイッチが5Vの位置にあることを確認します。
スターターキットに付属の外部アダプターからIntel Edisonに電力を供給するか、適切な外部電源(12V、1.5A)と交換する必要があります。 5V USBバッテリーを使用することもできます。
さらに、ブレッドボードと、ウォーターポンプ用の追加の5 V電源が必要です。 ポンプには別の電源が必要であることに注意してください。 Intel Edisonとポンプの両方に同じソースを使用することはできません。つまり、2つのバッテリーまたは2つのアダプターが必要です。
ウォーターポンプを接続するには、ドライグルーブリードスイッチ付きのリレーが必要です。 接続は次のとおりです。
- Groveケーブルの一方の端をリレーに接続し、もう一方の端をGrove拡張ボードのD4ポートに接続します。
- 水ポンプのワイヤの1つをポンプ用の5 V電源に接続します。
- ポンプのもう一方のワイヤをリレー電源コネクタの1つに接続します。
- 他のリレー電源コネクタをポンプ電源のアースに接続します。
- 赤い線を「5V」端子に、黒い線を「GND」端子に、黄色の線をグローブ拡張ボードのデジタル出力2に接続して、水流センサーを接続します。
- Groveケーブルの一方の端を湿度センサーに接続し、もう一方の端をGrove拡張ボードのポートA0に接続します。
Intel Edisonでの手動インストール
Intel Edisonでサンプルコードを実行するパスを選択した場合は、いくつかの依存関係を解決する必要があります。
Edisonでの実行に必要なNode.jsモジュールを取得するには、次のコマンドを実行します。
npm install
設定:メッセージとクラウドストレージの送信
システムがテキストメッセージを送信できるようにするには、 TwilioアカウントとAPIキーが必要です。 キーなしではメッセージを送信できません。 この例はメッセージを送信せずに機能しますが、実際のプロジェクトではこの機能は非常に便利です。
Twilioアカウントで動作するように例を設定するには、
TWILIO_ACCT_SID
TWILIO_AUTH_TOKEN
で
TWILIO_ACCT_SID
および
TWILIO_AUTH_TOKEN
パラメーターの値を設定する必要があり
TWILIO_AUTH_TOKEN
。 それぞれ、APIキーと認証トークンを指定する必要があります。
{ "TWILIO_ACCT_SID": "YOURAPIKEY", "TWILIO_AUTH_TOKEN": "YOURTOKEN" }
必要に応じて、この例で生成されたデータを、Microsoft Azure、Node.js、Redisデータウェアハウスを使用して展開されたデータベースに保存できます。 クラウドサーバーのセットアップ方法の詳細については、 こちらをご覧ください 。
Microsoft Azureアカウントがあり、サーバーでデータを受信する準備ができている場合、config.jsonを変更する必要があります。つまり、「
SERVER
」および「
AUTH_TOKEN
」パラメーターにサーバーに接続するためのデータを書き込みます。
{ "SERVER": "http://intel-examples.azurewebsites.net/logger/watering-system", "AUTH_TOKEN": "s3cr3t" }
サンプルのバージョンで、Twilioを使用したテキストメッセージの送信とMicrosoft Azureでのデータの保存の両方を使用している場合、設定は次のようになります。
{ "TWILIO_ACCT_SID": "YOURAPIKEY", "TWILIO_AUTH_TOKEN": "YOURTOKEN", "SERVER": "http://intel-examples.azurewebsites.net/logger/watering-system", "AUTH_TOKEN": "s3cr3t" }
Intel XDK IoT Editionからプログラムを起動する
プログラムを開始する前に、ファイルに加えた変更を保存します。 その後、アップロードアイコンをクリックして、コードをIntel Edisonにアップロードします。
Intel Edisonへのプロジェクトのアップロード
ダウンロード後、実行アイコンを使用してデバイス上でプログラムを実行します。
プロジェクトの開始
プロジェクトで作業しているときにコードを変更した場合は、[アップロードして実行]コマンドを使用できます。 プログラムの最新バージョンがダウンロードされ、Intel Edisonで起動されます。 Edisonプログラムの実行中は、次の図に示すようなメッセージが表示されます。
Intel Edisonで実行されるプログラムからのメッセージ
手動プログラム開始
プログラムを手動で起動するには、SSHを介してIntel Edisonに接続し、次のコマンドを実行します。
node index.js
散水スケジュールの設定
灌漑スケジュールを設定するには、1ページのWebインターフェイスが使用されます。 このページを開くには、メインプログラムが実行されているのと同じIntel Edisonボードで実行されているWebサーバーからページを要求します。
散水スケジュールの設定ページ
ポート3000はサーバーに割り当てられているため、Intel EdisonがWi-Fiネットワークに接続され、IPアドレス192.168.1.13が割り当てられている場合、サーバーアドレス(同じローカルネットワークから接続されている場合)はhttp:/になります。 /192.168.1.13∗000 。
Intel EdisonのIPアドレスを確認する方法
Intel EdisonのIPアドレスを見つけるには、次のコマンドを使用できます。
ip addr show | grep wlan
実装後、次のようなものが表示されます。
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 inet 192.168.1.13/24 brd 192.168.1.255 scope global wlan0
Intel Edisonアドレスは、「inet」の後にあります。 この例では、192.168.1.13です。
結論
Intel Edisonに基づいて、センサーとウォーターポンプのセットを含む灌漑システムをどのように組み立てるかについて話しました。 インターネットに接続されたシステムは、Webページを開くことができる任意のデバイスから制御できます。 この例でクラウドサービスを使用してデータを保存し、メッセージを送信する場合、デバイスの動作に関する統計を収集でき、緊急の場合は、指定された携帯電話番号にテキストメッセージを取得して、故障をすばやく修正できます。
Intel IoTコードサンプルのハウツーシリーズの他のコード例は、 Intel Developer Zoneで入手できます。 ここで説明した例の完全なコードは、 GitHubにあります 。