Reekoh에서 Sigfox GPS 단말기의 위도 경도를 고도 데이터 서비스와 함께 지도 대시보드에 표시
Reekoh란?
Reekoh은 IoT 데이터를 Node-RED와 같이 하드웨어 디바이스/API를 온라인 서비스에 연결하거나 자체 대시보드를 구축할 수 있는 클라우드 서비스입니다.
다만, 프리 서비스가 아니기 때문에, Reekoh사 및 대리점으로부터 제공되는 엔터프라이즈용 툴입니다.
여기에서는, Sigfox 대응 GPS 디바이스의 위도 경도 데이터를, 국토 지리원의 시험 서비스 「고도 API」에 건네주고, 그 지점의 고도를 취득해, 스토리지에 보존. 마지막으로 위도 경도 및 고도를 지도 대시보드에 표시하는 곳까지 해 봅니다. (이런 느낌입니다)
국토 지리원의 고도 API를 사용하는 Reekoh Plugin을 만드는 방법은 여기에 기록되어 있습니다.
또한 Sigfox 클라우드의 콜백을 받아 파이프 라인에 전달하는 방법은 여기에 쓰여 있으므로 참고하십시오.
Sigfox GPS 기기에서 고도 API까지
먼저 Reekoh Pipeline Studio에서 Sigfox GW와 홈 메이드 GSI 서비스 플러그인을 배치합니다.
Sigfox 클라우드의 Callback은 다음과 같은 JSON으로 POST된다고 가정합니다.
{
"device": "{device}",
"time": "{time}",
"lat": {lat},
"lng": {lng}
}
2개의 Plugin을 Pipeline Studio에 배치해, Sigfox GW측의 설정에 맞춘 Sigfox Callback 설정을 넣어 두면, 고도 API 결과를 취득할 때까지는 논프로그래밍으로 갈 수 있습니다. 즉, 아래 그림까지는 논 프로그래밍에 가능하며, 이 파이프라인을 움직이면 아래와 같은 위의 JSON을 Sigfox 클라우드에서 수신할 때마다 아래의 JSON을 출력합니다.
{
"title": "GSI Service Result",
"data": {
"device": "73xxxx",
"time": 1538654677,
"lat": 34.87436466683923,
"lng": 135.6094595891116,
"rkhDeviceInfo": {
"_id": "73xxxx",
"name": "iHere #0073xxxx",
"location": [
34.874365,
135.60946
],
"metadata": {}
},
"lastReadingDateTime": 1538654704735,
"elevation": 80.7,
"hsrc": "5m(写真測量)"
},
"result": {
"elevation": 80.7,
"hsrc": "5m(写真測量)"
}
}
고도 API 결과를 스토리지에 저장
위의 JSON과 같은 출력을 스토리지에 저장합니다. Reekoh에서는 x_変数名
라는 형태로 하는 것이 암묵 규칙인 것 같기 때문에, Converter의 handler.js로, 각각 디바이스 ID, 위도 경도, 고도를 x_device, x_lat, x_lng, x_elevation 파라미터에 대입해 둡니다.
handler.js'use strict'
exports.handle = function (data, logger) {
logger.log(data)
return Promise.resolve({
x_device: _.get(data, 'rkhDeviceInfo._id'),
x_lat: data.lat,
x_lng: data.lng,
x_elevation: data.elevation,
x_datetime: moment(data.readingTime).format('YYYY-MM-DD HH:mm:ss')
})
}
그런 다음 Datasets 플러그인을 배치하고 Converter에 연결합니다.
이제 Dataset에 장치 ID 외에 위도 경도, 고도가 축적되어 갑니다.
지도 표시를 위한 대시보드 만들기
Reekoh 메뉴에서 Dashboard Studio를 선택하면 대시보드를 만들 수 있습니다.
대시보드의 대략적인 흐름은 Add Visualization에서 가젯을 만들고 가젯을 설정한 후 다른 가젯 추가를 위해 다시 Add Visualization해 나갑니다. 마지막으로 Save Dashboard에서 대시보드를 만듭니다.
Map 뷰를 만드는 경우는 아래 그림과 같이 Pipeline에서 Dataset의 선택(Select Pipeline Dataset), Select Visualization에서 Map 태그를 선택, 위도 경도 정보로서 Dataset의 어느 컬럼을 사용할까(Set Latitude and Longitude), Map 표시 아이콘 선택(Marker Icon), 아이콘 클릭 시 대화상자 표시 항목을 선택하고 [Configure] 버튼을 클릭하면 OK입니다.
그러면 아래 그림과 같은 대시보드가 완성됩니다.
Sigfox Japan KCCS
Reference
이 문제에 관하여(Reekoh에서 Sigfox GPS 단말기의 위도 경도를 고도 데이터 서비스와 함께 지도 대시보드에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ghibi/items/fb364f23714a150ef56b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
먼저 Reekoh Pipeline Studio에서 Sigfox GW와 홈 메이드 GSI 서비스 플러그인을 배치합니다.
Sigfox 클라우드의 Callback은 다음과 같은 JSON으로 POST된다고 가정합니다.
{
"device": "{device}",
"time": "{time}",
"lat": {lat},
"lng": {lng}
}
2개의 Plugin을 Pipeline Studio에 배치해, Sigfox GW측의 설정에 맞춘 Sigfox Callback 설정을 넣어 두면, 고도 API 결과를 취득할 때까지는 논프로그래밍으로 갈 수 있습니다. 즉, 아래 그림까지는 논 프로그래밍에 가능하며, 이 파이프라인을 움직이면 아래와 같은 위의 JSON을 Sigfox 클라우드에서 수신할 때마다 아래의 JSON을 출력합니다.
{
"title": "GSI Service Result",
"data": {
"device": "73xxxx",
"time": 1538654677,
"lat": 34.87436466683923,
"lng": 135.6094595891116,
"rkhDeviceInfo": {
"_id": "73xxxx",
"name": "iHere #0073xxxx",
"location": [
34.874365,
135.60946
],
"metadata": {}
},
"lastReadingDateTime": 1538654704735,
"elevation": 80.7,
"hsrc": "5m(写真測量)"
},
"result": {
"elevation": 80.7,
"hsrc": "5m(写真測量)"
}
}
고도 API 결과를 스토리지에 저장
위의 JSON과 같은 출력을 스토리지에 저장합니다. Reekoh에서는 x_変数名
라는 형태로 하는 것이 암묵 규칙인 것 같기 때문에, Converter의 handler.js로, 각각 디바이스 ID, 위도 경도, 고도를 x_device, x_lat, x_lng, x_elevation 파라미터에 대입해 둡니다.
handler.js'use strict'
exports.handle = function (data, logger) {
logger.log(data)
return Promise.resolve({
x_device: _.get(data, 'rkhDeviceInfo._id'),
x_lat: data.lat,
x_lng: data.lng,
x_elevation: data.elevation,
x_datetime: moment(data.readingTime).format('YYYY-MM-DD HH:mm:ss')
})
}
그런 다음 Datasets 플러그인을 배치하고 Converter에 연결합니다.
이제 Dataset에 장치 ID 외에 위도 경도, 고도가 축적되어 갑니다.
지도 표시를 위한 대시보드 만들기
Reekoh 메뉴에서 Dashboard Studio를 선택하면 대시보드를 만들 수 있습니다.
대시보드의 대략적인 흐름은 Add Visualization에서 가젯을 만들고 가젯을 설정한 후 다른 가젯 추가를 위해 다시 Add Visualization해 나갑니다. 마지막으로 Save Dashboard에서 대시보드를 만듭니다.
Map 뷰를 만드는 경우는 아래 그림과 같이 Pipeline에서 Dataset의 선택(Select Pipeline Dataset), Select Visualization에서 Map 태그를 선택, 위도 경도 정보로서 Dataset의 어느 컬럼을 사용할까(Set Latitude and Longitude), Map 표시 아이콘 선택(Marker Icon), 아이콘 클릭 시 대화상자 표시 항목을 선택하고 [Configure] 버튼을 클릭하면 OK입니다.
그러면 아래 그림과 같은 대시보드가 완성됩니다.
Sigfox Japan KCCS
Reference
이 문제에 관하여(Reekoh에서 Sigfox GPS 단말기의 위도 경도를 고도 데이터 서비스와 함께 지도 대시보드에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ghibi/items/fb364f23714a150ef56b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
'use strict'
exports.handle = function (data, logger) {
logger.log(data)
return Promise.resolve({
x_device: _.get(data, 'rkhDeviceInfo._id'),
x_lat: data.lat,
x_lng: data.lng,
x_elevation: data.elevation,
x_datetime: moment(data.readingTime).format('YYYY-MM-DD HH:mm:ss')
})
}
Reekoh 메뉴에서 Dashboard Studio를 선택하면 대시보드를 만들 수 있습니다.
대시보드의 대략적인 흐름은 Add Visualization에서 가젯을 만들고 가젯을 설정한 후 다른 가젯 추가를 위해 다시 Add Visualization해 나갑니다. 마지막으로 Save Dashboard에서 대시보드를 만듭니다.
Map 뷰를 만드는 경우는 아래 그림과 같이 Pipeline에서 Dataset의 선택(Select Pipeline Dataset), Select Visualization에서 Map 태그를 선택, 위도 경도 정보로서 Dataset의 어느 컬럼을 사용할까(Set Latitude and Longitude), Map 표시 아이콘 선택(Marker Icon), 아이콘 클릭 시 대화상자 표시 항목을 선택하고 [Configure] 버튼을 클릭하면 OK입니다.
그러면 아래 그림과 같은 대시보드가 완성됩니다.
Sigfox Japan KCCS
Reference
이 문제에 관하여(Reekoh에서 Sigfox GPS 단말기의 위도 경도를 고도 데이터 서비스와 함께 지도 대시보드에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ghibi/items/fb364f23714a150ef56b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)