Skip to content

Node-RED Make IoT Smart โ€‹

๐ŸŒ ์–ธ์–ด โ€‹

English ไธญๆ–‡ Deutsch Espaรฑol Franรงais ๆ—ฅๆœฌ่ชž ํ•œ๊ตญ์–ด Portuguรชs ะ ัƒััะบะธะน ็น้ซ”ไธญๆ–‡


Node-RED ์ „์šฉ์œผ๋กœ ์„ค๊ณ„๋œ AI ์–ด์‹œ์Šคํ„ดํŠธ ํ™•์žฅ ๊ธฐ๋Šฅ์œผ๋กœ, IoT ๊ฐœ๋ฐœ์„ ๋”์šฑ ์Šค๋งˆํŠธํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. npm versionLicense: MITNode-RED

๊ฐœ์š” โ€‹

Node-RED Make IoT Smart๋Š” Node-RED ๊ฐœ๋ฐœ ์ „์šฉ์œผ๋กœ ์„ค๊ณ„๋œ ํฌ๊ด„์ ์ธ AI ์—์ด์ „ํŠธ์ž…๋‹ˆ๋‹ค. ์ง€๋Šฅ์ ์ธ ์ฝ”๋“œ ์ง€์›, ์ž๋™ํ™”๋œ ํ”Œ๋กœ์šฐ ์ตœ์ ํ™”, ์Šค๋งˆํŠธ ๋””๋ฒ„๊น… ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ IoT ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์€ ํ˜„์žฌ ํ•™์Šต, ์†”๋ฃจ์…˜, ํ†ตํ•ฉ, ๊ฐœ๋ฐœ, ๊ตฌ์„ฑ, ๊ด€๋ฆฌ์˜ 6๊ฐ€์ง€ ์ฃผ์š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ โ€‹

๐Ÿค– AI ์–ด์‹œ์Šคํ„ดํŠธ โ€‹

  • ์ง€๋Šฅ์  ์ฝ”๋“œ ์ œ์•ˆ: Node-RED ํ”Œ๋กœ์šฐ์˜ ์ปจํ…์ŠคํŠธ ์ธ์‹ ์ฝ”๋“œ ์ถ”์ฒœ.
  • ์Šค๋งˆํŠธ ํ”Œ๋กœ์šฐ ๋ถ„์„: ํ”Œ๋กœ์šฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ตœ์ ํ™” ์ œ์•ˆ์„ ์ œ๊ณต.
  • ์ž์—ฐ์–ด ์ธํ„ฐํŽ˜์ด์Šค: ์ž์—ฐ์–ด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ Node-RED ํ™˜๊ฒฝ๊ณผ ์ƒํ˜ธ์ž‘์šฉ.
  • ๋‹ค๊ตญ์–ด ์ง€์›: ์ค‘๊ตญ์–ด, ์˜์–ด, ์ผ๋ณธ์–ด, ํ•œ๊ตญ์–ด ๋“ฑ์„ ์ง€์›. Node-RED์˜ ์–ธ์–ด ์„ค์ • ๋ณ€๊ฒฝ์— ๋”ฐ๋ผ ์ž๋™ ์ ์‘.
  • ๋ฉ€ํ‹ฐ ํ”„๋กœ๋ฐ”์ด๋” ์ง€์›: LangChain.js ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜์œผ๋กœ OpenAI, Anthropic, Google, DeepSeek ๋“ฑ์˜ AI ๋ชจ๋ธ์„ ์ง€์›.
  • ์ง€๋Šฅ์  ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: SQLite ๊ธฐ๋ฐ˜์˜ ๋‹จ๊ธฐ ๋ฐ ์žฅ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ, ๋Œ€ํ™” ๊ธฐ๋ก, ์‚ฌ์šฉ์ž ์„ค์ •, ํ”Œ๋กœ์šฐ ํŒจํ„ด ์ €์žฅ์„ ์ง€์›.
  • ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ: JSON ๊ตฌ์„ฑ์„ ํ†ตํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ, ๋™์  ๋งค๊ฐœ๋ณ€์ˆ˜ ์ฃผ์ž…์„ ์ง€์›.
  • MCP ๋„๊ตฌ ํ†ตํ•ฉ: Model Context Protocol(MCP) ๋„๊ตฌ ํ˜ธ์ถœ์„ ์ง€์›ํ•˜์—ฌ AI ์–ด์‹œ์Šคํ„ดํŠธ์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅ.

