Skip to main content

SenseCAP と Node-RED の使用方法

note

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

SenseCAP コンソールと Node-RED クイックスタート

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 気象ステーション

Node-RED は、ハードウェアデバイス、API、およびオンラインサービスを新しい興味深い方法で接続するためのプログラミングツールです。

ブラウザベースのエディターを提供しており、パレット内の幅広いノードを使用してフローを簡単に接続し、ワンクリックでランタイムにデプロイできます。

SenseCAP プラットフォームからさまざまな他の PaaS プラットフォームにデータを接続し、より深いデータ処理を行いやすくするために、SenseCAP & Node-RED に関する一連のチュートリアルを作成します。

このチュートリアルはシリーズの最初のもので、Node-RED のインストールと使用方法、および SenseCAP のバックエンド API を呼び出して Node-RED に接続する方法を説明します。

Node.js® のインストール

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

公式の Node.js ホームページ から最新の 14.x LTS バージョンをダウンロードしてください。システムに最適なバージョンが提供されます。

note

ダウンロードした MSI ファイルを実行してください。Node.js のインストールにはローカル管理者権限が必要です。管理者でない場合、インストール時に管理者パスワードを求められます。インストール時にはデフォルト設定を受け入れてください。インストールが完了したら、開いているコマンドプロンプトを閉じて再度開き、新しい環境変数が適用されるようにしてください。

プログラミング環境がインストールされていないコンピューターを使用している場合、Node.js のインストール中に必要なツールをインストールするチェックボックスをオンにすることをお勧めします。これにより、多くの手間を省くことができます。

Node-RED をインストールする最も簡単な方法は、Node のパッケージ管理ツール npm を使用することです。ただし、npm 1.x で Node-RED をインストールすることは推奨されません。代わりに最新の npm 2.x バージョンにアップグレードしてください。

note

Windows(Windows 10 以上が必要)では、Win+R ショートカットを使用してポップアップウィンドウに cmd と入力し、ターミナルを開いて以下のコマンドを実行してください。

MacOS または Linux を使用している場合は、ターミナルで以下のコマンドを実行し、非ルートユーザーの場合はコマンドの前に sudo を追加してください。

npm install -g [email protected]

インストール後、コマンドプロンプトを開き、以下のコマンドを実行して Node.js と npm が正しくインストールされていることを確認してください。

node --version && npm --version

以下のような出力が返されるはずです:

> v16.17.0
> 2.15.12

Node-RED のインストール

Node-RED をグローバルモジュールとしてインストールすると、システムパスに node-red コマンドが追加されます。コマンドプロンプトで以下を実行してください:

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

Node-RED がグローバル npm パッケージとしてインストールされている場合、以下のコマンドを直接実行してください:

node-red

これにより、Node-RED のログがターミナルに出力されます。Node-RED を実行し続けるには、ターミナルを開いたままにしておく必要があります。

これにより、http://localhost:1880 で Node-RED エディターを確認できます。

SenseCAP API を取得する

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

SenseCAP コンソール にログインします。ダッシュボードの上部にあるユーザー名の右側のドロップダウンバーで、組織情報を見つけて選択してください。

組織情報ページでは、組織 ID を確認できます。これを記録しておき、後の手順で使用します。

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

作成した API ID をクリックすると、Access API keys を取得できます。これを記録しておき、後の手順で使用します。

HTTP ノードを作成する

エディタウィンドウは以下の 4 つのコンポーネントで構成されています:

  • 上部のヘッダー:デプロイボタン、メインメニュー、ユーザー認証が有効な場合はユーザーメニューを含む。
  • 左側の パレット:使用可能なノードを含む。
  • 中央のメイン ワークスペース:フローを作成する場所。
  • 右側の サイドバー

上記のリンクをクリックして、それぞれのコンポーネントについて詳しく学んでください。

この例では、MQTT ノードを使用して SenseCAP から受信したセンサー値を表示する方法を説明します。その前に、今後使用するノードについて理解を深めましょう。

http ノード

