<aside> ⚙

edge device에 상태 조회 및 제어 , 칼리브레이션 값 세팅 기능을 위한 State 설계 .

</aside>

⇒ iofarm-backend-new 에 개발

https://www.figma.com/design/rAfHiLGeD4yhJBefJcsWfJ/test?node-id=112-3130&p=f&t=idn6oFM0H5RPYDkf-0

센서 어드민 제어 기능 추가

port.config 정책

aws iot 컨설팅 메일 내용

App ↔ Server 통신 시나리오

Shadow, MQTT, ioT jobs

Shadow State 정의

: 노드 박스 상태 조회, 노드 박스 제어 명령

<노드박스 State>

{
	"ctl.reboot": 1 # 1 리부트 요청 , 0 대기 ,
	"state.network": "wifi", # lte, wifi,
	"state.app.pub": 0 or 1, # wifi 일때 만 존재
	"state.app.sensor": 0 or 1, # wifi 일때 만 존재
	"state.app.mix": 0 or 1 , # lte일때
	"state": "STABLE" # STABLE : 정상 상태, ERROR : 에러 상황, WARNING : 경고 상황
	"state.update_time": timestamp,
	"state.last_reboot_time": timestamp
}
{
  "power": {
    "state.reboot_time": "timestamp"  // 최근 리부트한 시간 (ISO8601 형식 추천)
  },
  "wifi": {
    "state.ssid": "string",            // 연결된 Wi-Fi SSID
    "state.password": "string",        // 연결된 Wi-Fi 비밀번호
    "control.test.ssid": "string",     // 테스트할 Wi-Fi SSID
    "control.test.password": "string", // 테스트할 Wi-Fi 비밀번호
    "state.test.valid": 0,             // 테스트된 SSID 유효성 (0: 무효, 1: 유효)
    "control.ssid.valid": 0,           // 테스트 SSID 유효성 테스트 요청 (0: 요청 안함, 1: 요청)
    "state.connection": 0,             // Wi-Fi 연결 상태 (0: 미연결, 1: 연결됨)
    "control.connect": 0               // Wi-Fi 연결 요청 (0: 요청 안함, 1: 요청)
  },
  "app": {
    "state.pub": 0,                    // Pub 앱 상태 (0: 꺼짐, 1: 정상, 2: 에러)
    "control.restart.pub": 0,          // Pub 앱 재시작 요청 (0: 요청 없음, 1: 재시작 요청)
    "state.sensor": 0,                 // Sensor 앱 상태 (0: 꺼짐, 1: 정상, 2: 에러)
    "control.restart.sensor": 0,       // Sensor 앱 재시작 요청 (0: 요청 없음, 1: 재시작 요청)
    "state.mix": 0,                    // Mix 앱 상태 (0: 꺼짐, 1: 정상, 2: 에러)
    "control.restart.mix": 0           // Mix 앱 재시작 요청 (0: 요청 없음, 1: 재시작 요청)
  },
  "port.config": {
    "state.config_updated_time": "timestamp" // 포트 구성 업데이트 시간 (ISO8601 형식 추천)
  }
}
ComponentName {command}.keyName valueType description
power state.reboot_time timestamp // 최근 리부트한 시간 (ISO8601 형식 추천)
wifi state.ssid string // 연결된 Wi-Fi SSID
state.password string // 연결된 Wi-Fi 비밀번호
control.test.ssid string // 테스트할 Wi-Fi SSID
control.test.password string // 테스트할 Wi-Fi 비밀번호
state.test.valid integer // 테스트된 SSID 유효성 (0: 무효, 1: 유효)
control.ssid.valid integer // 테스트 SSID 유효성 테스트 요청 (0: 요청 안함, 1: 요청)
state.connection integer // Wi-Fi 연결 상태 (0: 미연결, 1: 연결됨)
control.connect integer // Wi-Fi 연결 요청 (0: 요청 안함, 1: 요청)
app state.pub integer // Pub 앱 상태 (0: 꺼짐, 1: 정상, 2: 에러)
control.restart.pub integer // Pub 앱 재시작 요청 (0: 요청 없음, 1: 재시작 요청)
state.sensor integer // Sensor 앱 상태 (0: 꺼짐, 1: 정상, 2: 에러)
control.restart.sensor integer // Sensor 앱 재시작 요청 (0: 요청 없음, 1: 재시작 요청)
state.mix integer // Mix 앱 상태 (0: 꺼짐, 1: 정상, 2: 에러)
control.restart.mix integer // Mix 앱 재시작 요청 (0: 요청 없음, 1: 재시작 요청)
port.config state.config_updated_time timestamp // 포트 구성 업데이트 시간 (ISO8601 형식 추천)

MQTT TOPIC (API)

<aside> ⚙

Sever → Node box 아래 PUB SUB 태그는 Server 기준

</aside>

APP>칼리브레이션 관련 topic