Devices
페이지: 설정 -> 장치
장치(복합장치)는 실물 하드웨어 한 대 — PLC, LoRaWAN 릴레이 노드, 심지어 다른 AoT 서버 — 를 나타내는 항목이며, 그 하드웨어에 필요한 입력·출력을 한자리에 모읍니다. 접속정보는 장치에 한 번만 넣으면 그 장치가 만든 입력·출력으로 복사됩니다.
이 페이지는 설정 -> 장치로 들어가며, 메뉴에서 입력 바로 위에 있습니다. 장치는 함수 목록에는 나타나지 않으므로, 추가·편집·삭제는 이 페이지에서만 합니다.
장치는 입력·출력·함수와 무엇이 다른가~
| 항목 | 무엇을 나타내는가 |
|---|---|
| 입력 | 측정값의 출처 하나. 값을 읽어 측정 데이터베이스에 저장합니다. |
| 출력 | 제어 하나. 릴레이를 켜고 끄거나, 듀티사이클을 정하거나, 명령을 보냅니다. |
| 함수 | 측정값과 출력을 가지고 도는 로직(조건부·PID·트리거 등). |
| 장치 | 하드웨어 자신. 접속정보를 갖고, 그 하드웨어와 통신하는 입력·출력을 소유하며, 그것들을 함께 켜고 끕니다. |
장치 자체는 아무것도 측정하거나 제어하지 않습니다 — 실제 일은 전부 하위 입력·출력이 합니다. 장치가 더해 주는 것은 접속정보를 넣는 자리 하나, 그 하드웨어에 속한 항목의 목록 하나, 그리고 그 묶음을 한 번에 켜는 스위치 하나입니다.
장치에 속한 항목도 입력·출력 페이지에 그대로 나오며 설정도 거기서 합니다. 장치 페이지가 그 항목들을 숨기지도, 그 페이지들을 대신하지도 않습니다.
소속에는 두 종류가 있습니다.
| 소속 | 뜻 | 활성화 연동 |
|---|---|---|
| 소유 | 이 장치가 만들었거나, 연결할 때 어느 장치에도 속해 있지 않던 항목입니다. 한 항목의 소유자는 최대 하나입니다. | 됨 |
| 참조 | 이미 다른 곳에 속한 항목을 이 장치에도 함께 보여주는 것입니다. 목록에 (참조)로 표시됩니다. | 안 됨 |
장치는 다른 장치를 담을 수 있습니다. 하위 장치는 항상 참조이며 소유가 되지 않고, 순환(장치가 결국 자기 자신 안에 들어가는 연결)이 생기는 연결은 거부됩니다.
장치 추가~
페이지 상단 드롭다운에서 종류를 고르고 — 항목은 장치: <종류 이름> 형태입니다 — 추가를 누릅니다.
청사진이 있는 종류는 필요한 입력·출력이 즉시 만들어져 장치에 연결됩니다. 채널은 일부러 비워 둡니다 — 레지스터 맵이나 원격 측정 목록은 현장마다 달라 미리 가정할 수 없기 때문입니다. 채널은 각 입력·출력 페이지에서 채우거나, 원격 AoT 서버라면 접속정보를 저장한 뒤 장치가 찾아 온 목록에서 고릅니다.
장치의 추가·편집·연결·순서 변경에는 컨트롤러 편집 권한이 필요합니다.
이 페이지에는 탭이 없습니다. 카드 왼쪽의 손잡이를 끌어 순서를 바꾸며, 놓는 즉시 저장됩니다.
기본 제공 장치 종류~
| 종류 | 무엇을 만드는가 | 장치에 넣는 접속정보 |
|---|---|---|
| Remote AoT Server | 수집용 입력(AoT: Remote AoT: Measurements)과 온오프 제어용 출력(Remote AoT Output: On/Off) | 원격 호스트(포트 포함 가능), 원격 API 키, 프로토콜(HTTPS/HTTP), TLS 인증서 검증, 요청 타임아웃 |
| Modbus PLC (Generic) | Modbus TCP 입력과 Modbus TCP 코일 출력 | 호스트, 포트(기본 502), 유닛/슬레이브 ID, 타임아웃, 재시도 |
| AoT-C (Solar 12V Relay Node) | ChirpStack MQTT 텔레메트리 입력과 ChirpStack 다운링크 출력 | DevEUI, MQTT 브로커 호스트·포트·인증정보·TLS, ChirpStack gRPC 서버와 API 키, 그리고 참여할 기존 LoRaWAN 클래스 스케줄러 |
| Custom (no fixed type) | 아무것도 만들지 않는 빈 그릇 | 없음. 이미 있는 입력·출력·장치를 직접 붙입니다. |
AoT-C 종류는 스케줄러를 새로 만들지 않고 기존 LoRaWAN 클래스 스케줄러에 참여시킵니다 — 여러 노드가 스케줄러 하나를 함께 쓰게 하기 위함입니다.
장치 목록~
카드에는 왼쪽부터 다음이 있습니다.
- 순서를 바꾸는 손잡이.
- 장치 이름. 누르면 그 장치의 고유 ID가 클립보드에 복사됩니다.
- 상태 배지와, 이 장치가 소유한 입력·출력의 개수.
- 활성화 / 비활성화.
- 설정 드로어를 여는 톱니바퀴.
배지는 하위 입력·출력이 통신에 대해 보고하는 내용에서 나오며 몇 초마다 갱신됩니다.
| 배지 | 뜻 |
|---|---|
| 정상 | 통신 상태를 보고할 수 있는 항목이 하나 이상 있고, 오류를 보고하는 항목은 없습니다. |
| 오류 | 통신 오류를 보고하는 항목이 있습니다. |
| 확인 불가 | 이 장치 아래 어떤 항목도 통신 상태를 보고하지 못합니다. 고장이 아닙니다 — 대부분의 드라이버는 그 질문에 답할 방법 자체가 없습니다. |
개수는 이 장치가 소유한 입력·출력의 수이며, 참조 항목은 세지 않습니다.
장치 설정~
톱니바퀴를 누르면 드로어가 열리고, 위에서 아래로 다음 구획이 있습니다.
- 기본 설정 — 이름, 노트, 그리고 이 장치의 지도 배치(지도에 장치 배치 참조).
- 고급 설정 — 장치 자신의 옵션. 대부분의 종류에서는 접속정보를 뜻합니다.
- 측정 채널 / 제어 채널 — 이 장치 아래 채널의 값과 상태를 보여주는 읽기 전용 표시(채널 참조).
- 입력 / 출력 — 입력·출력의 연결과 해제, 그리고 지금 연결된 목록(연결 참조).
- 하위 장치 — 다른 장치에 대해 같은 방식.
아래쪽 버튼은 닫기, 삭제, 복제, 저장입니다.
참고
장치 설정을 저장하려면 먼저 비활성화해야 합니다. 활성 상태에서 저장하면 오류로 거부되고 아무것도 바뀌지 않습니다. 비활성화 → 저장 → 다시 활성화 순서로 하십시오.
측정 채널과 제어 채널~
이 구획은 각 측정 채널의 현재 값과 각 제어 채널의 현재 상태만 보여줍니다. 조작 버튼은 두지 않습니다 — 연결되는 출력은 단순 온오프뿐 아니라 개폐형(위치 %) 액추에이터, PWM 등 채널 종류가 다양해서, 여기에 조작 UI를 하나 고정하면 종류가 맞지 않는 조작이 붙기 때문입니다.
채널을 조작하거나 설정하려면 입력 / 출력 구획의 이름 링크를 눌러 그 항목의 정본 페이지로 이동하십시오.
기존 입력·출력·장치 연결~
입력 / 출력과 하위 장치 구획의 검색 가능한 드롭다운에는 이 장치에 아직 연결되지 않은 항목이 모두 나옵니다. 하나를 고르고 링크를 누르면 됩니다. 지금 연결된 목록이 바로 아래에 이어지므로, 누른 결과가 그 자리에서 보입니다.
- 어느 장치에도 속하지 않은 입력·출력은 이 장치의 소유가 됩니다.
- 이미 다른 곳에 속한 항목은 참조로 추가되며 그렇게 표시됩니다. 같은 항목을 여러 장치가 참조할 수 있습니다.
- 다른 장치는 항상 참조로만 추가되며, 순환이 생기는 연결은 거부됩니다.
- 스페이서는 후보로 나오지 않습니다.
연결 해제는 소속만 지웁니다. 입력·출력·장치 자체는 그대로 남아 계속 동작하며, 이 장치의 목록에서만 사라집니다.
활성화~
장치를 활성화하면 장치 자신과 그 장치가 소유한 입력이 함께 활성화됩니다. 비활성화는 그 반대입니다.
- 참조 항목은 이 연동으로 켜지거나 꺼지지 않습니다. 두 장치가 같은 입력을 참조할 때, 한쪽이 꺼진다고 다른 쪽의 데이터가 끊기면 안 되기 때문입니다.
- 출력은 연동 대상이 아닙니다. 출력에는 활성화 상태라는 개념 자체가 없고, 만들어지는 즉시 데몬에 등록됩니다.
- 소유한 입력의 활성화가 실패해도 — 접속정보가 아직 비어 있는 장치 추가 직후에 가장 흔합니다 — 장치 자체는 활성화되고 실패는 경고로만 보고됩니다. 그러지 않으면 문제를 고칠 설정 화면에 들어갈 방법이 없어집니다.
접속정보가 하위 항목에 전달되는 방식~
장치에 넣은 접속정보는 생성 시점 한 번이 아니라 장치를 저장할 때마다 그 장치가 만든 입력·출력으로 복사됩니다. 생성 시점에는 그 값이 아직 비어 있으므로, 값이 실제로 존재하게 되는 때가 저장 시점이기 때문입니다.
- 복사는 부모에서 자식으로 가는 단방향입니다. 복사 대상이 아닌 설정을 하위에서 직접 고쳐 두면 부모가 그것을 덮어쓰지 않습니다.
- 장치 종류가 공유하기로 선언한 항목만, 그 장치가 만든 항목에만 복사됩니다. 직접 연결한 항목은 자기 접속정보를 그대로 유지하며, 그 값은 해당 항목의 페이지에서 입력합니다.
- 양쪽 이름이 같은 항목만 복사됩니다. 같은 사실을 드라이버마다 다른 이름으로 부르는 경우는 장치 종류가 따로 처리합니다(AoT-C 종류의 DevEUI가 그렇습니다).
다른 AoT 서버 연결~
Remote AoT Server 종류는 다른 AoT 설치 한 대를 장치 하나로 다룹니다 — 수집용 입력이 그 서버의 측정값을 이쪽으로 끌어오고, 제어용 출력이 그 서버의 출력을 켜고 끕니다.
시작하기 전에 필요한 것:
- 원격 서버의 호스트 또는 IP 주소. 기본 포트가 아니면 포트까지(예:
192.168.0.9:8084). - 원격 서버에서 발급한 API 키. 그 서버의
관리 -> 시스템 관리 -> 사용자에서 사용자를 편집하고 키를 생성합니다. 키는 생성되는 그 순간 한 번만 표시됩니다. 보안을 참조하십시오. - 그 서버가 HTTPS로 닿는지, 평문 HTTP로만 닿는지.
참고
API 키는 그 키가 속한 사용자의 권한을 전부 그대로 넘깁니다. 관리자 키라면 값 조회뿐 아니라 그 서버의 실물 장치 제어까지 허용됩니다. 수집만 하는 연결이라면 읽기 전용 권한으로 발급한 키, 그리고 역할이 설정 보기만 허용된 원격 사용자의 키를 쓰십시오.
TLS 인증서 검증은 켠 채로 두십시오. 꺼져 있는 동안에는 두 서버 사이의 누구든 API 키를 가로챌 수 있고, 그 키로 원격 농장의 밸브를 여닫을 수 있습니다.
접속정보를 저장한 뒤에는:
- 장치가 원격 서버에 어떤 측정값이 있는지 물어 수집용 입력의 원격 측정값 드롭다운을 채워 둡니다 — 두 번 저장하지 않아도 되게 하기 위함입니다. 원격에 닿지 않아도 저장 자체는 성공하며, 입력 페이지에서 다시 시도할 수 있습니다.
- 수집용 입력을 열어 측정값 개수를 정하고, 채널마다 원격 측정값을 고른 뒤, 각 채널의 측정 단위를 드롭다운에 표시된 단위와 맞춥니다.
- 만들어진 입력·출력의 이름 끝에 원격 호스트가 괄호로 붙습니다 — 원격 서버를 여러 대 붙여도 목록·그래프에서 구별되게 하기 위함입니다. 괄호 앞부분은 사용자의 것이라 절대 다시 쓰지 않고, 괄호 안의 호스트만 AoT가 관리합니다. API 키는 이름에 넣지 않습니다.
원격 PWM 출력은 청사진에 없습니다 — 필요한 현장이 드물기 때문입니다. 필요하면 그 출력을 직접 추가한 뒤 입력 / 출력 구획에서 연결하십시오. 직접 연결한 항목의 접속정보는 그 항목에 직접 입력합니다.
지도에 장치 배치~
장치 설정 위쪽의 지도 구획에서 장치를 지도에 올립니다 — 지도를 고르고, 위치를 정하고, 마커 아이콘·색·크기를 정합니다. 지도 위의 복합장치는 그 아래 장치들을 담는 그릇으로 다룹니다.
지도 도형과 시설 설비는 장치를 자기 안에 저장하지 않습니다. 자리 — 구역 폴리곤, 시설 슬롯, 센서 역할 — 는 그 자체로 존재하고, 장치는 일정 기간 그 자리에 배정될 뿐입니다. 그래서 장치를 교체해도 도형을 다시 그릴 필요가 없고, 그래프도 교체를 넘어 이어집니다.
삭제와 복제~
삭제는 장치 항목 자신을 지웁니다. 하위 입력·출력은 지우지 않습니다 — 각자의 페이지에 그대로 남아 계속 동작하며, 이 장치에 속했다는 기록만 사라집니다.
장치를 삭제하면:
- 그 장치가 맡고 있던 자리의 배정이 종료됩니다. 어느 기계가 언제 그 자리를 맡았는지는 이력으로 남습니다.
- 구역 폴리곤과 시설 슬롯은 남아서 미배정 자리가 되고, 지도와 시설 편집기에 그렇게 표시됩니다. 장치가 사라지면 아무것도 가리키지 않게 되는 장치 위치 마커만 함께 지워집니다.
- 지도는 장치와 함께 지워지지 않습니다.
참고
소유하던 장치가 삭제된 입력·출력에는 그 옛 소유 기록이 남습니다. 그래서 다른 장치에 연결하면 소유가 아니라 참조로 붙고, 새 장치를 활성화해도 그 항목은 함께 켜지지 않습니다. 그런 입력은 입력 페이지에서 직접 활성화하십시오.
복제는 장치 항목만 복사합니다. 복사본에는 입력·출력이 없으므로, 새로 추가한 장치의 청사진을 쓰거나 복사본에 직접 항목을 연결하십시오.