想与AWS IOT使用Android应用如何获得Android应用AWS-IOT事情阴影
我在android系统寻求例如用于IOT开始发展。需要在AWS控制台和Android应用程序上启动基本配置。我已经测试过温度演示,但没有得到任何线索!需要影子,政策,角色的基本步骤。如何逐步配置它们并使用cognito。
下面getshadow()方法被调用onCreate,需要实时更新值ony onCreate而不是ony。
public void getShadows() {
GetShadowTask getControlShadowTask = new GetShadowTask("TemperatureControl");
getControlShadowTask.execute();
}
private class GetShadowTask extends AsyncTask<Void, Void, AsyncTaskResult<String>> {
private final String thingName;
public GetShadowTask(String name) {
thingName = name;
}
@Override
protected AsyncTaskResult<String> doInBackground(Void... voids) {
try {
GetThingShadowRequest getThingShadowRequest = new GetThingShadowRequest()
.withThingName(thingName);
GetThingShadowResult result = iotDataClient.getThingShadow(getThingShadowRequest);
// Toast.makeText(getApplication(),result.getPayload().remaining(),Toast.LENGTH_LONG).show();
byte[] bytes = new byte[result.getPayload().remaining()];
result.getPayload().get(bytes);
String resultString = new String(bytes);
return new AsyncTaskResult<String>(resultString);
} catch (Exception e) {
Log.e("E", "getShadowTask", e);
return new AsyncTaskResult<String>(e);
}
}
@Override
protected void onPostExecute(AsyncTaskResult<String> result) {
if (result.getError() == null) {
JsonParser parser=new JsonParser();
JsonObject jsonObject= (JsonObject) parser.parse(result.getResult());
response=result.getResult();
setPoint=jsonObject.getAsJsonObject("state").getAsJsonObject("reported")
.get("current_date").getAsString();
textView.setText(setPoint);
// Toast.makeText(getApplication(),setPoint,Toast.LENGTH_LONG).show();
Log.i(GetShadowTask.class.getCanonicalName(), result.getResult());
} else {
Log.e(GetShadowTask.class.getCanonicalName(), "getShadowTask", result.getError());
Toast.makeText(getApplication(),result.getError().toString(),Toast.LENGTH_LONG).show();
}
}
}
UPDATE
事情暗影
{ “期望”:{ “欢迎”: “AWS-IOT” }, “报道”:{ “欢迎“:”aws-iot“, ”current_date“:”06-Sep-2017 1:26:40 PM“ } }
遐我试过了榜样!但我坚持如何创建主题,订阅该主题,并在阴影发生实时变化时接收更改。如果你已经在IOT上开发了一些基本的东西,请给我一些资源来逐步了解它。 –
如果阴影发生变化,您将自动接收应用程序中的更改。头在这里详细了解https://stackoverflow.com/questions/44113956/aws-iot-login-from-android-mqtt-client-using-iam-is-not-working/45993988#45993988 –
如果可能请给我提供片段。根据我的研究,从影子获取实时更新需要定义触发更新的规则。 –