๐Ÿ”ง ๊ฐœ๋ฐœ ๋„๊ตฌ โ€‹

  • ์‹ค์‹œ๊ฐ„ ์ฝ”๋“œ ๋ถ„์„: Node-RED ํ”Œ๋กœ์šฐ์˜ ์ง€์†์ ์ธ ๋ถ„์„.
  • ๊ตฌ์„ฑ ๊ด€๋ฆฌ: ๋‹ค์–‘ํ•œ AI ํ”„๋กœ๋ฐ”์ด๋”์˜ ์ค‘์•™ ์ง‘์ค‘์‹ API ๊ตฌ์„ฑ.
  • ๋Œ€ํ™”ํ˜• ์‚ฌ์ด๋“œ๋ฐ”: Node-RED ์—๋””ํ„ฐ์— ํ†ตํ•ฉ๋œ ์ „์šฉ AI ์–ด์‹œ์Šคํ„ดํŠธ ํŒจ๋„.
  • JSON ์—๋””ํ„ฐ: ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ํ†ตํ•ฉ ๊ตฌ์„ฑ ํŒŒ์ผ ์—๋””ํ„ฐ.
  • MCP ๋„๊ตฌ ํ†ตํ•ฉ: Model Context Protocol(MCP) ๋„๊ตฌ ํ˜ธ์ถœ์„ ์ง€์›ํ•˜์—ฌ AI ์–ด์‹œ์Šคํ„ดํŠธ์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅ.
  • LangChain ๋„๊ตฌ ๊ด€๋ฆฌ: ํ†ตํ•ฉ ๋„๊ตฌ ๊ด€๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ, ๋‚ด์žฅ ๋„๊ตฌ์™€ MCP ๋„๊ตฌ๋ฅผ ์ง€์›.
  • ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ ์ง€์›: 7๊ฐ€์ง€ ์ฃผ์š” ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๋งž์ถคํ˜• ์ง€์›:
    • ํ•™์Šต: ๋…ธ๋“œ์™€ ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๊ณ  ์ƒ˜ํ”Œ ํ”Œ๋กœ์šฐ๋ฅผ ์ œ๊ณต.
    • ์†”๋ฃจ์…˜: ํ”Œ๋กœ์šฐ JSON๊ณผ ๋…ธ๋“œ ์„ค์น˜ ๊ฐ€์ด๋“œ๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ IoT ์†”๋ฃจ์…˜์„ ์ œ๊ณต.
    • ํ†ตํ•ฉ: ํ”„๋กœํ† ์ฝœ(์˜ˆ: MQTT, Modbus) ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ํ†ตํ•ฉ์„ ์ง€์›.
    • ๊ฐœ๋ฐœ: ๊ธฐ์กด ํ”Œ๋กœ์šฐ์™€ ํ•จ์ˆ˜ ๋…ธ๋“œ ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”.
    • ๊ตฌ์„ฑ: Node-RED ๊ตฌ์„ฑ(์˜ˆ: settings.js) ๋ณ€๊ฒฝ์„ ์•ˆ๋‚ด.
    • ๊ด€๋ฆฌ: ์›๊ฒฉ ์•ก์„ธ์Šค, Git ํ†ตํ•ฉ, ๋ฐฐ์น˜ ๋ฐฐํฌ๋ฅผ ์ง€์›.

๐Ÿš€ ํ–ฅํ›„ ๊ธฐ๋Šฅ โ€‹

  • ์›๊ฒฉ ๋””๋ฒ„๊น…: Node-RED ํ”Œ๋กœ์šฐ์˜ AI ์ง€์› ์›๊ฒฉ ๋””๋ฒ„๊น….
  • ํŒ€ ๊ด€๋ฆฌ: ํŒ€ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ํ˜‘์—… ๊ฐœ๋ฐœ.
  • ๊ณ ๊ธ‰ ๋ถ„์„: IoT ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ๊นŠ์€ ํ†ต์ฐฐ๋ ฅ.
  • ์ง€๋Šฅ์  ๋ฐฐํฌ: AI ์ฃผ๋„์˜ IoT ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ „๋žต.

์„ค์น˜ โ€‹

npm์—์„œ ์„ค์น˜ โ€‹

bash
npm install @jhe.zheng/node-red-make-iot-smart

