는 AWS IOT 내가 안드로이드에 IOT를 위해 예를 들어 추구하고안드로이드 응용 프로그램에 AWS-IOT 것은 그림자를 얻을하는 방법
안드로이드 응용 프로그램을 사용하여 개발을 시작하고 싶어. AWS 콘솔 및 Android 앱에서 기본 구성을 시작해야합니다. 이미 온도 데모를 테스트했지만 그로부터 단서를 얻지 못했습니다! 그림자, 정책, 역할에 대한 기본 단계가 필요합니다. 어떻게 그들을 단계별로 구성하고 Cognito를 사용하는지 설명합니다.
아래의 getshadow() 메소드는 onCreate라고하며, ony onCreate가 아닌 실시간으로 값을 업데이트해야합니다.
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 " } }
아 내가 예 것을 시도! 하지만 주제를 만들고, 주제를 구독하고, 그림자가 실시간으로 바뀌면 변경 사항을받는 방법에 집착하고 있습니다.만약 당신이 무언가를 기초로 무언가를 개발했다면 단계별로 이해할 수있는 자료를 제공해주십시오. –
그림자가 변경되면 응용 프로그램의 변경 사항이 자동으로 수신됩니다. 자세한 내용을 보려면 여기로 이동하십시오. https://stackoverflow.com/questions/44113956/aws-iot-login-from-android-mqtt-client-using-iam-is-not-working/45993988#45993988 –
가능한 경우 알려주세요. . 그림자에서 실시간 업데이트를 얻으려는 나의 연구에 따라 업데이트를 트리거하는 규칙을 정의해야합니다. –