Skip to main content

SenseCAP & Node-RED を使用して Microsoft Azure IoT Central に接続

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

Node-RED を介して SenseCAP を Azure IoT Central に接続

SenseCAP K1100 - センサープロトタイプキット は、Seeed Studio が LoRa® 通信技術とエッジインテリジェンス製品のエッセンスを凝縮し、LoRa® および IoT アプリケーションを最も簡単に展開し、習得できるように設計されています。

pir

産業用センサーへのアップグレードが可能

SenseCAP S2110 コントローラーS2100 データロガー を使用することで、Grove を簡単に LoRaWAN® センサーに変えることができます。Seeed はプロトタイピングを支援するだけでなく、SenseCAP シリーズの堅牢な産業用センサー を使用してプロジェクトを拡張する可能性も提供します。

IP66 ハウジング、Bluetooth 設定、グローバル LoRaWAN® ネットワークとの互換性、内蔵 19 Ah バッテリー、そしてアプリからの強力なサポートにより、SenseCAP S210x は産業用途に最適な選択肢となります。このシリーズには、土壌水分、空気温度と湿度、光強度、CO2、EC、そして 8-in-1 気象ステーション用のセンサーが含まれています。次の成功する産業プロジェクトには、最新の SenseCAP S210x をお試しください。

SenseCAP 産業用センサー
S2100
データロガー
S2101
空気温度 & 湿度
S2102
光強度
S2103
空気温度 & 湿度 & CO2
S2104
土壌水分 & 温度
S2105
土壌水分 & 温度 & EC
S2110
LoRaWAN® コントローラー
S2120
8-in-1 気象ステーション

Microsoft Azure IoT

Microsoft Azure IoT は、Microsoft が管理するクラウドサービスのコレクションであり、数十億の IoT 資産を接続、監視、制御します。これには、デバイスや機器のセキュリティおよびオペレーティングシステム、さらに IoT アプリケーションの構築、展開、管理を支援するデータと分析が含まれています。

pir

Microsoft Azure IoT Central

Microsoft Azure IoT Central は、完全に管理されたグローバル IoT SaaS (ソフトウェアとしてのサービス) ソリューションであり、大規模に IoT 資産を簡単に接続、監視、管理できるようにします。非常に安全で、ビジネスの成長に合わせてスケールし、投資の再利用性を確保し、既存のビジネスアプリと統合します。また、ビジネスアプリケーションと IoT データの間のギャップを埋めます。さらに、デバイスの再構成と更新を行うための集中管理を提供します。

この章の内容では、前述の Node-RED を引き続き使用し、Node-RED を利用して Microsoft Azure IoT Central で K1100 キットの管理を容易にします。

Node-RED をインストールしていない、または Node-RED が何であるか分からない場合は、Node-RED & SenseCAP チュートリアル を参照してください。

SenseCraft のインストール

SenseCraft は、ノーコードでスマートセンサーを構築するためのオープンソースソフトウェアプラットフォームです。リアルワールドを感知し、データを処理し、クラウドにデータを送信するための完全な即時利用可能なソリューションを提供します。これにより、プログラミング経験が全くなくても、最も簡単かつ迅速に利用できます。現在、Wio Terminal に対応しています。

SenseCraft を使用することで、K1100 キットのセンサー値をプログラミングなしで SenseCAP プラットフォームに直接転送できます。これはもちろん、LoRaWAN® を介して実現されます。

note

Azure IoT Central に WiFi (MQTT) を介してアクセスしたい場合は、この Wiki を参照してください。

ステップ 1. ファームウェアをコンピュータにダウンロードする

Latest release の下で、SenseCraft-vx.x.uf2 をクリックして .uf2 ファイルをダウンロードします。

ステップ 2. ファームウェアを Wio Terminal にアップロードする

Wio Terminal を PC に接続し、電源を入れます。Bootloader モードに入るには、電源スイッチを「ON」位置からさらに下にスライドし、リリースして再度スライドし、再びリリースします。

pir

note

Wio Terminal が Bootloader モードに入ると、青色 LED が点滅とは異なる方法で呼吸するようになります。

