중년코딩
534
2019-05-18 20:37:08
8
1250

[중년코딩|3-1]전동킥보드 위치를 모아서 보자


안녕하세요. 어떻게 꾸역꾸역 3편까지 오게 된 대머리 직장인입니다.

며칠 전에 제가 휴대폰 앱의 화면을 캡쳐해서 겹친 다음에 보여주는 걸 어떻게 구현하면 좋을지 여쭤봤는데요( https://okky.kr/article/580950 ) 많은 분들이 관심을 가져주지는 않아서... 으흐흐흐흐흑

그냥 제 생각대로 해 봅니다. 오래 걸리겠지요. 중간에 4편부터 시작할 수도 있습니다.

만들려고 하는 건 이런 겁니다.


네... 제 현재 위치로 킥보드 앱들(킥고잉, 고고씽, 씽씽)을 모조리 조회해서 한 화면에 겹쳐서 보여주는 겁니다. 안타깝게도 고고씽은 전체 점검 중이라 킥보드가 안나오는군요.

편하겄쥬?

맞습니다. 저는 앱 세 개를 하나씩 띄워서 현재 위치 클릭하는 게 너무나도 귀찮아서 이런 거를 만들어야겠다고 마음먹고야 마는 정도로 게으른 사람인 것입니다. 우리는 출근하느라 바쁜데 앱을 하나 하나 열어보고 버스를 탈지 킥보드를 탈지 어느 출구로 나갈지 고민하는 사이에 이미 지각을 하지 않습니까? 그렇게 지각을 여러번 하면 인사/총무를 맡고 있는 저는 다른 사람들에게 면이 안 사는데 이게 다 킥보드 앱이 너무 많아서입니다! 

앱 세 개 하나씩 띄워서 현재 위치 클릭 -> 아이콘 클릭, 내위치 클릭, 기다림, 홈 버튼 클릭: 총 8번의 클릭과 세 번의 기다림.

취합된 지도 -> 지도 클릭, 내 위치 자동 전송, 기다림: 총 1번의 클릭.

8번을 1번으로 줄일 수 있으면 해야죠. 하는 겁니다.

3편의 첫 글이니까 여기서는 그냥 아이디어만 적습니다. 구현은 내일의 제가 하겠죠.

휴대폰 앱에 API를 제공해 줄 리도 없고 세 앱 모두 웹으로는 지도를 안 보여 줍니다. 결국 휴대폰 에뮬레이터를 씁니다.


내 휴대폰에서 위치전송 ->
휴대폰 에뮬레이터 세 개에 위치설정 (아마도 오토마우스 or 파이썬) ->
에뮬레이터에서 내 위치 클릭(녹스 마우스 녹화 기능 or 파이썬)->
화면 캡처->
저장된 파일을 크기, 투명도 가공해서 저장->
웹페이지에 업로드 or 슬랙메시지 전송

히야... 생각만 해도 간단하네요. 클릭 날마다 여덟 번씩 하는 것보다 이게 분명히 나을 것 같은 확신이 드네요. ㅠㅠ

에뮬레이터는 NOX 플레이어를 쓰겠습니다.

깔고 실행하자마자 블루스크린이 뜨네요. Hyper-V를 꺼야 한다고 합니다. 끕니다.

맵은 킥고잉과 씽씽은 구글 맵, 고고씽은 네이버 기반입니다.

위치를 맞춰주면 최소한 킥고잉과 씽씽은 같은 화면이 나올 겁니다. 그냥 겹쳐주기만 하면 되지요. ㅋㅋㅋ

....안됩니다.

축척이 왜 다른 거죠. 미묘하게 안 맞습니다.

파일을 파워포인트로 가져와서 크기를 비교해 봅니다. MS Office가 짱이죠. 


파워포인트에는 2020년이 다 되어가는 지금 이 순간에도 이미지 투명도 조절 기능이 없습니다. 그냥 비교하면 맞출 수가 없으니 그림을 뒤집어 줍니다. 대충 맞은 거 같죠?

킥고잉은 높이 20.29cm, 너비 11.41cm, 씽씽은 19.05cm, 10.72cm입니다. 

엑셀을 열어서 계산해봅니다. 1.06509186351706배만큼 확대되어 있습니다.

이게 무슨 숫자인지 모르겠군요... api zoom level은 저렇게 미세한 차이는 안 날텐데... 두 녹스플레이어의 안드로이드 버전이 다른데, 그것때문에 차이가 나는 걸까요.

어쨌든 실제로 캡처화면을 겹칠 때는 저만큼 확대해줘야 합니다.

그거가 문제가 아니고 확대한 놈을 기준점(내 위치)을 잡아서 맞춰줘야 합니다. 그림의 특정지점(아마도 "내위치"를 나타내는 파란 점)을 인식해야 합니다.

아.... 갑자기 이거 만들 수 있을까 싶은 불안감이 엄습합니다. (최악의 경우 그냥 그림을 안 겹치고 캡처화면 세개를 샥샥샥 보여주는 걸로 하기로 하고 그냥 계속해봅니다.)

고고씽도 한번 겹쳐 봅니다.

어? 이거 좀 이상합니다.

크기가 다른 건 당연히 그러려니 한데, 방향이 미세하게 안 맞습니다!!!

북쪽을 인식하는 게 약간씩 다른 건지, 도법이 다른 건지 모르겠습니다. 갑자기 초등학교 때 공부했던 메르카토르 도법을 다시 찾아봐야 하는 건가 하는 불안감이 엄습합니다만... 그냥 살짝 차이나는 거라 괜찮을 거라고 믿고 넘어갑니다. 

저게 다 되면 그림을 표시해주고, 그림에 나온 각 회사별 아이콘을 누르면 그 회사 앱으로 연결되도록 만들까 했는데, 그냥 아래에 킥고잉, 씽씽, 고고씽 버튼 나열할 겁니다. 보고 가까이 있는 회사 누르는 걸로...

캡처랑 등등을 수행하는 거는 집에 퀀트인지 뭔지 하겠다고 설치해둔 윈도우 서버를 쓸 겁니다. 네. 파이썬 배우기 시작한 게 다 자동 트레이딩 해보겠다고 한 건데, 텃밭에 물이나 주고 있습니다.... 그래도 몸이 편해져야 돈도 벌고 하는 거겠지요.

다음 편은 파이썬으로 마우스 제어하기와 그림파일 조작하기, 아마도 flask웹서버를 공부한 뒤에 다시 돌아와서 적겠습니다. 아마도 오래 걸릴 거 같네요....


1
0
  • 댓글 8

  • 아야로
    1k
    2019-05-18 22:38:47

    아아 제가 이해한게 맞는지 모르겠네요.

    서버에 에뮬레이터 세 개 띄워놓고, 앱에서 위치 좌표 질의하면, 서버 화면 찰칵하고 겹쳐서 앱으로 응답한다는 거죠?

    나 홀로 쓰기엔 굉장히 편할것 같아요. 저도 여러개 왔다갔다하는게 매우 귀찮아서 주로 쓰는거 하나만 두고 다 지워버렸는데 얘네가 API 열어주지도 않구요 ㅎㅎ

    여러명이 쓰기엔 에뮬레이터 동기화가 어떻게 될지 궁금하네요. 요청 올때마다 큐에 넣어놓고 블락 걸어야 하나...?

    0
  • 중년코딩
    534
    2019-05-19 10:20:26

    네. 맟습니다. 개인 서버를 쓰기로 한 순간 그냥 저 혼자 쓰겠다는 걸 전제로 하는 거라...ㅎㅎ

    0
  • OKKY
    1k
    2019-05-20 10:29:56

    중년코딩

    안녕하세요, OKKY 운영자입니다. 중년코딩님이 올리시는 글 내용이 너무 좋아서 보다 많은 분들이 보면 좋겠다는 생각에 중년코딩님 올리시는 글들을 Tips & 강좌로 게시판으로 옮기고자 합니다. ('포럼' 성격에 잘 안맞기도 하고요. ^^) 괜찮으시겠죠? :)

    0
  • 중년코딩
    534
    2019-05-21 01:39:56 작성 2019-05-21 07:55:53 수정됨

    아... 제가 잘 몰라서 실수를 했나 보네요. 네. 옮기시는 건 괜찮습니다. 다만 팁이나 강좌라고 할만한 게 없는 잡담인데 부담스럽네요. 

    1
  • OKKY
    1k
    2019-05-21 08:00:08

    많은 분들에게 충분히 도움되는 내용으로 <Tips&강좌>에 올리시기에 충분합니다. 

    늘 좋은 글 감사합니다!!!

    0
  • 중년코딩
    534
    2019-05-21 09:40:14

    http://www.2cpu.co.kr/vm/8951 중첩가상화 관련 링크

    0
  • Dive_Drink_Develope
    3k
    2019-05-21 09:55:45

    들어오는 통신 내용에서 마커 좌표를 따는 방법도 있을법해보이는데...

    는 자체앱을 캡쳐하는거군요.. OTL

    0
  • 중년코딩
    534
    2019-05-21 16:09:02

    ㅎㅎ 네. 지금 그냥 지도 api랑 앱 캡처화면 비교해서 마커 좌표 따는 방법도 고민중인데, 이렇게 고민하다가 그냥 카카오맵이나 네이버 맵이 킥보드위치서비스 출시할 거 같아요.

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.