Node-RED ํŒ”๋ ˆํŠธ ๋งค๋‹ˆ์ €์—์„œ ์„ค์น˜ โ€‹

  1. Node-RED ์—๋””ํ„ฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.
  2. ๋ฉ”๋‰ด โ†’ ํŒ”๋ ˆํŠธ ๊ด€๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  3. @jhe.zheng/node-red-make-iot-smart๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  4. ์„ค์น˜๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ์„ค์น˜ ํ›„ Node-RED๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  6. ์„ค์น˜ ํ›„ Node-RED ์‚ฌ์ด๋“œ๋ฐ”์— ์ƒˆ๋กœ์šด AI ์–ด์‹œ์Šคํ„ดํŠธ ํƒญ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  7. ์„ค์ • ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ AI ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  8. ์ง€์›๋˜๋Š” ํ”„๋กœ๋ฐ”์ด๋” ์ค‘์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค:
    • DeepSeek: ๊ฐ•๋ ฅํ•œ ์ฝ”๋”ฉ ๋Šฅ๋ ฅ์„ ๊ฐ€์ง„ ๋น„์šฉ ํšจ์œจ์ ์ธ ์˜ต์…˜.
    • OpenAI: ์—…๊ณ„๋ฅผ ์„ ๋„ํ•˜๋Š” GPT ๋ชจ๋ธ.
    • Anthropic: Claude ๋ชจ๋ธ์„ ํ†ตํ•œ ๊ณ ๊ธ‰ ์ถ”๋ก  ๋Šฅ๋ ฅ.
  9. API ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ ์ ˆํ•œ ๋ชจ๋ธ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  10. ๊ตฌ์„ฑ ํ›„ AI ์–ด์‹œ์Šคํ„ดํŠธ ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •์„ ์ €์žฅํ•œ ํ›„ NodeRED๊ฐ€ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. NodeRED๋Š” ํ”Œ๋กœ์šฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ‘œ์‹œํ•˜๊ณ  ๋ณ‘ํ•ฉ์„ ํด๋ฆญํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  11. AI ์–ด์‹œ์Šคํ„ดํŠธ์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์‹œ์ž‘ํ•˜์„ธ์š”!

๋น ๋ฅธ ์‹œ์ž‘ โ€‹

"ํ˜„์žฌ ๋…ธ๋“œ ๋ถ„์„"์„ ์ž…๋ ฅ โ€‹

๋ฐ๋ชจ ์• ๋‹ˆ๋ฉ”์ด์…˜

"์ƒ˜ํ”Œ ํ”Œ๋กœ์šฐ ์ƒ์„ฑ"์„ ์ž…๋ ฅ โ€‹

๋ฐ๋ชจ ์• ๋‹ˆ๋ฉ”์ด์…˜

"ํ—ฌ์Šค ์ฒดํฌ"๋ฅผ ์ž…๋ ฅ โ€‹

๋ฐ๋ชจ ์• ๋‹ˆ๋ฉ”์ด์…˜

๊ตฌ์„ฑ โ€‹

LangSmith ๋””๋ฒ„๊น… ๊ตฌ์„ฑ (์„ ํƒ์‚ฌํ•ญ) โ€‹

LangChain ์‹คํ–‰์˜ ๋” ๋‚˜์€ ๋””๋ฒ„๊น…๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•ด LangSmith ์ง€์›์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. .env.example ํŒŒ์ผ์„ .env๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค:

    bash
    cp .env.example .env
  2. .env ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ LangSmith ๊ตฌ์„ฑ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

    env
    LANGCHAIN_TRACING_V2=true
    LANGCHAIN_API_KEY=your_langsmith_api_key_here
    LANGCHAIN_PROJECT=your_project_name
  3. Node-RED๋ฅผ ์žฌ์‹œ์ž‘ํ•˜์—ฌ ๊ตฌ์„ฑ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  4. LangSmith์— ์•ก์„ธ์Šคํ•˜์—ฌ ์ž์„ธํ•œ ์‹คํ–‰ ์ถ”์  ๋ฐ ๋””๋ฒ„๊น… ์ •๋ณด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ : LangSmith ๊ตฌ์„ฑ์€ ์„ ํƒ์‚ฌํ•ญ์ด๋ฉฐ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ• โ€‹

๊ธฐ๋ณธ ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค โ€‹

  • AI ์–ด์‹œ์Šคํ„ดํŠธ ์‚ฌ์ด๋“œ๋ฐ” ํƒญ์„ ์—ฝ๋‹ˆ๋‹ค.
  • ์ž์—ฐ์–ด๋กœ ์งˆ๋ฌธ์ด๋‚˜ ์ง€์‹œ์‚ฌํ•ญ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ์ œ์•ˆ๊ณผ ์„ค๋ช…์ด ํฌํ•จ๋œ ์ง€๋Šฅ์ ์ธ ๋‹ต๋ณ€์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค ์„ ํƒ โ€‹

  • ์‚ฌ์ด๋“œ๋ฐ”์˜ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ์‹œ๋‚˜๋ฆฌ์˜ค(ํ•™์Šต, ์†”๋ฃจ์…˜, ํ†ตํ•ฉ, ๊ฐœ๋ฐœ, ๊ตฌ์„ฑ, ๊ด€๋ฆฌ)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • AI๋Š” ์„ ํƒ๋œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋”ฐ๋ผ ๋‹ต๋ณ€์„ ์กฐ์ •ํ•˜๊ณ  ๊ด€๋ จ ๋„๊ตฌ์™€ ํ”Œ๋กœ์šฐ JSON์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

JSON/์ฝ”๋“œ ์ฒ˜๋ฆฌ โ€‹

  • ํฐ JSON์ด๋‚˜ ์ฝ”๋“œ ์ถœ๋ ฅ์€ JSON/์ฝ”๋“œ ๋ณด๊ธฐ ๋ฒ„ํŠผ ๋’ค์— ์ˆจ๊ฒจ์ ธ UI๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ํ†ตํ•ฉ ์—๋””ํ„ฐ์—์„œ ํ”Œ๋กœ์šฐ JSON์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ง์ ‘ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค โ€‹

