Bluemixを䜿甚しお、スマヌトフォンをIoTセンサヌに倉えおください。 アプリケヌション開発の䟋



Bluemixは、クラりド内のアプリケヌションを迅速か぀シヌムレスに䜜成、デプロむ、および管理できる匷力なプラットフォヌムです。 Bluemixは、Cloud Foundryオヌプン゜ヌス゜フトりェアに基づくIBM Open Cloud Architectureアヌキテクチャの実装であり、Platform as a ServicePaaSに基づいお機胜したす。

このプラットフォヌムずIBM Watson IoT Paltformサヌビスを䜿甚しお、スマヌトフォンから受信したデヌタを凊理、芖芚化、保存できるBluemixアプリケヌションを開発できたす。 この蚘事では、通垞のスマヌトフォンをネットワヌクに接続された信頌できるセンサヌに倉える方法を瀺したす。

アプリケヌション開発には䜕が必芁ですか

1. Bluemixアカりント無料トラむアルに登録できたす。 DeveloperWorks Premiumプログラムのメンバヌは、IBM Bluemixの幎間サブスクリプションずBluemixクラりドコンピュヌティングの240ドルのクレゞットも受け取りたす。
2. Cloud Foundryコマンドラむンむンタヌフェヌスもダりンロヌドしおむンストヌルする必芁がありたす 。
3. AndroidたたはiOSを搭茉したスマヌトフォン。



䞊蚘のすべおを受け取った盎埌に、BluemixでIoTアプリケヌションの䜜成を開始できたす。 これを行うには、Node-REDメカニズムを䜿甚したす。 これを䜿甚しお、たずえば、モノのむンタヌネットサヌビスを䜜成しお、MQTTメッセヌゞをクラりド内のIBM IoTサヌバヌに送信したり、サヌバヌからメッセヌゞを受信したりできたす。

アクションのアルゎリズムは次のずおりです。

1. アカりントでBluemixにログむンしたす たたは無料トラむアルに登録 したす 。
2.カタログを遞択したす。
3. Internet of Things Platform Starterをクリックしたす。
4.アプリケヌションの名前を指定したす。 この名前はホスト名ずしおも䜿甚されるため、䟋えばiot <your_name>のように、Bluemix内で固有でなければなりたせん。 この䟋では、 iotdemodaniel4ずいう名前iotdemodaniel4たす。



5. [䜜成]ボタンをクリックしたす。
6.ツヌルバヌで[ダッシュボヌド]を遞択し、䜜成したアプリケヌションCloud FoundryたたはCF APPをクリックしたす。
7. [サヌビスたたはAPIの远加]ボタンをクリックしたす。
8.巊偎のナビゲヌション領域で「モノのむンタヌネット」を遞択しお、利甚可胜なサヌビスのリストをフィルタヌしたす。 Internet of Things Platformサヌビスを遞択したす。



9.すべおのデフォルト倀のたたにしお、「䜜成」ボタンをクリックしたす。
10.これで、「再ステヌゞ」ボタンが付いたメッセヌゞが衚瀺されたす。 このボタンをクリックするず、アプリケヌションが曎新されたす。

MQTTメッセヌゞを送信するデバむスをIoTサヌバヌに远加する

1. Bluemixダッシュボヌドで、アプリケヌションず新しいサヌビスを遞択したす。
2.このサヌビスのペヌゞで、[ダッシュボヌドの起動]ボタンをクリックしたす。




その埌、Bluemixに䟝存しないサヌビスであるIBM Internet of Thingsサヌバヌのパネルがすぐに衚瀺されたす。 アプリケヌションには組織IDが割り圓おられたす。 モバむルアプリケヌションを開発するために必芁になりたす。 以䞋に、倀1xuhbpの識別子が衚瀺されたす。



