Water Quality Analysis 자세히보기

ETC.

아두이노의 거리측정 장치, RSSI와 XBEE 이게 다 뭐야?

Hi, 2016. 9. 5. 11:14


거리센싱을 할 때, 센서 (적외선, 초음파)를 사용할 수도 있지만, 무선 신호의 세기를 통해서도 측정할 수 있다. 예컨대, 우리가 사용하는 스마트폰에 뜨는 안테나의 크기 혹은 숫자를 이용하여 대략적인 거리 센싱이 가능하다. GPS를 사용하기 힘든 실내, 즉, Indoor 네비게이션 시스템에서 많이 사용하는 방법 중의 하나이며, XBee를 통해서 RSSI 라는 Received Signal Strength Indication으로 XBee의 API 코드를 통해서 거리를 센싱 한다.


드론이란? 드론은 무선전파로 조종할 수 있는 무인 항공기다. 카메라, 센서, 통신시스템 등이 탑재돼 있으며 25g부터 1200kg까지 무게와 크기도 다양하다. 드론은 군사용도로 처음 생겨났지만 최근엔 고공 촬영 등 다방면에 활용되고 있다. Xbee라는 제품을 이용하여 수신 전계 강도(RSSI)를 측정하고 정확하진 않지만 RSSI에 비례하여 거리를 측정하여 일정거리가 되면 드론이 다가가지 못하게 하거나 측정된 신호를 따라 드론이 움직이도록 할수도 있다.

 

 RSSI란 ‘Received Signal Strength Indicator’의 줄임말로 수신된 신호 강도의 지표라고 해석할 수 있다. 예를 들어 RSSI값의 레인지는 보통 26 ~ 70까지 이며 숫자가 낮을수록 신호의 세기가 크다고 볼 수 있다. 이론상으로 RSSI값이 아주 간단하게 거리에 대한 정보를 줄 수 있을 것으로 보이지만 라디오의 신호 강도가 거리의 제곱과 반비례하고 RSSI값은 이 강도를 임의로 정한 기준에 로그를 비례하여 표현한 단위이기 때문에 API로 잘 알려진 Estimote, Distance Demo 라는 식의 이름으로 마치 거리를 쉽게 측정할 것이라는 인상도 준다. 하지만 RSSI값은 여러 환경요소에 영향을 받는다. 몇 가지 예로는 라디오 안테나가 향하는 방향부터, 지그비와 지그비 사이간의 장애물 또는 전파 방해 등이 있다. 




<Rx,Tx>

마이컴(아두이노 포함)에서 Rx,Tx는 통신단자를 의미. Rx는 수신단자이고, Tx는 송신단자이다.


가장 많이 사용되는 포멧을 RS232. 즉 Rx, Tx 단자를 통해 PC와 통신을 하거나, 다른 어떤 장치들과 서로 data를 주고 받을때 rx,tx를 사용한다. PC의 경우는 RS232통신때 ±12V를 사용하나, 아두이노보드는 5V만 사용합니다. 따라서 전압을 맞추어 주기 위해 중간에 MAX232라는 IC를 넣어주기도 한다. 가령 블루투스나 지그비,또는 RF 모듈같은데도 rx,tx를 통해 통신을 하는데, 블루투스모듈등을 이용하면 스마트폰으로도 RC카를 제어할수도 있다. 


Xbee 모듈과 컴퓨터와 UART방식으로 9600bps 로 통신하고 (물론 설정을 변경해 통신속도를 바꿀수 있다. Xbee라고 다를것 없이 아두이노에서의 스케치는 softwareserial 라이브러리를 이용해서 TX, RX핀을 설정하고 다른 통신모듈과 같이 스케치 하면 된다. (다른 통신모듈과 통신 거리, 속도, 가격 등이 다르므로 사용 목적에 맞게 선택하면 된다.)