앞 포스팅에서 좌표를 서버로 보내는 것 까지는 성공을 하였습니다.
하지만 저희가 겪은 문제점으로는 Apache서버를 시작하고 서버인 localhost로 이동을하게되면, 서버에 올린 좌표값이들어있는 html파일의 목록이 보이게됩니다.
아래 이미지를 보겠습니다.
앞 포스팅에서 Bounding Box의 정중앙 좌표값을 서버로 받아오는데 성공을 했다고 했습니다. 좌표가 제대로 전달이 되었는데 무엇이 문제냐고 하실 수 있습니다.
위에 이미지의 주소를 보게되면 192.168.123.101에서 끝이아닌 뒤에 /position.html 경로가 더 있는 것을 알 수 있습니다. 경로가 더 있다는 것은 localhost에서 파일목록에있는 position.html을 열었다는 것 입니다.
이게 왜 문제가 되었냐면, Arduino에서 서버를 통해서 좌표값을 가져와야 하는데
Arduino에서 서버에 접속을 해서 파일목록에 있는 position.html을 직접적으로 열고가져올 수 있는 방법이 없기 때문에 문제가 되었습니다. 어떻게 가공을 통해서 Arduino에 바로 넘겨줄 수 있는방법이 없을까에 고민에 빠졌습니다.
그래서 해결한 방법이 바로 Root Directory를 변경 시킴으로써 localhost에 접속시에
바로 저 위에 보이는 이미지처럼 좌표값이 바로 보이게 하는 것 입니다.
방법은 다음과 같습니다.
Root Directory가 html Directory가 아닌 다른 Directory가 Root 일 경우에는
서버에서 파일의 목록이 보여집니다. 하지만 html Directory를 Root로 변경 시키면
localhost서버에서 접속시 바로 좌표값을 볼수가 있습니다.
자 그럼 지금부터 Root Directory변경을 시작하겠습니다.
1. etc디렉토리 안의 파일열기
sudo gedit /etc/apache2/apache2.conf
sudo gedit /etc/apache2/sites-available/000-default.conf
2. 수정하기
* apache2.conf *
<Directory /var/www>
...
...
</Directory>
* 000-default.conf *
DocumentRoot /var/www/html
위 내용에서 "/var/www" "/var/www/html" 부분을 원하는 폴더의 경로로
지정하면 Root Directory가 됩니다. 저희 같은 경우는 html디렉토리를 끝으로
지정해 줌으로써, localhost에 접속시 바로 좌표값이 나오도록 했습니다.
이렇게 문제해결을 성공적으로 끝 맞췄습니다. 다음 포스팅 부터는
Arduino를 어떻게 사용했는지 Arduino에 관한 포스팅으로 찾아 뵙겠습니다.
그럼이만~~
'Deep Learning(YOLO)기반의 Smart Scarecrow' 카테고리의 다른 글
[12] Arduino Http서버 연결1(JSN270 WiFi Shield) 문제점 (2) | 2017.12.26 |
---|---|
[11] 물총 제어를 위한 Arduino 환경설정 하기 (2) | 2017.12.26 |
[9] YOLO Bounding Box좌표를 서버로 전송하기 (83) | 2017.12.19 |
[8] Ubuntu에서 Http서버 구축하기 (LAMP) (2) | 2017.12.19 |
[7] Deep Learning기반의 Smart Scarecrow 설계하기 (2) | 2017.12.19 |