使用 Bluemix iOS 客户端 api 为汽车入门应用程序更新 IoT 上的设备数据

Update device data on IoT for Automotive Starter Application using Bluemix iOS Client api

我已经成功配置了本教程中描述的 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 应用程序更新管理(更新属性,and/or 向)模拟车辆。问题是我无法在 iOS 上找到 API 来执行此操作。

我还需要开发后端 API 吗?如果不是,在 iOS 上,我怎样才能让 API 执行此操作?

还有URLs:

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

测试器应用 URL 更新属性:http://alvi-app.mybluemix.net/tester

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

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

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

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