์‹œ๋‚˜๋ฆฌ์˜ค ๊ฐœ์š” โ€‹

์‹œ๋‚˜๋ฆฌ์˜คํ•œ๊ตญ์–ด๋ช…์„ค๋ช…์ง€์› ๋„๊ตฌ
learningํ•™์Šต ๋ชจ๋“œNode-RED ํ•™์Šต ์–ด์‹œ์Šคํ„ดํŠธ, ๊ต์œก ๊ฐ€์ด๋“œ์™€ ์ง€์‹ ๋‹ต๋ณ€์„ ์ œ๊ณตget-flows, get-nodes, create-flow, update-flow
solution์†”๋ฃจ์…˜ ๋ชจ๋“œIoT ์†”๋ฃจ์…˜ ์ „๋ฌธ๊ฐ€, ๊ธฐ์ˆ  ์†”๋ฃจ์…˜๊ณผ ์•„ํ‚คํ…์ฒ˜ ์กฐ์–ธ์„ ์ œ๊ณตcreate-flow, update-flow, get-flows, create-subflow
integrationํ†ตํ•ฉ ๋ชจ๋“œ์‹œ์Šคํ…œ ํ†ตํ•ฉ ์ „๋ฌธ๊ฐ€, ์žฅ์น˜ ์—ฐ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ์„ ์ฒ˜๋ฆฌcreate-flow, update-flow, install-node, get-node-info
development๊ฐœ๋ฐœ ๋ชจ๋“œ์ฝ”๋“œ ๊ฐœ๋ฐœ ์–ด์‹œ์Šคํ„ดํŠธ, Node-RED ํ”Œ๋กœ์šฐ ์ƒ์„ฑ๊ณผ ์ตœ์ ํ™”๋ฅผ ์ง€์›create-flow, update-flow, create-subflow, get-node-info, install-node, get-flow
configuration๊ตฌ์„ฑ ๋ชจ๋“œ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์ „๋ฌธ๊ฐ€, Node-RED ํ™˜๊ฒฝ๊ณผ ๋…ธ๋“œ ๊ตฌ์„ฑ์„ ๊ด€๋ฆฌget_settings, update_settings, install_node, get_node_info, get_diagnostics
management๊ด€๋ฆฌ ๋ชจ๋“œํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ์–ด์‹œ์Šคํ„ดํŠธ, ํ”Œ๋กœ์šฐ ์กฐ์ง๊ณผ ํ”„๋กœ์ ํŠธ ๊ณ„ํš์„ ์ง€์›get-flows, create-flow, update-flow, create-subflow
general์ผ๋ฐ˜ ๋ชจ๋“œ์ผ๋ฐ˜ AI ์–ด์‹œ์Šคํ„ดํŠธ, Node-RED ๊ด€๋ จ ๋‹ค์–‘ํ•œ ์งˆ๋ฌธ์„ ์ฒ˜๋ฆฌํŠน์ • ๋„๊ตฌ ์ œํ•œ ์—†์Œ

์‚ฌ์ „ ์ •์˜๋œ ํ”„๋กฌํ”„ํŠธ ์˜ˆ์‹œ โ€‹

