๋ฉํฐ์บ ํผ์ค Hexacore ํ : ๊ฐ๋์ฑ ๊น์ฐ์ฃผ ๋ฐฑ๋ํ ์ด์ฌ ์ ๊ตญํ ์ต์ฌ์ง
์ปค๋ฅํฐ๋์นด ํต์ ๊ตฌ์ถ ๋ฐ ์ฐจ๋ ํ๊ฒฝ๋ณ์ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง, ์ ์ด ์์คํ ๊ฐ๋ฐ
- ์ ์ดํ PAD ์ ID ,PAD ์ ์ฐ๊ฒฐ๋ ECU ์ ID, ์ ์ด์ (0/1) ์ ์ ๋ ฅ๋ฐ๋๋ค.
- ์ ์ด์๊ฐ 0/1 ์ผ ๋๋ง SEND๋ฒํผ์ ๋๋ฅด๋ฉด HTTP ํต์ ์ ํตํด Web Server ์ ์ ์ํ๊ณ ์ ๋ ฅ๋ฐ์ Data ๋ฅผ ์ ์กํ๋ค.
- 0/1 ์ด ์๋ ์ ์ด์๋ฅผ ์ ๋ ฅํ๊ณ SEND ๋ฒํผ์ ๋๋ฅด๋ฉด โ์ ํจํ Controller๋ฅผ ์ ๋ ฅํด ์ฃผ์ธ์โ โToast ๋ฉ์์ง๊ฐ ๋ฌ๋ค.
- Pad ๋ก ๋ถํฐ Data ๋ฐ๊ธฐ a. PAD์์ HTTPํต์ ์ ํตํด ๊ฐ ECU ๋ค์ Data๋ฅผ Controller ์์ ๋ฐ๋๋ค. b. ๋ฐ์ ๋๋ง๋ค Firebase Cloud Messaging ๊ธฐ๋ฅ์ ํตํด App ์ผ๋ก ๋ฐ์ Data ๋ฅผ ์ ์กํ๋ค. c. ํ๋ฉด์์ โReceive from Padโ ๋ฒํผ์ ๋๋ฅด๋ฉด Ajax ๋ฅผ ์ด์ฉํด ๋ฐ์ ECU๋ค์ Data ๋ฅผ 1์ด ๊ฐ๊ฒฉ์ผ๋ก ์์ฒญํ๋ค. d. success ์ PAD์ ID, ECU์ ID, ECU ID ์ ๋ง๋ Data ๋ฅผ ํ๋ฉด์ display ํ๋ค.
- Browser/App ๋ฅผ ์ด์ฉํ ECU ์ ์ด a. ์ ๋ ฅ๋ฐ์ PAD ์ ID, ECU ์ ID, ์ ์ด์ (0/1) ์ Msg ๊ฐ์ฒด์ ๋ด์ TCP/IP ์๋ฒ๋ก ์ ์กํ๋ค. b. ์ ๋ ฅ๋ฐ์ PAD ์ ID, ECU ์ ID, ์ ์ด์ (0/1) ์ Firebase Cloud Messaging ๊ธฐ๋ฅ์ ํตํด PAD ๋ก ์ ์กํ๋ค.
- AWS ์ Spring ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํ์ฌ http://13.209.113.212:8080/AdminWeb/ ๋ก ์น์ ์ ์ํ ์ ์๋ค.
- Web Server์ ํต์ Web Server์์ Send ๋ฒํผ์ ๋๋ฅด๋ฉด Receiver Thread ๋ด์์ TCP/IP Socket ํต์ ์ผ๋ก Web Server ์ ์ฐ๊ฒฐ๋๋ค. Web Server์์ ๋ฐ์ PAD ID,ECU ID์ ์ ์ด์๊ฐ์ msg ๊ฐ์ฒด์ ๋ด์ TabServer์ ์ ์กํ๋ ์ ๋ฌ์์ ์ญํ ์ ์ํํ๋ค. ์ฌ์ ์ HashMap๊ฐ์ฒด์ ๋ด๊ธด TabServer์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์ ์ดํ๊ณ ์ํ๋ TabServer์ IP๊ฐ HashMap ๊ฐ์ฒด์ ์กด์ฌํ์ง ์์ผ๋ฉด msg ๊ฐ์ฒด๋ฅผ ์ ์กํ์ง ์๋๋ค.
- TabServer์์ ํต์ ์๋น์ค๋ฅผ ์ ๊ณตํด์ผ ํ ์ฌ๋ฌ๋์ TabServer๋ฅผ ๊ด๋ฆฌํ๋ค. TabServer๋ Local Client๋ค์๊ฒ๋ Server์ญํ ์ ํ์ง๋ง TCP/IP Server์๊ฒ๋ Client ์ญํ ์ด ๋๋ค. ์ค์ ๊ตฌํ ์์๋ TabServer์ ๊ฐ์๋ ์์ญ์์ ์๋ฐฑ๊ฐ ์ ๋ ๋์ด๋ ๊ฒ์ด๋ฉฐ ํด๋นํ๋ TabServer์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ TCP/IP Server์์ ๊ด๋ฆฌํ๋ค. HashMap<TabServerId,ObjectOutputStream>๊ฐ์ฒด์ ๋ด์์ ๊ด๋ฆฌ๋ฅผ ์ํํ๋ค.
- PAD ๋ ConnectThread๋ฅผ ํตํด HTTPํต์ ์ผ๋ก WebServer์ ์ ์ํ๋ค.
- PAD ๋ RecieverThread์์ ๊ฐ ECU ๋ค์ data ๋ฅผ ๋ฐ์ ๋๋ง๋ค HTTPํต์ ์ ํตํด WebServer๋ก ์ ์กํ๋ค.
- START๋ฅผ ๋๋ฅด๋ฉด msg๊ฐ์ฒด์ txt์์์ 1์ ๋ด์ IoT๋ก ๋ณด๋ธ๋ค.
- STOP์ ๋๋ฅด๋ฉด msg๊ฐ์ฒด์ txt์์์ 0์ ๋ด์ IoT๋ก ๋ณด๋ธ๋ค.
- Pad Server์ CAN Networkํต์ ์ ๊ตฌํ
- Device์์ ์ธก์ ๋ RPM, ์ต๋,์จ๋ ๋ฐ์ดํฐ๊ฐ CAN๋คํธ์ํฌ๋ฅผ ๋ฐ์ดํฐ๋ฅผ ์ ์ก
- CAN๋คํธ์ํฌ์์ ๊ณต์ ๋ ๋ฐ์ดํฐ๋ฅผ Server LattePanda์์ TCP/IP ํต์ ์ ํตํด์ Pad์๊ฒ ๊ฐ์ ์ ์ก
- Pad Server์์ ์ค์๊ฐ์ผ๋ก ์ฌ๋ผ์ค๋ ๊ฐ์ ํ์ธ
- Pad Server์์๋ ์ ์ฒด Device๋ฅผ Start/Stop ๊ฐ๋ฅ
- Pad Server์์๋ ํน์ Device๋ฅผ Start/Stop ๊ฐ๋ฅ
- ๊ฐ๋์ฑ
- ๊น์ฐ์ฃผ
- ๋ฐฑ๋ํ
- ์ด์ฌ
- Mail : seulee95@naver.com
- Github : https://github.com/QuartzzBlue
- ์ ๊ตญํ
- ์ต์ฌ์ง
- Mail : who3637@naver.com
- Github : https://github.com/yeojini
<์ฃผ์>
- \Hexacore\tabserver\app\src\main\AndroidManifest.xml ํ์ผ์
android:usesCleartextTraffic="true"
์ถ๊ฐํด์ผ ์๋๋ก์ด๋ 9.0 ์ด์์์ ์๋ํฉ๋๋ค.
- Firebase ๋ฅผ ์ํ ์๋ฒํค๊ฐ/๊ธฐ๊ธฐํ ํฐ๊ฐ ์ค์ ํ์
- App,Pad ์์ Httpํต์ ์ ์ํด WebServer ์ IP ์ค์ ํ์
- Pad ์์ TCP/IP ํต์ ์ ์ํด TCP/IP Server ์ IP ์ค์ ํ์
- git์ ํ์ฉํ ํ๋ก์ ํธ ๊ด๋ฆฌย (git ์ย
push
ย ํ ๋ ์ฃผ์ํ ์ )โ
โ๏ธย git bash ์ ์ํด์ย git pull
์ ๋จผ์ ํ๊ธฐ
โ๏ธย master
ย ๊ถํ์ผ๋ก ์ฌ๋ฆฌ์ง ์๊ธฐ โย branch
ย ์์ฑํด์ย push
ย ํ๊ธฐ
โ๏ธย branch
ย ์ด๋ฆ์ ์์ ์ด ๋งก์ ์ญํ ์ ๋ํ๋ผ ์ ์๋๋ก ๋ง๋ฆ
์ค๋ calendar ์์ ์ ํ์ผ๋ฉด, branch ์ด๋ฆ์ย calendar
commit message์ ๋ ์ง์ ํจ๊ป ์์ ๋ด์ฉ ์์ธํ๊ฒ ๊ธฐ๋กํด์ฃผ์ธ์ย ๐
git branch ๋ธ๋์น๋ช
โ branch ์์ฑ
git branch โ ํ์ฌ ์ ์ ๋ branch ํ์ธ
git checkout ๋ธ๋์น๋ช
โ ํด๋นํ๋ branch๋ก ์ ์
git push origin ๋ธ๋์น๋ช
โ ์ ์๋ `branch`๋ก push ํ๋ ๋ฒ (์ ์ฅ์ ์ด๋ฆ์ธ 'origin' ๋ค์ branch ์ด๋ฆ ์จ์ push ํ๊ธฐ)