PC のファイルエクスプローラーを開くと、新しい外部ドライブが表示されます。このドライブは Arduino と名付けられています。先ほどダウンロードした .uf2 ファイル をこの Arduino ドライブ にドラッグします。

これで SenseCraft を Wio Terminal に正常にアップロードしました。

MQTTノードの作成

ステップ 1. Node-REDを起動する

ターミナルでコマンド node-red を入力してNode-REDを起動し、ブラウザを開いてアドレスバーに http://localhost:1880 を入力してNode-REDのエディタにアクセスします。

ステップ 2. MQTTノードを作成する

Network -> mqtt in ノードを使用し、前回のチュートリアルで説明したように、SenseCAP APIの形式でmqttを設定します。

  • サーバー: openstream.api.sensecap.seeed.cc

  • ポート: 1883

  • プロトコル: MQTT V3.1.1

  • クライアントID: フォーマットは org-<Organization ID>-<Random ID>

    • <Organization ID>: 組織ID。これはSenseCAP APIを取得するで取得済みです。
    • <Random ID>: ランダムに生成した数字または小文字の英字を使用します。
  • トピックフォーマット: /device_sensor_data/<OrgID>/<DeviceEUI>/<Channel>/<Reserved>/<MeasurementID>

OrgID組織ID。これはSenseCAP APIを取得する際に取得済みです。
DevEUIセンサー機器の一意の識別子。この情報はGrove - Wio E5の背面のステッカーやSenseCAPコンソールデバイスで確認できます。
Channelセンサーが接続されているデバイスの物理インターフェース。K1100キットの場合、デフォルト値は1です。
Reserved予約フィールド。
MeasurementID測定値ID。このIDはSenseCAPドキュメントのMeasurement IDsセクションで確認できます。

ステップ 3. MQTTノードを検証する

設定が完了したら、右上のDeployボタンをクリックして設定が成功したか確認してください。正しく入力されていれば、Connectedという単語が表示されます。

Microsoft Azure IoT Centralの設定

ステップ 1. Azure IoT Centralにログインする

公式のAzure IoT Centralウェブサイトにアクセスし、左側のナビゲーションメニューからBuildをクリックし、Custom appsを選択します。

まだAzure IoT Centralにログインしていない場合、この時点で登録/ログインを完了する必要があります。

ステップ 2. Application nameを入力し、Pricing planStandard 0を選択します。アプリケーション名を入力すると、アプリケーションURLが自動的に作成されます。この例では、最小限のコストでこのタスクを達成します。

note

Azure IoT Centralの新規ユーザーの場合、Freeを選択することをお勧めします。これにより料金が発生しません。

ステップ 3. Createをクリックして新しいアプリケーションを作成します。これでAzure IoT Centralのセットアップが完了しました!

ステップ 4. デバイステンプレートを作成する

左側のメニューバーでDevice templatesをクリックして新しいデバイステンプレートを作成してください。

テンプレートとしてWio Terminalを選択してください。

その後、Createをクリックします。

これで、準備済みのテンプレートが作成されます。

ステップ 5. デバイスを作成する

左側のメニューバーでDevices -> Seeed Wio Terminalをクリックします。

Newをクリックします。

Createボタンをクリックしてデバイスの作成を完了します。

デバイスを作成すると、Deviceの下に作成したデバイスが表示されます。デバイスをクリックして、左上のConnectボタンをクリックしてください。

ここで以下の情報が必要です。

ID scope
Device ID
Primary key

この情報をメモしておいてください。次のステップで使用します。

Node-RED の設定

ステップ 1. Azure IoT パレットをダウンロード

右上のメニューバーをクリックし、[Settings] を選択します。

[Paletts -> Install]node-red-contrib-azure-iot-central を検索してインストールします。

ステップ 2. Azure IoT Central ノードを設定

左側の機能バーから Azure IoT Central ノードをドラッグして配置し、ダブルクリックして設定ページを開きます。その後、編集ボタンをクリックして Azure IoT Central ノードを編集します。

