(2021/09/14 pm 02:00)
오전 IoT 서비스기능을 실습하기 위한 환경구축을 마무리하고 오후부터는 기본 기능 실습에 들어갈 예정이다.
실습 과정은 Centos에서 구동되는 Mobius 서버에서 mysqlDB에 데이터를 입출력 하는 api이다.
1. RSET API
1) Postman : REST API를 테스트 해 볼 수 있는 프로그램
- 하단의 주소에서 Mobius API 설치 후 Windows에 설치한 Postbox에 import 해준다.
url : https://github.com/IoTKETI/oneM2M-API-Testing
2) cb 조회
: Centos7의 Mobius를 확인하는 과정
- Centos에서 "ip addr" 명령어로 ip 주소를 조회 후, API cb조회에 url를 입력하여 mobius를 확인하자
- url : 192.168.0.220:7579/Mobius (ip 주소:7579/Mobius)
API Send를 보냈을때 위와 같은 json 형태의 반환값을 넘겨주면 Mobius가 구동되고 있다고 할 수 있다.
(단, Centos에서 Mobius를 실해해줘야 api로 확인이 가능하다 : "node Mobius" )
2. 디바이스 등록, 데이터 전송/확인
순서 : ae(디바이스) 생성 -> cnt(컨테이너) 생성 -> cin(데이터 전송) 생성 ->sub 생성 (다른 방을 구독) : 실제 값을 받을 수 있다.
(sub 생성은 필수적인 과정이 아니니 참고, 단 구독을 하였다면 해당 디바이스가 데이터를 넘겨받아 구독한 방에 접근할 수 있다.)
1) ae생성
디바이스 생성이라 하며 디바이스 생성 과정이 있어야 컨테이너를 생성하여 데이터 전송을 할 수 있다.
X-M2M-RI : REST에서는 고정적인값을 넣어 생성 했지만 MQTT로 실행을 할 경우에는 랜덤수를 넣어 줘야한다.
(랜덤수를 넣어주지 않고 값을 고정하면 한번은 생성되지만, 어느순간 까지 생성이 되지않는 문제가 발생한다고 함)
rn : 디바이스 이름, ty : 디바이스 생성 구분값, ri : headers에서 준 X-M2M-Orgin, lbl : 지정한 라벨
2) cnt생성
ae 생성과 동일하지만 url 끝에 생성한 ae의 "rn"을 붙여 생성하는 것이 다르다.
(header의 X-M2M-RI 와 X-M2M-Orgin는 ae 생성때와 동일하게 했다.)
3) cin생성
생성이라고 하지만 데이터 전송/등록이라 할 수 있다.
"con" 이라는 key값 안에 jsonString 형식으로 값을 넣어 데이터 등록을 한다.
4) discovery
내가 생성한 ae, cnt, 등록한 데이터 등을 조회 하며 list or attribute 로 구분하여 조회 할 수 있다.
내가 등록한 모든 cnt정보와 cin 정보를 조회 해 보았다.
{
"m2m:rsp": {
"m2m:cin": [
{
"pi": "3-20210914064904450974",
"ri": "4-20210914064950222692",
"ty": 4,
"ct": "20210914T064950",
"st": 1,
"rn": "4-20210914064950221",
"lt": "20210914T064950",
"et": "20230914T064950",
"cs": 47,
"cr": "ae_test",
"con": [
{
"str": "테스트 문구2",
"eng": "test Str2"
}
]
},
{
"pi": "3-20210914061037429011",
"ri": "4-20210914062823474363",
"ty": 4,
"ct": "20210914T062823",
"st": 1,
"rn": "4-20210914062823473",
"lt": "20210914T062823",
"et": "20230914T062823",
"cs": 45,
"cr": "ae_test",
"con": [
{
"str": "테스트 문구",
"eng": "test Str"
}
]
}
]
}
}
- fu : 1/2 로 구분하며 1은 리스트를 2는 속성값을 조회 한다.
- rcn : 정확이 어떤 구분 값이 어떤 역할을 하는지 아직 분석하지 않았지만 4로 데이터 조회 시 모든 리스트의 모든 속성을 조회하여 보여준다.
Mobius API 사용에 관련한 pdf 파일과 API json 파일이다.