IBM Bluemixプラットフォーム上のリモートサーバーを監視するためのIoTアプリケーションを作成する簡単な方法





モノのインターネットは、ITプロフェッショナルだけでなく、一般の人々にも馴染みつつあります。 システム「Smart Home」、「Smart Home Appliances and Lighting Systems」-これらはすべて、すでに少数の人々を驚かせています。 生産および通信において、このテクノロジーは非常に便利です。なぜなら、リアルタイムでデータを読み取り、リモートシステムで作業できるからです。 IoTは、ビジネス、農業、科学、ヘルスケアの分野で徐々にその位置を見つけています。



IoTアプリケーションの作成は、思っているほど難しくありません。 この記事では、リモートサーバーを監視したり、分散ネットワークを管理したりするためのデモアプリケーションを作成して、IBM Bluemixワークスペースをカスタマイズする方法について説明します。



開始するにはどのテクノロジーが必要ですか?





アプリケーション自体はpingGoと呼ばれ、この名前でマテリアルに表示されます。



作成されたアプリケーションの主な機能は、ネットワークとマシンのポートを監視することにより、マシンの状態を監視することです。 マシンがクラッシュした場合、アプリケーションはSMSメッセージでこれをオペレーター/ユーザーに通知します。 このタイプのアプリケーションは、サーバーまたは分散コンピューターネットワークをリモートで制御する必要がある幅広い技術者、データセンターオペレーター、エンジニアにとって非常に役立ちます。 アプリケーションがデモであること、つまりシステムの機能を示していることを忘れてはなりません。



Node-REDに基づいてBluemixプラットフォーム用のアプリケーションを作成します



1. Bluemixアカウントを使用してログインするか、登録して無料アカウントを作成します。 開発スペースが作成されていることを確認してください。







2.プロファイルページを開き、アクティブリージョンが正しく構成されていることを確認します。 既存のBluemixリージョンのいずれかに独自のアプリケーションをデプロイする必要がありますが、リージョンの選択は実際には重要ではありません。 デモでは、ヨーロッパとイギリスの地域を選択しました。







3.カタログでNode-RED Starterサービスを検索して選択します。

4.ホスト名を自動的に指定するアプリケーションの一意の名前を入力し、[作成]をクリックします。 次のメッセージが表示されるのを待っています:アプリが実行中です。 YourAppName.eu-gb.mybluemix.net。 次の形式のエラーメッセージを受け取った場合:エラー:サーバーへの接続が失われました。HTTPS接続を使用していることを確認する必要があります。 同時に、URLはpinggo.eu-gb.mybluemix.net/redのようになります。



2ノードアプリケーションを作成する



それでは、簡単な2ノードアプリケーションを作成して、Node-REDを使いましょう。



1. BluemixアプリケーションのURLリンクを開き、「Node-REDフローエディターに移動」をクリックします。 ストリームエディタでは、画面の中央に空白のシートが表示され、左側のパレットに使用可能なノードがいくつか表示されます。

2.パレット([入力]セクション)で[注入]ノードを見つけます。 空白のシートにドラッグします。 このノードには、接続されているノードに現在のタイムスタンプを送信するボタンがあります。

3.パレット([出力]セクション)で[デバッグ]ノードを見つけます。 ドラッグして、Injectノードの隣に配置します。 このノードを使用すると、アプリケーションの[デバッグ]タブで受信メッセージを確認できます。

4. Injectノードの出力ポートをDebugノードの入力ポートに関連付けます。 Injectノードのタイムスタンプを持つメッセージは、Debugノードにルーティングされます。 同時に、デバッグノードのテキストmsg.payload(タイムスタンプ)が[デバッグ]タブに表示されます(注入ノードの右側の灰色の四角形をクリックしてこれら2つのノードをリンクし、ボタンを離さずに、デバッグノードの左側の灰色の四角形にカーソルを移動します)

5.ページの右上隅にある「デプロイ」ボタンをクリックして、Node-REDストリームを展開します。

Injectノードの左側にあるボタンをクリックします。



下の図に示すように、押した瞬間のタイムスタンプが[デバッグ]タブに表示されます。







パレットにカスタムノードを追加する



この段階で、Pingノードをパレットに追加します。 カスタムノードを追加するには、package.jsonという名前のJSONファイルを編集します。



1. Bluemixダッシュボードに戻ります。

2.左側のナビゲーションペインで、[ファイル]ページを開きます。

3. app / package.jsonファイルを参照します。



次のリストのファイルに似たファイルが表示されます。



{ «name»: «node-red-bluemix», «version»: «0.4.22», «dependencies»: { «when»: "~3.x", «mongodb»: "~1.4.x", «nano»: "~5.11.0", «cfenv»:"~1.0.0", «feedparser»:"~0.19.2", «redis»:"~0.10.1", «node-red»: «0.x», «node-red-bluemix-nodes»:«0.x», «node-red-node-cf-cloudant»:«0.x», «node-red-contrib-scx-ibmiotapp»:«0.x», «node-red-contrib-ibmpush»:«0.x», «node-red-contrib-bluemix-hdfs»:«0.x», «node-red-nodes-cf-sqldb-dashdb»:«0.x» }, «engines»: { «node»: «0.10.x» } }
      
      