์‹œ๋‚˜๋ฆฌ์˜ค์‚ฌ์ „ ์ •์˜๋œ ํ”„๋กฌํ”„ํŠธ
ํ•™์Šต ๋ชจ๋“œโ€ข Node-RED๋Š” ์ฒ˜์Œ์ž…๋‹ˆ๋‹ค. Node-RED์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•ด ์ฃผ์„ธ์š”
โ€ข Node-RED์˜ ํ”Œ๋กœ์šฐ, ๋…ธ๋“œ, ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”
โ€ข Node-RED์—์„œ ์ฒซ ๋ฒˆ์งธ ๊ฐ„๋‹จํ•œ ํ”Œ๋กœ์šฐ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”? ์ž์„ธํ•œ ๋‹จ๊ณ„๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”
โ€ข Node-RED์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ๋…ธ๋“œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
์†”๋ฃจ์…˜ ๋ชจ๋“œโ€ข ์Šค๋งˆํŠธ ํ™ˆ ์ œ์–ด ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์™„์ „ํ•œ IoT ์†”๋ฃจ์…˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ œ๊ณตํ•ด ์ฃผ์„ธ์š”
โ€ข Node-RED๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Industry 4.0 ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
โ€ข ์„ผ์„œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ณผ ์ž๋™ ์ œ์–ด๋ฅผ ํฌํ•จํ•œ ๋†์—… IoT ์†”๋ฃจ์…˜์„ ์„ค๊ณ„ํ•ด ์ฃผ์„ธ์š”
โ€ข ์Šค๋งˆํŠธ ์‹œํ‹ฐ ํ™˜๊ฒฝ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ์€๋ฐ, ์–ด๋–ค ๊ธฐ์ˆ  ์†”๋ฃจ์…˜์ด ํ•„์š”ํ•œ๊ฐ€์š”?
ํ†ตํ•ฉ ๋ชจ๋“œโ€ข Node-RED์—์„œ MQTT ์žฅ์น˜์™€ HTTP API๋ฅผ ํ†ตํ•ฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”? ์ž์„ธํ•œ ํ†ตํ•ฉ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ด ์ฃผ์„ธ์š”
โ€ข Modbus ์žฅ์น˜์—์„œ ์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ „์†กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋‚˜์š”?
โ€ข JSON์„ XML๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ œ3์ž ์‹œ์Šคํ…œ์— ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ํ”Œ๋กœ์šฐ ์„ค๊ณ„๋ฅผ ๋„์™€์ฃผ์„ธ์š”
โ€ข Node-RED์—์„œ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ์žฅ์น˜์˜ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ณผ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
๊ฐœ๋ฐœ ๋ชจ๋“œโ€ข ํ˜„์žฌ ํ”Œ๋กœ์šฐ์˜ ์ž์„ธํ•œ ์„ค๋ช…๊ณผ ํ•ด์„ค
โ€ข ํ˜„์žฌ ๋…ธ๋“œ์˜ ์ž์„ธํ•œ ์„ค๋ช…๊ณผ ํ•ด์„ค
โ€ข ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง๊ณผ ํ˜•์‹ ๋ณ€ํ™˜์„ ๊ตฌํ˜„ํ•˜๋Š” Function ๋…ธ๋“œ ์ฝ”๋“œ ์ž‘์„ฑ์„ ๋„์™€์ฃผ์„ธ์š”
โ€ข Node-RED์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ ๋…ธ๋“œ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”? ์™„์ „ํ•œ ๊ฐœ๋ฐœ ์ ˆ์ฐจ๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”
๊ตฌ์„ฑ ๋ชจ๋“œโ€ข ํ˜„์žฌ NodeRED์˜ ๊ตฌ์„ฑ์€ ์–ด๋–ป๊ฒŒ ๋˜์–ด ์žˆ๋‚˜์š”?
โ€ข ํ˜„์žฌ NodeRED์˜ ์ง„๋‹จ์€ ์–ด๋–ป๊ฒŒ ๋˜์–ด ์žˆ๋‚˜์š”?
โ€ข ์‚ฌ์šฉ์ž ์ธ์ฆ๊ณผ HTTPS๋ฅผ ํฌํ•จํ•œ Node-RED์˜ ๋ณด์•ˆ ๊ตฌ์„ฑ์„ ์„ค์ •ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
โ€ข Node-RED์˜ ์„ฑ๋Šฅ ๊ตฌ์„ฑ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ์‹œ์Šคํ…œ ์‹คํ–‰ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋„์™€์ฃผ์„ธ์š”
โ€ข Node-RED์—์„œ ์ œ3์ž ๋…ธ๋“œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
โ€ข Node-RED์˜ ๋กœ๊น…๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋‚˜์š”?
๊ด€๋ฆฌ ๋ชจ๋“œโ€ข IoT ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ ๊ณ„ํš๊ณผ ๋งˆ์ผ์Šคํ†ค ์ƒ์„ฑ์„ ๋„์™€์ฃผ์„ธ์š”
โ€ข Node-RED์—์„œ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์˜ ํ”Œ๋กœ์šฐ ๊ตฌ์กฐ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
โ€ข ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์œ„ํ—˜๊ณผ ํ’ˆ์งˆ์„ ํ‰๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์„ ๊ถŒ์žฅ์‚ฌํ•ญ์„ ์ œ๊ณตํ•ด ์ฃผ์„ธ์š”
โ€ข ํŒ€ ํ˜‘์—… Node-RED ๊ฐœ๋ฐœ ํ‘œ์ค€๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ˆ˜๋ฆฝํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
์ผ๋ฐ˜ ๋ชจ๋“œโ€ข Node-RED๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์ฃผ์š” ํŠน์ง•๊ณผ ์‘์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
โ€ข Node-RED์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ถ„์„๊ณผ ํ•ด๊ฒฐ์ฑ…์„ ๋„์™€์ฃผ์„ธ์š”
โ€ข Node-RED ํ•™์Šต ๋ฆฌ์†Œ์Šค์™€ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ถ”์ฒœํ•ด ์ฃผ์„ธ์š”
โ€ข ํŠน์ • ์š”๊ตฌ์‚ฌํ•ญ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ ์ ˆํ•œ Node-RED ์‹œ๋‚˜๋ฆฌ์˜ค ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•œ ์ง€๋Šฅ์  ํ™œ์„ฑํ™” โ€‹

