LoginSignup
4
3

More than 3 years have passed since last update.

SORACOM Beamを使用してSAP Cloud Platformへデータを送信

Last updated at Posted at 2018-07-14

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

目的

SORACOMのサービスであるSORACOM Beamを使用して、SAP Cloud PlatformのIoTサービスへデータを送信する。

※詳細は以下のブログを参照
SORACOM Beamを使用してSAP Cloud Platformへデータを送信

手順

①SAP Cloud PlatformのIoTサービスの設定
②SORACOM Beamの設定
③Pythonファイルの作成/実行
④送信されたデータの確認

手順①SAP Cloud PlatformのIoTサービスの設定

SAP Cloud Platformにログイン。

Cloud Platform Cockpitより、「モノのインターネット」を選択
サービスが有効であることを確認し、「サービスに移動」を選択
メッセージタイプ、デバイスタイプ、デバイスを順に登録

②SORACOM Beamの設定

SORACOMの管理コンソールより、SORACOM Beamの設定
※「HTTPエントリポイント」を使用

青線箇所は任意の文字列で。

ホスト名は「iotmms(SAP CPアカウントID).hanatrial.ondemand.com」
※私のSAP CPアカウントはトライアルアカウントなので、「~trial」

パスは「/com.sap.iotservices.mms/v1/api/http/data/(デバイスID)」

これで完了。以下赤枠がエントリポイント
20180710000429.jpg

③Pythonファイルの作成/実行

beamscpiot.py
import time 
import json 
import datetime 
import urllib3 

#SAP CP 
#oAuth Device
oauth_credentials = (デバイスのトークン) 

#Message Type ID
message_type_id = (メッセージタイプID)

#URL
http = urllib3.PoolManager() 
headers = urllib3.util.make_headers(user_agent=None) 
headers['Authorization'] = 'Bearer ' + oauth_credentials 
headers['Content-Type'] = 'application/json;charset=utf-8' 

url = 'http://beam.soracom.io:8888/scpiot'
urllib3.disable_warnings() 


#send data
timestamp = int(time.time())
value = 'Python to SCP IoT test(SORACOM Beam)'

body = '{"mode":"sync", "messageType":"' + str(message_type_id) + '", "messages":[{"timestamp":'+ ' "' + str(timestamp) + '"'+ ', "value":'+ ' "' +  str(value) + '"'+ ' }]}' 
r = http.urlopen('POST', url, body=body, headers=headers) 

print(body) 
print(r.data) 

RaspberryPi側で「beamscpiot.py」を実行。

④送信されたデータの確認

メッセージ管理サービスコックピットよりデータの確認
「保存されたメッセージの表示」を選択

以下の名称でテーブルが作成されている
「T_IOT_(メッセージタイプID)」

送信したデータが登録されていることを確認
20180710002129.jpg

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3