전체 글 1902

포켓몬고(Pocketmon Go)와 지오캐싱

발매된지 며칠 되지 않은 포켓몬고라는 게임이 전세계를 강타하고 있습니다. 쓰러져가던 닌텐도가 포켓몬고로 되살아났다는 이야기도 하고, 게임하면 방구석에 쳐박혀서... 라고 생각했었는데, 공원으로 호숫가로 몰려가는 게이머들로 인해 갖가지 사건 사고가 발생하고 있다고도 합니다. 포켓몬고는 기본적으로 지구상 어딘가에 있는 포켓몬들을 수집하는 게임입니다. 그러다보니 지구상 어딘가에 숨겨져 있는 지오캐시를 찾는 게임인 지오캐싱과 비교를 하는 분들이 많습니다. 지오캐싱을 많이 하는 저로서는 차이점이 더 많아 보이지만, 일반인들의 입장에서는 비슷한 점이 더 많아 보이나 봅니다. (지오캐싱이 뭔지 궁금하신 분들은 www.geocaching.co.kr에 들러보세요.)일단 비슷한점 :지구상 어딘가에 있는 무언가를 찾아내어야..

지오캐싱 2016.07.14

샤오미 밴드 + 샤오미 체중계 간략 사용기

며칠동안 샤오미 밴드(Mi Band)와 샤오미 체중계(Mi Scale)를 사용해 본 소감입니다. 샤오미밴드는 한 두달 정도 정도 사용해 왔고, 일주일 전 부터 체중계까지 구입해서 사용중입니다. 샤오미 제품이 거의 그렇듯이 가격은 저렴하지만, 기능은 좋습니다. 기능이 뛰어나다기 보다는 기본적인 기능에 충실하고 가성비가 뛰어나죠. 샤오미밴드 - 15000원 정도 미 밴드에는 전화나 문자, 기타 일정 설정에 따라 손목이 울리는 기능과 만보계 기능. 크게 두가지 기능이 있습니다. 만보계 기능은 블루투스로 연동되어 기록이 휴대폰에 계속 기록됩니다. 가장 좋은 건 미밴드가 아주 가벼워서 전혀 부담이 안되고, 배터리를 15일마다 한번씩만 충전하면 되는 게 장점입니다. 제가 다른 손목시계형 웨어러블을 싫어하는 이유가 ..

기타/스마트폰 2016.06.07

PHP XML Parser expat을 사용하여 XML을 mySQL에 저장하기

현재... GPX 파일(XML 파일의 일종입니다.)을 해석해서 mySQL DB에 넣기 위해 고민 중에 있었습니다. 제가 예전에 만들어 둔 프로그램에서는 그냥 javascript - ajax로 읽어 들인 후 사용했었습니다. 원래는 이 부분을 사용하려고 했습니다. 그런데, 이 기능을 이용할 경우, 한 개의 waypoint를 추출해서 배열을 만들고, ajax를 통해 PHP로 넘겨주면, PHP속에서 mySQL에 INSERT 시키는 방법을 사용해야 합니다. 그러면 당연히 터무니 없이 속도가 떨어질 것으로 예상됩니다. 그러던 중, W3C PHP 투토리얼 사이트에서 XML Parser에 관한 내용을 보게 되었습니다. 이걸 이용하면 그냥 PHP에서 XML(GPX파일)을 Parsing 한 후, 바로 MySQL로 넣어줄 ..

기타/WWW 2016.05.05

NetBeans 디버깅환경 설정

요즘 다시 PHP 연습중입니다. 하나 만들고 싶은 게 있어서요. 예전에는 그냥 일반 텍스트에디터를 사용해서 연습을 했었습니다. 그런데 이번에 easyPHP를 설치하다보니, 디버거를 사용할 수 있다는 것을 알게 되어서 일단 easyPHP에 XDebug를 설치했습니다. 그런데, 디버거를 사용하는게 마땅치 않았습니다. eclipse PDT라는 통합개발환경 IDE에서 디버깅을 할 수 있다는 글을 따라해 보기도 했고, notepad++에 플러그인으로 설치했다는 글을 따라하기도 했습니다. 크롬 익스텐션을 설치해보기도 했고요. 물론 모두 실패했습니다. 그래서 마지막이라는 심정으로 다시한번 검색을 해서 netbeans IDE와 XDebug를 연동할 수 있다는 글을 따라했습니다. 억지로 성공했네요. 일단 NetBeans..

