Skip to main content

Node-REDを介してS210XセンサーをMicrosoft Azure IoT Centralに接続する

SenseCAP S210Xは、ワイヤレスLoRaWAN®センサーのシリーズです。都市部では2km、見通しの良い環境では10kmの伝送範囲をカバーしながら、伝送プロセス中の消費電力を低く抑えることができます。最大10年間の使用をサポートする交換可能なバッテリーと、産業用IP66エンクロージャーを備えています。-40 ~ 85℃の動作温度をサポートし、過酷な環境での展開が可能です。SenseCAP S210XはLoRaWAN® V1.0.3プロトコルに対応し、LoRaWAN®ゲートウェイと連携できます。ユーザーはデバイスを設置し、QRコードを使用してバインドし、ネットワークを設定することで、HTTPやMQTTなどの人気のあるIoTプロトコルをサポートするSenseCAPポータルからデータを確認できます。

pir

このチュートリアルでは、Node-REDを介してS210XシリーズセンサーをMicrosoft Azure IoT Centralに接続する方法を紹介します。

SenseCAP & Node-RED

この章は、シリーズの最初の章として、Node-redのインストールと使用方法、およびSenseCAP APIを呼び出してNode-REDに接続する方法について説明します。

この章は、ユーザーがSenseCAPプラットフォームからのデータを他の様々なPaaSプラットフォームに接続し、より詳細なデータ処理を行うことを容易にするためのものです。

Node-RED

Node-REDは、ハードウェアデバイス、API、オンラインサービスを新しく興味深い方法で結び付けるためのプログラミングツールです。パレット内の幅広いノードを使用してフローを簡単に結び付けることができるブラウザベースのエディターを提供し、ワンクリックでランタイムにデプロイできます。

pir

Node.Jsのインストール

Node-REDをローカルにインストールするには、サポートされているバージョンのNode.jsが必要です。

Node-REDは現在Node 14.x LTSを推奨しています。

npmを使用したNode-REDのインストール

Node-REDをインストールするには、node.jsに付属するnpmコマンドを使用できます:

sudo npm install -g --unsafe-perm node-red
Note

Windowsを使用している場合は、コマンドを「sudo」で開始しないでください。

このコマンドは、Node-REDを依存関係と共にグローバルモジュールとしてインストールします。 グローバルモジュールとしてインストールされると、このコマンドを使用してターミナルでNode-REDを開始できます。

node-red

IMG_258

その後、ブラウザで http://localhost:1880 にアクセスすることで、Node-REDエディタにアクセスできます。

SenseCAP APIの取得

このセクションに進む前に、SenseCAP コンソールでS210xデバイスをバインドしていることを確認してください。

SenseCAP コンソールにログインします。ダッシュボード上部のユーザー名の右側にあるドロップダウンバーで、Organization Informationを見つけることができます。これを選択してOrganization IDを取得してください。

IMG_259

次に、SenseCAP用のAPIキーも取得する必要があります。ダッシュボードの左側にあるSecurity -> Access API keysをクリックしてください。その後、Access Keyを作成します。

IMG_260

作成したAPI IDをクリックすると、Access API keysが取得できます。これとOrganization IDをコピーしてください。後の手順で使用します。

IMG_261

Node-RED設定

IMG_262

  • ステップ 1. 新しいmqtt-brokerノードを追加

mqtt inノードをドラッグし、ダブルクリックして設定ページに入り、Add new mqtt-brokerの後にある編集ボタンをクリックします。

IMG_263

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

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

Port:1883

Protocol: MQTT V3.1.1

クライアント ID フォーマット:org-"組織 ID" "ランダム ID"

Organization ID: あなたのOrganization informationから取得

Random ID: 自分で生成したランダムな数字と小文字を使用。

例:org-43243***23-test

IMG_264

次に、SecurityオプションフィールドにUsernameとPasswordを入力します:

Username: org-"Organization ID"

Organization ID: あなたの組織ID。これは以前に取得しました

Password: 以前に取得したAccess API keysを入力します。 IMG_265

Topicを追加

Topic: 特定の形式でトピックを設定することで、受信するデバイスの種類とデータタイプが決まります。

トピック形式: /device_sensor_data/"OrgID"/"DeviceEUI"/"Channel"/"Reserved"/"MeasurementID"