http in ノード

http in ノードは、Web サービスを作成するために使用できます。

ノードをワークスペースにドラッグし、ノードをダブルクリックしてノードの設定ページにアクセスします。

ここで、作成した Web サービスの URL を設定する必要があります。これにより、http://localhost:1880/<URL> のアドレスを通じて作成した Web ページにアクセスできます。

http response ノード

http response ノードは、HTTP 入力ノードから受信したリクエストに対してレスポンスを返します。

通常、これを個別に設定する必要はなく、ワークベンチに直接ドラッグして使用します。

template ノード

テンプレートノードは、提供されたテンプレートに基づいてプロパティを設定できます。

このノードを使用して、簡単な HTML 言語を使用して Web ページの表示内容を設定します。

例えば、「Hello World!」を表示したい場合:

```html

Hello World!

```

最後に、http intemplate に接続し、templatehttp response に接続します。その後、右上の デプロイ ボタンをクリックすると、簡単な Web ページが作成されます。これが基本的な Node-RED の操作手順です。

この例では、センサーデータの URL を作成しました。デプロイ後、ブラウザのアドレスバーに http://localhost:1880/sensor_data を入力すると、作成したページにアクセスできます。

MQTT ノードを作成する

このセクションでは、MQTT ノードを使用して SenseCAP のデータ情報を取得する方法について説明します。

debug ノード

選択したメッセージプロパティをデバッグサイドバータブに表示し、オプションでランタイムログにも表示します。デフォルトでは msg.payload を表示しますが、任意のプロパティ、完全なメッセージ、または JSONata 式の結果を表示するように設定できます。

mqtt ノード

MQTT ブローカーに接続し、指定されたトピックからのメッセージを購読します。

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

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

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

  • サーバー: openstream.api.sensecap.seeed.cc
  • ポート: 1883
  • プロトコル: MQTT V3.1.1
  • クライアント ID: フォーマットは org-<Organization ID>-<Random ID>
    • <Organization ID>: 組織 ID。これは Get the SenseCAP API で取得済みです。
    • <Random ID>: ランダムに生成した数字または小文字の英字を使用します。

次に、Security オプションフィールドにユーザー名とパスワードを入力します。

  • ユーザー名: フォーマットは org-<Organization ID>
  • パスワード: Get the SenseCAP API で取得した Access API keys を入力します。

最後に、右上の Add ボタンをクリックして mqtt in ノードの設定ページに戻ります。

  • トピック: 特定のフォーマットでトピックを設定することで、受信するデバイスとデータタイプを決定します。

トピックフォーマット: /device_sensor_data/<OrgID>/<DeviceEUI>/<Channel>/<Reserved>/<MeasurementID>

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

このチュートリアルの内容は K1100 キットにのみ適用されます。そのため、LoraWAN Dev Kit 内の測定値 ID を参照し、他の ID を使用しないでください。

例えば、Wio Terminal が送信する光センサーのデータを取得したい場合、入力するトピック情報は以下のようになります。

/device_sensor_data/424324324324324/2CF7F1C043200002/1/+/4193
tip

<OrgID> フィールドは必須です。+ はこのフィールドにフィルターがなく、すべてに一致することを意味します。そのため、/ + / + / + / + はすべての <DeviceEUI>, <Channel>, <Reserved>, <MeasurementID> をリッスンします。

すべてのメッセージをリッスンしたい場合、トピックは以下のように設定します。

/device_sensor_data/424324324324324/+/+/+/+

ステップ 2. debug ノードを追加する

次に、debug ノードを追加して、すべてが正常に動作しているかどうかを確認しやすくします。

ステップ 3. Wio Terminal の電源を入れ、SenseCAP にデータ送信を開始する

Deploy ボタンをクリックし、すべてが正しく設定されていれば、mqtt in ノードが接続済みと表示されます。Wio Terminal の電源を入れて動作を開始し、SenseCAP にデータ送信を開始すると、デバッグウィンドウにデータが表示されます。

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

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

Loading Comments...