Mozilla WebThings Gateway 0.11 ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์Šค๋งˆํŠธ ํ™ˆ ๋ฐ IoT ์žฅ์น˜์šฉ ๊ฒŒ์ดํŠธ์›จ์ด

๋ชจ์งˆ๋ผ ํšŒ์‚ฌ ะพะฟัƒะฑะปะธะบะพะฒะฐะปะฐ ์‹ ์ œํ’ˆ ์ถœ์‹œ WebThings ๊ฒŒ์ดํŠธ์›จ์ด 0.11, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฒฐํ•ฉํ•˜์—ฌ WebThings ํ”„๋ ˆ์ž„์›Œํฌ ํ”Œ๋žซํผ์„ ํ˜•์„ฑํ•œ๋‹ค ์›น์‚ฌ๋ฌผ ๋‹ค์–‘ํ•œ ๋ฒ”์ฃผ์˜ ์†Œ๋น„์ž ์žฅ์น˜์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๋ณดํŽธ์ ์ธ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์›น ์‚ฌ๋ฌผ API ๊ทธ๋“ค๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์กฐ์งํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์ž : Node.js ์„œ๋ฒ„ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋Š” JavaScript์—์„œ ๋ฐฐํฌ์ž MPL 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์žˆ๋Š” ํŽŒ์›จ์–ด ์ค€๋น„๋œ ๋‹ค์–‘ํ•œ Raspberry Pi ๋ชจ๋ธ์šฉ. ๋„ ๊ฐ€๋Šฅ ๊พธ๋Ÿฌ๋ฏธ OpenWrt, Fedora, Arch, Ubuntu, Raspbian ๋ฐ Debian ๋ฐ ๊ธฐ์„ฑํ’ˆ์šฉ ๋ถ„ํฌ Things Gateway์— ๋Œ€ํ•œ ํ†ตํ•ฉ ์ง€์›์œผ๋กœ ์Šค๋งˆํŠธ ํ™ˆ ๋ฐ ๋ฌด์„  ์•ก์„ธ์Šค ํฌ์ธํŠธ ์„ค์ •์„ ์œ„ํ•œ ํ†ตํ•ฉ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์˜์–ด๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ํ˜„์ง€ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ์ถ”๊ฐ€๋จ ๋Ÿฌ์‹œ์•„์–ด๋ฅผ ํฌํ•จํ•œ 24๊ฐœ ์–ธ์–ด ๋ฒˆ์—ญ;

  • ์„ค์น˜ ํŒจํ‚ค์ง€๊ฐ€ ๋ฐฐํฌ๋˜๋Š” ํ”Œ๋žซํผ ์ˆ˜๊ฐ€ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Raspberry Pi ๋ฐ Docker์šฉ ์ด๋ฏธ์ง€ ์™ธ์—๋„ ํ˜•์„ฑ๋œ Debian 10, Raspbian, Ubuntu 18.04/19.04/19.10 ๋ฐ Fedora 30/31์šฉ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. AUR ์ €์žฅ์†Œ๋Š” Arch Linux์šฉ ํŒจํ‚ค์ง€๋ฅผ ํ˜ธ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฒคํŠธ ๋กœ๊น… ์‹œ์Šคํ…œ์ด ์•ˆ์ •ํ™”๋˜์–ด ํ™ˆ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  IoT ์žฅ์น˜ ๋ฐ ์„ผ์„œ์˜ ์ž‘๋™์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ํ•ด๋‹น ํ™œ๋™์„ ์‹œ๊ฐ์  ๊ทธ๋ž˜ํ”„ ํ˜•ํƒœ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ถ€์žฌ ์ค‘์— ๋ฌธ์„ ๋ช‡ ๋ฒˆ ์—ด๊ณ  ๋‹ซ์•˜๋Š”์ง€, ์ง‘ ์•ˆ ์˜จ๋„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ–ˆ๋Š”์ง€, ์Šค๋งˆํŠธ ์†Œ์ผ“์— ์—ฐ๊ฒฐ๋œ ์—๋„ˆ์ง€ ์žฅ์น˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ์†Œ๋น„๋˜์—ˆ๋Š”์ง€, ๋™์ž‘ ๊ฐ์ง€๊ธฐ๊ฐ€ ์‹คํ–‰๋œ ์‹œ๊ฐ„ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋Š” ์‹œ๊ฐ„, ์ผ, ์ฃผ ๋‹จ์œ„๋กœ ์ž‘์„ฑํ•˜๊ณ  ์‹œ๊ฐ„ ์ฒ™๋„๋ฅผ ๋”ฐ๋ผ ์Šคํฌ๋กคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Mozilla WebThings Gateway 0.11 ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์Šค๋งˆํŠธ ํ™ˆ ๋ฐ IoT ์žฅ์น˜์šฉ ๊ฒŒ์ดํŠธ์›จ์ด

  • ์Œ์„ฑ ๋ช…๋ น(์˜ˆ: "์ฃผ๋ฐฉ ์กฐ๋ช…์„ ์ผœ์„ธ์š”")์„ ์ธ์‹ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹คํ—˜์ ์ธ ์Œ์„ฑ ์–ด์‹œ์Šคํ„ดํŠธ ๊ธฐ๋Šฅ์ด ์†Œ๋ฆฌ๊ฐ€ ๋‚˜์ง€ ์•Š์•„ ์ œ๊ฑฐ๋œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์Œ์„ฑ ์ œ์–ด API๋„ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ๋‚ด์žฅ๋œ ์Œ์„ฑ ์–ด์‹œ์Šคํ„ดํŠธ ๋Œ€์‹  ์„ค์ • โžก ์• ๋“œ์˜จ ์„น์…˜์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์• ๋“œ์˜จ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ Raspberry Pi์šฉ ๋นŒ๋“œ์—๋Š” OTA ์—…๋ฐ์ดํŠธ ์ž๋™ ์ „๋‹ฌ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์—๋Š” ์–ธ์–ด ๋ฐ ํ˜„์ง€ํ™” ์„ค์ •์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•”ํ˜ธํ™” ์—†์ด(โ€œhttps://โ€ ๋Œ€์‹  โ€œhttp://โ€ ์‚ฌ์šฉ) ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์˜ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ์›น ์ธํ„ฐํŽ˜์ด์Šค์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • PWA ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ ๋ขฐ์„ฑ ๋ฐ ์•ˆ์ •์„ฑ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น ์•ฑ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์—…์„ ๋ณ„๋„์˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ WebThings Gateway๋Š” ์ด ๋‹ค์–‘ํ•œ ๋ฒ”์ฃผ์˜ ์†Œ๋น„์ž ๋ฐ IoT ์žฅ์น˜์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๊ฐ ํ”Œ๋žซํผ์˜ ๊ธฐ๋Šฅ์„ ์ˆจ๊ธฐ๊ณ  ๊ฐ ์ œ์กฐ์—…์ฒด์— ํŠน์ •ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๋ฒ”์šฉ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. IoT ํ”Œ๋žซํผ๊ณผ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ ค๋ฉด ZigBee ๋ฐ ZWave ํ”„๋กœํ† ์ฝœ, WiFi๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ GPIO๋ฅผ ํ†ตํ•œ ์ง์ ‘ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด ๊ฐ€๋Šฅ ํ™•๋ฆฝํ•˜๋‹ค Raspberry Pi ๋ณด๋“œ์— ์ง‘ ์•ˆ์˜ ๋ชจ๋“  IoT ์žฅ์น˜๋ฅผ ํ†ตํ•ฉํ•˜๊ณ  ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์Šค๋งˆํŠธ ํ™ˆ ์ œ์–ด ์‹œ์Šคํ…œ์„ ํ™•๋ณดํ•˜์„ธ์š”.

๋˜ํ•œ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ํ†ตํ•ด ์žฅ์น˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ์‚ฌ๋ฌผ API. ๋”ฐ๋ผ์„œ ๊ฐ ์œ ํ˜•์˜ IoT ์žฅ์น˜์— ๋Œ€ํ•ด ์ž์ฒด ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•˜๋Š” ๋Œ€์‹  ๋‹จ์ผ ํ†ตํ•ฉ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WebThings Gateway๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ์ œ๊ณต๋œ ํŽŒ์›จ์–ด๋ฅผ SD ์นด๋“œ์— ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ €์—์„œ "gateway.local" ํ˜ธ์ŠคํŠธ๋ฅผ ์—ด๊ณ , WiFi, ZigBee ๋˜๋Š” ZWave์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ , ๊ธฐ์กด IoT ์žฅ์น˜๋ฅผ ์ฐพ๊ณ , ์™ธ๋ถ€ ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์žฅ์น˜๋ฅผ ํ™ˆ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์„ธ์š”.

๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์˜ ์žฅ์น˜ ์‹๋ณ„, ์ธํ„ฐ๋„ท์—์„œ ์žฅ์น˜์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์›น ์ฃผ์†Œ ์„ ํƒ, ๊ฒŒ์ดํŠธ์›จ์ด ์›น ์ธํ„ฐํŽ˜์ด์Šค์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์ • ์ƒ์„ฑ, ๋…์  ZigBee ๋ฐ Z-Wave ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ์žฅ์น˜๋ฅผ ๊ฒŒ์ดํŠธ์›จ์ด์— ์—ฐ๊ฒฐํ•˜๋Š” ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•œ ์›๊ฒฉ ํ™œ์„ฑํ™” ๋ฐ ์žฅ์น˜ ๋„๊ธฐ, ์ง‘ ์ƒํƒœ ์›๊ฒฉ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋น„๋””์˜ค ๊ฐ์‹œ.

WebThings ํ”„๋ ˆ์ž„์›Œํฌ๋Š” Web Things API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ ‘ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” IoT ์žฅ์น˜๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ต์ฒด ๊ฐ€๋Šฅํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์ง‘ํ•ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฅ์น˜๋Š” ์›น์„ ํ†ตํ•œ ํ›„์† ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด WebThings Gateway ๊ธฐ๋ฐ˜ ๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด(mDNS ์‚ฌ์šฉ)์— ์˜ํ•ด ์ž๋™์œผ๋กœ ๊ฐ์ง€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Web Things API์— ๋Œ€ํ•œ ์„œ๋ฒ„ ๊ตฌํ˜„์€ ๋‹ค์Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜•์‹์œผ๋กœ ์ค€๋น„๋ฉ๋‹ˆ๋‹ค.
Python,
์ž๋ฐ”,

๋…น, ์•„๋‘ ์ด๋…ธ ะธ ๋งˆ์ดํฌ๋กœํŒŒ์ด์ฌ.

Mozilla WebThings Gateway 0.11 ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์Šค๋งˆํŠธ ํ™ˆ ๋ฐ IoT ์žฅ์น˜์šฉ ๊ฒŒ์ดํŠธ์›จ์ด

Mozilla WebThings Gateway 0.11 ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์Šค๋งˆํŠธ ํ™ˆ ๋ฐ IoT ์žฅ์น˜์šฉ ๊ฒŒ์ดํŠธ์›จ์ด

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€