Reekoh에서 Sigfox 메시지를 Slack에 Webhook

Reekoh란?



Reekoh은 IoT 데이터를 Node-RED와 같이 하드웨어 장치/API를 온라인 서비스에 연결하거나 자체 대시보드를 구축할 수 있는 클라우드 서비스입니다.
다만, 프리 서비스가 아니기 때문에, Reekoh사 및 대리점으로부터 제공되는 엔터프라이즈용 툴입니다.

Reekoh에서 Sigfox 장치 메시지를 Slack에 Webhook



거친 흐름은 아래와 같습니다.
  • Reekoh로 파이프 라인 만들기
  • Sigfox 클라우드에서 콜백 만들기
  • Slack에서 Incoming Webhook 설정

  • Reekoh Pipeline Studio에서 파이프라인 만들기



    세세한 조작 방법은 생략하지만, 작성하는 파이프라인은 아래 그림과 같습니다.


    왼쪽에서 아래 표의 플러그인을 배치하고 각 플러그인을 연결합니다.



    플러그인
    설명



    Sigfox GW
    Sigfox 클라우드에서 Callback 받기


    컨버터
    받은 장치 데이터를 Slack Webhook용 JSON으로 변환


    Webhooks
    슬랙에 웹후크


    각 플러그인 설정



    Sigfox GW



    Sigfox 클라우드에서 Callback을 받을 수 있도록 Reekoh사에서 제공하는 Plugin입니다.
    특별히 설정할 필요는 없으며 Save하면 약간 시간이 걸리고 Callback 수신용 IP 주소가 발행됩니다. (아래 그림 적자의 곳에 표시되므로, 이후의 Sigfox 클라우드 측에서의 설정에 사용합니다)


    Converter (Sigfox 장치 데이터에서 Slack 용 JSON)



    그런 다음 Converter를 설정합니다. Converter 설정의 handler.js에 Javascript로 변환 로직을 입력합니다.

    handler.js
    'use strict'
    
    exports.handle = function (data, logger) {
      logger.log(data)
      return Promise.resolve({
        text: 'device=' + data.device + ' payload=' + data.payload,
        icon_emoji: ':globe_with_meridians:',
        username: 'reekoh'
      })
    }
    

    여기에서는 Promise.resolve에서 JSON 용 연관 배열을 만들고 있습니다.
    슬랙의 Webhook에 던지려면 최소 {"text":"なんたらかんたら"}라는 JSON 메시지가 필요하기 때문에,text: 'device=' + data.device + ' payload=' + data.payload,한 줄을 넣어. 위의 Sigfox GW에서 보낸 데이터, 즉 Sigfox Callback에서 보내는 JSON 데이터는 "data.xxx"형태로 정의 할 수 있습니다.
    이 경우 Sigfox Callback에서는
    {
     "device": "{device}",
     "payload": "{data}" 
    }
    

    그리고 설정된 device와 payload를 지정합니다.

    Webhook (Slack to Webhook)



    여기에서는 Webhook URL로 slack에서 설정한 Incoming Webhook의 URL을 입력합니다.


    Sigfox 클라우드에서 Callback 만들기



    Sigfox 클라우드에서 Callback을 기본적으로 설정하는 방법은 여기을 참조하십시오.
    게다가 이번 설정예는 아래 표와 같습니다.


    품목
    설정 예
    보충


    Url pattern
    https://xx.xx.xx.xx:8080/data
    Reekoh의 Sigfox GW의 IP 주소를 입력합니다.

    Use HTTP Method
    POST

    Body
    {"device": "{device}","payload": "{data}"}
    Reekoh의 Converter Plugin의 handler.js에서 사용


    Slack에서 Incoming Webhook 설정



    기본적인 Incoming Webhook을 설정하는 방법은 여기을 이해하기 쉽다.

    Slack에서 Webhook에서 받은 문자 메시지를 표시하는 Channel을 만든 후(이번에는 #reekoh라는 채널을 예로 합니다), 아래 URL에서 Incoming Webhook 설정을 합니다.
    htps : // s ck. 코 m / 세 r ゔ 세 s / w
    아래 페이지에서 Choose a Channel이라는 곳에서 Webhook을 받는 Channel을 선택합니다. (이번에는 #reekoh)

    Add Incoming Webhooks Integration 버튼을 클릭하면 Incoming Webhook URL이 자동으로 생성됩니다.


    마지막으로 Reekoh의 Pipeline을 Save & Deploy하면 아래 그림과 같이 Sigfox 장치의 메시지가 Slack 채널에 도착합니다.


    그 밖에도 Reekoh 플랫폼에는 대시보드 작성 기능 등도 있으므로, 다음에 투고합니다.


    Sigfox Japan KCCS

    좋은 웹페이지 즐겨찾기