8. Node Red Start - EnglishNo/ESP32 GitHub Wiki
- https://nodejs.org/en/download ์ด ์ฌ์ดํธ์ ์ ์ํด NodeJs๋ฅผ ์ค์นํ๋ค. (Node-Red๋ฅผ ์ค์นํ๊ธฐ ์ํด์์ด๋ค. ๋ ์์ ์ ์ปดํจํฐ ๋ฒ์ ์ด๋ ์ด์์ฒด์ ์ ๋ง๋ NodeJs๋ฅผ ์ค์นํ๋ฉด ์ข์ ๊ฒ์ด๋ค.)
- ๊ทธ๋ฆฌ๊ณ ๋ค์ด๋ก๋ํ ๊ฒ์ ์์ถ ํด์ ํ๋ค.
- CMD.exe๋ฅผ "๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ" ๋ฒํผ์ ๋๋ ค ์คํํ๊ณ , npm๋ช
๋ น์ ํตํด Node-Red๋ฅผ ์ค์นํ๋ค. ("npm install -g --unsafe-perm node-red"๋ผ๊ณ ์
๋ ฅ.)
- ๊ทธ ๋ค์์ ์๋์ฐ์ฆ์ฉ ํ์ด์ , ๋น์ฃผ์ผ ์คํ๋์ค ๊ด๋ จ ์์กด์ฑ ์๋ฌ ๋ฐฉ์ง๋ฅผ ์ํด "windows-build-tools"๋ฅผ ์ค์นํ๋ค. (cmb์ฐฝ์ "npm install --global --production windows-build-tools"๋ผ๊ณ ์
๋ ฅ.
๊ทผ๋ฐ ์ ๋๋ก ์ค์น๋ ๊ฑฐ ๋ง์...?) - ๋ณด์์ ์ํด ์น์๋ํฐ์ ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ๋ค. (cmb์ฐฝ์ "npm install -g node-red-admin"๋ผ๊ณ ์
๋ ฅ.)
- ์์ ๊ณผ์ ๋ค์ ๋ค ํ์ผ๋ฉด, Node-Red๋ฅผ ์คํํ๋ค. (cmb์ฐฝ์ "node-red"๋ผ๊ณ ์
๋ ฅํ๋ฉด ์ฌ์ฉ์ ๊ณ์ ์ Node-Red ํด๋๊ฐ ์์ฑ๋๋ค. ์ข
๋ฃํ ๋ ค๋ฉด, CMD์ฐฝ์ ๋ซ๊ฑฐ๋ ctrl + c๋ฅผ ๋๋ฅด๋ฉด ๋๋ค.)
- ์ค์น ๋ฐ ๋์ ํ์ธ์ด ์๋ฃ๋์์ผ๋ฉด, cmd์ฐฝ์ "node-red-admin hash-pw"๋ผ๊ณ ์
๋ ฅํ๊ณ , ์คํ ํ ์ํ๋ ํจ์ค์๋(๋น๋ฐ๋ฒํธ)๋ฅผ ์
๋ ฅํ๊ณ ํจ์ค์๋์ ํด์๊ฐ์ ํ๋ํ๊ธฐ(๊ทผ๋ฐ ํจ์ค์๋ ์
๋ ฅํ ๋ ค๊ณ ํ๋ฉด ์
๋ ฅ์ด ์๋์ ๊ทธ๋ฅ ์ํฐ๋ง ์น๊ณ ํ๋ํ๋ค... ์๋๋ฉด ์
๋ ฅ์ ํ๋๋ฐ ์๋ณด์ด๋ ๊ฒ์ผ ์๋ ์๋ค.)
- ํด์๊ฐ์ ๋ณต์ฌํ๊ณ , ๋
ธ๋๋ ๋ ํด๋์ ์๋ "settings.js" ํ์ผ์ ๋ฉ๋ชจ์ฅ์ ํตํด ๋ค์ด๊ฐ ๋ฐฉ๊ธ ๋ณต์ฌํ ํด์๊ฐ์ ํจ์ค์๋ ์์ ๊ธฐ์กด์ ํจ์ค์๋๋ฅผ ์ง์ฐ๊ณ "๋ถ์ด๋ฃ๊ธฐ"ํ๊ธฐ (์ฐธ๊ณ ๋ก ํจ์ค์๋๊ฐ ํฌํจ๋ "adminAuth" ์์ ์๋ ์ฃผ์๋ค์ ์ง์์ผ ํจ.)
("settings.js" ์ฐพ๋ ๋ฒ)
- ์ด์ cmb์ฐฝ์์ "node-red" ์ฌ ์คํํด์ฃผ๊ณ , ์น ๋ธ๋ผ์ฐ์ ์์ cmb์ฐฝ์์ ๋
ธ๋๋ ๋๋ฅผ ์คํํ๋ฉด ๋จ๋ ์ฃผ์๋ฅผ ์
๋ ฅํ๊ธฐ.
- node-red ์น์๋ํฐ์ ๋ค์ด๊ฐ์ก๋ค๋ฉด, ๋ฐฉ๊ธ cmb์ฐฝ์์ ์ ๋ ฅํ ํจ์ค์๋์ settings.js์ ํจ์ค์๋ ์์ ์๋ ์ฌ์ฉ์ ์ด๋ฆ์ ์น๊ณ ์ํฐํค ๋๋ฅด๋ฉด, node-red๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋๋ค!
- "ํ๋ก์ฐ 1"์ "inject" common์ ๊ฐ๋ค ๋๋๋ค.
- "debug"๋ "ํ๋ก์ฐ 1"์ ๋๋๋ค.
- ํ๋ก์ฐ ์ฐฝ์ ๋์์ง inject์ ๋๋ธ ํด๋ฆญํด "timestamp"์ "string"์ผ๋ก ๋ฐ๊พธ๊ณ "Hello World!"๋ผ๊ณ ์
๋ ฅํ๋ค.
- inject์ ๋งค๋ฌ๋ ค ์๋ ์์ ๋ค๋ชจ๋ฅผ ๊พน ๋๋ ค "dedug"์ ๊ฐ๋ค ๋๋๋ค.
- ์์ ๊ณผ์ ์ ๋ค ํ์ผ๋ฉด, "๋ฐฐํฌํ๊ธฐ" ๋ฒํผ์ ๋๋ฅธ๋ค.
- ๋ฅ๊ทผ ์์ ์๋ ๋ฒํผ์ ํด๋ฆญํ๋ฉด, ์์ ์๋ ๋๋ฒ๊น ์ฐฝ์์ "Hello World"๊ฐ ๋จ๋ฉด ์ฑ๊ณต์ด๋ค!
- ์๋จ์ ์๋ ๋ฉ๋ด ๋ฒํผ์ ๋๋ฅด๊ณ , "ํ๋ ํธ ๊ด๋ฆฌ"๋ผ๋ ์ฐฝ์ ๋๋ฅธ๋ค.
- ๊ทธ๋ฆฌ๊ณ "์ค์น๊ฐ๋ฅํ ๋
ธ๋" ์ฐฝ์ ๋ค์ด๊ฐ "dashboard"๋ผ๊ณ ๊ฒ์ํ๊ณ , ๋นจ๊ฐ์ ์์ ์๋ "dashboard"๋ฅผ ์ค์นํ๋ค.
- ์ด์ ์ผ์ชฝ ์ฐฝ์ ๋ณด๊ณ ์ฐพ์๋ณด๋ฉด "dashboard"๊ฐ ์์ ๊ฒ์ด๋ค!
- node-red๋ ์ ๊ธฐํ๊ฒ๋ ์ดํด๋ฆฝ์ค๋ ๋น์ฃผ์ผ ์คํ๋์ค์ ๋ฌ๋ฆฌ cmb์ฐฝ์ ํตํด ์คํํ๋ค๋ ๊ฒ์ ์๊ฒ ๋จ
- inject๋ฅผ ํตํด ์ถ๋ ฅํ ๋ณ์๋ฅผ ์ง์ ํ๊ณ , debug์ ์ฐ๊ฒฐํด ๋๋ฒ๊น ์ฐฝ์ ์ถ๋ ฅํ ๊ฐ์ ์ถ๋ ฅํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋จ
- ์์๊ณผ ๋ฌ๋ฆฌ dashboard์ ์ฌ์ฉํด๋ UI๊ฐ ์๋จ๋๋ฐ, ํ๋ ์ด ๋ถ๋ถ์ ๋ํ ๋ฌธ์ ํด๊ฒฐ์ด ํ์ํ ๊ฒ ๊ฐ์
- ์ฒ์ ๋ณ์๋ฅผ ์ถ๋ ฅํ ๋์๋ ์ด๋ป๊ฒ ๊ฐ์ ์์ ํ๊ณ ์ด๋ป๊ฒ ๊ฐ์ ์ถ๋ ฅํด์ผ ํ ์ง ์กฐ๊ธ ๋ชฐ๋๋๋ฐ, inject์ ๋๋ธํด๋ฆญํด ์ถ๋ ฅํ ๊ฐ์ ๋ณ๊ฒฝํ๊ณ , debug์ ํฐ ๋ค๋ชจ ๋ฒํผ ๋ง๊ณ ๋ฐฐํฌํ๊ธฐ๋ฅผ ๋๋ฅด๊ณ inject์ ํฐ ๋ค๋ชจ ๋ฒํผ์ ๋๋ ค์ผ ๊ฐ์ด ์ถ๋ ฅ๋๋ค๋ ๊ฒ์ ์๊ฒ ๋จ