-
OpenWrt ์ค์น ๋ฐ ์ฌ์ฉ๊ธฐ (WNVR-001 ๊ณต์ ๊ธฐ)Soliloquy 2020. 3. 7. 21:42
๐
์ง์์ ์ ์ฐ๊ณ ์๋ ๊ณต์ ๊ธฐ๊ฐ ๊ฐ์๊ธฐ ๊ณ ์ฅ์ด ๋ ๊ณต์ ๊ธฐ๋ฅผ ๊ต์ฒดํด์ผ ํ๋ ์ํฉ์ด ๋์๋ค. ํด๋ํฐ ์ฌ์ฉ์ ์ค์ฌ๋ณด์ ๋ผ๋ ์๋๋ก ๊ณต์ ๊ธฐ ๊ตฌ๋งค๋ฅผ ๋ฏธ๋ฃจ๊ณ , ์ ๋ฌด์ ๋์ ์จ์ผ ํ๊ฒ ๋ค๋ฉด ๋ ธํธ๋ถ์ ํซ์คํ ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ๋ฌด์ ๋ ํ๊ฒฝ์ ๋ง๋ค์ด ์ฌ์ฉํ๊ณ ์์๋ค.
๊ทธ๋ฌ๋ค๊ฐ ๋ ธํธ๋ถ์ ๋ค๊ณ ๋ค๋๊ธฐ๊ฐ ๋๋ฌด ๊ท์ฐฎ์์ง๊ธฐ๋ ํ๊ณ , ๋ฐ์คํฌํฑ์ ์ฌ์ฉํด์ผ ํ ์ผ์ด ์ ์ ๋ง์์ ธ์ ๊ฒฐ๊ตญ ๊ณต์ ๊ธฐ๋ฅผ ํ ๋ ๋ง์ถ๊ธฐ๋ก ํ์๋ค. ์ธํฐ๋ท ์๋๋ ๋๋ ค๋ ์๊ด์ด ์์ด์ ๊ฐ๊ฒฉ์ด ์ ๋ ดํ ์์ฃผ๋ก ์ฐพ์๋ณด๊ธฐ๋ก ํ์๋ค.
๊ทธ๋ฌ๋ค WNVR-001์ด๋ผ๋ ๊ณต์ ๊ธฐ๋ฅผ ์ฐพ๊ฒ ๋์๊ณ , ๊ณต์ ๊ธฐ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์๋ค.
- 100 Mbps ์ง์ (๋ฌด์ ๋์ผ๋ก 802.11 bgn ์ง์)
- ์นด๋ฉ๋ผ ๋ นํ ๋ฐ ๋ฐ์ดํฐ ์ ์ก์ ์ํ USB ํฌํธ ์ง์
- 2013๋ 12์์ ์ถ์๋จ์ผ๋ก ์ถ์ (์ ํ ์ ํฉ์ฑ ํ๊ฐ์ผ ๊ธฐ์ค)
๋ ์ด์ ๊ฐ๋ฐ์ด ๋์ง ์๋ ๊ณต์ ๊ธฐ๋ผ์ ๊ทธ๋ฐ์ง USB ํฌํธ๋ฅผ ์ง์ํจ์๋ ๋ถ๊ตฌํ๊ณ , ์์ฃผ ์ ๋ ดํ ๊ฐ๊ฒฉ๋๋ฅผ ํ์ฑํ๊ณ ์์๋ค. ๋น๋ก ์ถ์๋ ์ง ์ค๋๋ ๊ณต์ ๊ธฐ๋ผ์ ์ฐจ๋ผ๋ฆฌ ๋ค๋ฅธ ๊ณต์ ๊ธฐ๋ฅผ ์ฐพ์๋ณด๋ ๊ฒ ๋ซ์ง ์์๊น ์ถ๊ธด ํ๋ค. ๊ทธ๋๋ ์ ๋ ดํ ๊ฐ๊ฒฉ์ ๋ฆฌ๋ทฐ๋ผ๋ ํ ๋ฒ ์ฐพ์๋ณผ๊น ์ถ์ด์ ์ธํฐ๋ท์ ๋ค์ ธ๋ณด์๋ค.
์์๋๋ก ์ด ๊ณต์ ๊ธฐ์ ๊ดํ ๊ธ์ ๊ฐ๋ญ์ ์ฝฉ ๋๋ฏ, ๋ด๊ฐ ์ํ๋ ์ฌ์ฉ๊ธฐ๋ฅผ ์ฐพ์ ์๋ ์์๋ค. ์ฌ์ฉํ๋ ์ฌ๋์ด ๋ง์ด ์๋ ๊ธฐ๊ธฐ์๋ค. ๋น๋ก ์ฌ์ฉ๊ธฐ๋ ๋ง์ด ๋ถ์กฑํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ ๋ถ์กฑํ ์ฌ์ฉ๊ธฐ ์ค์๋ ์ด ๊ณต์ ๊ธฐ์ ํ์ฉ๋๋ฅผ ๊ทน๋ํํ ์ ์๋ ๊ธ์ด ์์๋ค. ๊ทธ ๋ฐฉ๋ฒ์ OpenWrt๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ด์๋ค.
OpenWrt๋ ๋ฆฌ๋ ์ค ์ปค๋์ ์ด์ฉํ ์คํ์์ค ๊ณต์ ๊ธฐ ํ์จ์ด ํ๋ก์ ํธ์ ์ด๋ฆ์ด์๋๋ฐ, ๊ณต์ ๊ธฐ์ ๋ฆฌ๋ ์ค๋ฅผ ์ฌ๋ ค๋ ค์ ํ์ฉ๋๊ฐ ๋์ผ ์ ์์๋ค. ๋ฆฌ๋ ์ค ์ปค๋ ์๋์์ ๋ด๊ฐ ์ํ๋ ๋ฆฌ๋ ์ค ํจํค์ง๋ฅผ ์ค์นํ์ฌ ๊ณต์ ๊ธฐ์ ์คํผ์ปค๋ฅผ ์ค์นํ๊ฑฐ๋ FTP ์๋ฒ๋ฅผ ์ด ์ ์๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌด์๋ณด๋ค๋ ํฐ ์ฅ์ ์ ์ด๋ฏธ ๋ณด์ ์ ๋ฐ์ดํธ๊ฐ ๋๊ธด ์ ํ๋ ์ต์ ๋ณด์ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ์ ์๋ค๋ ์ฅ์ ์ด ์์๋ค.
OpenWrt ๋ก๊ณ์ด์ด ์ข๊ฒ๋, ์ด ๊ณต์ ๊ธฐ๋ OpenWRT๋ฅผ ์คํํ๊ธฐ์ ์ ํฉํ 8MB์ NOR ํ๋์ ๋ฉ๋ชจ๋ฆฌ์ RT3052 ์นฉ์ ์ ํ์ฌํ๊ณ ์๊ธฐ๋ ํ์ง๋ง, OpenWRT๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํ ๋ ธ๋ ฅ์ด ๋ง์ด ํ์ํ๋ค. ์น์ผ๋ก ํ์จ์ด๋ฅผ ์ฌ๋ฆด ์ ์๋ค๋ฉด ์ข๊ฒ ์ง๋ง, ์ด ๊ธฐ๊ธฐ๋ ์น์ ํตํ ํ์จ์ด๋ฅผ ์ ๋ฐ์ดํธํ ์๊ฐ ์์๋ค. ์ด ๋๋ฌธ์ ์๋์ ๊ฐ์ ๋ ธ๋ ฅ๋ค์ด ํ์ํ๋ค.
- ์น์์ผ๋ก ํ์จ์ด๋ฅผ ์ง์ ์ ๋ก๋ ํ๋ ๋ฐฉ์์ด ์๋๋ผ, UART ํต์ (TTL ๋ฐฉ์)์ ์ด์ฉํด์ผ ํ๋ค.
- ์์ UART ํต์ ์ ํ๊ธฐ ์ํ ์ ์ ํ์ ๋ง๋ค์ด์ผ ํ๋ฉฐ, ์ ์ ํ์ ๋ง๋ค๊ธฐ ์ํด์ ๊ธฐ๊ธฐ ๋ณธ์ฒด๋ฅผ ๋ฏ์ ๋ค์, ์ ์ ํ์ ์์๋ก ๋ง๋ค์ด์ ๋ฉ๋์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ค.
- UART ํต์ ์ ํ๊ธฐ ์ํด์๋ 3.3V์ ์ /์ถ๋ ฅ์ ์ง์ํ๋ UART ์ ์๊ธฐ๊ฐ ์์ด์ผ ํ๋ค. 1
๋ณดํต์ OpenWRT๋ฅผ ์ง์ํ๋ ๊ณต์ ๊ธฐ๋ ์น์์ผ๋ก ํ๋์ฑ์ด ๊ฐ๋ฅํ์ง๋ง, ์ด ๊ณต์ ๊ธฐ๋ ๊ทธ๋ฐ ์ ํ์ ํ ์ ์๋ค๋ ๊ฒ์ด ์ฐธ ์ฌ์ ๋ค. ํ์ง๋ง, OpenWRT๋ฅผ ์ด๋ ๊ฒ ์ ๋ ดํ๊ฒ ์ฌ์ฉํด๋ณผ ์ ์๋ ๊ฒ๋ ๋๋ฆ ์ฌ๋ฏธ์๊ฒ ๋ค ์ถ์ด์ ํ ๋ฒ ๋์ ํด๋ณด๊ธฐ๋ก ํ๋ค.
๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ
tftp ํต์ ์ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฆฌ ์ญํ ์ ํ ๊ณต์ ๊ธฐ๋ ํ์ํ์ง๋ง, ๋คํํ ๊ณต์ ๊ธฐ๋ ์ฝ๊ฒ ๋น๋ฆด ์ ์์๋ค. ํ์ง๋ง ์ด ์ธ์ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ด ๋ง์ด ์์๋ค.
- ๋ฉ๋์ ํ ์ธ๋์ ๋ฉ์ด ์๋ค.
- ๊ธฐํ์ ๋ฉ๋ํ ์ ์ ํ์ด ์๋ค.
- 3.3V์ ์ ์ถ๋ ฅ์ ์ง์ํ๋ UART ์ ์๊ธฐ๊ฐ ์๋ค.
- ๋ง์ผ์ ์ผ์ ๋๋นํ ์์ ํ์จ์ด ํ์ผ์ ๋ฐ์ ์๊ฐ ์์๋ค.
ํ์ง๋ง, ์ด๋ฒ์๋ ์ธํฐ๋ท์ผ๋ก ๋น์ธ๊ฒ ๋ฌผ๊ฑด์ ํ ๋ฒ ์ ๋ ดํ๊ฒ OpenWRT๋ฅผ ํ ๋ฒ ์ฌ์ฉํด๋ณด๊ฒ ๋ค๋ ์๊ฐ ํ๋๋ง์ผ๋ก ์ฃผ๋ณ ์ฌ๋๋ค์๊ฒ ์๋ฌธ์ ๊ตฌํด์ ๋ฉ๋์ ํ๊ธฐ ์ํ ๋๊ตฌ๋ค์ ๋น๋ ธ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ๋ฌธ์ ์ธ ์ ์ํ ํ์ ์๋ ํ ํค๋๋ผ๋ ์ ์ ๋จ์ ์ ์์ ์ํ ๋๊ตฌ๊ฐ ์์ง๋ง, ํํค๋๋ ์ด๊น? ํ๋ค๊ฐ ์์ ์ ์๋์ด๋ ธ์ ๋ถ์ฐฉํ๋ ๋ถํ์ ๋ถ์ด ์๋ ๊ฒ์ ์ฌํ์ฉํด๋ณด๋ฉด ์ด๋จ๊น?๋ผ๋ ์๊ฐ์ด ๋ค์๊ณ ๋ถํ ๊ธฐํ์ ์ดํด๋ณด๋ ๋ฉ๋๊ธฐ๋ฅผ ์ด์ฉํ ๋ถ๋ฆฌ๊ฐ ์ถฉ๋ถํ ๊ฐ๋ฅํด ๋ณด์๋ค. ์ด๋ ๊ฒ ๋ ๋ฒ์งธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค
์๋์ด๋ ธ์ ์ฌ์ฉํ๋ ๋ถํ ๊ทธ๋ฆฌ๊ณ ์ธ ๋ฒ์งธ ๋ฌธ์ ์ ์ธ UART ์ ์๊ธฐ๋, ์๋ฆฌ ์ต์คํ๋ ์ค์์ ์ ๋ ดํ๊ฒ ๊ตฌํ ์ ์๋ค๋ ๋ง์ด ์์๋๋ฐ ๋ฐฐ์ก๊ธฐ๊ฐ์ด ์ด๋ป๊ฒ ๋ ์ง ๋ชฐ๋ผ์, ์ ์๊ธฐ ๊ตฌ๋งค ๋์ ์ ๋ค๋ฅด๊ฒ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๊ธฐ๋ก ํ์๋ค.
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ๋ก๊ณ๊ทธ๋ฌ๋ค ๋ ์ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ GPIO ํ์ ์ด์ฉํ ๋ฐฉ๋ฒ์ด์๋ค. ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ GPIO ํฌํธ ์ค์๋ UART ํต์ ์ ์ํ ํ๋ ์์ง ์์๊น ์ถ์ด์ ์ธํฐ๋ท์ ์ฐพ์๋ณธ ๊ฒฐ๊ณผ ๋ด๊ฐ ์๊ฐํ๋ ๋๋ก UART ํ์ด ์์๊ณ , ๊ทธ ํ๋ค์ GPIO์ 8๋ฒ๊ณผ 10๋ฒ์ ๋ฐฐ๋น๋์ด 3.3V๋ฅผ ์ , ์ถ๋ ฅ์ผ๋ก ์ฌ์ฉํ ์ ์์๋ค. ์ด๋ก์ UART ์ ์๊ธฐ๋ฅผ ์ด ํ์๊ฐ ์์ด์ก๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง ๋ฌธ์ ์ ์ธ ์์ ํ์จ์ด๋ฅผ ๋ฐ์ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๋ฌธ์ ์ ์ ์ธํฐ๋ท์ ์ด์ฌํ ์ฐพ์๋ณธ ๊ฒฐ๊ณผ, ๋ง์ฝ์ UART ํต์ ์ ์ด์ฉํ์ฌ ์์ ์ ์ํ ์๋ง ์๋ค๋ฉด ์์ ์ด์ฉํ์ฌ ํ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐฑ์ ํ ์ ์๋ค๋ ๋ง์ ์ฐพ์๋ค. ๋ค๋ง, ๋ฐฑ์ ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋๋ฐ, ๋ณต์ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ๊ฐ ํ๋ค์๋ค. OpenWrt ์ฌ์ดํธ์๋ ์์ dd๋ฅผ ์ด์ฉํ์ฌ ๋ฐฑ์ ํ ์ ์๋ค๋ ๋ง์ ๋ณธ ๊ฒ ๊ฐ์๋ฐ... ๋ฆฌ๋ ์ค์ ๊ดํ ์ง์์ด ๋ถ์กฑํด์ ๊ทธ๋ฐ์ง ์ดํด๋ฅผ ํ๊ธฐ ํ๋ค์๋ค.
๊ฒฐ๊ตญ ๋ณต์์ ํ๋ ์์ ํ ๋ฐฉ๋ฒ์ ๋ชป ์ฐพ๊ณ , ๋ฐฑ์ ๋ง์ด๋ผ๋ ์ํด๋์๋ผ๋ ์๊ฐ์ผ๋ก ๊ฐ๋ฅํ๋ฉด ํ์จ์ด๋ฅผ ๋ฐฑ์ ๋ง ํ๊ณ , ๋ณต๊ตฌ๋ ๋์ค์ ๋ ์ฐพ์๋ณด๊ณ ์๊ฐํ๋ ๊ฒ์ผ๋ก ์ ํ๊ธฐ๋ก ํ๋ค.
์ต์ข ์ ์ผ๋ก ์ด ์์ ์ ํ๊ธฐ ์ํด์ ํ์ํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์๋ค.
- WNVR-001 ๊ณต์ ๊ธฐ
- OpenWrt ์ด๋ฏธ์ง ํ์ผ์ ์ ์กํ๊ธฐ ์ํ PC์ ๋ค๋ฆฌ ์ญํ ์ ํ ๊ณต์ ๊ธฐ
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด
- ์ ํผ์ ์ฌ๋ฌ ๊ฐ
- ์์ ์ ํธ๋ฆฌ๋ฅผ ์ํ ๋ธ๋ ๋๋ณด๋
- ๋ฉ๋์ ์ํ ์ธ๋๊ธฐ์ ๋ฉ
- ๊ณต์ ๊ธฐ ๋๊ป์ ์ด ๋๋ผ์ด๋ฒ
๊ธฐ๋ณธ์ ์ธ ์ค๋น๋ ๋๋ฌ๊ณ , ๋ค์์ ๋ฐฐ์ก์ ๊ธฐ๋ค๋ฆฌ๊ณ , ๊ณต์ ๊ธฐ์ ๋๊ป์ ๋ฐ์ ๋ฉ๋๊ณผ UART ํต์ ์ ํ ์ฐจ๋ก๊ฐ ๋์๋ค.
UART ํต์ ์ค๋น
๊ณต์ ๊ธฐ ๋ฉ๋
์ฐ์ ๊ณต์ ๊ธฐ ๋คํ์ ๋์ฌ 2๊ฐ๋ฅผ ํ์ด์ ๊ณต์ ๊ธฐ์ ๋๊ป์ ๋ถ๋ฆฌํ๋ค. ๋๊ป์ด ์๊ฐ๋ณด๋ค ๊ฝ ๋ผ์ฌ์ ธ ์๊ณ , ๊ณต์ ๊ธฐ์ ์๋ซ๋ฉด ๋ชจ์๋ฆฌ๊ฐ ๋น์ค๋ฌํ๊ฒ ๋ง๋ค์ด์ ธ ์์ด์ ์๊ฐ๋ณด๋ค ์ฌ๋ ๊ฒ ํ๋ค์๋ค.
๋๊ป์ ์ฐ ๋ค ํด์ผ ํ ์ผ์ UART ํต์ ์ ์ํ ํ์ ๋ฌ์์ฃผ๋ ๊ฒ์ด์๋ค. UART ํต์ ํ์ ๊ณต์ ๊ธฐ ์ ๋ฉด์ ๊ธฐ์ค์ผ๋ก ์ค๋ฅธ์ชฝ ์ค๊ฐ์ ๋ค๋ชจ๋๊ฒ ๋์ด ์๋ 4๊ฐ์ ๊ตฌ๋ฉ ์ค ํ ๋๋ฆฌ๊ฐ ์ณ์ง ์ฒซ ๋ฒ์งธ ๊ฐ์ฅ ์ผ์ชฝ ๊ตฌ๋ฉ์ ์ ์ธํ๊ณ ๋๋จธ์ง ๊ตฌ๋ฉ์ ํ์ ๋ฌ์์ฃผ์ด์ผ ํ๋ค. ๋ฉํฐ๋ฏธํฐ๋ก ์ ์์ ์ธก์ ํ์์ ๋, ์ธํฐ๋ท์ ์ ํ ์ฌ์ค๊ณผ ๋์ผํ๊ฒ ๊ฐ์ฅ ์ผ์ชฝ์ด Vcc, ๋ ๋ฒ์งธ๊ฐ Tx, ์ธ ๋ฒ์งธ๊ฐ Rx, ๋ค ๋ฒ์งธ๊ฐ GND ์๋ค. 2
2, 3 ๋ฒ์งธ ํ์ ์ฑ๊ณต์ ํ์ผ๋... 4๋ฒ์งธ ํ์ ์ด์งธ์์ธ์ง ๋ซ๋ฆฌ์ง๋ฅผ ์์๋ค. ์ผ์ชฝ์์ 2, 3๋ฒ์งธ ๊ตฌ๋ฉ์ ์ธ๋๋ฅผ ์กฐ๊ธ๋ง ๊ฐ์ ธ๋ค ๋๋ ๋งํ ์๋ ๋ฉ์ด ๋ น์์ ๊ตฌ๋ฉ์ด ๋ซ๋ ธ๋๋ฐ ์ด์ํ๊ฒ UART์์ ์ ์ง๋ก ์ฌ์ฉํ๋ 4๋ฒ์งธ ๊ตฌ๋ฉ์ ์ธ๋๋ก ์๋ฌด๋ฆฌ ํด๋ ๋ฉ์ด ๋ น์ง ์์๋ค. ์ ์ง๋ฅผ ์ ํ๊ณ ์ฌ์ฉํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?๋ผ๋ ์๊ฐ์ ๋ผ์ฆ๋ฒ ๋ฆฌ ํคํธ ์์ ์ ๋จผ์ ํ๊ณ ์ฐ๊ฒฐ์ ํ์๋๋ ์๋ฆฌ์ผ ํต์ ํ๋ก๊ทธ๋จ์์๋ ๊ธ์๊ฐ ๋ชจ๋ ๊นจ์ ธ์ ์ถ๋ ฅ์ด ๋๋ ์ผ์ด ์ผ์ด๋ฌ๋ค.
๊ฒฐ๊ตญ GND๋ ๋ฉ๋ ์์ ์ ํด์ผ๋ง ํ์ผ๋ฉฐ, ์ข ๋ ํ๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํด ๋์ ์ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค. ๊ธฐํ ๋ท๋ฉด์์ ์ ์ง ๋ถ๋ถ์ ํผ๋ณต์ด ๋ง์ด ๋ฒ๊ฒจ์ง ๋์ ์ ๊ธธ๊ฒ ๋์ ๋ค์ ๋ฉ์ผ๋ก ๊ตณํ๊ธฐ๋ก ํ์๋ค.
์ ํผ ์ ์์ ๋์ ์๋ ๋นจ๊ฐ์ ์ ์ด ์ ์ง ์ ์ด๋ค. ์ด์ฐํ๋ค๊ฐ ๋ญ ์ด์จ๋ ๋๊ธด ํ๋ ๊ฒ ๊ฐ์ผ๋ ์ผ๋จ์ ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด ๋ถ๋ถ์ผ๋ก ๋์ด๊ฐ๊ธฐ๋ก ํ๋ค.
๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด ์ค์
๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด ๋ชจ๋ธ 2 ์ดํ์์๋ Raspberry Pi Configuration์ Interfaces ํญ์์ Serial ํฌํธ๋ฅผ ์ผ๊ณ Serial Console์ ๋์ผ๋ก์จ GPIO์ UART๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ํ์ง๋ง ๋ชจ๋ธ 3 ์ด์์์๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก Serial ํฌํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋์ด ์์ผ๋ฏ๋ก ๋ณ๋์ ์์ ์ด ํ์ํ์ผ๋ฉฐ, ๋ด๊ฐ ์ฌ์ฉํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์๋ค. 3 4
1. ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด์ ํฐ๋ฏธ๋ ์ฐฝ์์ sudo nano /boot/config.txt ๋ฅผ ์ ๋ ฅํ์ฌ config.txt ํ์ผ์ ์ฐ๋ค.
2. config.txt์ ๋งจ ์๋ซ์ค์ ์๋์ ๋ฌธ๊ตฌ๋ฅผ ์ถ๊ฐํ๋ค. ์ฒซ ๋ฒ์งธ ์ค์ UART๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ฉ๋์ด๊ณ , ๋ ๋ฒ์งธ ์ค์ GPIO์ UART ํ์ด ๋ธ๋ฃจํฌ์ค์ ๋์ผํ๊ฒ ์ฌ์ฉ๋์ด์ ๋ธ๋ฃจํฌ์ค๋ฅผ ๋๊ธฐ ์ํ ์ต์ ์ด๋ค. 5
enable_uart=1 dtoverlay=pi3-disable-bt
3. ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด๋ฅผ ์ฌ๋ถํ ํ๋ค.
4. ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด๊ฐ ์ฌ๋ถํ ๋๋ฉด, ๋ค์ ํฐ๋ฏธ๋์ ์ด์ด์ sudo systemctl disable hciuart๋ฅผ ์ ๋ ฅํ์ฌ ์นฉ ๊ฐ์ ๋ธ๋ฃจํฌ์ค ์ฌ์ฉ์ ์ค์งํ๋ค.
5. Raspberry Pi Configuration์ Interfaces ํญ์์ Serial ํฌํธ๋ฅผ ์ผ๊ณ Serial Console์ ๋๋ค.
Raspberry Pi Configuration ํ๋ฉด 6. ์๋ฆฌ์ผ ํต์ ํ๋ก๊ทธ๋จ์ ์ผ ๋ค์ /dev/serial0/์ผ๋ก ์๋ฆฌ์ผ ์ ๋ณด๋ฅผ ๋ฐ๋๋ค. ๋์ ๊ฒฝ์ฐ์๋ putty๋ก ์์ ์ ํ์๋ค.
๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด์ ๊ณต์ ๊ธฐ ๊ฐ์ ํต์ ์ฐ๊ฒฐ ๋ฐ ๋ฐฑ์
๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด GPIO์ 6 ๋ฒํ (๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด GND)์ ๊ณต์ ๊ธฐ์ 4๋ฒ์งธ(๊ณต์ ๊ธฐ GND)์ ์ฐ๊ฒฐํ๋ค.
๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด GPIO์ 8 ๋ฒํ (๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด Tx)์ ๊ณต์ ๊ธฐ์ ์ผ์ชฝ์์ 3๋ฒ์งธ (๊ณต์ ๊ธฐ Rx),
๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด GPIO์ 10๋ฒ ํ (๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด Rx)์ ๊ณต์ ๊ธฐ์ ์ผ์ชฝ์์ 2๋ฒ์งธ (๊ณต์ ๊ธฐ Tx),
์ฐ๊ฒฐ์ ์๋ฃํ๊ณ ๊ณต์ ๊ธฐ๋ฅผ ์ผ๋ฉด ํฐ๋ฏธ๋ ํ๋ก๊ทธ๋จ์ U-Boot ๋ฐ ์์ด ์๋๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ID/PW ๋ ๋ค admin์ผ๋ก ์ ๋ ฅ ํ ๋ค์, ์์ ์ ์ํ์ฌ cat /dev/mtd0๊ณผ USB๋ฅผ ์ด์ฉํ์ฌ ์์คํ ์ ์ฒด๋ฅผ ๋ฐฑ์ ํ์๋ค. USB๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ https://jeongyd.tistory.com/47๋ฅผ ์ฐธ์กฐํ์ฌ ์์ ํ์๋ค.
์ฐธ๊ณ ๋ก cat /proc/mtd๋ก ๋ณธ ํํฐ์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์๋ค.
dev: size erasesize name mtd0: 00800000 00010000 "ALL" mtd1: 00030000 00010000 "Bootloader" mtd2: 00010000 00010000 "Config" mtd3: 00010000 00010000 "Factory" mtd4: 007b0000 00010000 "Kernel"
ํํฐ์ ๊ตฌ์กฐ
์ด์ ๋จ์ ๊ฒ์ ๊ณต์ ๊ธฐ์ ๋ด๋ถ ๋คํธ์ํฌ ์ฃผ์๋ฅผ 192.168.1.* ๋์ญ์ผ๋ก ๋ฐ๊พธ๊ณ TFTP ์ค์ ์ ํ๋ ์ผ์ด ๋จ์๋ค.
์ฐ๊ฒฐ์ด ์ ๋ ์ฌ์ง. ๊ณต์ ๊ธฐ ๋ถํ ๋ชจ์ต์ด ์กฐ๊ธ ์๋ ธ๋ค ๊ณต์ ๊ธฐ ํ์จ์ด ๋ค์ด๋ก๋ ๋ฐ TFTP ์๋ฒ ์ด๊ธฐ
๊ณต์ ๊ธฐ ๋ด๋ถ ๋คํธ์ํฌ ์ฃผ์ ๋ณ๊ฒฝ
OpenWrt ํ์จ์ด๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํด์๋ ๋ด๋ถ ๋คํธ์ํฌ IP ์ฃผ์๊ฐ 192.168.1.1๋ก ๋ง์ถ์ด์ผ ํ๋ค๋ ๋ง์ด ์์๋ค. ๋ด๋ถ ๋คํธ์ํฌ IP ์ฃผ์๋ฅผ ๋ณ๊ฒฝํด ์ค๋ค.
์์ดํผํ์ ๊ณต์ ๊ธฐ์์๋ ๊ณต์ ๊ธฐ ๊ด๋ฆฌ์ ํ์ด์ง์ ๊ณ ๊ธ ์ค์ ์ ๋คํธ์ํฌ ํญ๋ชฉ ์๋์ LAN ์ค์ ํ์ด์ง์์ ๋ณ๊ฒฝํ ์ ์์๋ค. 192.168.0.1์์ 192.168.1.1๋ก ๋ฐ๊พธ์ด ์ค๋ค.
๊ทธ๋ฆฌ๊ณ WNVR-001 ๊ณต์ ๊ธฐ์ WAN ํฌํธ๋ฅผ ๋ธ๋ฆฌ์ง ๊ณต์ ๊ธฐ์ ํฌํธ์ ๊ฝ์์ค๋ค.
LAN ์ค์ ํ์ด์ง TFTP ์๋ฒ ์ด๊ธฐ (PumpKIN ์ฌ์ฉ)๊ณผ ๊ณต์ ๊ธฐ ํ์จ์ด ๋ค์ด๋ก๋
1. ๊ณต์ ๊ธฐ ํ์จ์ด ์ ๋ก๋๋ฅผ ์ํ TFTP ์๋ฒ๋ฅผ ์ด๊ธฐ ์ํด์ PumpKIN์ด๋ผ๋ TFTP ์๋ฒ ํ๋ก๊ทธ๋จ์ ๋ฐ๋๋ค. PumpKIN ํ์ผ์ kin.klever.net/pumpkin ํ์ด์ง์ ์ฐ์ธก Download ํ์ด์ง์์ ๋ฐ์ ์ ์์๋ค.
2. WNVR - 001๊ณผ ํธํ๋๋ ๊ณต์ ๊ธฐ์ OpenWrt ํ์จ์ด๋ฅผ ๋ฐ๋๋ค. ํธํ ๋ชจ๋ธ๋ช ์ Dlink์ฌ์ DIR-620์ a1๋ฒ์ ๊ณต์ ๊ธฐ์ด๋ฉฐ ๋์ผํ ์ด ๊ณต์ ๊ธฐ์ CPU๋ฅผ ์ฌ์ฉํ๋ค. ํ์จ์ด๋ USB๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค๋ ๋ฒ์ ์ธ 18.06.1 ๋ฒ์ ์ ๋ฐ๊ธฐ๋ก ํ์๋ค. 6
18.06.1 ํ์จ์ด๋ OpenWrt ์ฌ์ดํธ์์ ๋ฐ์ ์ ์์์ผ๋ฉฐ ์ฌ์ดํธ ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์๋ค.
https://downloads.openwrt.org/releases/18.06.1/targets/ramips/rt305x/
์ ํ์ด์ง์์ dir-620-a1-squashfs-sysupgrade.bin ํ์ผ์ ๋ฐ์์ผ๋ฉฐ, ํ์ผ๋ช ์ openwrt-18.06.1-ramips-rt305x-dir-620-a1-squashfs-sysupgrade.bin ์ด์๋ค.
3. ๋ฐ์ bin ํ์ผ์ PumpKIN์ด ์ค์น๋ ํด๋์ ๋ฃ๊ณ , ๋ฐ์ ํ์ผ๋ช ์ ๊ฐ๋จํ๊ฒ ๋ฐ๊ฟ์ค๋ค. ์๋ฅผ ๋ค๋ฉด a.bin ์ด๋ผ๋๊ฐ... ํ์ผ ๋ช ์ ๋ฐ๊พผ ๋ค์ PumpKIN์ ์ผ ๋ค.
PumpKIN์ ์ผ ๋ชจ์ต ์ด์ OpenWrt ํ์จ์ด๋ฅผ ์ค์นํ ์ผ๋ง ๋จ์๋ค.
OpenWrt ์ค์น
1. ์ฐ์ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ ์๋ฆฌ์ผ ํต์ ์ฐฝ์ ์ฐ ์ํ์์ WNVR-001 ๊ณต์ ๊ธฐ๋ฅผ ๋ ๋ค์ ๋ค์ ์ผ ๋ค. ๊ทธ๋ฌ๋ฉด WNVR-001์ ๋ถํธ๋ก๋ U-Boot์ด ์คํ๋๋ ๊ฒ์ ๋ณผ ์ ์๋๋ฐ, ์ด๋ ํค๋ณด๋์ ์ซ์ 2๋ฅผ ์ฌ๋นจ๋ฆฌ ๋๋ ค์ 2๋ฒ ๋ฉ๋ด 'Load system code then write to Flash via TFTP'๋ฅผ ์คํํ๋ค.
U-Boot 1.1.3 (Aug 22 2013 - 18:34:26) ... Please choose the operation: 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code then write to Flash via TFTP. a: Load JCG firmware then write to Flash via TFTP. You choosed 2
U-Boot์์ 2๋ฒ์ ๊ณจ๋์ ๊ฒฝ์ฐ ๋ํ๋๋ ํ๋ฉด
2. Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) ์ด ๋์ค๋ฉด Y๋ฅผ ์ ๋ ฅํ๋ค. ๊ทธ ๋ค์ ๋ฐ๋ผ ๋์ค๋ Input device IP (192.168.1.123)๋ 192.168.1.123 ๊ทธ๋๋ก, Input server IP (192.168.1.100)๋ TFTP๊ฐ ์ด๋ฆฐ ์๋ฒ ์ปดํจํฐ์ IP๋ฅผ ์ ๋ ฅํด์ค๋ค. ๊ทธ ๋ค์ OpenWrt ํ์จ์ด ํ์ผ๋ช ์ ์ ์ด์ค๋ค.
2: System Load Linux Kernel then write to Flash via TFTP. Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Please Input new ones /or Ctrl-C to discard Input device IP (192.168.1.123) ==:192.168.1.123 Input server IP (192.168.1.100) ==:192.168.1.2 Input Linux Kernel filename () ==:a.bin netboot_common, argc= 3
ํ์ผ๋ช ๋ค์ด๋ก๋ ์ค๋น๊ฐ ๋ ๊ฒฝ์ฐ
3. PC์ PumpKIN์ ๋ณด๋ฉด ํ์จ์ด ํ์ผ ์ ๋ก๋ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๋ ๋ง์ด ์๋๋ฐ, [Grant Access]๋ฅผ ๋๋ ค์ ๋ค์ด๋ก๋๋ฅผ ์น์ธํ๋ค.
PumpKIN ์์ ์ฌ์ง 4. ๊ณต์ ๊ธฐ์ ๋ค์ด๋ก๋๊ฐ ์์๋๋ฉฐ, ํ์จ์ด ์ฝ๊ธฐ/์ฐ๊ธฐ ์์ ์ด ์์๋๋ค.
Loading: *Got ARP REPLY, set server/gtwy eth addr Got it ... Bytes transferred = 3670191 (3800af hex) NetBootFileXferSize= 003800af Erase linux kernel block !! From 0xBF050000 To 0xBF3DFFFF b_end =BFFFFFFF Erase Flash from 0xbf050000 to 0xbf3dffff in Bank # 1 erase sector = 5 sect = 5,s_last = 61,erase poll = 515276
5. ์์ ์ด ๋ชจ๋ ๋๋๋ฉด ์๋ฌด ํค๋ฅผ ๋๋ฅธ ํ ์ํฐ๋ฅผ ๋๋ ค๋ณธ๋ค. OpenWrt ๋ก๊ณ ๊ฐ ๋์ค๋ฉด ์ ๋ฐ์ดํธ์ ์ฑ๊ณตํ ๊ฒ์ด๋ค.
[ 29.802456] br-lan: port 1(eth0.1) entered blocking state [ 29.813415] br-lan: port 1(eth0.1) entered forwarding state [ 29.825006] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 30.549705] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 65.716252] done. [ 65.720266] jffs2: notice: (1061) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 67.059022] overlayfs: upper fs does not support tmpfile. [ 127.830493] random: crng init done ? BusyBox v1.28.3 () built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt 18.06.1, r7258-5eb055306f ----------------------------------------------------- === WARNING! ===================================== There is no root password defined on this device! Use the "passwd" command to set up a new password in order to prevent unauthorized SSH logins. --------------------------------------------------
OpenWrt ์ค์น์ ์ฑ๊ณตํ ๋ชจ์ต
6. UART ํต์ ์ฐฝ์ passwd๋ฅผ ์ ๋ ฅํ์ฌ root ์ํธ๋ฅผ ๋ฐ๊ฟ์ค๋ค.
7. WNVR-001 ๊ณต์ ๊ธฐ์ 1๋ฒ ํฌํธ์ PC๋ฅผ ์ ์ํ๊ณ , 192.168.1.1์ ์ ์ํ์ฌ OpenWrt ์น ๊ด๋ฆฌ์ ํ๋ฉด์ธ LuCI๊ฐ ์ ๋์ํ๋์ง ํ์ธํ๋ค. ์ฌ์ฉ์ ์ด๋ฆ์ root ์ํธ๋ ๋ฐฉ๊ธ passwd๋ก ์ค์ ํ ์ํธ๋ฅผ ์ ๋ ฅํ์ฌ ์ ์ํ๋ฉด ๋๋ค.
LuCI์ ์ ์ํ ํ๋ฉด ์์ดํ์ด ์ผ๊ธฐ
OpenWrt๋ ๋ณด์ ๋๋ฌธ์ธ์ง ์ค์น ํ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ดํ์ด๊ฐ ๊บผ์ ธ์๋ค. ์ด๋ฅผ ํ์ฑํํ๊ธฐ ์ํด์ LuCI์์ ์ผ์ฃผ์ด์ผ ํ๋ค. ์์ดํ์ด๋ฅผ ์ผ๋ ๋ฐฉ๋ฒ์ LuCI ์๋จ Network ๋ฉ๋ด์ ์๋ Wireless ํญ๋ชฉ์์ ์ค์ ํ ์ ์์ผ๋ฉฐ, radio0์ ์ค๋ฅธ์ชฝ์ ์๋ Add ๋ฒํผ์ ๋๋ ค์ ์์ดํ์ด AP๋ฅผ ์ถ๊ฐํ ์ ์์๋ค. 7
Wireless ํญ๋ชฉ์ ๋ชจ์ต ์ฌ์ฉ ํ๊ธฐ
์ค์นํ ์ง 1์ฃผ์ผ์ด ์ง๋ฌ๋๋ฐ, ์๊ฐ๋ณด๋ค OpenWrt๋ก ํ๋ ๊ฒ ๋ณ๋ก ์๋ค. ๋ณดํต์ NAS์ฒ๋ผ ํ ๋ ํธ ๋ฐ์ค๋, ๊ฐ์ธ ์น์๋ฒ๋ก ์ฌ์ฉ์ ํ๋๋ฐ ๋ค ๋ด๊ฐ ์ฌ์ฉํ์ง๋ฅผ ์์์ ๊ทธ๋ฐ์ง ํ๊ฒฝ์ด ๋ง ์ข์์ก๋ค๊ณ ๋งํ ์๋ ์๋ ๊ฒ ๊ฐ๋ค. ๊ณต์ ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๊ธฐ๋ ์ปดํจํฐ 1๋, ์ค๋งํธํฐ 1 ~ 2๋ ์ ๋๋ฐ์ ์์ด์ ๊ทธ๋ฐ์ง ๋ค๋ฅธ ๊ณต์ ๊ธฐ๋ค๊ณผ ๋น๊ต๋ฅผ ํ์์ ๋, ์์ ์ฑ๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค.
ํ์ง๋ง ๋ณด์ ๋ฌธ์ ๊ฐ ๊น๋ํ๊ฒ ํด๊ฒฐ๋๋ค๋ ์ , ๊ด๋ฆฌ ์ฌ์ดํธ์ SSL์ ์ ์ฉํ๋ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ํ๋ก๊ทธ๋จ์ด๋ ์ค์ ๊ณผ ๊ฐ์ ์์๋ค์ ๋ง์๋๋ก ์กฐ์ ํ ์ ์๋ค๋ ์ ์ ์ ๋ง ์ข์ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋จ์ํ ์ ์กฐ์ฌ์ ํ์จ์ด๊ฐ ์๋ OpenWrt ์ปค๋ฎค๋ํฐ๊ฐ ๋ง๋ค์ด๊ฐ๋ ํ์จ์ด๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํด๋ดค๋ค๋ ์ ์ ์ ๋ง ๋ง์์ ๋ ๋ค.
๋์ค์ ํน์ฌ๋ผ๋ ์ฌ์ฉํ๊ฒ ๋ ์ผ์ด ์๊ธฐ๋ฉด ์ข ๋ ์ฐ๊ตฌํด๋ด์ผ๊ฒ ๋ค.
[์ถ์ฒ]
openwrt ๋ก๊ณ - https://openwrt.org/docs/guide-graphic-designer/openwrt-logo
raspberrypi ๋ก๊ณ - https://www.raspberrypi.org/trademark-rules/
Raspberry Pi Configuration ์ฌ์ง - https://sdk.sphero.com/docs/getting_started/raspberry_pi/raspberry_pi_setup/
[๋ณธ๋ฌธ SVG ํ์ผ]
RPi-Logo-Landscape-SCREEN.svg0.02MB- 3.3V๊ฐ ์๋ 5.0V๋ก UART ์ ์๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๊ณต์ ๊ธฐ์ ํ๋ก๋ฅผ ํ์๋ฒ๋ฆด ์ ์๋ค๋ ๋ฌด์์ด ๋ง๋ค์ด ์ธํฐ๋ท์์ ๋ณผ ์ ์์๋ค. [๋ณธ๋ฌธ์ผ๋ก]
- ์์ ์ ์ด๋ฏธ ๋จผ์ ์์ ์ ํ์ ๋ถ์ ์์ ์ฌ์ง์ ๋ณด๊ณ ํ์์ผ๋ฉฐ, ๋ง์ ๋์์ด ๋์๋ค. ๋ด๊ฐ ์ฐธ๊ณ ํ ๋ธ๋ก๊ทธ์ ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์๋ค. https://blog.naver.com/zetengine7/221545794257, https://blog.naver.com/jwwsong/221807657161 [๋ณธ๋ฌธ์ผ๋ก]
- ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด ์ค์ ์์ ์ ์ฐธ๊ณ ํ ์ฃผ์ 1: http://lhdangerous.godohosting.com/wiki/index.php/๋ผ์ฆ๋ฒ ๋ฆฌํ์ด_์๋ฆฌ์ผ_ํต์ _์ค์ _(setting_up_Raspberry_pi_serial_connection_via_GPIO) [๋ณธ๋ฌธ์ผ๋ก]
- ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด ์ค์ ์์ ์ ์ฐธ๊ณ ํ ์ฃผ์ 2:https://blog.naver.com/windi97/220913135183 [๋ณธ๋ฌธ์ผ๋ก]
- config.txt ๋ด์์์ ์์น๋ ์๊ด์์ผ๋ ๋์ค์ ํธ๋ฆฌํ ์์ ์ ์ํด์ ๋งจ ์๋๋ก ํ์๋ค. [๋ณธ๋ฌธ์ผ๋ก]
- https://blog.naver.com/zetengine7/221547323709, http://blog.naver.com/zetengine7/221634125807 ๊ธ๊ณผ ๋๊ธ์ ๋ณด๊ณ ์ฐธ์กฐํ์๋ค. [๋ณธ๋ฌธ์ผ๋ก]
- ์ฐธ์กฐ: https://openwrt.org/reasons_to_use_openwrt#security [๋ณธ๋ฌธ์ผ๋ก]