メインコンテンツまでスキップ

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® を介して実現されます。

注記

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

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

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

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

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

pir

注記

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 planでStandard 0を選択します。アプリケーション名を入力すると、アプリケーションURLが自動的に作成されます。この例では、最小限のコストでこのタスクを達成します。

注記

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 のすべての変更は、この手順に従って保存および公開される必要があり、それによって初めて有効になります。

ヒント

ここでの 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...