-
๐ 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์์ ๋ฐ๊ฐํ ๊ณต์ ๋ฌธ์๋ฅผ ์ฝ๊ณ ์คํฐ๋๋ฅผ ์งํํ๋๋ฐ ๊ทธ๊ฒ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- MODBUS PROTOCOL SPECS : https://www.modbus.org/specs.php
- MODBUS PROTOCOL SPECIFICATION V1.1b3 : https://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf
- MODBUS over Serial Line Specification and Implementation Guide V1.02 : https://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf
- 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๋ฅผ ์ฝ๊ณ ์คํฐ๋๋ฅผ ์งํํ์ฌ ๊ณต๋ถํ์ต๋๋ค.
- 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