기타/WWW 2016.04.30

easyPHP에 XDebug 설치하기

프로그램 개발을 위해서는 Debugger가 필수입니다. 특히 대형프로젝트가 될 수록 Debugger 없이는 거의 개발이 불가능합니다. 제가 사용중인 easyPHP에도 디버거를 설치할 수 있습니다. (다만 실행은 별도의 환경이 필요합니다. 이건 다른 글에서...) 디버거는 널리 사용되고 있는 XDebug를 사용했습니다. XDebug를 설치하려면 먼저 easyPHP에서 실행환경을 체크해야 합니다. 저는 아래와 같이 easyPHP 의 대시보디에서 "Portable Directory"로 등록된 곳에 원래 들어있는 phpinfo.php를 사용했습니다. 그냥 와 같이 한줄 짜서 실행시켜도 됩니다. 그러면 다음과 같은 화면을 볼 수 있습니다. 여기에서 빨간 표시를 한 4가지를 체크해야 합니다. 이제 xdebug.or..

기타/WWW 2016.04.27

easyPHP 설치 및 XAMPP 설치

예전에 반쯤 공부하다가 팽겨쳐 뒀던 PHP를 다시 공부하기로 했습니다. 먼저 예전처럼 Zend Server를 설치하기로 했습니다. 제가 공부하는 책에서 Zend Server를 설치하여 사용하기 때문이었습니다. 그런데 그동안 업그레이드가 되면서 무료버전이 사라졌더군요. Free Trial 버전은 1개월, 기타 학생용버전 등은 1년 이후에는 정식버전을 사야하는 것 같았습니다. 뭐 그래서 과감하게 포기. 설치하다가 에러가 발생하는 게 아니었으면 계속 갔을지도 모르지만... 하여튼... 그래서 best WAMP로 검색을 좀 해봤습니다. WAMP는 Windows + Apache + MySQL + PHP 로 구성된 Suite를 말합니다. 물론 Zend Server를 순위에 올린 사이트도 있었지만, 다른 제품도 많이..

기타/WWW 2016.04.26

Git 간단 사용법

이 글은 예전에도 관심은 있었지만 포기하고 있다가, 그래도 한번 배워야지 싶어서 며칠 들여다보고, 제 마음대로 정리한 글입니다. 왜 사용해야 하나?Git은 소스관리 도구입니다. 물론 프로그램 소스 뿐만 아니라, 텍스트형식이라면 뭐든지 추적관리할 수 있습니다. Git을 사용하면 파일을의 변화를 모두 기록합니다. 따라서 언제든지 돌릴 수 있습니다. 따라서 거의 필수적이라고 생각합니다. 특히, 클라우드 저장소인 GitHub.com 와 함께사용하면 언제든 접근할 수 있고, 다른 사람들과 협업 가능해서 활용도가 높습니다. 혼자서도 필요한가? 저는 아주 간단히 제가 필요한 프로그램을 가끔 개발합니다. 개발한다고 하기도 민망할 수준입니다. 그래도 Git이 필요한가... 라고 고민을 해봤는데, 아직 완벽하게 이해하지 ..

기타/WWW 2016.04.11

자작 통돌이 로스터 제작기 2탄

3년전쯤 아주 간단하게 통돌이 로스터를 제작해서 지금까지 거의 한주에 250그램 * 3번-4번씩 커피를 구워 먹었습니다. 처음엔 아무 생각 없이 만들었던 터라 불편한 점들을 약간씩 개조해서 지금까지 잘 사용해 왔습니다. 이번에 새로 통돌이 로스터를 제작했습니다. 거의 한시간씩 손으로 돌리는 게 귀찮기도 하지만, 나무재질이다보니 군데군데 타들어가서 (아직 더 쓸 수는 있지만) 할 수 없이 새로 만들게 되었습니다. 아래는 준비과정부터 최종조립까지 모든 과정을 정리한 글입니다. 이 글을 처음 쓴게 2월 9일로 되어 있으니... 거의 2개월에 걸쳐 썼네요. 오늘 조립 끝내고 이 글까지 정리하니 기분이 아주 좋습니다. ㅎㅎㅎ 로스터 자작을 생각하시는 분들께 참고가 되길 바랍니다. ==먼저 며칠동안 네이버 커피마루..

