LoRaWAN
LoRaWAN 드라이버 참고 자료입니다. 내장 Basics Station 네트워크 서버, 게이트웨이 인증서, 센서와 집중기 등록, 그리고 페이로드 주소 지정.
LoRaWAN 드라이버는 Ganter Lab을 작은 LoRaWAN 네트워크 서버로 만듭니다. 관계의 방향이 다른 대부분의 드라이버와 뒤집힙니다. 스테이션이 센서에 손을 뻗는 것이 아니라 게이트웨이가 Ganter Lab으로 접속해 오고, 센서는 그 게이트웨이를 거쳐 업링크로 읽은 값을 보냅니다. Ganter Lab은 Semtech의 LoRa Basics Station 프로토콜을 말하는 네트워크 서버를 안에 담고 있으므로, Basics Station 펌웨어를 돌리는 게이트웨이라면 어느 것이나 이 스테이션을 자기 LNS로 쓸 수 있습니다.
내장 서버는 앱이 부팅할 때가 아니라 켜진 첫 LoRaWAN 장치가 실행 중인 커넥터에 올라올 때 시작하고, 마지막 장치가 없어지거나 꺼질 때 멈춥니다. 센서도 집중기도 설정되어 있지 않으면 그 포트에서는 아무것도 듣지 않습니다. 하나를 추가하면 애플리케이션을 다시 시작하지 않고도 되살아납니다.
이 드라이버 아래의 장치는 저마다 두 가지 등록 가운데 하나이며, 그 패널에서 고릅니다.
- 센서는 자기 DevEUI로 구별되고 애플리케이션 키로 들어옵니다. 그 태그가 업링크 페이로드를 해독합니다.
- 무선 집중기(게이트웨이)는 자기 Station EUI로 구별되고, 목록에서 고른 무선 지역으로 등록됩니다. 자기 태그는 가지지 않습니다. 장치가 센서로 등록되기 전까지 그 페이지의 태그 추가는 회색으로 남고 이유를 알려 줍니다.
센서뿐 아니라 집중기도 등록하십시오. Basics Station 집중기는 접속하자마자 자기 무선 구성을 묻고, 답을 받기 전에는 아무것도 중계하지 않습니다. 그래서 그 Station EUI를 한 번도 본 적 없는 스테이션은 연결 자체가 멀쩡해 보이는 동안에도 그 뒤의 모든 센서를 값 없이 남겨 둡니다. 그 답은 여기에서 고른 지역으로 만들어집니다. 붙여 넣을 구성 문구는 없습니다.
게이트웨이 준비
LoRa Basics Station으로 이 스테이션에 접속해 오는 쪽은 게이트웨이이며, 게이트웨이는 출고 상태에서 스테이션이 어디에 있는지 모릅니다. 무선 집중기로 등록한 장치마다 그 페이지에 게이트웨이 준비 카드가 있어, 게이트웨이의 Basics Station 설정에 입력할 값을 이 스테이션에 맞춰 보여 줍니다.
| 게이트웨이에 설정할 것 | 카드가 보여 주는 것 |
|---|---|
LNS 주소(Basics Station의 tc.uri) |
wss://<주소>:5001을 먼저 이 스테이션의 이름으로 만든 주소(내장 OPC UA 서버 설정의 "네트워크 이름", 비어 있는 동안은 컴퓨터 이름)로 보여 주고, 이어서 이 스테이션이 네트워크에 가진 IPv4 주소마다 하나씩, 각각 복사 버튼과 함께 보여 줍니다. 서버 이름을 확인하는 게이트웨이(Basics Station은 기본 설정에서 확인합니다. TLS_SNI)에는 이름으로 만든 주소가 필요합니다. 확인하지 않는 게이트웨이는 어느 주소든 받아들이므로, 그 경우에는 게이트웨이와 같은 네트워크의 주소면 됩니다. |
| 스테이션 EUI | 집중기의 스테이션 EUI를 복사 버튼과 함께 보여 줍니다. 이 장치가 게이트웨이를 등록하는 식별자입니다. 게이트웨이는 각각 자기 집중기 장치가 됩니다. 비어 있는 동안은 연결 카드에 입력하라고 카드가 알려 줍니다. |
클라이언트 인증서(tc.crt, 키는 tc.key) |
상호 TLS입니다. 게이트웨이는 일반 이름이나 DNS 대체 이름에 자기 스테이션 EUI를 담은 클라이언트 인증서를 제시합니다(인증서 참고). |
신뢰할 서버 인증서(tc.trust) |
이 스테이션의 루트 인증서 GanterLabConnector-<station>.pem의 전체 경로입니다. 폴더 열기 버튼은 Windows 파일 탐색기에서 그 파일을 보여 줍니다. 버튼은 스테이션 자체 창에서 작동하며, 다른 기기의 브라우저에서는 회색으로 남아 이유를 알려 줍니다. 파일은 네트워크 서버가 처음 시작될 때 기록되며, 그때까지는 카드가 그렇게 알려 줍니다. |
카드는 스테이션을 연 뒤 게이트웨이가 한 번도 접속하지 않은 동안 열려 있고, 접속하고 나면 접힙니다. 다음에 게이트웨이를 설정할 때를 위해 페이지에는 남아 있습니다. Windows에 설치된 루트가 인증서를 보증하지 않는 게이트웨이는 첫 접속에서 거부되고 현장 장비 접근에서 기다립니다. Semtech UDP packet forwarder 프로토콜만 쓰는 게이트웨이는 접속할 수 없으며, Basics Station 펌웨어가 필요합니다.
이 파일은 이 스테이션의 모든 게이트웨이에 같은 파일이고, 스테이션의 이름이나 주소가 바뀌어도 바뀌지 않습니다. Basics Station의 기본 설정을 쓰는 게이트웨이는 이 스테이션을 받아들입니다. 게이트웨이 설정에서 꺼야 할 것은 없습니다.
이전 버전의 파일을 받은 게이트웨이에는 이 파일을 tc.trust로 한 번 설치해야 합니다. 이 버전을 처음 시작할 때, 이전 파일을 가지고 있을 수 있는 게이트웨이가 있는 스테이션은 그 실행 동안에만 카드에 "이 스테이션의 파일이 바뀌었습니다"라는 알림을 보여 줍니다. 알림은 상기용일 뿐 지시 자체가 아닙니다. 이미 게이트웨이가 있던 스테이션이라면 카드에 알림이 보이든 보이지 않든 모든 게이트웨이에 새 파일을 한 번 설치하십시오.
네트워크 서버와 포트
| 무엇 | 값 |
|---|---|
| 프로토콜 | LoRa Basics Station(WebSocket, JSON) |
| 수신기 | 모든 인터페이스, TCP 포트 5001, TLS 전용 |
| 게이트웨이 주소 | wss://<station-address>:5001 |
| 검색 endpoint | Basics Station의 router-info 요청도 같은 수신기에서 처리합니다 |
| 데이터 연결 | WebSocket 경로의 마지막 조각에 놓인 게이트웨이의 Station EUI로 주소가 매겨집니다 |
수신기는 언제나 TLS입니다. 암호화를 끄는 설정은 없습니다. 평문 HTTP 수신기는 루프백을 뺀 어디에서도 거부되며, 루프백은 공장 네트워크에서 닿을 수 없고 인프로세스 테스트를 위해서만 있습니다.
인증서
들어오는 자격은 상호 TLS로 가립니다. 서버는 자기 인증서로 자기가 누구인지 증명하고, 모든 게이트웨이는 클라이언트 인증서로 자기가 누구인지 증명해야 합니다.
서버 인증서. 네트워크 서버는 이 스테이션 자신의 루트로 서명된 인증서를 제시합니다. OCPP 중앙 시스템이 쓰는 것과 같은 루트입니다. 루트는 프로필마다 한 번, 두 서버 중 하나가 처음 시작될 때 만들어지고 앱 데이터 폴더에 저장됩니다.
GanterLabConnector.pfx는ua\pki\own\private아래에 있는 개인 키입니다. 무작위 암호로 암호화되어 있고 그 암호 자체가 Windows 사용자별로 보호되므로(DPAPI), 다른 곳으로 복사한 파일 쌍은 아무에게도 열리지 않습니다.GanterLabConnector-<station>.pem은ua\pki\station아래에 있는 공개 루트 인증서입니다. 게이트웨이가 이 스테이션을 신뢰하도록 게이트웨이에tc.trust로 설치하는 파일이 이것입니다.
루트의 주체는 Ganter Lab Connector (<station>)이며 <station>은 만들어진 날의 네트워크 이름입니다. 만료되지 않습니다. 그 공개 절반을 집중기마다 한 번씩 손으로 설치하므로, 만료되는 루트라면 그 기념일에 센서 네트워크 전체를 쓰러뜨릴 것입니다. 이 스테이션에는 아무것도 보이지 않는 채로 집중기에서 거부되고, 되살리려면 집중기마다 찾아가야 합니다. 만료 경고도 갱신 명령도 없습니다. 갱신할 것이 없기 때문입니다. 드라이버 페이지의 "스테이션 루트 인증서" 카드는 루트가 담고 있는 날짜를 읽기 표시로 보여 주며("유효 만료"), 공개 파일의 전체 경로와 그 파일을 Windows 파일 탐색기에서 보여 주는 폴더 열기 버튼도 함께 보여 줍니다(버튼은 스테이션 자체 창에서 작동하며, 다른 기기의 브라우저에서는 회색으로 남아 이유를 알려 줍니다).
이 루트 아래에서 네트워크 서버가 제시하는 인증서는 스테이션의 네트워크 이름(내장 OPC UA 서버 설정의 "네트워크 이름", 비어 있는 동안은 컴퓨터 이름), localhost, 스테이션의 모든 IPv4 주소를 이름으로 담고 있어, 서버 이름을 확인하는 게이트웨이도 받아들입니다. 컴퓨터 이름, 네트워크 이름, 스테이션의 주소를 바꿔도 루트는 교체되지 않습니다. 그 아래 인증서만 저절로 다시 발급되며, 집중기에서 할 일은 없습니다.
루트가 다시 만들어지는 것은 저장된 루트를 더 이상 열 수 없을 때(예: 다른 Windows 계정이 기록한 경우)뿐입니다. 그 경우와, 집중기에 이전 파일을 주었을 수 있는 스테이션에서 이 버전이 처음 시작될 때, 드라이버 페이지는 "집중기에 새 인증서 파일이 필요합니다" 아래에서 모든 집중기에 새 GanterLabConnector-<station>.pem을 tc.trust로 주어야 한다고 한 번 말합니다. 그 전까지 집중기는 접속할 수 없습니다.
게이트웨이 클라이언트 인증서. 모든 게이트웨이는 TLS 핸드셰이크 동안 클라이언트 인증서를 제시해야 합니다. 그것 없는 핸드셰이크는 데이터가 흐르기 전에 끊깁니다. 그 인증서는 이래야 합니다.
- 두 방법 중 하나로 신뢰받아야 합니다. 이 Windows 기기에서 거기에 설치된 루트까지 유효한 체인을 이루거나, 이 드라이버 페이지의 현장 장비 접근에서 바로 그 인증서를 승인했어야 합니다(아래 참고). 어느 쪽이든 유효 기간 안에 있어야 합니다. 검사에 실패하면 연결이 거부되고, 어느 검사가 실패했는지 진단 로그가 기록합니다.
- 주체 일반 이름이나 DNS 주체 대체 이름에 게이트웨이의 스테이션 EUI를 담아야 합니다. 이 식별자는 값으로 읽으므로
AABBCCDDEEFF0011과AA-BB-CC-DD-EE-FF-00-11과AA:BB:CC:DD:EE:FF:00:11은 모두 같은 스테이션을 가리킵니다. - 데이터 연결이 주장하는 것과 같은 스테이션을 밝혀야 합니다. 연결 주소에 있는 것과 다른 게이트웨이를 밝히는 인증서는 거부됩니다.
현장 장비 접근
인증서가 자체 서명되었거나 제조사 자체 인증 기관이 발급해서 Windows에 설치된 어떤 루트도 보증하지 않는 게이트웨이라도, 그 루트를 이 컴퓨터에 설치할 필요는 없습니다. 첫 연결은 거부되고, 그 인증서는 LoRaWAN 드라이버 페이지 끝의 현장 장비 접근에서 결정을 기다립니다. OPC UA 드라이버 페이지에 있는 것과 같은 카드입니다.
| 그룹 | 보여 주는 것 | 할 수 있는 일 |
|---|---|---|
| 승인 대기 중 | 거부된 인증서 하나하나가, 그 인증서에 담긴 스테이션 EUI 아래에 나옵니다. SHA-256 지문, 마지막으로 시도한 때와 횟수, 세부 정보(주체, 발급자, 도메인 이름, 유효 기간)를 보여 줍니다. | 승인은 게이트웨이의 다음 연결부터 그 인증서를 받아들입니다. 차단은 여기에 다시 올리지 않고 계속 거부합니다. 대기 중인 인증서 모두 버리기는 아무것도 승인하거나 차단하지 않고 목록을 비웁니다. |
| 승인된 현장 장비 | 승인했거나 가져온 인증서를, 누가 언제 결정했는지와 함께 보여 줍니다. | 승인 철회는 게이트웨이의 연결을 닫고 그 인증서를 목록으로 돌려보냅니다. 인증서 가져오기는 게이트웨이의 공개 인증서를 첫 연결 전에 승인합니다. |
| 차단된 현장 장비 | 차단한 인증서를 보여 줍니다. 차단한 인증서는 Windows가 신뢰하더라도 거부됩니다. | 차단 해제는 승인하지 않은 채 그 인증서를 목록으로 돌려보냅니다. |
승인하는 것은 인증서 하나하나이며, 그 인증서에 서명한 인증 기관이 아닙니다. 그래서 같은 제조사의 두 번째 게이트웨이는 자기 승인을 따로 기다립니다. 승인하기 전에 게이트웨이가 알려 주는 지문과 대조하십시오. 승인해도 그 인증서가 어느 게이트웨이인지는 바뀌지 않습니다. 인증서에 담긴 스테이션 EUI로만, 그리고 유효 기간 안에서만 받아들입니다. Windows가 이미 신뢰하는 인증서는 전처럼 받아들여지고 여기에는 나타나지 않습니다. 자동으로 승인되는 것은 없습니다.
결정은 스테이션의 데이터 폴더 ua\pki\lorawan에 저장되며 다시 시작해도 남습니다. 명령은 Connector를 구성할 수 있는 역할에게만 그려지고, 스테이션 자신의 창에서만 작동합니다. 다른 기기의 브라우저는 카드를 읽기만 하고 바꾸지 못하며, 에이전트 도구는 인증서를 승인하지 않습니다. 목록은 승인을 기다리는 인증서를 100개까지 담습니다. 가득 차면 새 인증서는 계속 거부되지만 목록에 오르지 않으며, 카드가 그렇다고 알립니다.
연결 칸
LoRaWAN 장치에는 자기 호스트도 포트도 없습니다. 센서에는 그 무선 통신을 실어 나르는 집중기를 거쳐 닿고, 집중기는 이 스테이션에 닿습니다. 패널은 등록 선택기를 먼저 보여 주고, 그다음에 그 등록이 필요로 하는 칸을 보여 줍니다.
| 칸 | 무엇인가 | 형식 | 기본값 |
|---|---|---|---|
| 등록된 이름 | 이 장치가 두 등록 가운데 무엇인지입니다. 센서 또는 무선 집중기입니다. 이것을 바꾸면 아래 칸이 비워집니다. 애플리케이션 키와 지역은 같은 것이 아니기 때문입니다. | 센서 / 무선 집중기 | 센서 |
| DevEUI(센서) | 센서의 DevEUI이며, 조인 요청에서 제시하는 신원입니다. | 16진수 열여섯 자리이며, 그대로(8899AABBCCDDEEFF) 적거나 붙임표(88-99-AA-BB-CC-DD-EE-FF)나 쌍점을 넣어 적습니다. |
비어 있음 |
| 애플리케이션 키(센서) | 센서의 OTAA 애플리케이션 키(AppKey)입니다. 조인을 인증하고 세션 키를 이끌어 냅니다. | 구분 기호 없이 정확히 16진수 32자리. | 비어 있음 |
| Station EUI(집중기) | 집중기의 Station EUI이며, 그 클라이언트 인증서가 담아야 하는 것이자 집중기가 자기 연결 주소에 넣는 것과 같은 식별자입니다. | 16진수 열여섯 자리이며 위의 어느 표기로도 적을 수 있습니다. | 비어 있음 |
| 무선 지역(집중기) | 집중기가 서 있는 곳입니다. 이 스테이션이 접속할 때 건네주는 채널과 데이터 전송률과 수신 창을 정합니다. 목록에서 고르며 자유 입력은 없습니다. | 유럽 868 MHz, 미국 915 MHz, 호주 915 MHz, 아시아 923 MHz, 중국 470 MHz(개정 1), 중국 470 MHz(개정 2) | 유럽 868 MHz |
| 전송 없이 지날 수 있는 최대 시간 (s)(센서) | 이 센서가 조용히 있어도 저장된 값이 읽은 값으로 계속 세어지는 초입니다. 0은 만료를 끕니다. 아래를 보십시오. | 0 이상 | 3600 |
DevEUI(센서) 또는 Station EUI(집중기)가 아직 비어 있는 장치, 이를테면 방금 추가한 장치는 그것을 기다립니다. 스테이션은 그 장치를 네트워크 서버에 등록하지 않고 연결도 시도하지 않으며, 트리의 그 행과 페이지 위쪽의 알림은 오류를 보여 주는 대신 "DevEUI를 아직 입력하지 않음" 또는 "스테이션 EUI를 아직 입력하지 않음"이라고 말하고, 다시 연결은 다시 열 것이 없으며, 건전성은 아직 알 수 없음으로 남습니다. 연결 카드에 식별자를 입력하면 스테이션이 그 장치를 등록합니다. 식별자를 비운 채 저장되고 그 EUI(16진수 열여섯 자리, 구분 기호 없음)로 이름 붙은 장치는 기다리지 않고, 늘 그래 왔듯이 자기 이름으로 등록됩니다.
애플리케이션 키는 비밀이며 스테이션도 그렇게 다룹니다. 패널은 그것을 점 뒤에 감추고, 방금 입력한 것을 확인하는 동안 보여 주는 비밀번호 표시 확인란을 함께 둡니다. 설정 데이터베이스는 그것을 입력한 Windows 계정 아래에 보호된 채로 보관합니다. 그리고 그것은 진단 로그에도, 드라이버가 읽는 주소에도 나타나지 않습니다. 그 주소는 DevEUI만 담습니다. 다른 Windows 계정으로 같은 설정을 열면 키는 함께 열리지 않습니다. 칸은 비어서 돌아오며 "이 Windows 계정에서는 읽을 수 없습니다. 입력한 컴퓨터와 그 Windows 계정에서만 열립니다. 여기에 다시 입력하십시오."라고 말하고, 키를 다시 입력할 때까지 센서는 조인하지 않습니다. 백업으로 옮긴 설정은 키를 지킵니다. 백업은 여러분이 준 비밀번호로 봉인되기 때문입니다.
조인은 OTAA만 씁니다. 센서는 집중기를 거쳐 무선으로 조인하고, 네트워크 서버는 설정된 AppKey로 그것에 답합니다. 설정된 어떤 장치도 가지고 있지 않은 DevEUI에서 온 조인 요청은 거부되고 기록됩니다. 개인화에 의한 활성화(ABP, 미리 넣어 둔 세션 키)는 지원하지 않습니다. 센서의 세션은 이 스테이션의 것이며, 그 조인을 전해 준 집중기의 것이 아닙니다. 닿는 범위에 집중기가 둘 이상이면 업링크는 그것을 들은 집중기를 거쳐 들어오고, 끊기거나 제거된 집중기가 센서를 데려가지는 않습니다.
장치를 끄거나 삭제하면 다시 시작을 기다리지 않고 곧바로 네트워크 서버에서 빠집니다. 그 키는 등록부를 떠나고, 이 스테이션에서 잡고 있던 세션이 놓여나며, 다음 조인은 거부됩니다. 집중기를 끄거나 삭제하면 그 연결도 곧바로 닫히고, 그 집중기가 전해 주던 센서들은 세션을 그대로 지닙니다.
서버가 받아들이지 않는 등록은 아예 이루어지지 않습니다. 입력은 했지만 16진수 열여섯 자리가 아닌 DevEUI나 Station EUI, 비어 있거나 16진수 32자리가 아닌 애플리케이션 키, 이 스테이션이 설정할 수 없는 지역이 그렇습니다. 그 장치는 연결되지 않음으로 읽히고, 트리의 그 행과 페이지 머리글 아래의 빨간 글씨가 거부된 칸과 그 칸에 들어가야 할 것을 밝히며, 진단 로그에도 같은 줄이 남습니다. 그 장치 때문에 네트워크 서버가 시작되지는 않으며, 스테이션은 같은 등록을 다시 시도하지 않습니다. 칸을 고치는 것이 장치를 되돌리는 길이고, 다시 연결은 같은 거부로 답합니다.
집중기의 상태 건전성
집중기는 태그를 가지지 않으므로, 그것이 거기 있는지를 읽은 값으로는 알 수 없습니다. 그 상태 건전성, 곧 트리의 그 행에 있는 점과 드라이버 페이지의 상태 건전성 열은 그 게이트웨이가 이 스테이션에 연결되어 있는지입니다.
| 상황 | 상태 건전성 |
|---|---|
| 스테이션 EUI가 아직 비어 있음 | 아직 알 수 없음: 아무것도 등록되지 않았습니다 |
| 등록했지만 게이트웨이가 아직 연결되지 않음(이를테면 그 인증서가 아직 승인을 기다리는 중) | 오프라인 |
| 게이트웨이가 연결됨 | 온라인 |
| 게이트웨이가 떨어짐: 멈췄거나, 전원이 빠졌거나, 네트워크에서 끊김 | 오프라인, 다시 연결될 때까지 |
| 사용 안 함 | 사용 안 함 |
집중기에 대한 변경을 저장한 뒤, 또는 Connector가 시작한 뒤 최대 10초 동안은 아직 알 수 없음으로 읽힙니다. 다시 등록하면 게이트웨이의 연결이 닫히고, 게이트웨이가 다시 연결하는 데 잠시 걸리기 때문입니다. 센서는 집중기의 상태와 상관없이 자기가 읽은 값으로 자기 상태 건전성을 지닙니다. 범위 안에 집중기가 여럿이면, 하나가 떨어져도 나머지가 계속 전해 줍니다.
집중기에 무엇이 보내지는가
등록된 집중기가 버전 핸드셰이크를 마치면, 이 스테이션은 그 지역의 무선 구성으로 답합니다. 주파수 범위, 데이터 전송률과 그 가운데 다운링크 전용인 것, 그리고 그 지역의 기본 채널 계획입니다. Station EUI가 여기에 등록되어 있지 않으면 아무것도 보내지 않고, 어느 스테이션이 물었으며 그것이 등록되어 있지 않다는 사실을 진단 로그가 적습니다. 집중기는 접속하는데 그 뒤의 센서가 끝내 값을 알려 오지 않을 때 찾아볼 항목이 바로 그것입니다.
읽기 주기 칸은 없습니다. LoRaWAN은 밀어 넣는 방식입니다. 언제 업링크할지는 센서가 정하고, 서버는 장치마다 가장 최근에 해독한 페이로드를 간직하며, 태그 값은 1초 고정 주기로 그 캐시에서 다시 읽힙니다.
그러므로 아직 업링크하지 않은 센서에는 실패한 읽기가 아니라 읽기가 없습니다. 태그는 비어 있는 채로 있고, 장치는 오프라인이 되는 대신 아직 아무것도 관찰되지 않았다고 알리며, 실패는 기록되지 않습니다. 첫 업링크를 기다리는 것은 프로토콜이 제대로 도는 모습입니다. 센서가 실제로 보낸 페이로드 안에서 아무것도 가리키지 못하는 주소는 다른 이야기이며, 있는 그대로 읽기 실패로 알려집니다.
센서가 조용해질 때
아무것도 센서를 주기적으로 묻지 않으므로, 센서가 마지막으로 보낸 페이로드는 다음 것을 보낼 때까지 그 캐시에 남습니다. 그대로 두면 배터리가 다한 센서가 스테이션이 도는 내내 같은 숫자를 정상 읽기로 계속 공개하며, 참이기를 그친 값으로 차트와 이력과 경보를 먹일 것입니다.
그래서 센서는 저마다 자기 패널에 초 단위의 전송 없이 지날 수 있는 최대 시간을 가집니다. 기본값은 3600초, 곧 한 시간이며, 흔한 센서의 10분에서 30분 주기를 여유 있게 넘깁니다. 더 드물게 알려 오는 센서는 자기 값을 올리십시오. 그 기한이 지나면 이렇게 됩니다.
- 그 태그는 값을 담기를 멈추고, 마지막 업링크를 되풀이하는 대신 품질이 나쁜 것으로 공개합니다.
- 장치 패널은 센서가 마지막으로 전송한 때를 알려 주므로, 얼마나 오래 조용했는지 볼 수 있습니다.
이 칸을 0으로 두면 그 센서의 만료가 꺼집니다. 마지막 업링크가 언제까지나 정상으로 읽힙니다. 그 밖에 달라지는 것은 없고, 저장된 페이로드도 버려지지 않습니다.
태그 주소 지정
LoRaWAN 태그는 해독된 업링크 페이로드 안의 바이트를 가리킵니다. 자유 입력 주소는 없습니다. 신호원 카드는 형식 있는 칸을 두 방식으로 내놓으며, Cayenne LPP 채널/형식으로 주소 지정 확인란이 그 둘을 바꿉니다.
| 칸 | 하는 일 | 값 | 기본값 |
|---|---|---|---|
| Cayenne LPP 채널/형식으로 주소 지정 | 꺼짐이면 채널 칸이 그냥 바이트 위치입니다. 켜짐이면 페이로드에서 Cayenne LPP 채널/형식 쌍을 찾습니다. | 켜짐 / 꺼짐 | 꺼짐 |
| 채널 / 페이로드 오프셋 | 오프셋 방식에서는 값이 시작되는 0부터 세는 바이트 위치입니다. LPP 방식에서는 찾을 LPP 채널 번호입니다. | 0 이상 | 0 |
| LPP 형식 코드 | LPP 방식에서만 씁니다. 채널 바이트 뒤에 오는 Cayenne LPP 데이터 형식 바이트입니다(예를 들어 온도는 103입니다). 값 바이트는 맞는 채널/형식 쌍 바로 뒤에서 읽으며, 맞는 페이로드가 여럿이면 가장 새 것이 이깁니다. | 0 이상 | 0 |
| 읽기 길이 (바이트, 비우면 자동) | 값을 이루는 페이로드 바이트 수입니다. 비우면 데이터 형식에서 이끌어 냅니다. Boolean과 Byte는 1, Int16은 2, Int32와 Float은 4, String은 16입니다. | 1 이상, 또는 비움 | 비어 있음 |
| 비트마스크 (16진수, 비우면 없음) | 다른 무엇보다 먼저 원시 바이트에 AND로 씌우는 16진수 마스크입니다(예를 들어 상태 비트를 떨어뜨리려면 0x0FFF입니다). 0x 앞머리는 붙여도 되고, 길이가 홀수인 마스크는 앞을 채웁니다. 마스크는 읽기 길이와 정확히 같은 바이트 수를 덮어야 하며, 그렇지 않으면 읽기가 오류를 냅니다. |
16진수 문구 또는 비움 | 비어 있음 |
| 최상위 바이트 먼저 (MSB first, 빅 엔디언) | 페이로드가 값을 빅 엔디언으로 담고 있다고 선언합니다. 읽은 바이트는 변환 전에 뒤집힙니다. 여기에는 워드 순서 상자가 없습니다. 길이가 정해지지 않은 페이로드에는 뒤바꿀 16비트 워드가 없기 때문입니다. | 켜짐 / 꺼짐 | 꺼짐 |
| 곱수 (비우면 없음) | 해독한 바로 뒤, 값이 태그 자신의 변환 경로에 들어가기 전에 네트워크 서버가 적용하는 버스 쪽 계수입니다. 숫자 형식에만 적용됩니다. 0은 입력하는 자리에서 거부됩니다("곱수를 0으로 두면 모든 읽은 값이 0이 됩니다."). 그러면 그 태그의 모든 읽기가 정상 품질의 0으로 알려지게 되기 때문입니다. | 0이 아닌 아무 숫자, 또는 비움 | 비어 있음 |
읽을 때의 차례는 이렇습니다. 주소가 가리키는 바이트를 가져오고 → 비트마스크를 씌우고 → 최상위 바이트 먼저이면 뒤집고 → 태그의 데이터 형식으로 바꾸고 → 곱수를 적용합니다(숫자 형식).
11바이트 페이로드의 오프셋 2에 빅 엔디언 Int16 온도를 담은 센서를 예로 들면 이렇습니다.
- 오프셋 방식에서는 채널/오프셋
2, 읽기 길이2, 최상위 바이트 먼저 켜짐입니다. - 같은 센서가 채널 1에서 형식 103으로 Cayenne LPP를 말하는 LPP 방식에서는 LPP 확인란을 켜고 채널
1, 형식 코드103, 읽기 길이2입니다.
지원하는 데이터 형식
| 형식 | 읽는 바이트(자동) | 바이트를 해석하는 방식 |
|---|---|---|
| Boolean | 1 | 0이면 false, 그 밖에는 true |
| Byte | 1 | 부호 없는 바이트 |
| Int16 | 2 | 부호 있는 16비트 정수 |
| Int32 | 4 | 부호 있는 32비트 정수 |
| Float | 4 | IEEE 754 단정밀도 |
| String | 16 | 읽기 길이만큼의 UTF-8 글자 |
쓰기와 장치 검색
LoRaWAN 태그는 읽기 전용입니다. 값은 센서 업링크에서만 오고, 접근 칸은 쓸 수 있는 선택을 내놓지 않으며, 런타임은 성공한 척하는 대신 쓰기를 거부합니다. 다운링크는 프로토콜에 네트워크 통신으로 존재하지만(조인 수락, MAC 명령) 태그 값 쓰기로는 결코 존재하지 않습니다.
이 드라이버에는 장치 검색 스캔이 없습니다. 집중기는 Station EUI와 지역으로, 센서는 저마다 DevEUI와 AppKey로 손으로 추가하십시오. 일반적인 장치 추가 흐름은 Connector 페이지에서 설명합니다.