SAP Cloud PlatformのIoTサービスでiPhone内蔵センサー情報をストリーミング

※2019年7月現在、SAP CPのNEO環境のIoTサービスは利用できなくなっています。

タイトルだけでわくわくです。

SAP Cloud Platform(SAP CP)トライアルシリーズ。
今回はBeeX社の技術ブログを参考にすすめてみます。

[【詳細手順書公開】iPhone内蔵センサー情報をSAP Cloud PlatformのIoTサービスを使ってストリーミングする](https://www.beex-inc.com/blog/iphone-sensor-data-streaming-to-sapcp/)

日本語でここまでの情報を公開してくれているのは、大変ありがたいです。

#**手順**

##**Step1 Internet of Things Service Setup**

###Internet of Thingsの有効化
モノのインターネット。。(英語のままでいいのでは、、)
![スクリーンショット (480)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/5ed1cca8-9a5b-3339-72e9-7c8d09cbb533.jpeg)

有効化してサービス開始
![スクリーンショット (472)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/5954e444-fafc-0098-bd6f-ed6424c228f2.jpeg)

###メッセージ管理サービスのデプロイ
![スクリーンショット (481)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/953ee430-d7a4-8570-568c-9e50ef4d3d4a.jpeg)


###ロール割当
サービスがいつまでたっても開始中となったままでしたが、ロールの設定ができました。
(開始中となっていたのはエラーでした。後述。)
![スクリーンショット (494)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/c30dab6a-1886-7394-4db7-df8e6bf56a07.jpeg)

![スクリーンショット (496)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/31bb5e39-5953-4d83-702c-ba79483e4f7e.jpeg)

##**Step2 Adding your iOS Device in the Internet of Things Cockpit**

###Internet of Thingsサービスコックピットからメッセージタイプ登録
![スクリーンショット (497)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/dbc734c9-1207-feb4-8a98-b608275cc4a4.jpeg)

![スクリーンショット (499)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/403d20d5-b7c0-6f51-6393-a40411bb78c5.jpeg)


###Internet of Thingsサービスコックピットからデバイスタイプ登録
方向の値が変更されていました。
![スクリーンショット (514)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/13d985f2-d658-c1b0-8cc5-3c97bd980c55.jpeg)

###Internet of Thingsサービスコックピットからデバイスの登録
問題なし
![スクリーンショット (515).png](https://qiita-image-store.s3.amazonaws.com/0/22526/1f38ad10-193f-ad02-832b-630d80f934d6.png)


####**※サービスが開始中のままとなるエラーについて**
手こずりました。
原因は、多分これ。
![スクリーンショット (517)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/dd86977b-9f77-ad04-b1da-8fa83c85a9ac.jpeg)
別のトライアルで作成したHelloWordアプリが起動中でした。

しかし、HelloWordアプリを停止してからIoTサービスを起動しても動きませんでした。
で、該当していたのがこのエラー↓
[IOTMMS servicecannot start](https://archive.sap.com/discussions/thread/3938300)

確認したらデータベースが作成されていませんでした。
なので、マニュアルで作成し、Javaアプリに設定。
無事、サービスが開始しました。
![スクリーンショット (519).png](https://qiita-image-store.s3.amazonaws.com/0/22526/65d24dd4-d06a-734f-763b-d3ac5a39284f.png)

![スクリーンショット (521).png](https://qiita-image-store.s3.amazonaws.com/0/22526/296d0958-9a43-0145-4905-de4c2a1acc40.png)

![スクリーンショット (523)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/caceb886-1ca3-c619-3a04-cb78eb784502.jpeg)

##**Step3 Setup your SensorPhone app to send sensor data to SAP Cloud Platform**

###sensorphoneアプリの設定

アプリのダウンロード
![media-20180118 (5).jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/885c5eb0-1825-978b-0636-7da329a7b48f.jpeg)

**設定値は以下**
URL	https://<host>/com.sap.iotservices.mms/<version>/api/http/data/<device id>
Mode	sync
Message Type	メッセージタイプのID
Countent Type	application/JSON;charset=utf-8
Authorization	bearer  <<デバイス登録時に発行されたトークン>>

※ Host : iotmms<UserID>trial.hanatrial.ondemand.com
※ version：V1
※ device id：デバイス登録時のID

設定して、POST押下。正常終了。
![media-20180118 (6)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/470e474d-e283-d398-1812-218b7af572f6.jpeg)


###データ確認
![スクリーンショット (525)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/7338f268-5f90-5b04-c767-97b02fa1043c.jpeg)

![スクリーンショット (527)_LI.jpg](https://qiita-image-store.s3.amazonaws.com/0/22526/ea75d5fa-4d9b-60f6-200f-24931b6cbe8b.jpeg)


#**まとめ**
こんなに簡単に連携できるんですね。
これを何か面白いことに使いたいな。