Gravio 4의 HTTP Request에서 센서의 정보를 httpbin으로 보내 확인합니다.

4517 단어 httpbinIoTHTTPGravio
Gravio 4는 HTTP Request 컴포넌트를 사용하여 클라우드 서비스 등에 센서 데이터를 보낼 수 있다.
그 때 잘 데이터를 보낼 수 있는지 확인하는 방법은 여러 가지가 있지만 httpbin.org라는 서비스에 요청을 던져 보면 잘 보낼 수 있는지 여부를 비교적 쉽게 확인할 수 있으므로 해보자.

사용환경


  • Raspberry Pi 4 Model B w/4GB RAM
  • Ubuntu Server 20.04.1 LTS
  • Gravio HubKit v4.1.0-6380
  • Gravio Studio v4.1.5432.0

  • 절차



    작업을 만들고 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의 설정으로 덤프를 로그에 출력해 둡니다.


    로그 뷰어를 보면 제대로 된 값이 설정됩니다. 로그 뷰어라고 역순으로 표시되므로 조금 보기 어렵습니다만, 만약 필요하다면 로그 파일을 직접 확인해 보세요.



    참고


  • Gravio
  • HTTP Request 컴포넌트
  • 액션 내에서 사용할 수 있는 변수 및 변수 유형
  • Pre Mappings / Post Mappings에서 표현식을 작성하는 방법
  • htt 항공편. 오 rg

  • (2021/2/10 수정)
    일부 트리거 변수가 누출되었으므로 추가했습니다.

    좋은 웹페이지 즐겨찾기