์์ฝ:
์ฝ์์๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ ์ฅ์น์ ๋ํ ๊ฐ์ ํ์ด์ง๋ฅผ ๋ณด์ํ๋ ๊ฒ์ดํธ์จ์ด์ ๋ํ ๊ฐ์ ํ์ด์ง๊ฐ ํ์ํฉ๋๋ค. #26๋ ์ฐธ์กฐํ์ญ์์ค.
๊ฐ์ ํ์ด์ง์๋ ๋ค์์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.
์์์ ์ผ๋ก ๊ฐ์ ์์ ์๋ ๋ค์๋ ํฌํจ๋ฉ๋๋ค.
์ ์ด๊ฒ์ด ํ์ํฉ๋๊น?
๋น์ฌ ๋ฒ์ธ์ ๊ฐ์ ํ์ด์ง๋ ๋ฎ์ ํด๋ฆญ ์ฌ๋๋ก ๊ฐ์ฅ ์ค์ํ ์ ๋ณด์ ๋น ๋ฅด๊ฒ ์ก์ธ์คํ๋ ์ญํ ์ ํฉ๋๋ค.
์ด๋ฏธ ๊ฑฐ๊ธฐ์ ๋ฌด์์ด ์์ต๋๊น?
ํด๋น API ์๋ํฌ์ธํธ. ์ฐธ๊ณ ๋ก ๊ฒ์ดํธ์จ์ด ๋ ์ง์คํธ๋ฆฌ์ GET /gateways/{gateway_ids.gateway_id}
์๋ต ์:
{
"ids": {
"gateway_id": "string",
"eui": "string"
},
"created_at": "2019-03-06T08:55:43.727Z",
"updated_at": "2019-03-06T08:55:43.727Z",
"name": "string",
"description": "string",
"attributes": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"contact_info": [
{
"contact_type": "CONTACT_TYPE_OTHER",
"contact_method": "CONTACT_METHOD_OTHER",
"value": "string",
"public": true,
"validated_at": "2019-03-06T08:55:43.727Z"
}
],
"version_ids": {
"brand_id": "string",
"model_id": "string",
"hardware_version": "string",
"firmware_version": "string"
},
"gateway_server_address": "string",
"auto_update": true,
"update_channel": "string",
"frequency_plan_id": "string",
"antennas": [
{
"gain": 0,
"location": {
"latitude": 0,
"longitude": 0,
"altitude": 0,
"accuracy": 0,
"source": "SOURCE_UNKNOWN"
},
"attributes": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
],
"status_public": true,
"location_public": true,
"schedule_downlink_late": true,
"enforce_duty_cycle": true,
"downlink_path_constraint": "DOWNLINK_PATH_CONSTRAINT_NONE"
}
์์ด์ง ๋ฌผ๊ฑด ์์ด์?
์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์ด๋ป๊ฒ ์ ์ํฉ๋๊น?
์ ํ๋ฆฌ์ผ์ด์
๊ตฌํ์ ๋ณด์ํฉ๋๋ค.
์ค์ค๋ก ๋ฌด์์ ํ ์ ์๊ณ ์ด๋ค ๋์์ด ํ์ํฉ๋๊น?
์๊ตฌ ์ฌํญ์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ํ ๋น ๋ฅธ ์์ด์ดํ๋ ์์ผ๋ก ํ์ ์กฐ์น๋ฅผ ์ทจํ๊ณ ์ถ์ต๋๋ค.
๊ฒ์ดํธ์จ์ด ๊ฐ์ ํ์ด์ง์ ํ์ํ ๋ด์ฉ์ ๋ํ ์ ๋ณด๊ฐ ๊ณง ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
cc @htdvisser @johanstokking
๋๋ ๊ทธ๊ฒ์ ๊ฐ๋จํ๊ฒ ์ ์งํ ๊ฒ์ ๋๋ค. ID, EUI, ์ด๋ฆ, ์ค๋ช ๋ฐ ๋น๋ ๊ณํ.
GS๋ฅผ ๋๋ฅด๊ณ ์ฐ๊ฒฐ ํต๊ณ๋ฅผ ํ์ธํ์ฌ ์จ๋ผ์ธ ํ์๊ธฐ๋ฅผ ํ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. 200 <= status < 300์ด๋ฉด ์ฐ๊ฒฐ๋๊ณ , 404์ด๋ฉด ์ฐ๊ฒฐ๋์ง ์๊ณ , ๊ทธ ์ธ๋ ์ค๋ฅ์ ๋๋ค. ์ด๊ฒ์ ํ์๋ ํญ๋ชฉ๋น ํธ์ถ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์์ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ GS์์ ์ ๊ณตํ๋ ๊ฒ์ด ๊ฐ์น๊ฐ ์๊ณ ์ ๋ ดํฉ๋๋ค.
https://github.com/TheThingsNetwork/lorawan-stack/issues/26#issue -404416151์์
๊ฒ์ดํธ์จ์ด๋น ์ฐ๊ฒฐ ํต๊ณ ํ์(gateway_server_address๊ฐ ํ์ฌ ์ฝ์์ ๊ฒ์ดํธ์จ์ด ์๋ฒ API ๊ตฌ์ฑ๊ณผ ์ผ์นํ๋ ๊ฒฝ์ฐ)
๊ทธ๋ฆฌ๊ณ
GS๋ฅผ ๋๋ฅด๊ณ ์ฐ๊ฒฐ ํต๊ณ๋ฅผ ํ์ธํ์ฌ ์จ๋ผ์ธ ํ์๊ธฐ๋ฅผ ํ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. 200 <= status < 300์ด๋ฉด ์ฐ๊ฒฐ๋๊ณ , 404์ด๋ฉด ์ฐ๊ฒฐ๋์ง ์๊ณ , ๊ทธ ์ธ๋ ์ค๋ฅ์ ๋๋ค.
์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๋ด์ฉ์ ๋์ํด์ผ ํฉ๋๋ค.
ํ๋ฝํ๋ค
gtw_gs_address
๋ ๊ฒ์ดํธ์จ์ด์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒ์ดํธ์จ์ด ์๋ฒ์ ์ฃผ์์
๋๋ค.
console_gs_address
๋ ์ฝ์์ ์ ๋ฌ๋ ํ์ฌ ํด๋ฌ์คํฐ์ ๊ฒ์ดํธ์จ์ด ์๋ฒ ์ฃผ์์
๋๋ค.
connected
gtw_gs_address
๋๋ console_gs_address == empty
-> ์ํ unknown
์ธ ๊ฒฝ์ฐ . ์ด๋ ๊ฒ์ดํธ์จ์ด ์๋ฒ ์ฃผ์๊ฐ ํ์ฌ ํด๋ฌ์คํฐ์ ์๊ฑฐ๋ ๊ฒ์ดํธ์จ์ด๋ฅผ ์์ฑํ ๋ ์ฃผ์๊ฐ ์ถ๊ฐ๋์ง ์์๊ฑฐ๋ ๋ ๋ค์ธ ๊ฒฝ์ฐ์ ๋ฐ์ํ ์ ์์ต๋๋ค.gtw_gs_address == console_gs_address
-> ์ํ disconnected
์ธ ๊ฒฝ์ฐgtw_gs_address != console_gs_address
-> ๊ฒ์ดํธ์จ์ด is not managed by this console
์ธ ๊ฒฝ์ฐunknown
์ด๋ฉด ๊ฒ์ดํธ์จ์ด ๊ฐ์ ํ์ด์ง์ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.UI:
connected (1)
unknown (2.1)
disconnected (2.2)
not this console (2.3)
@johanstokking @htdvisser @kschiffer
์ฐ๊ฒฐ ํ์๊ธฐ์ ๋ค๋ฅธ ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. GS์ ๋ํ ์์ฒญ์ด ์๋๋ผ ๊ฒ์ดํธ์จ์ด ์๋ฒ ์ฃผ์๋ก ์์ํด์ผ ํฉ๋๋ค.
console.gateway_server_address
๊ฐ ๋น์ด ์์ผ๋ฉด ๊ธฐ๋ฅ์ด ์์ ํ ๋นํ์ฑํ๋ฉ๋๋ค.gateway.gateway_server_address
๊ฐ ๋น์ด ์์ผ๋ฉด ๋ค์ ์ค ํ๋์
๋๋ค.console.gateway_server_address
๊ฐ์ ํ์ง๋ง ๋ฉ์์ง๋ ํ์gateway.gateway_server_address
๊ฐ console.gateway_server_address
์ ๊ฐ์ง ์์ผ๋ฉด ์ด ๊ฒ์ดํธ์จ์ด์ ๋ํ ๊ธฐ๋ฅ์ด ๋นํ์ฑํ๋๊ณ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.๋ฉ์์ง๋ ์ฝ๊ฐ ๋ณ๊ฒฝํ๊ฒ ์ต๋๋ค. ์ ํํ ๊ฒ์ดํธ์จ์ด๊ฐ ํ์ฌ ์ฝ์์ ํด๋ฌ์คํฐ์ ์๋ ๊ฒ์ดํธ์จ์ด ์๋ฒ์ ํ ๋น๋์ง ์์์์ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. ๊ฒ์ดํธ์จ์ด ์๋ฒ๊ฐ ์๋ ID ์๋ฒ์ ์๋ ๊ฒ์ดํธ์จ์ด์ ๋ด์ฉ์ ์ฝ๊ณ ์ฐ๋ ๊ฒ์ ์ฌ์ ํ โโ๊ฐ๋ฅํฉ๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๊ฒฐ ์ํ ๋ฐ ํธ๋ํฝ์ ์ ์ธํ ๋ชจ๋ ๊ฒ)
๋ฉ์์ง๋ ์ฝ๊ฐ ๋ณ๊ฒฝํ๊ฒ ์ต๋๋ค.
์ด๋ค ๋ฉ์์ง๊ฐ ๋ ๊น์?
๋๋ ์ฃผ๋ฌธ์ @htdvisser ์ ๋์ํฉ๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ค์ฏ ๊ฐ์ง ์ํ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค:
console.gateway_server_address
๊ฐ gateway.gateway_server_address
์ด๋ฉด GS๋ฅผ ๋๋ฅด์ญ์์ค.gateway.gateway_server_address
๊ฐ ๋น์ด ์๋ ๊ฒฝ์ฐ; ๊ฒ์ดํธ์จ์ด๊ฐ ํ๋ก๋น์ ๋๋์ง ์์์ต๋๋ค. ๋ฉ์์ง๋ ์ฝ๊ฐ ๋ณ๊ฒฝํ๊ฒ ์ต๋๋ค.
์ด๋ค ๋ฉ์์ง๊ฐ ๋ ๊น์?
์ด์จ๋ ์๋จ ๋ถ๋ถ์ด ์๋ฆผ์ ํ์ํ๊ธฐ์ ์ข์ ์์น์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋ฏธ ์๋ ๋ฉ์์ง๋ฅผ ๊ฐ๊ธฐ ์ํด์๋ ๋ณด๊ธฐ์ ์ข์ง ์์ ๊ธด ํ
์คํธ๊ฐ ํ์ํ ์ ์์ต๋๋ค. Unknown
๋๋ Other Cluster
์ํ๋ก ์ถฉ๋ถํ๋ค๊ณ ๋งํ๊ณ ๋์ค์ ์ฌ์ฉ์์๊ฒ ์ธ๋ถ ์ฌํญ์ ์๋ฆฌ๊ธฐ ์ํด ๋ค๋ฅธ ๊ณณ์ ์กฐ์ฌํด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ๊ทธ๊ฒ์ ๊ฐ๋จํ๊ฒ ์ ์งํ ๊ฒ์ ๋๋ค. ID, EUI, ์ด๋ฆ, ์ค๋ช ๋ฐ ๋น๋ ๊ณํ.
GS๋ฅผ ๋๋ฅด๊ณ ์ฐ๊ฒฐ ํต๊ณ๋ฅผ ํ์ธํ์ฌ ์จ๋ผ์ธ ํ์๊ธฐ๋ฅผ ํ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. 200 <= status < 300์ด๋ฉด ์ฐ๊ฒฐ๋๊ณ , 404์ด๋ฉด ์ฐ๊ฒฐ๋์ง ์๊ณ , ๊ทธ ์ธ๋ ์ค๋ฅ์ ๋๋ค. ์ด๊ฒ์ ํ์๋ ํญ๋ชฉ๋น ํธ์ถ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์์ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ GS์์ ์ ๊ณตํ๋ ๊ฒ์ด ๊ฐ์น๊ฐ ์๊ณ ์ ๋ ดํฉ๋๋ค.