์‹œ๋‚˜๋ฆฌ์˜คํ‚ค์›Œ๋“œํ™œ์„ฑํ™” ๋™์ž‘
๊ฐœ๋ฐœ ๋ชจ๋“œํ”Œ๋กœ์šฐ ์ƒ์„ฑ, ํ”Œ๋กœ์šฐ ์ƒ์„ฑ, ํ”Œ๋กœ์šฐ ๋งŒ๋“ค๊ธฐ, ์ƒˆ ํ”Œ๋กœ์šฐ์ž๋™์œผ๋กœ ๊ฐœ๋ฐœ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜์—ฌ ์™„์ „ํ•œ Node-RED ํ”Œ๋กœ์šฐ JSON ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ž์„ธํ•œ ์„ค๋ช…์„ ์ œ๊ณต
๊ตฌ์„ฑ ๋ชจ๋“œํ˜„์žฌ ๊ตฌ์„ฑ, ์‹œ์Šคํ…œ ๊ตฌ์„ฑ, ๊ตฌ์„ฑ ์ •๋ณด, ๊ตฌ์„ฑ, ํ˜„์žฌ ์„ค์ •์ž๋™์œผ๋กœ get_settings ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€ ํ…Œ์ด๋ธ” ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ
๊ตฌ์„ฑ ๋ชจ๋“œํ˜„์žฌ ์ง„๋‹จ, ์‹œ์Šคํ…œ ์ง„๋‹จ, ์ง„๋‹จ ์ •๋ณด, ํ—ฌ์Šค ์ฒดํฌ์ž๋™์œผ๋กœ get_diagnostics ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‹œ์Šคํ…œ ์ง„๋‹จ์„ ์‹คํ–‰

๋™์  ์ž…๋ ฅ ๋งค๊ฐœ๋ณ€์ˆ˜ โ€‹

๋ชจ๋“  ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋™์  ๋งค๊ฐœ๋ณ€์ˆ˜ ์ฃผ์ž…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

  • nodeRedVersion - Node-RED ๋ฒ„์ „ ์ •๋ณด
  • nodeVersion - Node.js ๋ฒ„์ „ ์ •๋ณด
  • currentTime - ํ˜„์žฌ ํƒ€์ž„์Šคํƒฌํ”„
  • selectedFlow - ํ˜„์žฌ ์„ ํƒ๋œ ํ”Œ๋กœ์šฐ
  • selectedNodes - ํ˜„์žฌ ์„ ํƒ๋œ ๋…ธ๋“œ
  • lang - ํ˜„์žฌ ์–ธ์–ด ๋งค๊ฐœ๋ณ€์ˆ˜
  • mcpTools - ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ MCP ๋„๊ตฌ ๋ชฉ๋ก

๊ฐ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ํŠน์ • ๋™์  ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

  • ํ•™์Šต ๋ชจ๋“œ: userLevel(์‚ฌ์šฉ์ž ๊ธฐ์ˆ  ์ˆ˜์ค€)
  • ์†”๋ฃจ์…˜ ๋ชจ๋“œ: projectRequirements(ํ”„๋กœ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ)
  • ํ†ตํ•ฉ ๋ชจ๋“œ: integrationTargets(ํ†ตํ•ฉ ๋Œ€์ƒ)
  • ๊ฐœ๋ฐœ ๋ชจ๋“œ: developmentTask(๊ฐœ๋ฐœ ์ž‘์—…)
  • ๊ตฌ์„ฑ ๋ชจ๋“œ: configurationNeeds(๊ตฌ์„ฑ ์š”๊ตฌ์‚ฌํ•ญ)
  • ๊ด€๋ฆฌ ๋ชจ๋“œ: projectStatus(ํ”„๋กœ์ ํŠธ ์ƒํƒœ)

์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ํŠน์„ฑ โ€‹

๊ฐ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์ „๋ฌธ์ ์ธ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด AI ์–ด์‹œ์Šคํ„ดํŠธ๊ฐ€ ๋‹ค์Œ์„ ํ™•์‹คํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ์—ญํ•  ์ •์˜: ํŠน์ • ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ์˜ ๋ช…ํ™•ํ•œ ์ „๋ฌธ์  ์—ญํ• 
  2. ์ถœ๋ ฅ ํ˜•์‹: ์‹œ๋‚˜๋ฆฌ์˜ค ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ฅธ ๊ตฌ์กฐํ™”๋œ ๋‹ต๋ณ€ ํ˜•์‹
  3. ๋„๊ตฌ ํ†ตํ•ฉ: ํ•ด๋‹นํ•˜๋Š” MCP ๋„๊ตฌ์™€ Node-RED API์˜ ์ง€๋Šฅ์  ํ˜ธ์ถœ
  4. ์ปจํ…์ŠคํŠธ ์ธ์‹: ๋™์  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ
