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

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

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

  • ์‹ค๋‚ด ์˜จ๋„๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์Šค๋งˆํŠธ ์˜จ๋„ ์กฐ์ ˆ๊ธฐ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๋ชจ๋ธ์—๋Š” Zigbee Zen Thermostat, Centralite HA 3156105 ๋ฐ Z-Wave Honeywell TH8320ZW1000์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•˜๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์ง‘์•ˆ์˜ ์˜จ๋„๋ฅผ ์›๊ฒฉ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋‚œ๋ฐฉ ๋˜๋Š” ๋ƒ‰๋ฐฉ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ชฉํ‘œ ์˜จ๋„๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • ์˜จ๋„ ์ œํ•œ์— ๋„๋‹ฌํ•˜๊ฑฐ๋‚˜ ํ•˜๋ฃจ ์ค‘ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚œ๋ฐฉ ์žฅ์น˜๋‚˜ ์—์–ด์ปจ์„ ์ผœ๋Š” ๋“ฑ ์˜จ๋„ ๋ณ€ํ™”์— ๋ฐ˜์‘ํ•˜๋Š” ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • Yale YRD226 Deadbolt ๋ฐ Yale YRD110 Deadbolt์™€ ๊ฐ™์ด Zigbee ๋˜๋Š” Z-Wave ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ์Šค๋งˆํŠธ ์ž ๊ธˆ ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง‘ ๋ฐ–์— ์žˆ๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž๋Š” ๋ฌธ์„ ๋‹ซ๋Š” ๊ฒƒ์„ ์žŠ์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์›๊ฒฉ์œผ๋กœ ์ž ๊ธˆ ์žฅ์น˜๋ฅผ ์—ด๊ฑฐ ๋‚˜ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทœ์น™์„ ์„ค์ •ํ•˜๋ฉด ํŠน์ • ์‹œ๊ฐ„์— ๋ฌธ์„ ์ž๋™์œผ๋กœ ์ž ๊ทธ๊ฑฐ๋‚˜ ์ž๋ฌผ์‡ ๊ฐ€ ์—ด๋ ค ์žˆ๋Š” ๊ฒฝ์šฐ ์•Œ๋ฆผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ๋ฉ”๋‰ด์— ์ƒˆ ์„น์…˜์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์ƒˆ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด WebExtensions ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์˜ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ƒ์„ฑ๋œ ์ƒˆ๋กœ์šด ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŒŒ์ผ ํ˜•์‹์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

  • ํ˜„์ง€ํ™” ์ „์šฉ์œผ๋กœ ์ƒˆ๋กœ์šด ์„ค์ • ์„น์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์‚ฌ์šฉ์ž๋Š” ๊ธฐ๋ณธ ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๊ตญ๊ฐ€, ์‹œ๊ฐ„๋Œ€ ๋ฐ ์–ธ์–ด๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ์„ค์ •์€ ๋‚ ์”จ, ์ผ์ถœ/์ผ๋ชฐ ๋ฐ ์กฐ์ˆ˜์™€ ๊ฐ™์€ ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ ๊ทœ์น™์—์„œ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ๊ทœ์น™์€ ์—ฌ๋ฆ„ ๋˜๋Š” ๊ฒจ์šธ ์‹œ๊ฐ„์œผ๋กœ์˜ ์‹œ๊ณ„ ๋ณ€๊ฒฝ์„ ๊ณ ๋ คํ•˜๊ณ  ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์˜จ๋„๋Š” ์ผ๋ฐ˜์ ์ธ ๋ณ€ํ™” ๋‹จ์œ„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

  • ํ•˜๋‚˜์˜ WebSocket ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ํ”Œ๋žซํผ์˜ ๋ชจ๋“  ์›น API์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(์ด์ „์—๋Š” ๊ฐ ์žฅ์น˜์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ์—ฐ๊ฒฐ์„ ์—ด์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค). W3C ์ปจ์†Œ์‹œ์—„์€ Web of Things ์žฅ์น˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ WebSocket ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์„ ํ‘œ์ค€ํ™”ํ•  Web Thing Protocol Community Group์ด๋ผ๋Š” ์ž‘์—… ๊ทธ๋ฃน์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•œ ์Œ์„ฑ ์ œ์–ด ์ง€์› ํ†ตํ•ฉ์ด ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ด ํฌ๋กœํ”„ํŠธ ์ƒˆ๋กœ์šด ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ 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 ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ์žฅ์น˜๋ฅผ ๊ฒŒ์ดํŠธ์›จ์ด์— ์—ฐ๊ฒฐํ•˜๋Š” ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•œ ์›๊ฒฉ ํ™œ์„ฑํ™” ๋ฐ ์žฅ์น˜ ๋„๊ธฐ, ์ง‘ ์ƒํƒœ ์›๊ฒฉ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋น„๋””์˜ค ๊ฐ์‹œ. ์›น ์ธํ„ฐํŽ˜์ด์Šค์™€ API ์™ธ์—๋„ ๊ฒŒ์ดํŠธ์›จ์ด์—๋Š” ์Œ์„ฑ ๋ช…๋ น์„ ์ธ์‹ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹คํ—˜์ ์ธ ์Œ์„ฑ ์ œ์–ด ์ง€์›๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: "์ฃผ๋ฐฉ์— ๋ถˆ์„ ์ผœ์„ธ์š”").

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

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

์ถœ์ฒ˜ : opennet.ru

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