DAS Node 구조 설계에 고려해야할 점
> Master는 현재 관리 중인 모든 Node 로부터 통신 정상 수신을 받았는지 여부 체크해야 함
- Master의 노드 테이블에 100개 노드 ID가 등록되었다면, Sub-Master들은 Slave로부터 peer등록 여부를 100개 모두 받아서 Master에 보고해야 함.
- 1개 Slave에 N개의 Sub-Master를 Peer등록할 필요가 없으므로 이미 Peer가 등록됐다면 Sub-Master로부터 받는 추가적인 Peer 등록 요청 브로드캐스팅 통신을 무시하도록 로직 필요함(Peer == True : END / Peer == False : Update peer)
- 클라이언트가 작업 요청을 주면, Master↔Sub-Master↔Slave 점검 절차를 한 사이클 돌게 설계(중간에 노드가 초기화되서 등록된 Peer가 사라진다면? => 점검절차를 매 Job data 송신 때마다 수행? 이런식의 대응책 고민 필요)
- N개의 브로드캐스팅 및 peer 유니캐스팅이 동시다발적일 경우 통신에 장애가 생기는지 실제로 해봐야 함
> 큐방식으로 한번에 몇개 상품까지 분류할 것인지와 상품들이 분류가되면 추가 큐를 넣어줄 수 있게 설계해야 함
> sub-Master는 ESP-NOW + WIFI 둘다 사용할 수 있어야 함(Flask 서버와 통신은 WIFI, Slave들과는 ESP-NOW)
> Slave Node Status 초기화(작업 마감)
기록
> ESP-NOW 브로드캐스팅으로 10m 정도 통신이 됨(사이에 벽은 3개 정도) . 15m까진 될 것 같음
Main Server, DAS Node 설계
■ Master : Flask Server
- Data
- Order data
- Order Number
- Item
- Item Qty
- Order SEQ
- ETC
- Node data
- Node ID
- Node Attribute(Sub-Master/Slave)
- Location
- Slave Node Routing Info
- Func
- Managing Node Data
- Receiving order data(From client)
- Sending Job Queue(To Sub-Master) <= api 호출 or Mqtt 서버 발행 고민 중
- Receiving Job Status(From Sub-Master)
- Printing Label
- Order data
■ Sub-Master : ESP32 Node
- Func
- Receiving job Queue(From Master)
- Broadcasting Sub-Master data(MAC addr)
- Receiving Peer Status(From Slave)
- Broadcasting job data(To Slave)
- Receiving job status(From Slave)
■ Slave : ESP Node(8 Digits LED, Button)
- Func
- Receiving Sub-Master MAC addr
- Update Sub-Master MAC addr
- Receiving job data(From Sub-Master)
- Update job status
- Unicasting job status(To Sub-Master)
'Logistics IoT > DAS-PJT' 카테고리의 다른 글
| [DAS-PJT-005] ESP-NOW 브로드캐스팅 방식으로 N개 노드 점멸 (0) | 2025.06.17 |
|---|---|
| [DAS-PJT-003]ESP32 핀맵과 용도 (0) | 2025.06.06 |
| [DAS-PJT-002]ESP32 개발 환경 셋팅 (0) | 2025.06.02 |
| [DAS-PJT-001] 노드를 활용한 물류 분류 시스템 만들기 (0) | 2025.05.18 |