OrgID組織情報でIDを確認できます
DeviceEUIデバイスの基本プロパティまたはデバイスラベルでEUIを確認できます
Channelセンサーに接続するデバイス上の物理インターフェース、デフォルト:1
Reserved予約フィールド
MeasurementIDmeasurement_list
Note

"+"は、このフィールドにフィルター条件がなく、すべてにマッチできることを示します。"/+/+/+/+"は、すべての"DeviceEUI"、"Channel"、"Reserved"、"MeasurementID"をリッスンすることを意味します

例:/device_sensor_data/424988****44/2CF7F***0002/+/+/+

このトピックは、現在のデバイスのすべてのリモートセンシングデータを受信することを意味します。

IMG_266

  • ステップ2. デバッグノードを追加

debugノードをドラッグし、mqtt-inノードに接続してから、Deployをクリックします

デプロイが成功すると、mqtt inビルディングブロックの下に"Connected"が表示されます。データレポート間隔は接続したセンサーによって決まります。データを受信すると、右側のデバッグウィンドウに生データが表示されます。IMG_267

SenseCAP & Node-RED & Azure IoT Central

Microsoft Azure IoT Centralは、IoTアセットを大規模に接続、監視、管理することを容易にする、完全に管理されたグローバルIoT SaaS(サービスとしてのソフトウェア)ソリューションです。高度にセキュアで、ビジネスの成長に合わせてスケールし、投資の再現性を確保し、既存のビジネスアプリケーションと統合します。また、ビジネスアプリケーションとIoTデータの間のギャップを埋めます。最後に、デバイスの再構成と更新のための集中管理を提供します。

この章の内容では、前述のNode-REDを引き続き使用し、Node-REDの使用を通じてMicrosoft Azure IoT CentralでS210Xセンサースイートの管理を促進します。

Microsoft Azure IoT Central設定

  • ステップ1. Azure IoT Centralにログイン。

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

  • ステップ2. Application nameを入力し、Pricing planを選択します。アプリケーション名を入力すると、Application URLが自動的に作成されます。

IMG_269

注意:Azure IoT Centralの新規ユーザーの場合、料金が発生しないため、Freeを選択することをお勧めします。

IMG_270

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

IMG_271

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

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

IMG_272

デバイステンプレートに名前を付けて、createをクリックします

IMG_273

IMG_274

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

左側のメニューバーのDevices -> S2103をクリックします。IMG_275

IMG_276

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

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

IMG_277

Node-RED設定

  • ステップ1. Azure IoT Palettsをインストール

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

Paletts - Installで"node-red-contrib-azure-iot-central"を検索してインストールしますIMG_279

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

左側のfunctionバーからAzure IoT Centralノードをドラッグし、ダブルクリックして設定ページに入り、編集ボタンをクリックしてAzure IoT Centralノードを編集します

IMG_280

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

Transport: MQTT

Authentication: SAS

Scope ID/Device ID/Primary Key: 以前に取得しました

IMG_281

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

Azure IoT Centralへのデータレポートは特定のデータ形式に従う必要があるため、データ形式を処理するためのfunctionビルディングブロックを追加する必要があります。

左側のfunctionバーからfunctionノードをドラッグし、ダブルクリックして編集ページに入り、On Messageにコードをコピーします。

IMG_282

Code:

{
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 == 4097) {
body.AirTemperature = value
} else if (measurementId == 4098) {
body.AirHumidity = value
} else if (measurementId == 4100) {
body.CO2 = value
}
msg.payload = body;
}
return msg;
}

データのログ情報を確認したい場合は、functionノードの後にdebugノードを追加できます。

IMG_283

S210Xセンサーが電源を入れて動作を開始し、SenseCAP PaaSサーバーにデータを送信し始めると、Azure IoT Centralでデータを確認できます。

データ表示

Raw data列に表示されるデータはUnmodeled dataに配置されているため、上記のコードに従ってデータを解析する必要があります。

必要な機能を追加し、saveをクリックしてpublishします

IMG_284

IMG_285

これで、センサーによってアップロードされた生データを明確に確認できます。IMG_286

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

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

IMG_287

starts with devicesドロップダウンメニューを展開し、視覚化したいテレメトリを選択します。

IMG_288

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

IMG_289

それでは次に、お好みに合わせてセンサーデータ監視ダッシュボードをカスタマイズしましょう!

変更を完了したら、saveをクリックしてpublishします

IMG_290

IMG_291

カスタムダッシュボードを通じてセンサーデータを表示できるようになりました!IMG_292

Loading Comments...