AWS

[AWS] AWS IoT Core๋ž€ ?

soogoori 2024. 9. 27. 17:33

AWS IoT Core๋ž€ ?

 

ํ˜„์žฌ ํŒ€ ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ฃผ์š” ๊ธฐ์ˆ ๋กœ, ํŒ€ ์ด๋ฆ„์— ๋ถ€ํ•ฉํ•˜์—ฌ ํ™œ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. 

AWS์—์„œ ๋งŽ์€ ์„œ๋น„์Šค ์ข…๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์•Œ๊ณ  ์žˆ์—ˆ์œผ๋‚˜, IoT๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ž…์‚ฌํ•˜๊ณ  ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

AWS IoT Core์˜ ์„œ๋น„์Šค๋ฅผ ์š”์•ฝํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๐Ÿ‘‰ IoT ๊ธฐ๊ธฐ์™€ ํด๋ผ์šฐ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„œ๋น„์Šค๋กœ, ๊ธฐ๊ธฐ๊ด€๋ฆฌ, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„์„ ์œ„ํ•œ ์ค‘์•™ ํ—ˆ๋ธŒ ์—ญํ•  ์ˆ˜ํ–‰

์ฆ‰, ๋‹ค๋ฅธ AWS ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์žฅ์น˜์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก IoT ์žฅ์น˜๋ฅผ ํด๋ผ์šฐ๋“œ์— ์—ฐ๊ฒฐํ•˜๋Š” ์„œ๋น„์Šค ์ œ๊ณต

 

 

 

MQTT (Message Queuing Telemetry Transport)

IoT ๋””๋ฐ”์ด์Šค์™€ ํด๋ผ์šฐ๋“œ ๊ฐ„์˜ ๊ฒฝ๋Ÿ‰ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ๐Ÿ‘‰ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค

 

์˜จ๋„ ์กฐ์ ˆ ์žฅ์น˜์— ์—ฐ๊ฒฐ๋œ IoT ๊ธฐ๊ธฐ๊ฐ€ "24๋„๋กœ ์กฐ์ ˆํ•ด๋ผ"๋Š” ๋ช…๋ น์„ ๋ฐ›๊ฒŒ ๋˜๋Š” ๋ฐ ์ด๋•Œ MQTT๋ฅผ ํ†ตํ•ด ๋ช…๋ น์„ ๋ฐ›๊ณ , ์˜จ๋„ ์กฐ์ ˆ ์žฅ์น˜๋Š” ๊ทธ ๋ช…๋ น์— ๋งž์ถฐ ๋™์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค. ๋ช…๋ น์€ ์•„์ฃผ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ฒŒ ์ „์†ก๋˜๋ฉฐ ์ธํ„ฐ๋„ท์ด ์ž ์‹œ ๋Š๊ธฐ๋”๋ผ๊ณ  ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๋ฉด ๋ช…๋ น์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. 

 

์ด๋ ‡๋“ฏ IoT ๋””๋ฐ”์ด์Šค์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์—์„œ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋ฅผ ํ™œ์šฉํ•ด ์„ผ์„œ ๋ฐ์ดํ„ฐ๋‚˜ ์žฅ๋น„ ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฃผ๊ณ  ๋ฐ›์•„์•ผํ•œ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์—ญํ• ์„ MQTT๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” ์ž์‹ ์„ ๊ตฌ๋…ํ•œ ์žฅ์น˜์™€ Device Shadow ์„œ๋น„์Šค ๋ฐ ๊ทœ์น™ ์—”์ง„๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ AWS IoT Core ์„œ๋น„์Šค์— ์žฅ์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐํฌํ•œ๋‹ค.

 

 

 

Device Shadow