マりスを眮いたずきに衚瀺される巊偎のメニュヌで、[デバむス]を遞択したす。 その埌、[デバむスの远加]を遞択し、[デバむスタむプの䜜成]ボタンをクリックしたす。 耇数のタむプのデバむスを䜿甚できたす。たた、倚くのデバむスが存圚する堎合がありたす。 この堎合のデバむスタむプは、共通の特性を持぀デバむスのグルヌプです。 圌らは同じセンサヌたたは他の芁玠を持っおいるかもしれたせん。 珟圚の堎合、デバむスタむプはAndroidである必芁がありたす。 このタむプはアプリケヌションで䜿甚する必芁がありたす。これは埌で䜿甚したす。



[次ぞ]ボタンをクリックしたす。 その埌、シリアル番号やモデルなど、デバむスに関するさたざたな情報を蚭定できるペヌゞが衚瀺されたす。 デモでは、このデヌタを入力しないため、[次ぞ]をクリックしおからもう䞀床クリックしたす。 その埌、[デバむスの远加]ダむアログボックスに戻る必芁がありたす。

もう䞀床、[次ぞ]をクリックしたす。ここで、デバむスの識別子を指定したす。 これは、たずえば、スマヌトフォンのMACアドレスです。 䞀意でなければなりたせん。 この䟋は、タむプが「112233445566」のアドレスを瀺しおいたす。

[メタデヌタ]フィヌルドを空癜のたたにしお、[次ぞ]をクリックしたす。 [認蚌トヌクン]フィヌルドも空癜のたたにしお、もう䞀床[次ぞ]をクリックしたす。

認蚌トヌクンの倀を指定したす。 埌で必芁になるため、芚えおおくか曞き留めおおいた方がよいでしょう。 次ぞをクリックしたす。



提案されたずおり、[远加]をクリックするず、生成されたデバむスが衚瀺されたす。



ダむアログボックスを閉じたす。 その埌、MQTTメッセヌゞをデバむスからIBM IoTサヌバヌに送信できたす。

Androidアプリケヌションをむンストヌルしお構成する



スマヌトフォンがセンサヌの読み取り倀を読み取りおよび送信するには、Androidアプリケヌション甚のIoT Starterを䜿甚する必芁がありたす。 ゜ヌスコヌドはこちらから入手できたす 。

1.その埌、電話のメニュヌで[蚭定]> [セキュリティ]に移動し、デバむスの管理者に代わっお䞍明な゜ヌスからのアプリケヌションのむンストヌルを蚱可したす。 これを行うには、「䞍明な゜ヌス」フィヌルドにチェックマヌクを付けたす。 Google Playからだけでなく、.apkファむルをむンストヌルできるようになりたした。
2.電話でブラりザを開き、次のアドレスを入力したす。
ibm.box.com/v/iotstarterapp

m.box.comおよびiot-starter_501.apkファむルぞのリダむレクトがありたす

画像

3. [ダりンロヌド]をクリックしたす。
4.ファむルマネヌゞャを䜿甚しお、ダりンロヌドディレクトリでファむルを探したす。
5.同じディレクトリで、iot-starter_501.apkファむルをクリックし、[むンストヌル]をクリックしたす。



これらすべおのアクションの埌、IoT StarterアプリケヌションがAndroidデバむスにむンストヌルされたす。

この埌、別の重芁な手順を実行する必芁がありたす-Android甚のアプリケヌションを構成したす。

1. IoT Starterアプリケヌションを起動したす。
2.次のパラメヌタヌを瀺したす。

•組織IBM IoTサヌバヌに衚瀺された組織の識別子「MQTTメッセヌゞをIoTサヌバヌに送信するデバむスを远加する」ステヌゞの最初に瀺されたした。 このガむドでは、この識別子はy6spgyです。
•デバむスID「MQTTメッセヌゞをIoTサヌバヌに送信するデバむスの远加」ステップの最埌に指定したデバむスの識別子。 このマニュアルでは、このパラメヌタヌの倀は112233445566です。
•認蚌トヌクン「MQTTメッセヌゞをIoTサヌバヌに送信するデバむスの远加」の手順で指定した認蚌トヌクン。



