2015 Google HackFair 등록

개발 2015. 11. 9. 12:44
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Google HackFair 공지글이 올라왔을때 ( http://googledevkr.blogspot.kr/2015/10/hack.html ) 내용을 보고,

몇달전 FLIT에서 만들었던 스마트 버스 정류장이 떠올랐다.


버스정류장에 설치하는 장치(비콘과 각종 센서들) 와 모바일 앱(Android, iOS)이었는데,

팀원들과 논의해본 결과 이것을 조금 더 발전시켜서 등록하자라는 방향으로 되었고

지난 주말 저녁 모임 시간때, 등록 신청을 했다.




FLIT 팀에서 만든 앱 올리기용 구글 계정과 플레이 스토어 결제도 했고,

기존에 만들어놨었던 코드가 android M 호환 문제가 있어서 코드수정을 좀 했다. 


소스코드는 github 에 등록되어 개발 진행중이다.

https://github.com/kfmes/SmartBusStop Android

https://github.com/colus001/SmartBustop iOS

https://github.com/team-flit/smart-busstop-chatter  Smart Busstop with Messaging Features



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

예전에 포스팅 했던 http://blog.kfmes.com/242 에서 이어지는 글.. (예전 포스팅 글 이후에 14.04 올렸다가 다시 12.04로 설치 했었음)


집에서 쓰고 있는 스피커는 사운드 입력을 두개 받을수 있다.

둘다 동시에 쓸 수 있는건 아니고, 신호가 세게 들어오는 것(?)을 크게 들려준다.


암튼 하나는 데스크탑에 연결 되어있고, 다른 하나는 파일서버에 USB 사운드 카드 연결해서 쓰고있었다.

에어플레이 서버용도로도 쓰고 있었고, 모바일 기기에서는 딜레이 좀 되는건 그러려니 하고 쓰겠는데 맥북으로 작업하면서 에어플레이 연결해서 쓰기엔 (유튜브 같은걸 볼때는 싱크가 안맞음) 불편하다. 그렇다고 이미 연결되어있던 케이블을 뽑아서 맥북에 연결하기도 뭐해서....


파일서버에 쓰고 있는 USB 사운드 카드의 line-in 을 이용해보기로 했다.


트레이에서 사운드 설정을 들어가서 input 을 봤는데...

뭔가 이상하다... 인식이 안됨(???)



구글링을 해봤다.

비슷한 상황을 겪는 사람들이 있군.. 하면서

https://lists.debian.org/debian-user/2013/12/msg01526.html

alsamixer 로 상태를 점검해보라고 해서 실행해봤는데,


$ alsamixer
cannot open mixer: 그런 파일이나 디렉터리가 없습니다


응?

-help 를 입력해보니 -c 옵션으로 사운드 카드를 지정할 수 있다.


0 번은 Invalid 로 나오고 1 번으로 인식됨


사운드 카드의 포트 정보들이 제대로 나오고 있었고, Line 쪽이 Mute 되어있었다!

Mute 를 해제하고, Master 하고 비슷한 수준으로 볼륨을 높여줬다.


아마 GUI 쪽에서 인식되었던 건 pulse audio 장치인데,

usb sound card - alsa mixer - pulse audio 순서로 인식이 되는 것 같았다.




336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

구글링해서 찾은 내용을 기록용으로 남겨둠.


http://davistechyinfo.blogspot.kr/2014/07/android-determining-if-wearable-device.html


위 블로그 코드 요약.


mGoogleApiClient = new GoogleApiClient.Builder(this)

           .addApi(Wearable.API)

           .addConnectionCallbacks(this)

           .addOnConnectionFailedListener(this)

           .build();


connection callback 이 오면

Wearable.NodeApi 를 이용, 

NodeApi.GetConnectedNodesResult nodes =

                  Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).await();

          if (nodes != null && nodes.getNodes().size() > 0) {

              isConnectedToWearable = true;

          }

 

연결된 node 가 있는경우, 연결된걸로 처리.