Brise

fz750bc 지그비 모듈을 이용한 통신하기 본문

MCU

fz750bc 지그비 모듈을 이용한 통신하기

naudhizb 2015. 2. 11. 17:29
반응형

자작을 하다 보면 유선으로 연결하기에는 거추장스럽거나, 움직임에 제한이 되고

조작을 하기에는 위험한 경우가 많습니다. 


이럴 때에 무선 통신 모듈이 필요한데


디지털 메세지를 확실히 보내기 위해서는 RF 모듈을 만드는 것보다는

만들어져있는 스택을 사용하는것이 더욱 효율적입니다.


그러한 모듈들 중에는 크게 몇가지가 있는데,

일반적으로 Bluetooth, Wifi, Zigbee 모듈이 있습니다.



이 페이지에서는 그 중에서 지그비 스택을 이용한 지그비 무선통신모듈중에 하나인 

fz750bc를 이용하여 무선통신을 한번 해 보도록 하겠습니다.


(사실.. 가격대비 출력레벨이나 사용 편리성을 따졌을 때에 이게 가장 쌌다는...)


준비물

fz750bc 2대

아두이노 Due (3.3V I/O 통신이 되어야 합니다. )

PC (아두이노 IDE와 Putty가 깔려 있어야함)



<그림 : fz750bc의 스펙>

(출처 : http://www.devicemart.co.kr/14126)





fz750은 비슷한 가격대 중에서 가장 강한 출력을 가지고 있습니다. (6dBm)

하지만, 칩 안테나가 그 중의 상당부분의 손실을 가지고 있죠...

MMCX단자를 가지고 있거나, 고감도 안테나를 만드시고 싶다면 안테나가 부착 가능한 타입을 사기를 권장합니다. 


간단하기에 만들기에는 스택보다는 MAC타입이 더 낫다고는 하지만,,,

중고로 쉽게 구할수 있는게 이 타입이라 이 타입을 구매했습니다. 



게다가 기본적으로 메쉬네트워크를 지원하며, 자동 라우팅! 이 가능하다는게 정말 큰 장점입니다.


그말인 즉슨, 거리마다 지그비를 놓는다면 먼 거리라도 통신을 할 수 있다는 말입니다. 


다만 단점이 있는데,, 메쉬네트워크를 지원하는 만큼, 자주 메세지를 보내는 것은 힘들게 됩니다.

(기기 10대당 2초정도 잡아야한다고 메뉴얼에 나와있군요)


물론 저야 1:1로 쓸꺼니깐 별 상관 없겠죠??





<그림 : fz750 핀맵>



fz750은 2.00mm의 핀간격을 가지고 있습니다.( ㅜㅜ 왜...)

일반적인 빵판의 경우 2.54mm의 핀간격을 가지고 있기 때문에,

납땜을 하거나, 다른 방법을 취해서 선을 연결해야 합니다.


fz750을 만든 회사에서는 자체 평가보드를 활용하고 있습니다만,, 따로 변환기판을 팔고 있지는 않는 것 같습니다.

그래서 그냥 수작업으로 선을 연장합니다..(테스트를 위해서 일단 uew와 스테이플러 심을 이용하여 연장했습니다. )








fz750은 기본적으로 라우터 세팅으로 되어 있습니다.


이게 뭔말인지 이해가 잘 안가시는 분들을 위해 설명을 드리자면

지그비 스택에는 3가지 모드가 있는데


1. 코디네이터 : 네트워크를 만드는 모드 ( 각 네트워크마다 단 하나밖에 있을 수 없음)

2. 라우터 : 네트워크에 가입하고, 연장하는 모드

3. 엔드 디바이스 : 네트워크에 참여만 하는 모드(저전력 모드 가능, 메세지 수신만 가능)


로 총 3개의 모드가 있습니다.


코디네이터의 경우 네트워크를 생성할 수 있는 기능을 가지며, 각 네트워크에 단 하나밖에 있을 수 없습니다.


라우터의 경우에는 코디네이터가 생성한 네트워크에 가입할 수 있으며, 다른 라우터나 엔드디바이스에 연결을 확장 할 수 있습니다.


엔드 디바이스는 원래 있던 네트워크에 참여가 가능하며, 네트워크 확장은 불가능합니다. 또한, 메세지를 받을 수는 없고 전송만 할 수 있으며, 메세지를 전송하지 않을 때에는 저전력 모드로 들어갈 수 있는 유일한 모드입니다.


코디네이터와 라우터 모드에서는 각 기기에 최대 8개 까지의 연결이 가능하므로 설계에 약간 주의를 기울어야 합니다.





이러한 이유 때문에 fz750은 기본 세팅에서 2대를 키면 제대로 통신할 수가 없습니다.

고로, 먼저 기기를 켜서 세팅을 해주어야합니다.




<그림 : 기기 연결 회로>


<소스 : 아두이노 시리얼 소스>

먼저 기기를 연결하고 Putty로 접속하고 전원을 켜면


ROUTER START 가 뜨고 좀 있다가

ERROR 가 뜹니다.


네. 매우 정상입니다.


이제putty 에 연결한 지그비 모듈을 설정해야합니다.


+++ 를 누르면 설정모드로 들어가고


AT+SETCOORD를 누르고 엔터를 치면 OK란 메세지가 나오면서 코디네이터로 변경되게 됩니다.


그리고 AT+GETLOCAL을 누르면 자기의 주소가 나오게 되는데 이 주소를 메모장에 저장해둡시다. 


마지막으로 ATZ를 누르고 엔터를 해 설정 세이브 및 재부팅을 합니다.




다음으로 다른 지그비 모듈을 연결하고, 


+++를 눌러 세팅에 진입한 다음


아까 적어둔 주소를 


AT+SETTARGET?????


?? 부분에 넣어줍시다(주소는 중간 부분에 숫자만 길~다라게 있는 그게 주소입니다.)


그리고 AT+GETLOCAL을 이용해 다시 주소를 얻고 이것을 코디네이터 지그비 모듈의 타겟으로 설정합니다.



이제 두 모듈을 전원에 연결하면 상호간에 지그비 통신이 가능해집니다!(한번에 53바이트 까지 전송 가능)



<그림 : Putty 전송 >



반응형
Comments