์‹œ๋‚˜๋ฆฌ์˜ค์„ค๋ช…
ํ•™์Šต๋…ธ๋“œ/๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๊ณ  ํ•™์Šต์šฉ ์ƒ˜ํ”Œ ํ”Œ๋กœ์šฐ๋ฅผ ์ œ๊ณต.
์†”๋ฃจ์…˜ํ”Œ๋กœ์šฐ JSON๊ณผ ๋…ธ๋“œ ์„ค์น˜ ๊ฐ€์ด๋“œ๊ฐ€ ํฌํ•จ๋œ ๋‹ค์–‘ํ•œ IoT ์†”๋ฃจ์…˜์„ ์ œ๊ณต.
ํ†ตํ•ฉํ”„๋กœํ† ์ฝœ/์†Œํ”„ํŠธ์›จ์–ด ํ†ตํ•ฉ์„ ์ง€์›ํ•˜๊ณ  ํ•ด๋‹น ํ”Œ๋กœ์šฐ๋ฅผ ์ƒ์„ฑ.
๊ฐœ๋ฐœ๊ธฐ์กด ํ”Œ๋กœ์šฐ์™€ ํ•จ์ˆ˜ ๋…ธ๋“œ ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”.
๊ตฌ์„ฑNode-RED ๊ตฌ์„ฑ(์˜ˆ: settings.js) ๋ณ€๊ฒฝ์„ ์•ˆ๋‚ด.
๊ด€๋ฆฌ์›๊ฒฉ ์•ก์„ธ์Šค, Git ํ†ตํ•ฉ, ๋ฐฐ์น˜ ๋ฐฐํฌ๋ฅผ ์ง€์›.

์ง€์›๋˜๋Š” AI ํ”„๋กœ๋ฐ”์ด๋” โ€‹

ํ”„๋กœ๋ฐ”์ด๋”๋ชจ๋ธํŠน์ง•
OpenAIGPT-3.5, GPT-4, GPT-4o๋ฒ”์šฉ, ๊ด‘๋ฒ”์œ„ํ•œ ํ˜ธํ™˜์„ฑ
AnthropicClaude-3, Claude-3.5๊ณ ๊ธ‰ ์ถ”๋ก , ์•ˆ์ „์„ฑ ์ค‘์‹œ
GoogleGemini Pro, Gemini Flash๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ, ๊ณ ์„ฑ๋Šฅ
DeepSeekdeepseek-chat, deepseek-coder๋น„์šฉ ํšจ์œจ์ , ์ฝ”๋”ฉ ์ค‘์‹ฌ
๊ธฐํƒ€LangChain.js์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  LLM ํ”„๋กœ๋ฐ”์ด๋”๋†’์€ ํ™•์žฅ์„ฑ, ์œ ์—ฐํ•œ ๊ตฌ์„ฑ

API ๊ตฌ์„ฑ โ€‹

  • API ํ‚ค๋Š” ๋กœ์ปฌ์— ์•”ํ˜ธํ™”๋˜์–ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ํ”„๋กœ๋ฐ”์ด๋” ๊ตฌ์„ฑ์„ ์ง€์›.
  • ๋‹ค์–‘ํ•œ ํ”„๋กœ๋ฐ”์ด๋”์™€ ๋ชจ๋ธ ๊ฐ„์˜ ์‰ฌ์šด ์ „ํ™˜.
  • ๊ณ„ํš ๋‹จ๊ณ„์™€ ์‹คํ–‰ ๋‹จ๊ณ„์˜ ๊ฐœ๋ณ„ ๋ชจ๋ธ ๊ตฌ์„ฑ.

๊ฐœ๋ฐœ โ€‹

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ โ€‹

โ”œโ”€โ”€ ai-sidebar.html          # ๋ฉ”์ธ ์‚ฌ์ด๋“œ๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค
โ”œโ”€โ”€ ai-sidebar-config.json   # UI ๊ตฌ์„ฑ
โ”œโ”€โ”€ make-iot-smart.html      # ๋…ธ๋“œ ๊ตฌ์„ฑ ํ…œํ”Œ๋ฆฟ
โ”œโ”€โ”€ make-iot-smart.js        # ๋ฐฑ์—”๋“œ ๋…ธ๋“œ ๊ตฌํ˜„
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ langchain-manager.js # ๋ฉ”์ธ LangChain ๋งค๋‹ˆ์ €
โ”‚   โ”œโ”€โ”€ memory-manager.js    # SQLite ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ
โ”‚   โ””โ”€โ”€ scenario-manager.js  # ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ
โ”œโ”€โ”€ config/
โ”‚   โ””โ”€โ”€ scenarios.json       # ์‹œ๋‚˜๋ฆฌ์˜ค ๊ตฌ์„ฑ ํŒŒ์ผ
โ”œโ”€โ”€ data/
โ”‚   โ””โ”€โ”€ memory.db           # SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ
โ””โ”€โ”€ package.json            # ํŒจํ‚ค์ง€ ๊ตฌ์„ฑ

