Gravio 4의 HTTP Request에서 센서의 정보를 httpbin으로 보내 확인합니다.
그 때 잘 데이터를 보낼 수 있는지 확인하는 방법은 여러 가지가 있지만 httpbin.org라는 서비스에 요청을 던져 보면 잘 보낼 수 있는지 여부를 비교적 쉽게 확인할 수 있으므로 해보자.
사용환경
절차
작업을 만들고 HTTP Request 구성 요소를 추가합니다.
프로퍼티에는 이하의 값을 설정한다. URL 등은 여러가지 시험하고 싶은 내용에 따라서 바뀌므로 본가의 사이트 를 봐 주세요.
속성
값
HTTP 메소드
POST
URL
h tps // h tp 병. 오 rg/포 st
Content-Type
(기본값)
Pre Mappings에서는 본문에 JSON 형식으로 센서 정보를 보내려면 cv.Payload
에 다음 값을 설정해 봅니다.
{"AreaId": tv.AreaId, "AreaName": tv.AreaName, "LayerId": tv.LayerId, "LayerName": tv.LayerName, "KindId": tv.KindId, "KindName": tv.KindName, "PhysicalDeviceId": tv.PhysicalDeviceId, "PhysicalDeviceName": tv.PhysicalDeviceName, "Timestamp": tv.Timestamp, "DataId": tv.DataId, "Data": tv.Data, "KeyAreaName": tp.KeyAreaName, "KeyLayerName": tp.KeyLayerName, "TriggerName": tp.TriggerName}
센서 정보는 트리거 변수와 트리거 속성에서 가져옵니다. tv.
로 시작하는 것이 트리거 변수, tp.
로 시작되는 것이 트리거 프로퍼티입니다. 트리거 프로퍼티에서는 트리거의 정보가 정의되고 있습니다만, 트리거내에서 선언하지 않으면 사용할 수 없기 때문에 나중에 설명합니다.
트리거 변수는 다음과 같습니다. 자세한 내용은 "액션 내에서 사용할 수 있는 변수 및 변수 유형"을 참조하십시오.
트리거 변수 이름
설명
tv.AreaId
지역 ID
tv.AreaName
지역 이름
tv.LayerId
레이어 ID
tv.LayerName
레이어 이름
tv.KindId
데이터 유형 ID
tv.KindName
데이터 유형 이름
tv.PhysicalDeviceId
센서의 물리적 장치 ID
tv.PhysicalDeviceName
센서의 물리적 장치 이름
tv.Timestamp
센서에서 데이터가 출력될 때의 시간. 형식은 RFC3339Nano
tv.DataId
이 센서 데이터 고유 ID
tv.Data
센서 데이터의 값. tv.Data는 첫 번째 구성 요소의 cv.Payload와 동일합니다.
트리거 속성 이름
설명
tp.KeyAreaName
지역 이름. tv.AreaName
와 같습니다.
tp.KeyLayerName
키 레이어 이름. tv.LayerName
와 같습니다.
tp.TriggerName
트리거 이름
실행해 보겠습니다.
httpbin.org의 응답이 로그에 표시됩니다. json의 값이 보낸 내용이군요. Studio에서 실행했으므로 각 데이터에는 더미 데이터가 들어 있습니다. 트리거 속성은 선언되지 않았기 때문에 null
네요.
시도 CO2 값을 키에 트리거를 설정해보십시오.
이번에는 액션의 콘솔이 없기 때문에 HTTP Request의 설정으로 덤프를 로그에 출력해 둡니다.
로그 뷰어를 보면 제대로 된 값이 설정됩니다. 로그 뷰어라고 역순으로 표시되므로 조금 보기 어렵습니다만, 만약 필요하다면 로그 파일을 직접 확인해 보세요.
참고
{"AreaId": tv.AreaId, "AreaName": tv.AreaName, "LayerId": tv.LayerId, "LayerName": tv.LayerName, "KindId": tv.KindId, "KindName": tv.KindName, "PhysicalDeviceId": tv.PhysicalDeviceId, "PhysicalDeviceName": tv.PhysicalDeviceName, "Timestamp": tv.Timestamp, "DataId": tv.DataId, "Data": tv.Data, "KeyAreaName": tp.KeyAreaName, "KeyLayerName": tp.KeyLayerName, "TriggerName": tp.TriggerName}
(2021/2/10 수정)
일부 트리거 변수가 누출되었으므로 추가했습니다.
Reference
이 문제에 관하여(Gravio 4의 HTTP Request에서 센서의 정보를 httpbin으로 보내 확인합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zrock/items/7e17b44971ce5fa261bc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)