使用Bluemix iOS Client api更新IoT for Automotive Starter Application上的设备数据

时间:2016-10-01 12:06:08

标签: ios ibm-cloud ibm-mobile-services iot-for-automotive

我已成功配置了本教程中描述的Bluemix后端车辆监控应用程序:

http://www.ibm.com/developerworks/library/mo-connectedcar-app/index.html

我已成功配置并运行测试版应用。我还成功启动了iOS上的BMSClient(在向后端应用程序添加移动访问服务之后),使用以下代码:

BMSClient.sharedInstance.initialize(bluemixAppRoute: backendURL, bluemixAppGUID: backendGUID, bluemixRegion: BMSClient.Region.usSouth)

let mcaAuthManager = MCAAuthorizationManager.sharedInstance
mcaAuthManager.initialize(tenantId: tenantId)
BMSClient.sharedInstance.authorizationManager = mcaAuthManager
BMSClient.sharedInstance.authorizationManager = MCAAuthorizationManager.sharedInstance

以下是测试版应用如何更新信息的摘录:

var id = $("#prop_id").val();
var property = $("#property").val();
var value = $("#value").val();

var payload = {
    id: id,
    property: property,
    value: value
};

var group = id.split("-")[0];
var num = id.split("-")[1];

var message = new Messaging.Message(JSON.stringify(payload));
message.destinationName = "iot-2/type/"+window.config.iot_deviceType+"/id/"+id.split("-")[0]+"/cmd/setProperty/fmt/json";
$("#statusMessage").html("Published command!<br><b>Topic: </b>" + message.destinationName + "<br><b>Payload: </b><pre>" + JSON.stringify(payload, null, 4) + "</pre>");
$("#statusMessage").css("display", "block");
client.send(message);

现在我想通过iOS应用程序更新模拟车辆的管理(更新属性和/或发送消息)。问题是我无法找到在iOS上执行此操作的API。

我是否还需要开发后端API?如果不是,在iOS上,我如何获得API来执行此操作?

此处还有网址:

后端应用:http://alvi-app.mybluemix.net/

测试应用网址以更新属性:http://alvi-app.mybluemix.net/tester

1 个答案:

答案 0 :(得分:1)

您需要开发自定义后端API,以接受用于更新iOS应用程序发送的属性等的消息。

您可以使用BMS Core库从iOS应用程序向后端发送REST请求。然后,您可以让后端处理这些请求以更新属性等。

https://github.com/ibm-bluemix-mobile-services/bms-clientsdk-swift-core

Core SDK在README中有一个REST请求示例。