๊ธฐ์ˆ  ์•„ํ‚คํ…์ฒ˜ โ€‹

์ด ํ”„๋กœ์ ํŠธ๋Š” LangChain.js ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๋ชจ๋“ˆ๋Ÿฌ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • LangChain Manager: ๋ฉ”์ธ AI ๋ชจ๋ธ ๊ด€๋ฆฌ, ์—ฌ๋Ÿฌ LLM ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์ง€์›
  • Memory Manager: SQLite ๊ธฐ๋ฐ˜์˜ ์ง€๋Šฅ์  ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ, ๋‹จ๊ธฐ ๋ฐ ์žฅ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง€์›
  • Scenario Manager: ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ, JSON ๊ตฌ์„ฑ๊ณผ ๋™์  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์›
  • Tool Manager: ํ†ตํ•ฉ ๋„๊ตฌ ๊ด€๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ, MCP ๋„๊ตฌ์™€ ๋‚ด์žฅ ๋„๊ตฌ๋ฅผ ํ†ตํ•ฉ
  • API Layer: RESTful API ์ธํ„ฐํŽ˜์ด์Šค, ์ŠคํŠธ๋ฆฌ๋ฐ ์ฑ„ํŒ…๊ณผ ๋„๊ตฌ ์‹คํ–‰์„ ์ง€์›

๊ธฐ์—ฌ โ€‹

  1. ์ €์žฅ์†Œ๋ฅผ ํฌํฌํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋งŒ๋“ค๊ณ  ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค.
  4. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.

๋กœ๋“œ๋งต โ€‹

1๋‹จ๊ณ„ (์™„๋ฃŒ) โ€‹

  • โœ… AI ์–ด์‹œ์Šคํ„ดํŠธ ํ†ตํ•ฉ
  • โœ… ๋ฉ€ํ‹ฐ ํ”„๋กœ๋ฐ”์ด๋” ์ง€์›
  • โœ… ๋Œ€ํ™”ํ˜• ์‚ฌ์ด๋“œ๋ฐ”
  • โœ… ๊ตฌ์„ฑ ๊ด€๋ฆฌ
  • โœ… ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ ์ง€์›
  • โœ… LangChain.js ์•„ํ‚คํ…์ฒ˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
  • โœ… SQLite ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • โœ… MCP ๋„๊ตฌ ํ†ตํ•ฉ
  • โœ… ํ†ตํ•ฉ ๋„๊ตฌ ๊ด€๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ

2๋‹จ๊ณ„ (์˜ˆ์ •) โ€‹

  • ๐Ÿ”„ ์›๊ฒฉ ๋””๋ฒ„๊น… ๊ธฐ๋Šฅ
  • ๐Ÿ”„ ํŒ€ ํ˜‘์—… ๊ธฐ๋Šฅ
  • ๐Ÿ”„ ๊ณ ๊ธ‰ ํ”Œ๋กœ์šฐ ๋ถ„์„
  • ๐Ÿ”„ ์ง€๋Šฅ์  ๋ฐฐํฌ ๋„๊ตฌ

3๋‹จ๊ณ„ (๋ฏธ๋ž˜) โ€‹

  • ๐Ÿ“‹ ํŒ€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • ๐Ÿ“‹ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ธฐ๋Šฅ
  • ๐Ÿ“‹ ๊ณ ๊ธ‰ ๋ณด์•ˆ ์˜ต์…˜
  • ๐Ÿ“‹ ์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋ธ ํ›ˆ๋ จ

์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ โ€‹

  • Node.js >= 18.0.0
  • Node-RED >= 2.0.0

๋ผ์ด์„ ์Šค โ€‹

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

์ง€์› โ€‹

AI ๊ฐœ๋ฐœ์€ ๊ธฐ์ˆ ์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” ์˜ˆ์ˆ ์ด๋ฉฐ, LLM์„ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด ์•„๋‹ˆ๋ฉฐ AI ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ Q&A ์„ธ์…˜์€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ดˆ๊ธฐ ๋ฒ„์ „์€ ์ข…์ข… ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ์•Š์ง€๋งŒ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์˜ ๊ฐœ์„ ์„ ํ†ตํ•ด IT ์—”์ง€๋‹ˆ์–ด๋“  OT ์—”์ง€๋‹ˆ์–ด๋“  Node-RED ์‚ฌ์šฉ์ž์˜ ์ผ์ƒ์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ ์ง„์ ์œผ๋กœ ์ถฉ์กฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ด€์‹ฌ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ด ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž‘์„ฑ์ž โ€‹

Zheng He


AI ์ง€์›์œผ๋กœ IoT ๊ฐœ๋ฐœ์„ ๋”์šฑ ์Šค๋งˆํŠธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”!