개당 5천원 정도 하는 무선 모듈 (최대한 거리 1000미터 (1킬로 @ 5000 BPS)).
두개 이상을 한조가 묶어서 작동할수 있음.(Channel)
현재 5개를 사서 실험중. 실험 성공후 5개 추가 주문.
두 장비간 기초 연결 성공,
양방향 무선 통신 성공,
근거리에서는 고속(115200 BPS) 통신도 잘 작동함.
(*) 모듈의 통신속도를 변경하려면 컨트롤모드에서 변경해야함. 기본은 9600 BPS임.
현재 추가 실험중.
거리 측정 실험을 나중에 할 예정.
현재까지는 근처 이곳 저곳 돌아다니며 한 100메타정도는 작동 확인함.
(목표 : 500 미터) - 스펙상 1 킬로미터가 가능하다지만
건물이 많은 도시에서는 500미터도 힘들것같음.
한쪽은 Arduino NANO Expansion Board의 Serial에 연결. 다른 쪽은 PC의 USB에 RS232 모듈에 연결. (참고 : Arduino 보드에 연결할때 3V+ 에서 나오는 파워가 부족하기(200mA 이하) 때문에 5V+에 연결했는데 타지 않고 잘 됬음. 원래는 Power converter 로 3볼트로 낮춰야 함)
맨 오른쪽 라인(SET)을 그라운드(GND)를 연결하면 컨트롤 모드로 들어감. (AT Command 용)
맨 오른쪽 라인(SET)이 아무런 연결이 안되있으면 정상적인 통신 모드로 작동함.
컨트롤 모드에서 AT+RX를 치면 다음과 같이 현재 세팅이 나옴.(Factory Default)
다음은 데모 코드를 약간 수정해서 내가 보내는 메세지를 다시 보내게 만들었음.
(ㅂ양방향 통신 확인용)
현재 보드의 SERIAL로 연결해서 위 코드에서는 SoftwareSerial은 사용하지 않고 있음.
프로그램 업로드할때는 무선으로는 작동 안 함. 업로드시 반드시 USB케이블을 사용해야 함.
프로그램이 실행중에는 USB케이블을 빼도 마치 연결된 것처럼 작동함.
양방향 통신 확인용 최소한의 코드 (Arduino IDE 사용) :
void setup()
{
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect.
}
Serial.println("Calling PC!");
}
void loop() // run over and over
{
if (Serial.available())
Serial.write(Serial.read());
}