기타 2016.04.03

Tower 앱으로 자동미션 날리기

Mission Planner에서 항공사진 촬영 계획 수립하면 이제 드론을 날려야죠. 촬영장소로 이동한 후에는 드론을 날리기 좋은 곳에 설치하고 절차에 따라 시동을 걸고 날리면 됩니다. 그 과정은 쿼드콥터 날리기 총정리를 참고하면 됩니다. 이 글은 이중에서도 날리는 방법에 대한 글입니다. 원래는 Futaba 14G와 같은 송신기를 사용하여 제어하지만, 제가 몇번 날려보니, 자동 미션을 수행할 경우 구지 송신기로 제어할 필요가 전혀 없었습니다. 어차피 기체의 현재 상태를 알기 위해서는 지상국 앱을 동시에 운영해야 하는데, 송신기로 제어하다가 지상국 앱으로 제어하다가 하다보면 오히려 혼란이 더 크기 때문입니다. 제 경우엔 안드로이용 지상국인 Tower 를 사용하여 제어를 했습니다. 만약의 경우를 대비하여 송신..

드론 쿼드콥터 2016.04.01

Pixhawk 쿼드콥터의 비행중 배터리 전압 하강 문제

제가 조립한 드론은 DJI Flamewheel F450 프레임에 Pixhawk 비행콘트롤러, Quattro 4 in 1 ESC, DJI 2212 /920KV 모터를 달았습니다. 그리고 다리와 캐논 카메라를 부착했고요. 총무게는 1.8 kg 정도입니다. 겨울동안은 날리지 못하고 있다가 지난 주 처음으로 시범비행을 했고요, 엊그제는 정식으로 촬영을 나갔습니다. 그런데 배터리와 관련하여 이상한 점이 발견되었습니다. 처음 장착을 하면 4.2V * 4 = 16.8 볼트 정도가 되는데, 일단 시동을 걸면 전압이 뚝뚝 떨어지고... 날기 시작하면 15.4 볼트 정도가 되고... 얼마 날리지 않아 Battery Failsafe 한계로 설정한 3.7V * 4 = 14.8V 이하로 떨어진다는 겁니다. 그로 인해 약 2분 ..

드론 쿼드콥터 2016.03.30

Mission Planner를 사용한 항공사진 Geotagging

쿼드콥터에 사진기를 장착하고, 자동미션을 이용해 항공사진을 촬영하면, 일련의 사진이 촬영됩니다. 이 사진들은 물론 그냥 사용할 수도 있지만, 대부분의 경우, 특히 항공사진측량의 경우에는 촬영된 위치와 방향이 중요합니다. 그런데, 제가 조립한 기체는 GPS가 따로 달려있지 않은 일반 똑딱이(Canon IXUS 870 IX)를 사용하여 촬영했기 때문에 촬영된 위치나 자세한 정보가 전혀 없습니다. 하지만, Pixhawk의 경우에는 모든 촬영중 발생하는 상황이 LOG 파일로 저장됩니다. 이 정보를 사용하면 사진에 촬영 위치를 넣을 수 있습니다. (이 과정을 Geotagging 이라고 합니다.) 이 글은 ardupilot.org/copter의 글을 참고하여 정리한 것입니다. 먼저 아래 좌측은 제가 맨 처음 시범 ..

드론 쿼드콥터 2016.03.25

Pixhawk 쿼드콥터 조립(10) -비행계획수립(Mission Planning)

