Skip to main content

SenseCAP & Node-RED を使用して Twilio に接続

note

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

Node-RED を介して SenseCAP を Twilio に接続

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

Twilio

Twilioは、世界中の数十万の企業と1,000万人以上の開発者が、顧客向けにユニークでパーソナライズされた体験を構築するために使用している顧客エンゲージメントプラットフォームです。

Twilioは、音声、テキスト、チャット、ビデオ、メールなどのチャネルをAPIを通じて民主化し、あらゆる組織が顧客が好むチャネルで意味のあるやり取りを簡単に構築できるようにしています。

pir

このセクションでは、SenseCAP K1100キット、SenseCAPコンソール、Node-REDを使用して、特定の条件下でTwilioメッセージプッシュをトリガーするタスクを完了します。

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

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という単語が表示されます。

Twilioの設定

ステップ 1. Twilioに登録またはログイン

すでにTwilioに登録している場合は、Twilioのウェブサイトでログインしてください。

Twilioを使用していない、または登録していない場合は、こちらで登録を完了し、ログインしてください。

ステップ 2. 必要な情報を取得

登録時に検証した携帯電話にSMSメッセージを送信する無料サービスを試すことができます。

メイン画面でGet a trial phone numberをクリックしてください。

Twilioは自動的にTwilioの電話番号を生成します。

メイン画面の下部にあるAccount Infoセクションで、Twilioとの接続を構築するために必要な情報を確認できます。

Account SIDAuth Token、およびMy Twilio phone numberをメモしてください。これらは後でNode-REDで使用します。

Node-REDの設定

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

右上のメニューバーをクリックし、設定を選択します。

Paletts -> Installnode-red-node-twilioを検索してインストールします。

左側のストレージバーからtwilio outを追加し、ダブルクリックして設定ページに入り、twilio outノードを編集するために編集ボタンをクリックします。

ステップ 2. twilio outノードを編集

Twilioの設定で取得した情報を対応するフィールドに入力してください。その後、右上のAddボタンをクリックします。

次に、Twilioに登録した携帯電話番号を入力してください。

note

ここに入力する携帯電話番号には、「+国コード」のプレフィックスを追加する必要があります。

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

SMSの内容は関数ブロックで定義できます。トリガー条件は、PaaSプラットフォームが報告するデータが特定のルールをトリガーする場合など、関数ブロック内でカスタマイズ可能です。

左側の関数バーから関数ノードをドラッグし、ダブルクリックして編集ページに入り、コードを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 value = payload.value
if (measurementId == 4100) {
msg.payload = "CO2:" + value
} else if (measurementId == 4103) {
msg.payload = "soilmoisture:" + value
} else if (measurementId == 4150) {
msg.payload = "accelX:" + value
} else if (measurementId == 4151) {
msg.payload = "accelY:" + value
} else if (measurementId == 4152) {
msg.payload = "accelZ:" + value
} else if (measurementId == 4192) {
msg.payload = "sound:" + value
} else if (measurementId == 4193) {
msg.payload = "light:" + value
} else if (measurementId == 4195) {
msg.payload = "tvoc:" + value
} else if (measurementId == 4097) {
msg.payload = "temperature:" + value
} else if (measurementId == 4098) {
msg.payload = "humidity:" + value
} else if (measurementId == 4175) {
msg.payload = "AIdetection_1:" + value
} else if (measurementId == 4176) {
msg.payload = "AIdetection_2:" + value
} else if (measurementId == 4177) {
msg.payload = "AIdetection_3:" + value
} else if (measurementId == 4178) {
msg.payload = "AIdetection_4:" + value
} else if (measurementId == 4179) {
msg.payload = "AIdetection_5:" + value
} else if (measurementId == 4180) {
msg.payload = "AIdetection_6:" + value
} else if (measurementId == 4181) {
msg.payload = "AIdetection_7:" + value
} else if (measurementId == 4182) {
msg.payload = "AIdetection_8:" + value
} else if (measurementId == 4183) {
msg.payload = "AIdetection_9:" + value
} else if (measurementId == 4184) {
msg.payload = "AIdetection_10:" + value
}
}
return msg;
}
note

アカウント残高に注意してください。上記のコードは5分ごとに異なるセンサーのSMSを送信します。このコードを直接使用すると、残高が急速に減少する可能性があります!特定のセンサーに対してプログラムを作成し、すべてのセンサー値を一度に送信するのではなく、必要なセンサー値のみを送信することをお勧めします。

ステップ 4. デプロイ

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

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

Wio Terminal が起動して動作を開始し、データを SenseCAP PaaS サーバーに送信し始めると、Node-RED のデバッグログでデータを確認することができます。

すべてが正常に動作していれば、Twilio からセンサーのデータ値を含むテキストメッセージを受け取ることができます。

トラブルシューティング

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

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

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

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

npm install -g npm

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

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

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

Loading Comments...