設定は以下のように入力する必要があります:

  • Transport: MQTT
  • Authentication: SAS
  • Scope ID
  • Device ID
  • Primary Key

最後の 3 つは Microsoft Azure IoT Central の設定 で取得したものと同じです。

ステップ 3. Function ノードを設定

Azure IoT Central にデータを送信するには、特定のデータ形式に従う必要があります。そのため、データ形式を処理するための Function ノードを追加する必要があります。

左側の機能バーから Function ノードをドラッグして配置し、ダブルクリックして編集ページを開きます。その後、以下のコードを On Message にコピーします。

{
var payload = msg.payload;
var topic = msg.topic;
var strs = topic.split("/");
var length = strs.length
if(length>=2){
var measurementId = strs[length-1]
var body = {}
var value = payload.value
if(measurementId==4100){
body.co2 = value
}else if(measurementId==4103){
body.soilmoisture= value
}else if(measurementId==4150){
body.accelX= value
}else if(measurementId==4151){
body.accelY = value
}else if(measurementId==4152){
body.accelZ = value
}else if(measurementId==4192){
body.soundintensity = value
}else if(measurementId==4193){
body.lightIntensity = value
}else if(measurementId==4195){
body.tvoc = value
}else if(measurementId==4097){
body.airtemperature = value
}else if(measurementId==4098){
body.airhumidity = value
}else if(measurementId==4175){
body.AIdetection_1 = value
}else if(measurementId==4176){
body.AIdetection_2 = value
}else if(measurementId==4177){
body.AIdetection_3 = value
}else if(measurementId==4178){
body.AIdetection_4 = value
}else if(measurementId==4179){
body.AIdetection_5 = value
}else if(measurementId==4180){
body.AIdetection_6 = value
}else if(measurementId==4181){
body.AIdetection_7 = value
}else if(measurementId==4182){
body.AIdetection_8 = value
}else if(measurementId==4183){
body.AIdetection_9 = value
}else if(measurementId==4184){
body.AIdetection_10 = value
}
msg.payload = body;
}
return msg;
}

その後、すべてのノードを接続し、[Deploy] ボタンをクリックします。すべてが正しく設定されていれば、mqtt in ノードが接続されていることを示します。

データのログ情報を確認したい場合は、Function ノードの後に Debug ノードを追加することができます。

Wio Terminal が起動して動作を開始し、SenseCAP PaaS サーバーにデータを送信し始めると、Azure IoT Central 上でデータを確認することができます。

データ表示

しかし、センサーのタイプを設定していないため、Raw data 列に表示されるデータは Unmodeled data に配置されています。そのため、上記のコードに従ってデータを解析する必要があります。

template に表示されるテンプレートスタイルを変更する必要があります。

変更を加えたら、Save をクリックし、その後 Publish をクリックしてください。Device template のすべての変更は、この手順に従って保存および公開される必要があり、それによって初めて有効になります。

tip

ここでの Display name は、上記で提供された JavaScript コードの名前に従って入力してください。

もちろん、データダッシュボードページを充実させたい場合は、Overview に表示されるように設定することもできます。

左側のナビゲーションメニューで Overview をクリックします。

select a telemetry ドロップダウンメニューを展開し、可視化したいテレメトリを選択します。

Add tile をクリックすると、Azure IoT Central の Dashboard にタイルが追加されます。

注意: タイルのサイズ変更や表示形式の変更は、好みに応じて行うことができます。

次に、センサーデータ監視ダッシュボードをお好みに合わせてカスタマイズしてください!

トラブルシューティング

Q1: Node-RED でパレットが見つからないのはなぜですか?

A: 設定でパレットが見つからない場合、Node-RED を起動した際にターミナルにエラーメッセージが表示されていないか確認してください。

最も一般的なケースは、npm のバージョンが古すぎてパレットエディタを起動できない場合です。

上記のような状況の場合、管理者として Powershell を実行 し、以下のコマンドを入力して npm をアップグレードしてください。

npm install -g npm

その後、Node-RED を再起動してください。

技術サポート & 製品ディスカッション

弊社の製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。

Loading Comments...