Interface Specification - addinedu-ros-8th/ros-repo-3 GitHub Wiki
μΈν°νμ΄μ€ ID | μ΄λ¦ | λ°©ν₯ | μ€λͺ |
---|---|---|---|
AU | λ‘κ·ΈμΈ μΈμ¦ μμ² | Staff GUI β Main Service | μ¬μ©μ λ‘κ·ΈμΈ μμ² |
IS | μν μ 보 μ‘°ν μμ² | Staff GUI β Main Service | QRμ½λ κΈ°λ° μν μ‘°ν |
IR | μν μμ² | Staff GUI β Main Service | μ₯λ°κ΅¬λ κΈ°λ° μ¬κ³ μμ² |
CD | μμ μ·¨μ μμ² | Staff GUI β Main Service | μ§ν μ€ μμ μ€λ¨ |
TR | μμ μν νμΈ μμ² | Staff GUI β Main Service | νΉμ μμ μ μλ£ μ¬λΆ νμΈ |
TR_NOTIFY | μμ μν λ³κ²½ μλ¦Ό | Main Service -> Staff GUI | μμ μνκ° λ³κ²½λ λ νΈμλλ μλ¦Ό λ©μμ§ |
IN | AI μΈμ κ²°κ³Ό μμ | AI Server β Main Service | κ°μ²΄ μΈμ κ²°κ³Ό λ³΄κ³ |
λ°©ν₯: Staff GUI β Main Service
μ€λͺ
: μ¬μ©μ λ‘κ·ΈμΈμ μν΄ μΈμ¦ μμ²μ μ μ‘
Request
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "AU" |
2 | 32 | user_name | char[32] | μ¬μ©μ μ΄λ¦ |
34 | 32 | password | char[32] | λΉλ°λ²νΈ |
Response
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "AU" |
2 | 1 | status | uint8 | 0x00 μ±κ³΅ / 0x01 μ€ν¨ |
3 | 4 | user_id | uint32 | μ¬μ©μ ID (μ±κ³΅ μ) |
7 | 1 | user_role | uint8 | μ¬μ©μ μν (STAFF/MANAGER) |
λ°©ν₯: Staff GUI β Main Service
μ€λͺ
: QRμ½λλ₯Ό κΈ°λ°μΌλ‘ μν μ 보λ₯Ό μ‘°ν
Request
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "IS" |
2 | 16 | qr_code_value | char[16] | QRμ½λ λ°μ΄ν° |
Response
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "IS" |
2 | 1 | status | uint8 | 0x00 μ±κ³΅ / 0x01 μ€ν¨ |
3 | 32 | name | char[32] | μν μ΄λ¦ |
35 | 4 | size | uint32 | μ¬μ΄μ¦ |
39 | 16 | color | char[16] | μμ μ΄λ¦ |
55 | 4 | quantity | uint32 | μ¬κ³ μλ |
59 | 16 | location | char[16] | μμΉ μ½λ |
λ°©ν₯: Staff GUI β Main Service
μ€λͺ
: μ₯λ°κ΅¬λμ μνλ€λ‘ Delivery λ° Taskλ€μ μμ±νκ³ λͺ©μ μ§λ₯Ό μ€μ
Request
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "IR" |
2 | 4 | user_id | uint32 | μ¬μ©μ ID |
6 | 2 | item_count | uint16 | μ₯λ°κ΅¬λ νλͺ© μ N |
8 | 2 | destination | char[2] | λ°°μ‘ λͺ©μ μ§ ("G1"~"G8") |
10 | N Γ 12 | items[N] | struct[] | μ₯λ°κ΅¬λ νλͺ© λͺ©λ‘ |
Item ꡬ쑰 (items[])
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 4 | shoes_model_id | uint32 | μ λ° λͺ¨λΈ ID |
4 | 4 | location_id | uint32 | μΆλ° μμΉ (λ ID) |
8 | 4 | quantity | uint32 | μμ² μλ (=Task μ) |
Response
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "IR" |
2 | 1 | status | uint8 | 0x00 μ±κ³΅ / 0x01 μ€ν¨ |
3 | 4 | delivery_id | uint32 | μμ±λ Delivery ID |
7 | 4 | first_task_id | uint32 | 첫 λ²μ§Έ Task ID |
λ°©ν₯: Staff GUI β Main Service
μ€λͺ
: 첫 Taskκ° TO_DO λλ IN_PROGRESS μνμΌ κ²½μ°λ§ μ·¨μ κ°λ₯
Request
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "CD" |
2 | 4 | user_id | uint32 | μ¬μ©μ ID |
6 | 4 | delivery_id | uint32 | μ·¨μν Delivery ID |
Response
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "CD" |
2 | 1 | status | uint8 | 0x00 μ±κ³΅ / 0x01 μ€ν¨ |
3 | 4 | delivery_id | uint32 | μμ²λ Delivery ID |
λ°©ν₯: Staff GUI β Main Service
μ€λͺ
: λ‘κ·ΈμΈ ν λ¨μ μμ
μν νμΈ (μ§ν μ€/μλ£ Task)
Request
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "TR" |
2 | 4 | user_id | uint32 | μ¬μ©μ ID |
Response
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "TR" |
2 | 1 | status | uint8 | 0x00 μ±κ³΅ / 0x01 μ€ν¨ |
3 | 2 | done_count | uint16 | μλ£λ Task μ |
5 | 1 | in_progress_count | uint8 | μ§ν μ€ Task μ |
6 | N Γ 32 | in_progress_names | char[32][] | μ§ν μ€μΈ μ λ° λͺ¨λΈλͺ λͺ©λ‘ |
μμ μλ΅:
{
"cmd": "TR",
"status": 0,
"done_count": 2,
"in_progress_count": 1,
"in_progress_names": ["Nike Air Zoom"]
}
λ°©ν₯: Main Service β Staff GUI μ€λͺ : μμ μνκ° λ³κ²½λ λ Staff GUIμ λΉλκΈ°μ μΌλ‘ νΈμλλ μλ¦Ό λ©μμ§. νν: PUSH (λΉλκΈ°)
Push Message
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "TR" |
2 | 4 | delivery_id | uint32 | μμ μ΄ μν Delivery ID |
6 | 4 | task_id | uint32 | λ³κ²½λ Task ID |
10 | 1 | task_status | uint8 | Task μν (enum) |
11 | 32 | shoes_model_name | char[32] | μ λ° λͺ¨λΈλͺ (UTF-8 λ¬Έμμ΄) |
43 | 8 | timestamp | uint64 | μν λ³κ²½ μκ° (UNIX Epoch ms) |
κ° | μλ―Έ |
---|---|
0x00 | TO_DO |
0x01 | IN_PROGRESS |
0x02 | DONE |
0x03 | CANCELLED |
0xFF | UNKNOWN |
νλ | κ° |
---|---|
cmd | "TR" |
delivery_id | 1001 |
task_id | 2005 |
task_status | 0x01 (IN_PROGRESS) |
shoes_model_name | "Nike Air Zoom" |
timestamp | 1716003600000 |
λ°©ν₯: AI Server β Main Service
μ€λͺ
: κ°μ²΄ μΈμ κ²°κ³Ό λ³΄κ³ . Main Serviceλ μμ μ¦μ μ²λ¦¬
Push Message
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "IN" |
2 | 1 | roscar_id | uint8 | λ‘λ΄ ID |
3 | 1 | result_code | uint8 | 0x00=Person, 0x01=Roscar |
Response
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 2 | cmd | char[2] | "IN" |
2 | 1 | status | uint8 | 0x00 μ±κ³΅ / 0x01 μ€ν¨ |
result_code λ§€ν
μ½λ | κ°μ²΄ μ ν |
---|---|
0x00 | Person |
0x01 | Roscar |
0xFF | κΈ°ν/μ μ μμ |
μΈν°νμ΄μ€ ID | μ΄λ¦ | λ°©ν₯ | μ€λͺ |
---|---|---|---|
VF | μμ νλ μ μ μ‘ | Video Sender β AI Server | Pi Camera μμ μ μ‘ |
λ°©ν₯: Video Sender β AI Server
μ€λͺ
: λ‘λ΄μ΄ μμ§ν μμ λ°μ΄ν°λ₯Ό μ€μκ° μ μ‘
Packet
Offset | Length | Name | Type | Description |
---|---|---|---|---|
0 | 1 | roscar_id | uint8 | μ‘μ λ‘λ΄ ID |
1 | 4 | frame_size | uint32 | μ΄λ―Έμ§ λ°μ΄νΈ κΈΈμ΄ |
5 | frame_size | image_bytes | bytes[] | μ΄λ―Έμ§ λ°μ΄λ리 λ°μ΄ν° |