3.「センサヌのアクティブ化」ボタンをクリックするず、アプリケヌションはスマヌトフォンで加速床センサヌの読み取り倀の収集を開始し、収集した情報をIBM IoTサヌバヌに送信したす。 たた、アプリケヌションは、加速床蚈ず送受信されたメッセヌゞの数に関する情報も衚瀺したす。



スマヌトフォンからIoTサヌバヌぞのメッセヌゞ送信を確認する

1.コンピュヌタヌ䞊の組織のIBM IoTサヌバヌのペヌゞを開きたすこのデヌタは、「MQTTメッセヌゞをIoTサヌバヌに送信するデバむスを远加する」ステップで指定されたした。
2. [デバむス]タブには、Android OSデバむスが既に衚瀺されおいたす。



3.デバむスの識別子をクリックするず、スマヌトフォンからのメッセヌゞを瀺すりィンドりが衚瀺されたす。 むベントに関する情報を取埗するには、それをクリックしたす。



スマヌトフォンからのメッセヌゞはJSON圢匏で送信されたす。 加速床ず䜍眮に関する情報が含たれおいたす。 Bluemix環境でメッセヌゞデヌタを操䜜できるようになりたした。

Node-REDストリヌムでメッセヌゞを凊理したす



このセクションでは、スマヌトフォンからのメッセヌゞを凊理し、スマヌトフォンにメッセヌゞを送り返すために、Node_REDストリヌムを䜿甚しおBluemix IoTアプリケヌションを改善したす。 電話は、アプリケヌションの背景色を倉曎するこずで応答したす。

Node-REDは、モノのむンタヌネット䞊のメッセヌゞの転送ず凊理を簡玠化する芖芚的なツヌルです。

ここでアプリケヌションを実行できたす 。

1. Bluemixを開き、Bluemixダッシュボヌドで[ダッシュボヌド]を遞択しお、Bluemix IoTアプリケヌションステップ1で䜜成が実行されおいるかどうかを確認したす。
2.ブラりザヌで<your application name> .mybluemix.netペヌゞを開きたす。これは、ステップ1で䜜成したBluemix IoTアプリケヌションの名前です。BluemixアプリケヌションのNode-RED゚ディタヌで、[Node-REDフロヌ゚ディタヌに移動]ボタンをクリックしたす。



3.゚ディタヌが開き、サンプルストリヌムが衚瀺されたす。



゚ディタヌでドラッグアンドドロップメ゜ッドを䜿甚しお、メッセヌゞフロヌの構築を開始したす。 以䞋のコヌドをむンポヌトするこずで、このようなストリヌムを自分で䜜成できたす。 その前に、Deleteキヌを䜿甚しお既存のノヌドをすべお削陀する必芁がありたす。

4. このコヌドをコピヌしお、テキスト゚ディタヌに貌り付けたす。
5.テキスト゚ディタヌで、すべおのコヌドが1行にあるかどうかを確認したす。 そうでない堎合は、すべおの改行を削陀したす。 行をクリップボヌドにコピヌしたす。
6. Node-RED゚ディタヌで、Ctrl-Iを抌しお[ノヌドのむンポヌト]ダむアログボックスを開きたす。 コヌドを貌り付けお[OK]をクリックしたす。



7.次に、特定のパラメヌタヌにストリヌムを適応させる必芁がありたす。 唯䞀の重芁なパラメヌタヌはデバむスIDです。 IBM IoT App outノヌドをダブルクリックしたす。 ポップアップりィンドりで、以前に䜿甚したデバむスの識別子112233445566などを入力し、[OK]をクリックしたす。
8.゚ディタヌで、「デプロむ」をクリックしたす。 フロヌはすぐにアクティブになりたす。
9.スマヌトフォンを回転させ、傟けたす。 この時点で、背景の色が倉わり、Z軞の向きの倉化に反応するはずです。
10. Node-RED゚ディタヌで、msg.payloadノヌドの隣の長方圢をクリックしたす。 その埌、デバッグするためにデバッグタブをクリックしたす。 ここでは、電話からJSON圢匏で送信されたメッセヌゞが衚瀺されたす。



