์ผ๋ง์ ์ ์๊ฐํด๋๋ฆฐ
์๋ํ์ ๋ํ์ฌ
์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ์๋ํ๋ ์ธ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋ ์ ์์ต๋๋ค.
์นดํ
๊ณ ๋ฆฌ 1 โ ๋ณ๋์ "์ค๋งํธ" ์ฅ์น. ๋ค์ํ ์ ์กฐ์
์ฒด์์ ์ ๊ตฌ, ์ฐป์ฃผ์ ์ ๋ฑ์ ๊ตฌ์
ํฉ๋๋ค. ์ฅ์ : ๊ฐ ์ฅ์น๋ ๊ธฐ๋ฅ์ ํ์ฅํ๊ณ ํธ์ํจ์ ํฅ์์ํต๋๋ค. ๋จ์ : ์๋ก์ด ์ ์กฐ์
์ฒด๋ง๋ค ์์ฒด ์ ํ๋ฆฌ์ผ์ด์
์ด ํ์ํฉ๋๋ค. ์๋ก ๋ค๋ฅธ ์ ์กฐ์
์ฒด์ ์ฅ์น ํ๋กํ ์ฝ์ ์๋ก ํธํ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์นดํ ๊ณ ๋ฆฌ 2 โ ๋จ์ผ ๋ณด๋ PC ๋๋ x86 ํธํ ์ค์น. ์ด๋ฅผ ํตํด ์ปดํจํ ์ฑ๋ฅ์ ๋ํ ์ ํ์ด ์ ๊ฑฐ๋๊ณ ์ค๋งํธ ํ ๊ด๋ฆฌ๋ฅผ ์ํ MajorDoMo ๋๋ ๊ธฐํ ์๋ฒ ๋ฐฐํฌํ์ด ์ด ์์คํ ์ ์ค์น๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋๋ถ๋ถ์ ์ ์กฐ์ ์ฒด์ ์ฅ์น๋ ๋จ์ผ ์ ๋ณด ๊ณต๊ฐ์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์ ๊ฒ๋ค. ์ค๋งํธ ํ์ ์ํ ๋๋ง์ ์๋ฒ๊ฐ ๋ํ๋ฉ๋๋ค. ์ฅ์ : ๋จ์ผ ์ผํฐ์์์ ํธํ์ฑ์ผ๋ก ํฅ์๋ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋จ์ : ์๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ฒด ์์คํ ์ด 1๋จ๊ณ๋ก ๋์๊ฐ๋๋ค. ์กฐ๊ฐ๋๊ฑฐ๋ ์ธ๋ชจ ์๊ฒ ๋ฉ๋๋ค.
์นดํ ๊ณ ๋ฆฌ 3 - ๊ฐ์ฅ ํ๋์ฝ์ดํ ์ต์ ์ ๋๋ค. ์๋ฆฌ ๋จ๊ณ์์๋ ๋ชจ๋ ํต์ ์ด ์ด๋ฃจ์ด์ง๊ณ ๋ชจ๋ ์์คํ ์ด ๋ณต์ ๋ฉ๋๋ค. ์ฅ์ : ๋ชจ๋ ๊ฒ์ด ์๋ฒฝํด์ง๋ฉฐ ์ง์ด ์ ๋ง ์ค๋งํธํด์ง๋๋ค. ๋จ์ : ์นดํ ๊ณ ๋ฆฌ 1 ๋ฐ 2์ ๋นํด ๋น์ฉ์ด ๋งค์ฐ ๋์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ ๋ฏธ๋ฆฌ ์๊ฐํ๊ณ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
๋๋ถ๋ถ์ ์ฌ์ฉ์๋ ์ต์ 3์ ์ ํํ ๋ค์ ์ต์ XNUMX๋ก ์ํํ๊ฒ ์ด๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๋์ง๊ธด ์ฌ๋๋ค์ ์ต์ XNUMX์ ๋๋ฌํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ถ์ฐ ์์คํ ์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ ์ต์ ์ด ์์ต๋๋ค. ๊ฐ ๊ฐ๋ณ ์ฅ์น๋ ์๋ฒ์ด์ ํด๋ผ์ด์ธํธ๊ฐ ๋ฉ๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์ด๋ ์ต์ 1๊ณผ ์ต์ 2๋ฅผ ์ทจํ๊ณ ๊ฒฐํฉํ๋ ค๋ ์๋์ ๋๋ค. ์ฅ์ ์ ๋ชจ๋ ์ทจํ๊ณ ๋จ์ ์ ์ ๊ฑฐํ์ฌ ํฉ๊ธ๋ฅ ์ ์ก์ผ๋ ค๋ ์๋์ ๋๋ค.
์๋ง๋ ๋๊ตฐ๊ฐ๋ ๊ทธ๋ฌํ ์ต์ ์ด ์ด๋ฏธ ๊ฐ๋ฐ๋์๋ค๊ณ ๋งํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ฌํ ๊ฒฐ์ ์ ์ด์ ์ด ์ข์ต๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ ๋ฅ์ํ ์ฌ๋๋ค์ ์ํด. ์ฐ๋ฆฌ์ ๋ชฉํ๋ ์ต์ข ์ฅ์น ํํ์ ๊ธฐ์กด ์ฅ์น๋ฅผ ์์คํ ์ ํตํฉํ๋ ํํ ๋ชจ๋์์ ์ด๋ฌํ ๋ถ์ฐ ์์คํ ์ ๋ํ ์ง์ ์ฅ๋ฒฝ์ ๋ฎ์ถ๋ ๊ฒ์ ๋๋ค. ์จ๋ ์กฐ์ ์ฅ์น์ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ๊ธฐ์กด ์จ๋ ์กฐ์ ์ฅ์น๋ฅผ ์ ๊ฑฐํ๊ณ ์ค๋งํธ ์จ๋ ์กฐ์ ์ฅ์น๋ฅผ ์ค์นํ ํ ๊ธฐ์กด ์ผ์๋ฅผ ์ฌ๊ธฐ์ ์ฐ๊ฒฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ถ๊ฐ ๋จ๊ณ ์์ด.
์์ ๋ฅผ ์ฌ์ฉํ์ฌ ์์คํ ์ ํตํฉํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋คํธ์ํฌ์ 8๊ฐ์ Sonoff ๋ชจ๋์ด ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ผ๋ถ ์ฌ์ฉ์์ ๊ฒฝ์ฐ Sonoff ํด๋ผ์ฐ๋(๋ฒ์ฃผ 1)๋ฅผ ํตํ ์ ์ด๋ง์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. ์ผ๋ถ๋ ํ์ฌ ํ์จ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ๊ณ ์ํํ๊ฒ ๋ฒ์ฃผ 2๋ก ์ด๋ํฉ๋๋ค. ๋๋ถ๋ถ์ ํ์ฌ ํ์จ์ด๋ ๋ฐ์ดํฐ๋ฅผ MQTT ์๋ฒ๋ก ์ ์กํ๋ ๋์ผํ ์๋ฆฌ๋ก ์๋ํฉ๋๋ค. OpenHub, Majordomo ๋๋ ๊ธฐํ ๋ค๋ฅธ ๋ชฉ์ ์ ์๋ก ๋ค๋ฅธ ์ฅ์น๋ฅผ ์ธํฐ๋ท์ด๋ ๋ก์ปฌ ๋คํธ์ํฌ์ ์๋ ๋จ์ผ ์ ๋ณด ๊ณต๊ฐ์ผ๋ก ํตํฉํ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์๋ฒ๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ฃผ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์๋ฒ๊ฐ ์คํจํ๋ฉด ์ ์ฒด ์์คํ ์ด ์์จ์ ์ผ๋ก ์๋์ ๋ฉ์ถฅ๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์์คํ ์ด ๋์ฑ ๋ณต์กํด์ง๋ฉฐ, ์๋ฒ ์ฅ์ ์ ์๋ํ๋ฅผ ๋ณต์ ํ๋ ์๋ ์ ์ด ๋ฐฉ๋ฒ์ด ์ถ๊ฐ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ๊ฐ ์ฅ์น๊ฐ ์๊ธ์์กฑํ๋ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ํํ์ต๋๋ค. ๋ฐ๋ผ์ ์๋ฒ๋ ๊ฒฐ์ ์ ์ธ ์ญํ ์ ํ์ง ์๊ณ ๊ธฐ๋ฅ์ ํ์ฅํ ๋ฟ์ ๋๋ค.
์ฌ๊ณ ์คํ์ผ๋ก ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค. ๋์ผํ 8๊ฐ์ Sonoff ๋ชจ๋์ ๋ค์ ๊ฐ์ ธ์์ Lytko ํ์จ์ด๋ฅผ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค. ๋ชจ๋ Lytko ํ์จ์ด์๋ ๋ค์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
"ssdpList":
{
"id": 94967291,
"ip": "192.168.x.x",
"type": "thermostat"
},
{
"id": 94967282,
"ip": "192.168.x.x",
"type": "thermostat"
}
์์ ์์ ๋ณผ ์ ์๋ฏ์ด ๋ชฉ๋ก์๋ ์ฅ์น ID, ๋คํธ์ํฌ์ IP ์ฃผ์, ์ฅ์น ์ ํ(์ด ๊ฒฝ์ฐ Sonoff ๊ธฐ๋ฐ ์จ๋ ์กฐ์ ์ฅ์น)์ด ํฌํจ๋ฉ๋๋ค. ์ด ๋ชฉ๋ก์ 2๋ถ๋ง๋ค ํ ๋ฒ์ฉ ์ ๋ฐ์ดํธ๋ฉ๋๋ค(์ด ๊ธฐ๊ฐ์ ๋คํธ์ํฌ์ ์๋ ์ฅ์น ์์ ๋์ ๋ณํ์ ์๋ตํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค). ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ์ ์์ ์์ด ์ถ๊ฐ, ๋ณ๊ฒฝ ๋ฐ ๋นํ์ฑํ๋ ์ฅ์น๋ฅผ ์ถ์ ํฉ๋๋ค. ์ด ๋ชฉ๋ก์ ๋ธ๋ผ์ฐ์ ๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ ์ก๋๋ฉฐ ์คํฌ๋ฆฝํธ ์์ฒด๋ ์ง์ ๋ ๋ธ๋ก ์๋ก ํ์ด์ง๋ฅผ ์์ฑํฉ๋๋ค. ๊ฐ ๋ธ๋ก์ ํ๋์ ์ฅ์น/์ผ์/์ปจํธ๋กค๋ฌ์ ํด๋นํฉ๋๋ค. ์๊ฐ์ ์ผ๋ก ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์ง๋ง ๋ค๋ฅธ ๋ฌด์ ์ผ์๊ฐ cc8266(ZigBee) ๋๋ nrf32(MySensors)๋ฅผ ํตํด esp2530/esp24์ ์ฐ๊ฒฐ๋์ด ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
ํ๋ก์ ํธ ์ ๋ณด
์์ฅ์๋ ๋ค์ํ ๋ถ์ฐ ์์คํ ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ ์์คํ ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์์คํ ๊ณผ ํตํฉํ ์ ์์ต๋๋ค.
๋ค์์ ์๋ก ๋ค๋ฅธ ์ ์กฐ์
์ฒด๊ฐ ์๋ก ํธํ๋์ง ์๋ ์ํฉ์ ๋ณํ์ํค๋ ค๋ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์๋ํ๋ ํ๋ก์ ํธ์
๋๋ค. ์ด๋ ์๋ฅผ ๋ค์ด,
MySensors๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ํ ๊ฐ์ง ์ต์ ์ ESP8266 ๊ธฐ๋ฐ ๊ฒ์ดํธ์จ์ด์ ๋๋ค. ๋๋จธ์ง ์์ ๋ ESP32์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์์ ์ฅ์น ๋ชฉ๋ก์ ๊ฐ์งํ๊ณ ์์ฑํ๋ ์๋ ์๋ฆฌ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ์ฌ๊ณ ์คํ์ ํด๋ณด์. ZESP32 ๊ฒ์ดํธ์จ์ด, SLS ๊ฒ์ดํธ์จ์ด ๋๋ MySensors๊ฐ ์์ต๋๋ค. ๋จ์ผ ์ ๋ณด ๊ณต๊ฐ์ ์ด๋ป๊ฒ ๊ฒฐํฉํ ์ ์์ต๋๊น? ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๊ฒ์ดํธ์จ์ด์ ํ์ค ๊ธฐ๋ฅ์ SSDP ํ๋กํ ์ฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๊ฒ์ ๋๋ค. SSDP๋ฅผ ํตํด ์ด ์ปจํธ๋กค๋ฌ์ ์ก์ธ์คํ๋ฉด ์ฐ๊ฒฐ๋ ์ฅ์น ๋ชฉ๋ก์ด ํ์ค ์๋ต์ ์ถ๊ฐ๋ฉ๋๋ค. ์ด ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๋ธ๋ผ์ฐ์ ๋ ํ์ด์ง๋ฅผ ์์ฑํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์น ์ธํฐํ์ด์ค
PWA ์ ํ๋ฆฌ์ผ์ด์
"ssdpList":
{
"id": 94967291, // ัะฝะธะบะฐะปัะฝัะน ะธะดะตะฝัะธัะธะบะฐัะพั ััััะพะนััะฒะฐ
"ip": "192.168.x.x", // ip ะฐะดัะตั ะฒ ัะตัะธ
"type": "thermostat" // ัะธะฟ ััััะพะนััะฒะฐ
},
{
"id": 94967292,
"ip": "192.168.x.x",
"type": "thermostat"
},
{
"id": 94967293,
"ip": "192.168.x.x",
"type": "thermostat"
},
{
"id": 13587532,
"type": "switch"
},
{
"id": 98412557,
"type": "smoke"
},
{
"id": 57995113,
"type": "contact_sensor"
},
{
"id": 74123668,
"type": "temperature_humidity_pressure_sensor"
},
{
"id": 74621883,
"type": "temperature_humidity_sensor"
}
์ด ์์์๋ ์ฅ์น๊ฐ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ถ๊ฐ๋๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. ๊ณ ์ ํ IP ์ฃผ์๋ฅผ ๊ฐ์ง 3๊ฐ์ ์จ๋ ์กฐ์ ๊ธฐ์ ๊ณ ์ ํ ID๋ฅผ ๊ฐ์ง 5๊ฐ์ ์ผ์๊ฐ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์ผ์๊ฐ Wi-Fi ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ ์์ฒด IP๋ฅผ ๊ฐ๊ฒ ๋๋ฉฐ, ๊ฒ์ดํธ์จ์ด์ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ ์ฅ์น์ IP ์ฃผ์๋ ๊ฒ์ดํธ์จ์ด์ IP ์ฃผ์๊ฐ ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ WebSocket์ ์ฌ์ฉํ์ฌ ์ฅ์น์ ํต์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ฒญ์ ๊ฐ์ ธ์ค๋ ๊ฒ๊ณผ ๋น๊ตํ์ฌ ๋ฆฌ์์ค ๋น์ฉ์ ์ต์ํํ๊ณ ์ฐ๊ฒฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ ๋์ ์ผ๋ก ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ ์๋ฒ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ธ๋ก์ด ์ํ ์ฅ์น์์ ์ง์ ๊ฐ์ ธ์ต๋๋ค. ๋ฐ๋ผ์ ์ฅ์น ์ค ํ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์์คํ ์ ๊ณ์ ์๋๋ฉ๋๋ค. ์น ์ธํฐํ์ด์ค๋ ๋ชฉ๋ก์์ ๋๋ฝ๋ ์ฅ์น๋ฅผ ํ์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ํ ๊ฒฝ์ฐ ์์ค์ ๋ํ ์ ํธ๋ ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฆผ ํ์์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ๊ตฌํํ๋ ค๋ ์ฒซ ๋ฒ์งธ ์๋๋ PWA ์ ํ๋ฆฌ์ผ์ด์ ์ด์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์์ ๋๋ฐ์ด์ค์ ๋ธ๋ก ๊ธฐ๋ฐ์ ์ ์ฅํ๊ณ ํ์ํ ๋ฐ์ดํฐ๋ง ์์ฒญํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ตฌ์กฐ์ ํน์ฑ์ผ๋ก ์ธํด ์ด ์ต์ ์ ๋ถ์์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ถ๊ตฌ๋ ๋จ ํ๋๋ฟ์ ๋๋ค. ํ์ฌ ํ๋ฐํ ๊ฐ๋ฐ์ค์ธ Android ๋ฐ IOS ์ฉ ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ด๋ถ ๋คํธ์ํฌ์์๋ง ์๋ํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฒ์ ์ธ๋ถ ์ ์ด๋ก ์ ์กํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๊ฐ ๋ก์ปฌ ๋คํธ์ํฌ๋ฅผ ๋ ๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋์ผ๋ก ํด๋ผ์ฐ๋๋ก ์ ํ๋ฉ๋๋ค.
์ธ๋ถ ์ ์ด - ํ์ด์ง ๋ณต์ ๋ฅผ ์๋ฃํฉ๋๋ค. ํ์ด์ง๊ฐ ํ์ฑํ๋๋ฉด ์ฌ์ฉ์๋ ๊ฐ์ธ ๊ณ์ ์ ํตํด ์๋ฒ์ ๋ก๊ทธ์ธํ๊ณ ์ฅ์น๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์๋ฒ๋ ๊ธฐ๋ฅ์ ํ์ฅํ์ฌ ์ง ๋ฐ์์๋ ์ฅ์น๋ฅผ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ ํฌํธ ์ ๋ฌ์ด๋ ์ ์ฉ IP์ ์ฝ๋งค์ด์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ์์ ์ต์ ์๋ ์๋ฒ ์ ๊ทผ ๋ฐฉ์์ ๋จ์ ์ด ์์ผ๋ฉฐ ์๋ก์ด ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ ๋ ์ ์ฐ์ฑ์ด ์๋ค๋ ํํ์ ์ฌ๋ฌ ๊ฐ์ง ์ฅ์ ๋ ์์ต๋๋ค.
์จ๋ ์กฐ์ ๊ธฐ ์ ๋ณด
์จ๋ ์กฐ์ ์ฅ์น๋ฅผ ์๋ก ๋ค์ด ์ ์ด ์์คํ ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ ๊ณต๋จ:
- ๊ฐ ์จ๋ ์กฐ์ ์ฅ์น์ ์จ๋ ์ ์ด(๋ณ๋์ ๋ธ๋ก์ผ๋ก ํ์๋จ)
- ์จ๋ ์กฐ์ ๊ธฐ ์๋ ์ผ์ ์ค์ (์์นจ, ์คํ, ์ ๋ , ๋ฐค)
- Wi-Fi ๋คํธ์ํฌ๋ฅผ ์ ํํ๊ณ ์ฌ๊ธฐ์ ์ฅ์น๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค.
- "๋ฌด์ ์ผ๋ก" ์ฅ์น ์ ๋ฐ์ดํธ
- MQTT ์ค์ ;
- ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์น ์ธํฐํ์ด์ค๋ฅผ ํตํ ์ ์ด ์ธ์๋ ๋์คํ๋ ์ด๋ฅผ ํด๋ฆญํ์ฌ ํด๋์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ต๋๋ค. ๋ณด๋์๋ Nextion NX3224T024 2.4์ธ์น ๋ชจ๋ํฐ๊ฐ ์์ต๋๋ค. ์ฅ์น ์์
์ด ์ฝ๊ธฐ ๋๋ฌธ์ ์ ํ์ด ๊ทธ์๊ฒ ๋จ์ด์ก์ต๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ STM32๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฒด ๋ชจ๋ํฐ๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ๊ธฐ๋ฅ์ Nextion๋ณด๋ค ๋์์ง ์์ง๋ง ๋น์ฉ์ ์ ๋ ดํ๋ฏ๋ก ์ฅ์น์ ์ต์ข
๊ฐ๊ฒฉ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ๊ฒ์
๋๋ค.
์์กด์ฌ์ด ๊ฐํ ์จ๋ ์กฐ์ ๊ธฐ ํ๋ฉด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก Nextion์ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ ์จ๋๋ฅผ ์ค์ ํฉ๋๋ค(์ค๋ฅธ์ชฝ ๋ฒํผ ์ฌ์ฉ).
- ์์ฝ๋ ์๋ ๋ชจ๋๋ฅผ ์ผ๊ณ ๋๋๋ค(๋ฒํผ H).
- ๋์คํ๋ ์ด ๋ฆด๋ ์ด ์๋(์ผ์ชฝ ํ์ดํ);
- ์ด๋ฆฐ์ด ๋ณดํธ ๊ธฐ๋ฅ์ด ์์ต๋๋ค(์ ๊ธ ์ฅ์น๊ฐ ์ ๊ฑฐ๋ ๋๊น์ง ๋ฌผ๋ฆฌ์ ํด๋ฆญ์ด ์ฐจ๋จ๋ฉ๋๋ค).
- WiFi ์ ํธ ๊ฐ๋๋ฅผ ํ์ํฉ๋๋ค.
๋ํ ๋ชจ๋ํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ค์นํ ์ผ์ ์ ํ์ ์ ํํฉ๋๋ค.
- ์ด๋ฆฐ์ด ์ ๊ธ ๊ธฐ๋ฅ์ ๊ด๋ฆฌํฉ๋๋ค.
- ํ์จ์ด๋ฅผ ์ ๋ฐ์ดํธํ์ธ์.
WiFi ๋ฐ๋ฅผ ํด๋ฆญํ๋ฉด ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. QR ์ฝ๋๋ HomeKit ํ์จ์ด์์ ์ฅ์น๋ฅผ ํ์ด๋งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋์คํ๋ ์ด ์์
๋ฐ๋ชจ:
์ฐ๋ฆฌ๋ ๊ฐ๋ฐํ์ต๋๋ค
โ์จ๋ ์กฐ์ ์ฅ์น์ ํน๋ณํ ์ ์ ๋ฌด์์ธ๊ฐ์?โ๋ผ๊ณ ๋ฌผ์ ์๋ ์์ต๋๋ค. ํ์ฌ ์์ค์๋ Wi-Fi ๊ธฐ๋ฅ, ์์ฝ ์๋, ํฐ์น ์ ์ด ๊ธฐ๋ฅ์ ๊ฐ์ถ ์จ๋ ์กฐ์ ์ฅ์น๊ฐ ๋ง์ด ๋์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋งค๋์๋ค์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ค๋งํธ ํ ์์คํ (Majordomo, HomeAssistant ๋ฑ)๊ณผ ์ํธ ์์ฉํ๋ ๋ชจ๋์ ์์ฑํ์ต๋๋ค.
๋น์ฌ์ ์จ๋ ์กฐ์ ์ฅ์น๋ ์ด๋ฌํ ์์คํ ๊ณผ ํธํ๋๋ฉฐ ์์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ ํนํ ํน์ง์ ์์คํ ์ ์ ์ฐ์ฑ ๋๋ถ์ ์จ๋ ์กฐ์ ์ฅ์น๊ฐ ์ง์์ ์ผ๋ก ๊ฐ์ ๋๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ฐ์ดํธํ ๋๋ง๋ค ๊ธฐ๋ฅ์ด ํ์ฅ๋ฉ๋๋ค. (์ผ์ ์ ๋ฐ๋ฅธ) ํ์ค ์์คํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ์ ์ํ ๋ฐฉ๋ฒ์ ์ถ๊ฐํ ์์ ์ ๋๋ค. ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์์ ์ง๋ฆฌ์ ์์น๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๋๋ถ์ ์์คํ ์ ์์น์ ๋ฐ๋ผ ์๋ ๋ชจ๋๋ฅผ ๋์ ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค. ๋ ์จ ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๊ธฐ์ ์กฐ๊ฑด์ ์ ์ํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ฅ์ฑ. ๋๊ตฌ๋ ๊ธฐ์กด์ ๊ธฐ์กด ์จ๋ ์กฐ์ ์ฅ์น๋ฅผ ๋น์ฌ์ ์จ๋ ์กฐ์ ์ฅ์น๋ก ๊ต์ฒดํ ์ ์์ต๋๋ค. ์ต์ํ์ ๋ ธ๋ ฅ์ผ๋ก. ์ฐ๋ฆฌ๋ ์์ฅ์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ผ์ ์ค 5๊ฐ๋ฅผ ์ ํํ๊ณ ์ด์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค. ํ์ง๋ง ์ผ์์ ๊ณ ์ ํ ํน์ฑ์ด ์๋๋ผ๋ ์ฌ์ฉ์๋ ์ด๋ฅผ ์จ๋ ์กฐ์ ์ฅ์น์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ํน์ ์ผ์์ ์๋ํ๋๋ก ์จ๋ ์กฐ์ ๊ธฐ๋ฅผ ๋ณด์ ํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ง์นจ์ ์ ๊ณตํ ๊ฒ์ ๋๋ค.
์จ๋ ์กฐ์ ๊ธฐ๋ ๊ธฐํ ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๋ฉด ์น ์ธํฐํ์ด์ค์ PWA ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋์ ๋์์ ๋ํ๋ฉ๋๋ค. ์ฅ์น ์ถ๊ฐ๋ ์๋์ผ๋ก ์ํ๋ฉ๋๋ค. Wi-Fi ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์ฐ๋ฆฌ ์์คํ ์๋ ์๋ฒ๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ, ์คํจํ๋๋ผ๋ ํธ๋ฐ์ผ๋ก ๋ณํ์ง ์์ต๋๋ค. ๊ตฌ์ฑ ์์ ์ค ํ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋น์ ์๋๋ฆฌ์ค์์๋ ์์คํ ์ด ์๋์ ์์ํ์ง ์์ต๋๋ค. ์ปจํธ๋กค๋ฌ, ์ผ์, ์ฅ์น - ๊ฐ ์์๋ ์๋ฒ์ด์ ํด๋ผ์ด์ธํธ์ด๋ฏ๋ก ์์ ํ ์์จ์ ์ ๋๋ค.
๊ด์ฌ ์๋ ๋ถ๋ค์ ์ํด ๋น์ฌ์ ์์
๋คํธ์ํฌ๋ฅผ ์๊ฐํฉ๋๋ค:
์ด๋ฉ์ผ : [์ด๋ฉ์ผ ๋ณดํธ]
PS ์ฐ๋ฆฌ๋ ๊ทํ๊ฐ ์๋ฒ๋ฅผ ํฌ๊ธฐํ๋๋ก ๊ถ์ฅํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ํ MQTT ์๋ฒ๋ฅผ ์ง์ํ๊ณ ์์ฒด ํด๋ผ์ฐ๋๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ๋ชฉํ๋ ์์คํ
์ ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ์์ ํ ์๋ก์ด ์์ค์ผ๋ก ๋์ด์ฌ๋ฆฌ๋ ๊ฒ์
๋๋ค. ์๋ฒ๊ฐ ์ฝ์ ์ด ์๋ ๊ธฐ๋ฅ์ ๋ณด์ํ๊ณ ์์คํ
์ ๋์ฑ ํธ๋ฆฌํ๊ฒ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด์์
๋๋ค.
์ถ์ฒ : habr.com