4.アプリケーションファイルを変更します。 app / package.jsonファイルを編集し、このファイルの依存関係セクションの必須パッケージのリストに「node-red-node-ping」:「0.0.6」エントリを追加する必要があります。



アプリケーションファイルを変更するには、2つの方法があります。 アプリケーションをダウンロードし、ファイルをローカルで編集してから、変更をBluemix環境に戻すことができます。 IBM DevOpsServicesサービスを使用して、Webブラウザーから直接変更を編集およびデプロイすることもできます。



アプリケーションファイルをローカルでダウンロードして編集するには、Bluemixツールバーの[コーディング開始]ページの指示に従います。 このページでは、CloudFoundryコマンドラインインターフェイスを使用してアプリケーションをデプロイする手順を説明します。



IBM DevOpsサービスを使用するには、 このチュートリアルの指示に従ってください 。 Gitとの統合を構成する方法、環境に加えられた変更を転送する方法、ワークスペースに展開する方法について説明します。



ただし、package.jsonファイルを編集する方法を選択した場合、新しいファイルは次のようになります。







5.ストリームエディターに戻ります。

6.ストリームエディターを更新すると、パレットの下部に新しいPingノードが表示されます。



Pingノードをストリームに追加します。







1. Pingノードをストリームエディターのシートにドラッグします。

2.このノードをダブルクリックして、構成を編集します。 [ターゲット]フィールドに、監視するマシンのIPアドレスを入力します。 このノードの短い説明的な名前(pingmyServerなど)を指定します。 その後、「OK」をクリックします。

3. Pingノードの出力を確認します。このため、この出力にデバッグノードを接続する必要があります。







4.現在定義されているノードでNode-REDアプリケーションをデプロイします。 デバッグメッセージは、上の図の右ペインの[デバッグ]タブに表示されます。



ping応答の確認







ping要求が正常に渡された場合、Pingノードはその経過時間をmsg.payloadプロパティに返します。 5秒以内にサーバーから応答が受信されない場合、このノードはfalseを返します。 msg.payload値を確認するようにFunctionノードを構成できます。



1.パレットで関数セクションを見つけ、シート上のPingノードの近くに関数ノードをドラッグします。

2. Pingノードの出力をFunctionノードの入力に接続します。

3.このノードをダブルクリックして編集します。 [名前]フィールドに次のテキストを入力します:is Alive?..



機能ブロックで、次のコードを追加します。



 msg.tripTime = msg.payload; msg.payload = msg.payload !== false? «Your server is running»: «Your server is down»; return msg;
      
      





4. [OK]をクリックして、ダイアログを編集します。



Functionノードは、5秒以内に応答を受信した場合は「Yourserverisrunning」(サーバーが機能している)というテキストを含む行を作成します。

5.ほとんどの場合、20秒ごとに新しいSMSメッセージを受信する必要はないため、例外処理ノードをアプリケーションのストリームに追加します。



a。 ReportbyExceptionノードをシートにドラッグします。

b。 このノードをダブルクリックして、blockunlessvaluechangesオプションを選択します。



現在、msg.payloadプロパティが前のメッセージの同じプロパティと異なるまで、メッセージは到着しません。

c。 このノードの「名前」フィールドに、キーボードからsendonceと入力します。

d。 OKをクリックします。



Twilioを使用してSMSアラートを送信する



この段階では、ほとんどすべての準備が整いました。Twilioノードをアプリケーションストリームに追加するだけです。



1.作成したTwilioアカウントのTwilio番号と資格情報を書き留めます。

a。 Twilioメッセージングページを開きます。

b ... GetyourfirstTwilioNumberをクリックします。 このSMS送信者番号を覚えておいてください。 たとえば、テキストファイルにコピーできます。

c。 ChoosethisNumberをクリックします。

d。 Twilioメッセージングページで、Show API Credentialsという小さなリンクを見つけてクリックします。 アカウントのSIDと認証トークンを覚えておいてください。 たとえば、テキストファイルにコピーします。



2.ストリームエディターに戻ります。

3.パレットの[出力]セクションでTwilioノードを見つけて、シートにドラッグします。

4. Twilioノードをダブルクリックして、設定を構成します。



a。 [サービス]フィールドで、[ExternalService]を選択します。

b。 編集アイコンをクリックして、「Addnewtwilio-apiconfignode」ダイアログボックスを開きます。

c。 このダイアログボックスで、アカウントのSID、SMS送信者の電話番号、およびTwilioメッセージングページからコピーした認証トークンを入力します。

d。 [追加]をクリックして、[編集]ダイアログボックスに戻ります。

e。 [SMS]フィールドに、携帯電話番号(SMS受信者の携帯電話番号)を入力します。



5.「名前」フィールドに、「管理者へのSMSアラート」と入力し、「OK」をクリックします。

6.ストリームエディターで[展開]をクリックします。







Node-REDアプリケーションのデプロイ



ストリームエディターで[展開]をクリックします。 すべて準備完了です。 これで、アプリケーションを展開して使用し、コンピューターまたはネットワークを監視できます。 アプリケーションのユーザーとして、標準ノードとユーザーノードを単一のストリームにリンクし、携帯電話をSMS通知として示しました。



All Articles