시험 비행도 무사히 완료했으니 이제 항공사진 촬영용 미션을 생성하는 방법을 정리합니다. 이 글은 여기를 참고로 하고...(앞부분은 번역. 아래에 있음) 제가 직접 미션을 생성하는 방법을 정리하였습니다. 항공사진 촬영용 미션은 우선 촬영대상지역을 폴리곤으로 생성한 후, 이 지역을 대상으로 자동으로 웨이포인트를 생성하는 순서를 따릅니다. 먼저 Mission Planner에서 "FLIGHT PLAN" 탭으로 이동합니다. 지도화면에서 시작하고자 하는 지점에서 마우스 우클릭을 하고 아래와 같이 Draw Polygon -> Add Polygon Point 를 선택합니다. 그러면 경고창(당분간 폴리곤 입력모드가 계속된다는)이 뜨고 빨간색 아이콘이 하나 생깁니다. 그 다음부터 마우스를 클릭할 때마다 폴리곤 꼭지점이 계..

드론 쿼드콥터 2016.03.24

3D 프린터로 보로노이 무드등 제작

3D 프린터로 좀 쓸만한 걸 만들어 봤습니다. 여기서 쓸만하다는 것은 우리 안주인께서 좋아한다는 뜻입니다. 이번에 제작한 것은 Voronoi 램프입니다. 아래 사진입니다. Voronoi 램프에서 보이는 기하학적 패던은 기본적으로 3차원 Voronoi 분할을 이용한 것입니다. Voronoi 분할 이라는 것은 임의의 점이 분포할 때, 가까이 있는 두 점간의 수직이등분선(3차원의 경우는 수직이등분면)을 생성하여 면을 분할 하는 방법입니다. 좀 복잡하죠. ㅎㅎ 이 램프는 Thingiverse에서 다운로드 받았습니다. 이 모델의 원래 높이는 30cm 인데, 훨씬 정교한 원본도 있다고 되어 있답니다. 하지만, 저는 17cm 로 출력했습니다. 출력시간은 44시간 걸렸고요. 사실 이 녀석은 4번째인가 5번째 만에 성공..

Pixhawk 기체 진동측정(Measuring Vibration)

엊그제 성공적인 시범비행 후, 그동안 미뤄왔던 걸 확인하기로 했습니다. 바로 진동측정입니다. 이제까지 진동측정을 해보지 못한 것은 몇 분 정도 계속 비행을 한 데이터가 있어야 했기 때문이었습니다. 사실 Pixhawk를 설치할 때 지침에 따랐기 때문에 진동은 그다지 문제가 되지 않을 것이라고 생각했지만, 그래도 한번도 해보지 않았기 때문에 조금 찜찜헀었습니다. 이 글은 Copter 문서를 기반으로 해서 필요한 부분만 정리한 것인데, 데이터 분석 부분은 제가 실제로 날린 데이터를 사용했습니다. 참고 : 진동 측정 문서는 새로 정리했습니다. 새로운 내용이 조금 추가된 듯 합니다. 이 글과 함께 새로 번역한 문서도 참고하시기 바랍니다. ====비행콘트롤러는 진동에 민감합니다. 가속도계가 기체의 위치를 측정할 때..

드론 쿼드콥터 2016.03.21

오픈드론맵(Open Drone Map) 설치

OpenDroneMap을 사용하기로 했습니다. 별다른 이유는 없습니다. 그동안 많이 들어왔는데, 때마침 며칠전 Windows에서 OpenDroneMap 실행이란 글이 올라왔기 때문입니다. 그래서 당장 실행에 옮겼습니다. 그런데 시작부터 막히더군요. OpenDroneMap은 Ubuntu 상에서 동작하도록 만들어졌기에 윈도우 상에서의 직접 실행은 불가능해서 별도로 가상머신에 Ubuntu를 설치하고 동작시키면 실행 가능하다고 하는데, 가상머신 설치부터 문제가 되었던 겁니다. 즉 첫번째 화면에 있는 것처럼, 제 컴퓨터가 가상화가 가능한지 확인해봤더니, 아래와 같이 떡 하니 불가능이라고 나온 겁니다. 그래서 구글에서 "hp Ellitedesk 800 enable virtualization in bios"로 검색을..

드론 쿼드콥터 2016.03.21