SenseCAP と Node-RED の使用方法
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
SenseCAP コンソールと Node-RED クイックスタート
SenseCAP K1100 - センサープロトタイプキット は、Seeed Studio が LoRa® 通信技術とエッジインテリジェンス製品のエッセンスを凝縮し、LoRa® と IoT アプリケーションを最も簡単に展開し習得できるように設計されています。

産業用センサーへのアップグレード可能
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 バージョンをダウンロードしてください。システムに最適なバージョンが提供されます。

ダウンロードした MSI ファイルを実行してください。Node.js のインストールにはローカル管理者権限が必要です。管理者でない場合、インストール時に管理者パスワードを求められます。インストール時にはデフォルト設定を受け入れてください。インストールが完了したら、開いているコマンドプロンプトを閉じて再度開き、新しい環境変数が適用されるようにしてください。
プログラミング環境がインストールされていないコンピューターを使用している場合、Node.js のインストール中に必要なツールをインストールするチェックボックスをオンにすることをお勧めします。これにより、多くの手間を省くことができます。

Node-RED をインストールする最も簡単な方法は、Node のパッケージ管理ツール npm を使用することです。ただし、npm 1.x で Node-RED をインストールすることは推奨されません。代わりに最新の npm 2.x バージョンにアップグレードしてください。
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!」を表示したい場合:
Hello World!
```最後に、http in を template に接続し、template を http 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>
<Organization ID>
: 組織 ID。これは Get the SenseCAP API で取得済みです。
- パスワード: 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 セクションで確認できます。 |
このチュートリアルの内容は K1100 キットにのみ適用されます。そのため、LoraWAN Dev Kit 内の測定値 ID を参照し、他の ID を使用しないでください。

例えば、Wio Terminal が送信する光センサーのデータを取得したい場合、入力するトピック情報は以下のようになります。
/device_sensor_data/424324324324324/2CF7F1C043200002/1/+/4193
<OrgID>
フィールドは必須です。+
はこのフィールドにフィルターがなく、すべてに一致することを意味します。そのため、/ + / + / + / +
はすべての <DeviceEUI>
, <Channel>
, <Reserved>
, <MeasurementID>
をリッスンします。
すべてのメッセージをリッスンしたい場合、トピックは以下のように設定します。
/device_sensor_data/424324324324324/+/+/+/+

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

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

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