APC220 통신 모듈을 통해 양방향의 중거리 통신을 구현해보자.
▶ 이 가이드를 따라하면
- 개방 환경에서는 1 km까지 도달하는 중거리 통신 모듈을 사용할 수 있다.
- APC220을 통한 중거리 양방향 통신을 해볼 수 있다.
▶ 먼저 읽으면 좋은 글
- Aliexpress에서 부품 저렴하게 구매하는 방법 : http://bbangpan.tistory.com/5
▶ 부품 설명 및 회로 구성
APC220은 매우 간단하게 중거리 통신을 구현할 수 있는 모듈(418Mhz~455Mhz 사용)이다. 가격은 WiFi 쉴드에 육박하지만, aliexpress에서는 그나마 $25 정도에 구매가 가능하다. 구현방식은 Serial로 한쪽에 입력해주면 반대쪽 통신 모듈의 Serial로 해당 내용이 출력된다. 그러므로 단순히 시리얼 통신만으로 네트워크를 손쉽게 구현할 수 있다. Arduino의 5V 전력만으로도 충분히 작동되며, WiFi보다 훨씬 넓은 커버리지를 제공한다. 기타 세부 소개는 http://www.dfrobot.com/index.php?route=product/product&product_id=57 를 참조하자. (단, 이 모듈은 커버리지가 넓기 때문에 국내 전파규제 사항에 해당될 수 있으니 개인적 테스트 용도 외의 사용은 자세한 조사가 필요함을 밝혀둔다)
<APC220의 모습. 양방향 통신을 위해 2개 모듈이 필요하다.>
<두개를 각각 Arduino에 연결했다. 두개 다 VCC/GND/TX/RX를 각각 5V/GND/D3/D4에 연결한다>
<좀더 가까이서 보자. 하나는 이동 가능하도록 배터리에 연결했다>
디폴트는 9600bps로 통신하도록 되어 있으므로 별다른 설정없이 아래의 소스코드를 활용해보자.
▶ 소스 코드 입력 및 구동
아래 소스를 각각 컴파일하여 업로드하고, 수신 부에는 9600bps로 시리얼 모니터를 작동시키자(CTRL+SHIFT+M).
송신 모듈 소스 원본 GitHub 링크 : https://github.com/bbangpan/bbangpan.com/blob/master/neibc_apc220_send/neibc_apc220_send.ino
http://www.bbangpan.com ----------------------------------
/* Originally posted on www.bbangpan.com
Program Description: APC220 network module (send test)
Tested on : Arduino 1.6.1, Arduino UNO R3, APC220
Copyright (c) 2015 www.bbangpan.com. All rights reserved.
This program can be used for any non-commercial purpose freely. */
#include <SoftwareSerial.h>
SoftwareSerial APC(3, 4); // RX and TX
void setup()
{
APC.begin(9600); // start serial to APC
}
void loop()
{
APC.print("H");
delay(2000);
APC.print("e");
delay(2000);
APC.print("l");
delay(2000);
APC.print("l");
delay(2000);
APC.print("o");
delay(2000);
APC.print(" world!");
delay(2000);
}
-------------------------------------------------------
수신 모듈 소스 원본 GitHub 링크 : https://github.com/bbangpan/bbangpan.com/blob/master/neibc_apc220_recv/neibc_apc220_recv.ino
http://www.bbangpan.com ----------------------------------
/* Originally posted on www.bbangpan.com
Program Description: APC220 network module (recv test)
Tested on : Arduino 1.6.1, Arduino UNO R3, APC220
Copyright (c) 2015 www.bbangpan.com. All rights reserved.
This program can be used for any non-commercial purpose freely. */
#include <SoftwareSerial.h>
SoftwareSerial APC(3, 4); // RX and TX
void setup()
{
APC.begin(9600); // start serial to APC
Serial.begin(9600);
}
void loop()
{
while(APC.available()) {
Serial.print((char)APC.read());
}
delay(1000);
}
-------------------------------------------------------
시리얼 모니터에서는 송신부에서 보내온 데이터들이 찍힌다. 읽은 캐릭터를 (char)형으로 변환하여 찍으면 보낸 문자를 그대로 읽을 수 있다.
송신부가 2초 간격으로 H,e,l,l,o,공백,world! 를 보내온다. 아래를 확인해보자. 너무도 간단하게 통신이 구현되고 있음을 확인할 수 있다.
<수신부 시리얼 모니터에 수신된 데이터>
기타 다양하게 셋팅 변경이 가능한데, 제공되는 USB 커넥터에 끼워 PC모듈을 통해 가능하다(그러나 인식 등 환경 셋팅이 쉽지 않다)
http://letsmakerobots.com/files/APC220-HowTo-by_Nosepo.pdf 를 참조하자.
▶ 구매 가이드
APC220 : http://www.aliexpress.com/premium/APC220.html? SearchText=APC220&CatId=0
▶ 강의 키워드
아두이노 중거리 네트워크, 아두이노 양방향 네트워크, APC220, RF7020, ADF7020, Arduino APC220, APC220 송수신
'아두이노 통신' 카테고리의 다른 글
[통신모듈/HC-12] 저렴하고 긴 거리 통신이 가능한 HC-12 (4) | 2020.08.22 |
---|---|
[네트워크/이더넷쉴드] W5200, W5100 칩셋을 쓴 이더넷 쉴드(Ethernet Shield)로 유선랜을 써보자 (0) | 2015.10.18 |
[통신/GPS] 위도 경도 값을 불러와 활용하는 GPS(NEO-6M) 모듈을 구동해보자 (5) | 2015.06.15 |
[통신/근거리고속] 2.4Ghz 양방향 통신을 nRF24L01 모듈로 구현하자 (11) | 2015.05.22 |
[통신/WiFi] WiFi 모든 것을 활용하는 Arduino WiFi Shield (CC3000) (17) | 2015.03.24 |
[통신/WiFi] 저가로 WiFi를 구현할 수 있는 모듈(ESP8266) (10) | 2015.03.22 |
[통신/BLE] BLE / iBeacon을 아두이노에서 구현하게 해주는 HM-10 (18) | 2015.03.13 |
[통신/블루투스] Bluetooth 2.0을 구현하는 HC-06모듈, 스마트폰과 아두이노 연동 (7) | 2015.02.16 |
[통신/근거리] 433/315Mhz 근거리 무선 송수신 통신을 아두이노(Arduino)에서 구현해보자 (8) | 2015.02.08 |