IoT ๋””๋ฐ”์ด์Šค์˜ ํ˜„์žฌ ์ƒํƒœ๋‚˜ ์›ํ•˜๋Š” ์ƒํƒœ๋ฅผ ํด๋ผ์šฐ๋“œ์— ์ €์žฅํ•˜๋ฉฐ JSON ๋ฌธ์„œ๋กœ ํ‘œํ˜„๋จ
AWS IoT Device Shadow

 

  • ๋””๋ฐ”์ด์Šค๊ฐ€ ์˜คํ”„๋ผ์ธ์ด๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•  ๋•Œ ๋””๋ฐ”์ด์Šค์˜ ์ƒํƒœ๋ฅผ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ 

โœณ๏ธ Reported State 

  • ๋””๋ฐ”์ด์Šค๊ฐ€ ํ˜„์žฌ ์ž์‹ ์˜ ์ƒํƒœ(์˜จ๋„, ์ „์› ๋“ฑ)๋ฅผ ํด๋ผ์šฐ๋“œ์— ๋ณด๊ณ 

โœณ๏ธ Desired State 

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋””๋ฐ”์ด์Šค์— ์›ํ•˜๋Š” ์ƒํƒœ ์„ค์ •
  • ์˜จ๋„, ์ „์›, ํ’๋Ÿ‰ ๋“ฑ ์กฐ์ ˆ 

โœณ๏ธ Delta 

  • Desired State์™€ Reported State๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋””๋ฐ”์ด์Šค๊ฐ€ ์–ด๋–ค ์ƒํƒœ๋กœ ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ•จ

โœด๏ธ ์ดˆ๊ธฐ์ƒํƒœ ๋ฌธ์„œ

{
  "state": {
    "reported": {
      "color": "blue"
    }
  },
  "version": 9,
  "timestamp": 123456776
}

 

โœด๏ธ ์—…๋ฐ์ดํŠธ 1

{
  "state": {
    "desired": {
      "color": "RED"
    }
  },
  "version": 10,
  "timestamp": 123456777
}

 

โœด๏ธ ๋ธํƒ€ ๋ฉ”์‹œ์ง€

{
  "state": {
    "color": "RED"
  },
  "version": 11,
  "timestamp": 123456778
}

 


โ‡๏ธ ๋™์ž‘ ๋ฐฉ์‹ 

  • ๋””๋ฐ”์ด์Šค์™€ ํด๋ผ์šฐ๋“œ๋ฅผ ๋™๊ธฐํ™”
  • ๋””๋ฐ”์ด์Šค๊ฐ€ ์ƒํƒœ๋ฅผ ํด๋ผ์šฐ๋“œ์— ๋ณด๊ณ ํ•˜๋ฉด ํ•ด๋‹น ์ •๋ณด๊ฐ€ reported state์— ์ €์žฅ
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋””๋ฐ”์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ desired state์„ ์—…๋ฐ์ดํŠธ
  • ๋””๋ฐ”์ด์Šค๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ํด๋ผ์šฐ๋“œ์— ์ €์žฅ๋œ desired state์„ ํ™•์ธํ•˜๊ณ , ๊ทธ์— ๋งž์ถฐ ๋ณ€๊ฒฝ
  • ๋””๋ฐ”์ด์Šค๊ฐ€ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•œ ํ›„ ๋‹ค์‹œ ํด๋ผ์šฐ๋“œ์— ๋ณด๊ณ ํ•˜๋ฉด reported state ์—…๋ฐ์ดํŠธ 

 

 

Device Provisioning

IoT ๋””๋ฐ”์ด์Šค๋ฅผ AWS IoT Core์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์— ๋“ฑ๋ก(์—ฐ๊ฒฐ)ํ•˜๊ณ , ๋ณด์•ˆ ์ธ์ฆ์„ ์„ค์ •ํ•˜์—ฌ ๋””๋ฐ”์ด์Šค๋ฅผ ์šด์˜ํ•  ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •

 

 

 

 

 

์ฐธ๊ณ 

https://github.com/aws/aws-iot-device-sdk-java/blob/master/README.md/?pg=developertools

https://mqtt.org/

https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/iot-device-shadows.html

https://docs.aws.amazon.com/iot/