ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ๐Ÿ Bethel324-control-system์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•œ ์ ๋“ค
    Projects/๐Ÿ Bethel324-control-system 2021. 6. 21. 22:43

    ๐Ÿ Bethel324-control-system์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ด์ „ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

    2021.06.21 - [Projects/๐Ÿ Bethel324-control-system] - ๐Ÿ Bethel324-control-system์— ๋Œ€ํ•˜์—ฌ

     

    ๐Ÿ Bethel324-control-system์— ๋Œ€ํ•˜์—ฌ

    ๐Ÿ’ป ๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ ์ด๋ฒˆ ํ•™๊ธฐ๋Š” ๋ฐฉ๋Œ์ด ์˜๋ฏผ์ดํ˜•๊ณผ ํ•จ๊ป˜ ๋ฒง์—˜๊ด€ 324ํ˜ธ์— ์‚ด์•˜๋‹ค. ๊ธฐ์ˆ™์‚ฌ์— ์‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ณ ์ •์ ์œผ๋กœ ๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ผ๋“ค์ด ์žˆ๋‹ค. ๋จผ์ € ๋ฐค 11์‹œ์— ์ ํ˜ธ๋ฅผ ํ•˜๋ฉด ์†Œ๋“ฑํ•ด์•ผ ํ•˜

    alinew.tistory.com

     

    ๐Ÿ Bethel324-control-system์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•œ ์ ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

     

    1. Notion์„ ์ด์šฉํ•œ ์ฒด๊ณ„์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ โฐ

    ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ์˜€๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํ˜‘์—… ๋„๊ตฌ๋“ค์ด ์žˆ์ง€๋งŒ ์ €ํฌ๋Š” notion์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ ๊ทธ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ๋จผ์ € notion์€ ๋ฌธ์„œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ํšŒ์˜๋ก, ๊ณต๋ถ€ ๋‚ด์šฉ ์ •๋ฆฌ, ์‹คํ—˜, archieve ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฌธ์„œ๋“ค์„ ์ž‘์„ฑํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฌธ์„œ๋“ค์„ ์ข…๋ฅ˜๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ฐพ๊ธฐ ํŽธํ•˜๊ฒŒ ํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ notion์€ ํŽ˜์ด์ง€๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

    ๋‘๋ฒˆ์งธ๋กœ notion์€ ๋ฌธ์„œ์˜ ์›ํ˜•์„ ์ตœ๋Œ€ํ•œ ๋ณด์กดํ•˜๋ฉด์„œ pdf๋กœ export๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ž„๋ฒ ๋””๋“œ ์ˆ˜์—… ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์ ํŠธ ์ œ์•ˆ์„œ์™€ ์ตœ์ข… ๋ณด๊ณ ์„œ๋ฅผ ์ œ์ถœํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์•ฑ๋“ค์€ ์ž‘์„ฑํ•œ ๋ฌธ์„œ๋ฅผ exportํ•˜๋ฉด ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ๋ถˆํ•„์š”ํ•  ์ •๋„๋กœ ๋งŽ์ด ๋“ค์–ด๊ฐ€๋Š” ๋“ฑ ๋ฌธ์„œ์˜ ์›ํ˜•์ด ํ›ผ์†๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š” ๋ฐ˜๋ฉด notion์€ ์•„์ง๊นŒ์ง€ ๊ทธ๋Ÿฐ ๋ถˆํŽธํ•จ์„ ๋А๋‚€ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.

    ๋งˆ์ง€๋ง‰์œผ๋กœ notion์€ ๋””์ž์ธ์ด ์ด์ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋””์ž์ธ์ด๋ž€ ๋‹จ์ˆœํžˆ ์ œํ’ˆ์˜ ์™ธํ˜•์ด ์•„๋‹Œ ๊ทธ ์ œํ’ˆ์˜ ๋ณธ์งˆ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. notion์€ ๊ทธ๋Ÿฐ ์ ์—์„œ ์ €์˜ ๋งˆ์Œ์„ ์‚ฌ๋กœ์žก๊ธฐ ์ถฉ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์•„๋ž˜๋Š” ์ €ํฌ๊ฐ€ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ณต์œ ํ•œ ํŽ˜์ด์ง€๋ฅผ ์บก์ณํ•œ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.

     

    2. ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•˜๋Š” ๋ฒ• ๐Ÿ“š

    ์ด ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” MODBUS ํ”„๋กœํ† ์ฝœ, MODBUS Serial line ํ”„๋กœํ† ์ฝœ ์ค‘ MODBUS RTU, MODBUS over TCP/IP ํ”„๋กœํ† ์ฝœ์„ ๊ณต๋ถ€ํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €ํฌ๋Š” ์‹œ์Šคํ…œ ๊ตฌํ˜„์— ์•ž์„œ modbus organization์—์„œ ๋ฐœ๊ฐ„ํ•œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ ๊ทธ๊ฒƒ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    1. MODBUS PROTOCOL SPECS : https://www.modbus.org/specs.php
    2. MODBUS PROTOCOL SPECIFICATION V1.1b3 : https://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf
    3. MODBUS over Serial Line Specification and Implementation Guide V1.02 : https://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf
    4. MODBUS MESSAGING ON TCP/IP IMPLEMENTATION GUIDE V1.0b : https://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf

    ๋˜ํ•œ ๐Ÿค– MODBUS-RTU-Client์—์„œ NUCLEO์™€ MODBUS-RTU-RELAY ์‚ฌ์ด๋ฅผ MAX485 ๋ชจ๋“ˆ๋กœ ์—ฐ๊ฒฐํ–ˆ๋Š”๋ฐ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“ˆ์ด๊ธฐ ๋•Œ๋ฌธ์— datasheet๋ฅผ ์ฝ๊ณ  ๊ฒฐ์„  ๋ฐฉ๋ฒ•, ์ „๊ธฐ์  ํŠน์„ฑ, ๊ฐ ํ•€์˜ ํŠน์„ฑ ๋“ฑ์„ ๊ณต๋ถ€ํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ œ์กฐ์‚ฌ์—์„œ ๋ฐœ๊ฐ„ํ•œ datasheet๋ฅผ ์ฝ๊ณ  ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

    1. MAX-485 datasheet : http://www.openimpulse.com/blog/wp-content/uploads/wpsc/downloadables/MAX485-Datasheet.pdf

    ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฐœ๋ฐœ์ž๋กœ์จ ๊ฐ–์ถ”์–ด์•ผ ํ•  ๊ธฐ๋ณธ ์ž์„ธ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณต์‹ ๋ฌธ์„œ์—์„œ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ์–ป๊ธฐ ์œ„ํ•ด ์–ด๋А ๋ถ€๋ถ„์„ ๋จผ์ € ์ฝ์–ด์•ผ ํ•˜๋Š”์ง€ ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฐ๊ฐ์„ ๊ธฐ๋ฅผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

     

    3. ์–ด๋–ป๊ฒŒ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด์  ์‚ฌ๊ณ  ๐Ÿ˜Ž

    ์ €ํฌ๋Š” ๐Ÿค– MODBUS-TCP-Client์—์„œ TCPPORT-30M์ด ์Šต๋„๋ฅผ ์ฝ๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ๋ฐœํ•œ ์•„์ด๋””์–ด๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ์ž๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

    ์ €ํฌ๋Š” ์Šต๋„๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด HTU21D ์„ผ์„œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ผ์„œ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ I2C ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธก์ •ํ•œ ์Šต๋„๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ TCPPORT-30M์€ I2C๋ฅผ ์ง€์›ํ•˜๋Š” ๋””๋ฐ”์ด์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €ํฌ๋Š” ์ค‘๊ฐ„์— nucleo ๋ณด๋“œ๋ฅผ ๋‘์–ด์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋Š”๋ฐ ๊ทธ ์ด์œ ๋Š” ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

    ๋จผ์ € nucleo๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ I2C ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์›ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ESP-01 ๋ชจ๋“ˆ์„ ํ†ตํ•ด wifi ํ†ต์‹ ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ I2C ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ฝ์–ด๋“ค์ธ ์ƒ๋Œ€์Šต๋„๋ฅผ wifi๋ฅผ ํ†ตํ•ด modbus tcp ๋ช…๋ น์–ด๋ฅผ ์ „์†กํ•˜์—ฌ TCPPORT-30M์˜ output port๋ผ๋Š” ๋””๋ฐ”์ด์Šค์— writeํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋‘๋ฒˆ์งธ๋กœ ์ฝ์–ด๋“ค์ธ ์ƒ๋Œ€์Šต๋„์˜ ๋ฒ”์œ„๊ฐ€ 0์—์„œ 100์‚ฌ์ด์˜ ์‹ค์ˆ˜๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ƒ๋Œ€์Šต๋„์˜ ๋ฒ”์œ„๋ฅผ 0์—์„œ 100 ์‚ฌ์ด์˜ ์ •์ˆ˜๋กœ ์ถ•์†Œํ•œ๋‹ค๋ฉด ์ด๊ฒƒ์€ 7๊ฐœ์˜ bit๋กœ ํ‘œํ˜„๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ์ด ์ ์— ์ฃผ๋ชฉํ•˜์—ฌ ๋‹จ์œ„๊ฐ€ single bit์ธ coil ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์‚ฌ์šฉํ•˜๊ณ  8๊ฐœ์˜ ํฌํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” output port์— 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ ์ƒ๋Œ€์Šต๋„๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ output port 0๋ฒˆ๋ถ€ํ„ฐ 7๋ฒˆ์— 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ ์ƒ๋Œ€์Šต๋„๋ฅผ writeํ•˜๋Š” modbus tcp ๋ช…๋ น์–ด๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์˜๋ฏผ์ดํ˜•๊ณผ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•˜๊ณ  ํ† ๋ก ํ•˜๋ฉด์„œ ๋ถˆ๊ฐ€๋Šฅํ•ด๋ณด์ด๋Š” ์ƒํ™ฉ์ด๋ผ๋„ ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ  ์–ด๋–ป๊ฒŒ๋“  ํ•ด๊ฒฐํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด์  ์‚ฌ๊ณ ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

     

    4. AJAX๋ฅผ ํ†ตํ•œ UX ํ–ฅ์ƒ ๐Ÿคฉ

    ์ €ํฌ๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด AJAX๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. AJAX๋Š” ์ฃผ๋กœ ์›นํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ  ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์™€์„œ ์›นํŽ˜์ด์ง€๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ์ด๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ ๋‘ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

    ๋จผ์ € 10์ดˆ๋งˆ๋‹ค ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ฝ์–ด๋“ค์ธ humidity๋ฅผ ์ž๋™์œผ๋กœ updateํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ์จ ํ†ต์‹ ์— ๋Œ€ํ•œ overhead๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๊ณ  ์ž๋™์œผ๋กœ update๋œ ์Šต๋„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— UX๋ฅผ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

    'Projects > ๐Ÿ Bethel324-control-system' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    ๐Ÿ Bethel324-control-system์— ๋Œ€ํ•˜์—ฌ  (0) 2021.06.21

    ๋Œ“๊ธ€

Designed by Tistory.