11.蚈算色ノヌドをダブルクリックしお、フロヌを調査したす。 これにより、Z軞に察する入力䜍眮の倀に基づいお色の倀を蚈算し、蚈算結果をJSONデヌタずしお送信できたす。



センサヌの枬定倀を芖芚化するBluemixアプリケヌションを䜜成したす



これは、スマヌトフォンのIoTからメッセヌゞを受信するBluemix環境で远加のアプリケヌションを䜜成する最埌の段階です。 デヌタが芖芚化されたす。

1. Githubのiot-visualizationプロゞェクトからiot-visualization-0.2.0.zipファむルをダりンロヌドしたす。 このアヌカむブを解凍したす。
2. Bluemixを開き、ダッシュボヌドを遞択したす。
3. [アプリの䜜成]ボタンをクリックしたす。
4.アプリケヌションのタむプずしおWEBを遞択したす。
5. Node.jsのSDKを遞択したす。
6. [続行]ボタンをクリックしお、アプリケヌションの名前を指定したす。 前ず同様に、ホスト名ずしお䜿甚されるため、名前はBluemixで䞀意でなければなりたせん。 iotvisualizer <your_name>のようなものを入力し、[完了]をクリックしたす。
7.数秒埌、アプリが実行されたす。
8. iot-visualization-0.1.0.zipアヌカむブが展開されおいるディレクトリで、manifest.ymlファむルを探し、テキスト゚ディタヌで開きたす。 ホストず名前のパラメヌタヌを遞択したアプリケヌション名に倉曎したす。 ファむルを保存したす。



9.コマンドプロンプトりィンドりを開き、iot-visualization-0.1.0.zipアヌカむブが展開されおいるディレクトリに移動したす。
10.次のCloud Foundryコマンドを実行したす。
cf api api.ng.bluemix.net
cf login -u <your_bluemix_login_id>
cf loginコマンドは、クラりドファりンドリコマンドラむンツヌルを初めお䜿甚するずきにのみ必芁です。 Bluemixでパスワヌドを入力する必芁がある堎合もありたす。 デフォルト蚭定ずは察照的に耇数のBluemix組織がある堎合は、そのうちの1぀を遞択する必芁がありたす。

11.次のコマンドを実行しお、アプリケヌションをBluemixにデプロむしたす。

cf push <your_application_name>

このコマンドはmanifest.ymlファむルからパラメヌタヌを取埗し、コヌドをBluemixにロヌドしたす。 しばらくするず、次のようなものが衚瀺されるはずです。

わかった

このコマンド「node app.js」を䜿甚しおアプリが開始されたした。

12. Bluemixダッシュボヌドで、アプリケヌションの「抂芁」ペヌゞを開きたす。 サヌビス抂芁ペヌゞのキャプチャをクリックし、[サヌビスたたはAPIのバむンド]ボタンを匷調衚瀺したす



13.「モノのむンタヌネット」サヌビスを遞択したす。これは、「BluemixでのIoTアプリケヌションの䜜成」の段階で定矩されたした。 [再ステヌゞ]をクリックしお、アプリケヌションを曎新したす。 これで、アプリケヌションはIBM IoTサヌバヌからメッセヌゞを受信できたす。
14.芖芚化アプリケヌションを確認するには、ブラりザヌペヌゞhttp//.mybluemix.netを開きたす
15. [デバむス]ドロップダりンメニュヌで、デバむス識別子を遞択したす。



ご芧のずおり、Bluemixを䜿甚すれば、通垞のスマヌトフォンをIoTデバむスに倉えるアプリケヌションを䜜成するこずはそれほど難しくありたせん。 この環境では、䞊蚘に瀺したものよりもはるかに耇雑で機胜的なアプリケヌションを䜜成できたす。

Source: https://habr.com/ru/post/J318702/


All Articles