Raspberry Pi를 이용하여 개발을 할 때, 파이 내의 리눅스 시스템에서 코드를 작성하는 것은 상당히 불편함이 있습니다.
따라서, 윈도우에서 툴을 이용해 개발을 한 후, 간편하게 소스만 라즈베리파이로 옮겨서 실행하면 편할 것입니다.
따라서 개발자들이 주로 사용하는 툴인 Eclipse와 Raspberry Pi 간에 파일시스템을 통해 연동하는 부분을 하도록 하겠습니다.
1. 먼저, 아래의 그림처럼 Eclipse 내에서 프로젝트와, 여러 파일들을 만들었다고 가정해보겠습니다. 이제 왼쪽 weatherPro 라는 임의의 프로젝트를 우클릭하여 'export' 라는 메뉴를 클릭합니다.
2. Export를 클릭하면 다음과 같이 볼 수 있는데, Remote Systems 를 클릭 후, Remote File System을 선택한 후 next를 눌러줍니다. 간단히 설명하면 현 프로젝트를 file system으로 내보내겠다는 뜻입니다.
3. 위에서 next를 눌렀을 때, 다음과 같이 보일 것입니다.
이 때, 중앙에 있는 Destination folder, quealified by its remote connection name : [Browse...] 에서, Browse를 클릭하여 목적지 폴더를 설정해주고, Connection 할 이름을 정해줍니다.
4. Browse를 클릭하면 다음과 같이 보이는데, 현재 Connection이 Local로 되어있습니다. 우측의 New... 를 클릭합니다.
5. Host name은 LOCAL로 되어있을 것입니다. 이 부분에는 자신의 라즈베리파이의 IP주소를 입력해줍니다.
ex) 192.168.xxx.xxx ( 저는 무선 공유기를 사용하였습니다. xxx를 그대로 따라 치는분은 없으시리라 믿습니다.)
그리고 Connection name은 말그대로 Connection할 이름입니다. 저는 집에서 Wifi를 이용하는 라즈베리 파이이므로
homePi(wifi) 입니다. 이 부분은 각자 인식할 수 있는 이름으로만 지어주시면 됩니다.
6. next를 누르다보면 다음과 같은 창이 뜰것입니다. 그대로 next를 누릅니다.
7. Connection에서 homePi(wifi)가 생긴것을 볼 수 있습니다. Local에서 homePi(wifi)로 바꿔줍니다.
다음으로 연결된 PI의 어떤 폴더에 지금 이클립스의 프로젝트를 연동할 것인지 설정해주는 부분입니다.
8. Root를 클릭하면 다음과 같이 PI의 ID와 password를 입력하는 부분이 나옵니다.
이 부분은 각자의 PI에 맞는 ID와 Password를 입력해 준 후, OK버튼을 클릭합니다.
9. 처음이라 인증을 하는 부분입니다. Connecting하기 위해 YES를 클릭해줍니다.
10. 현재 존재하지 않으므로 생성해주겠냐는 경고창입니다. Yes를 눌러서 생성해줍니다.
11. 위와 같습니다. Yes를 눌러줍니다.
12. 이제 Root에 접근할 수 있습니다. 먼저 / 루트 디렉토리를 클릭한 후, home 디렉토리의 하위 디렉토리(pi)로 이동하면 제가 이미 기존에 만들어준 이런저런 폴더가 있습니다.
pi를 클릭 한 후, OK를 눌러주면 pi 디렉토리 안에 해당 Eclipse의 프로젝트를 연동해줄 수 있습니다.
13. 다음으로 하단에 있는 Browse.. 를 클릭해준 후, 제가 연동해줄 Eclipse의 프로젝트는 weatherPro 라는 프로젝트이고, '.rexpfd'파일을 만들면 됩니다. 저는 이름은 export로 하였는데 이 또한 각자 임의로 이름은 설정해주면 됩니다.
14. 이렇게 설정들을 전부 마쳐주면 다음과 같이 뜰 것입니다.
참, 이때 Options가 있는데 저는 첫번째 Review/Synchronize 를 선택하였습니다.
이는 Eclipse내에서 작업을 하고 저장을 하면 바로 pi로 이동하는 것이 아니라 Eclipse내에서 한번 더 'PUT'을 통해 라즈베리로 옮겨주는 작업을 해주겠다는 것입니다. 즉 사용자에게 한번 더 체크하도록 하는 부분입니다.
나는 굳이 체크하는 과정이 귀찮다 하시면 아래의 Overwrite existing files without warning 을 선택하시면 됩니다.
중간 과정 없이 바로 PI의 기존 파일에 Overwriting하겠다라는 뜻입니다.
15. Finish를 눌러주면 다음과 같은 화면이 나옵니다. 귀찮으므로 Remember my decision을 클릭해준 후 Yes를 눌러 다음엔 묻지 않도록 합니다.
(저는 깜빡하고 선택을 안하고 Yes를 했더니, 다음번에 또 물어봐서 Remember ... 를 선택해주었습니다.)
16. 이렇게 다 마쳐주면, 다음과 같이 Eclipse와 Raspberry Pi 간에 Synchronizing 작업을 시작합니다.
17. 이제, 프로젝트로 돌아와서 파일을 확인하면 export.rexpfd가 생성된 것을 확인할 수 있습니다.
우클릭 한 후, Export to Remote File System을 클릭하여 원격 파일시스템을 이용하여 프로젝트를 Export하겠다 해주면 됩니다.
18. 다음과 같이 아래에 여러 폴더와 파일이 보입니다. (위에서 Review/Synchronize)를 선택하지 않고 Overwriting을 선택했다면 폴더들이 보이는 것 없이 바로바로 Overwriting 될 것입니다.
19. 아래에서 하나의 파일/폴더만 우클릭하여 PUT 을 통해 선택적으로 라즈베리파이에 옮겨줄 수도 있습니다. 전체를 해주고 싶다면 가장 위쪽의 프로젝트를 PUT하게 되면 프로젝트 하위의 모든 파일들이 옮겨지게 됩니다.
20. PI에서 확인해보겠습니다. 먼저 아직은 'PUT'하기 전이라 weatherPro 라는 프로젝트가 옮겨지기 전이므로 생성되지 않은 것을 확인할 수 있습니다.
21. 프로젝트를 이클립스에서 'PUT'하고 나면, pi내에서 가장 우측 3번째줄에 파랗게 weatherPro 폴더가 생긴 것을 확인할 수 있습니다.
이와 같이 Eclipse내에서 프로젝트를 Remote File System을 이용하여 Raspberry Pi와 연동해줄 수 있습니다.
이를 이용하면 불편하게 라즈베리파이에서 소스작업을 하는 것보다, 편리하게 Eclipse툴을 이용하여 소스작업을 끝낸 후 파일만 이동시켜주어 라즈베리파이 내에서는 실행만 시켜줄 수 있습니다.
처음 프로젝트를 PUT하게 되면 차후에는 소스 작업 시에 수정만하고 저장을 (꼭!) 눌러주면 eclipse 아래 Synchronize메뉴에서 수정된 파일만 뜹니다. 그 파일만 PUT해줌으로써 편리하게 차후 수정작업을 할 수 있습니다.
+추가적으로 프로젝트를 연동 후, 라즈베리파이에서 소스를 수정하면 'GET'을 통해 얻어올 수도 있지만, Sync때문에 조금 귀찮아질수도 있습니다. 웬만하면 파이에서는 소스를 수정하거나 건드리지 말고, 이클립스 툴을 이용해서 수정작업을 한 후, PUT을 통해 넣어주는게 편리합니다.
혹시라도 실수로 라즈베리에서 수정하여 Sync가 안맞거나 하여 문제가 생기면 댓글로 알려주시면 답변드리겠습니다.
WRITTEN BY