본문 바로가기
진상 고객(리뷰) =_=

[HW리뷰] #3 활용기 BeagleBone Air (BBAir) 블루투스 채팅 에코서버 만들기 on 맥

by BitSense 2016. 7. 16.
반응형

본 체험제품은 No1. 전자부품 전문 쇼핑몰 아이씨뱅큐 와 뉴로메카의 지원을 받아 작성한 것입니다.


이번에는 블루투스 서버 설정 및 연동, 그리도 블루투스 에코 서버 설정으로 채팅 내용을 화면에 찍는 것 까지 해보려고 합니다. 말만 좀 복잡하네요. 그냥 채팅용 에코 서버 설정입니다. ^^;;

원래 블루투스로 채팅서버를 만들어 보려고 했지만, 제 내공도 쪼랩이고, 실제 구현을 위한 작업을 위해서 사전에 준비해야할 것들이 많기 때문에 일단 블루투스 연결 후 에코서버로 활용하는 방법까지만 확인하도록 하겠습니다.


BBA 블루투스 설정


터미널에서 BBA에 root 계정으로 접근을 합니다.


$ ssh root@192.168.7.2


블루투스 설정 페이지로 진입을 합니다.


# minicom -s


(리눅스라 맥 터미널 명령의 $과 틀린 #으로 시작합니다. 특수문자를 입력하지는 않습니다. 아시죠? ^^)

아래와 같이 minicom 설정 화면이 나옵니다.


minicom -s 에서 나오는 블루투스 설정 창. Serial port setup을 선택합니다.

블루투스 설정 창입니다. 터미널이기 때문에 그림 대신에 이렇게 글자만 덩그러니 나옵니다. "Serial port setup"을 선택합니다. 키보드의 아래 화살표로 내린 후 엔터를 입력하면 됩니다.


블루투스 설정 화면 ttyO4를 기억하세요.

이번에는 이전과 다르게 화살표로 이동이 불가능합니다. "A"를 입력해서 Serial Device를 선택한 후 ttyO4로 변경합니다. 숫자 0이 아닌 영어 대문자 "O" 입니다. Bps/Par/Bits도 확인합니다. "115200 8N1"이 아니라면 수정합니다. 수정 후 엔터, 모두 수정하였다면 다시 엔터를 치면 설정창이 사라집니다.


설정을 하였다면 화살표로 "Save setup as df1"을 선택 후 엔터!! 그리고 Exit를 누르고 엔터를 칩니다. 저장을 하지 않으면 초기에 세팅된 값이 계속 나오기 때문에 연결이 되지 않고 제가 경험했던 이상한 현상을 보실 수 있습니다. ^^


minicom 실행 화면. "AT+NAME디바이스명"으로 블루투스 디바이스 이름을 변경합니다.


설정을 마치고 Exit 나오면 위와 같이 minicom 화면이 나옵니다. 현재 블루투스가 정상동작하는지 확인하기 위해서는 "AT+" (모두 대문자여야 합니다.) 입력 후 엔터. 입력된 글자는 보이지 않고 "OK"만 나올 겁니다. 그러면 일단 블루투스는 문제없이 돌고 있다는 소리입니다.
블루투스 장치 이름을 변경하겠습니다. 그냥 디폴트 이름을 사용해도 좋으나, 인식하기 편한 이름이 좋겠죠? "AT+NAME"을 입력 후 엔터!를 치시면 "BBA8160410080" 과 같은 이름이 나옵니다. 이 이름을 저는 "GZONE_AIR"로 변경했습니다. 변경하는 방법은 


AT+NAMEGZONE_AIR


입력 후 엔터를 치시면 됩니다. 사이띄기 없이 그냥 입력하시면 됩니다. 이름이 변경되었는지는 다시 "AT+NAME"으로 확인하시면 됩니다.


이제 이름이 블루투스에 검색이 되는지 확인을 합니다. 맥 메뉴에서 "시스템 환경설정 > Bluetooth" 이름이 나오는지 확인합니다. 이상하게 안나옵니다. =_=; 여기에서 한참을 저는 헤맸습니다. 왜 안나오지?? 하면서요~


MacOS 시스템 환경설정 > Bluetooth에서는 BBA 장비가 보이질 않습니다. ㅠ,.ㅠ;;

방금 설정한 장비가 MacOS에서는 보이질 않습니다. 이게 어이된 일일까요? 많이 당황을 했고, 이것 때문에 시간을 많이 소비했습니다. 아직 답은 찾지 못했습니다.


혹시나 하는 마음에 핸드폰에서 Bluetooth 장비를 스캔해 보았습니다.

블루투스 장비에 과거 초기 세팅된 이름이 올라와서 삭제가 안됩니다. 아니 삭제를 할 수가 없었습니다.

어? 장비가 하나 스캔 되었는데... 어째 제가 등록한 이름이 아니고 과거 이름이 나오네요. 이 부분도 저를 몹시 당황하게 했습니다. 며칠을 이렇게 변경되지도 않고, 연결도 되지 않고... 계속 구글형님에게 SOS를 보냈지만 답이 나오질 않더군요. ㅠ,.ㅠ;; 이렇게 일주일 정도가 흘렀습니다. 덕분에 채팅 서버를 만들어 보려고 했던 계획에 차질이 생겼습니다.


갑자기 이름이 변경되서 연결이 가능한 것 처럼 목록에 자리를 잡습니다. 하지만 실제 연결은 되지 않습니다.

며칠이 지난 후, 혹시나 하는 심정으로 다시 열어 보니, 어라? 이번에는 제대로 나오네요. 제가 먼가 질 했나 봅니다. 다행입니다. ㅠ,.ㅠ;; 하지만 다른 블루투스 장비 처럼 "0000", "1234"를 입력하더라도 연결은 되지 않습니다. 그냥 연결 실패가 되었지만 저렇게 연결 가능한 것 처럼 목록에 올라가 있네요. =_=;; 스마트폰에서는 연결은 안되지만 일단 먼가 할 수 있는 가능성은 생긴 것 같네요. 곧바로 테스트를 해보겠습니다.


불안불안한 마음으로 안드로이드용 블루투스 채팅앱을 다운 받아 설치를 합니다. 제가 채팅 테스트로 사용할 앱은 "BLE Chat" 입니다. 블루투스 장비를 연결해서 테스트를 하기에 꽤 쓸만합니다.


구글 스토어에서 BLE Chat을 다운받으세요.

안드로이드용 블루투스 채팅 앱 다운로드를 합니다.


BLE Chat 앱을 설치 후 실행한 다음. 블루투스 장비 연결을 위해 눈 모양의 아이콘을 클랙해서 "장치 스캔"을 시작합니다. 연결 가능한 장비들이 목록에 올라옵니다. 연결할 장비이름을 선택하면 자동으로 연결을 시작합니다.


BeagleBone Air 채팅 에코서버 만들기

BeagleBone Air를 채팅 에코서버로 만들기 위해서

Ctrl+A E

를 입력 후 엔터를 입력합니다. "Ctrl+A"  그리고 그냥 "E" 이렇게 입력을 합니다. 저렇게 입력을 해도 별다른 반응은 없습니다. 그러려니 하십시오. =_=;;


BLE Chat 앱에 블루투스 장비가 연결되면 초록빛 아이콘으로 변경이 됩니다.

BLE Chat 화면의 맨 하단에 장비가 연결되면 연결된 장비 이름이 노출 됩니다. 와우~!!! 연결 확인 후에는 문자를 아무거나 입력 후 [전송] 버튼을 클릭하시면 메시지가 전송이 됩니다.


에코 서버의 첫 메시지. 다름 메시지가 줄바꿈이 되지 않고 한줄로 쭈욱 나오네? ㅠ,.ㅠ;;

전송된 메시지는 에코 서버인 BBA 터미널에 저렇게 곱게 찍힙니다~!!! 아싸 성공!


[실행 동영상]



여기까지 진행하면서 참 고생이 많았습니다. 아무래도 저의 실수겠죠? 하지만 그 실수를 어떻게 했는지, 어떻게 만회를 해야 하는지에 대한 부분이 없어서 많이 애를 먹었네요. 어찌됐건 연결이 되서 다행입니다.


BBA Bluetooth가 좋은 점

타 장비와 연결이 알고보면 그렇게 어렵지 않다. 하지만 초반에 첫단추를 잘못 채우면 멀리 돌아가는 아픔?!!이 생깁니다.

장비 이름 변경이 생각보다 쉽습니다.


아쉬운 점

이거 멀티페어링이 안되나요? 다른 장비로 연결하려면 지금은 연결을 끊어야 하는데? 이거 블루투스 호스트 아녔나요?

MacOS에서 블루투스 장비 목록에 왜 안보이나요?
안드로이드 블루투스 설정에서 왜 연결이 안되나요?
minicom의 일관적이지 않은 UI가 헤깔리게 합니다. 어디는 화살표, 어디는 알파벳을 입력, 어디는 연속적인 키 콤비네이션. 헤깔립니다.

그리고 AT+로 시작하는 명령이 보이질 않습니다. 오타가 나도 할말이 없습니다. =_=;;


총평

어디까지나 개인적인 관점이고 극히 제한된 상황입니다만, 아직까지 저는 멀티페어링이 안되고 있습니다. 멀티페어링이 안된다고 하더라도 와이파이 등등 다른 방법으로 장비들을 연동할 수는 있을 겁니다. 그래도 약점이자 제약사항이 되지 않을까 싶습니다.

다른 장비와 연결을 위해서 페어링을 해제 후 재연결을 하는 것이 여간 번거롭습니다.





BBAir 스타터키트 구입처 : 아이씨뱅큐 
http://www.icbanq.com/P007133008

아이씨뱅큐 100% 무상체험단 카페 : http://cafe.naver.com/icbanq

아이씨뱅큐 공식 블로그  : http://blog.naver.com/icbanq

반응형