안녕하세요.

이번 대회 준비를 하면서 WizFi310 아두이노 라이브러리를 사용했습니다.

하지만 아두이노 라이브러리에는 WizFi310의 모든 기능을 지원하지 않습니다.

만일 아두이노 라이브러리에서 원하는 기능이 없다면,

WizFi310의 프로그램 가이드(http://wizwiki.net/wiki/doku.php?id=products:wizfi310:wizfi310pg:start)를 참고하세요.

가이드를 통해서 어떻게 AT통신이 이루어지고 어떤 기능이 지원되는지 확인할 수 있습니다.

그리고 여기서는 아두이노 코드로 어떻게 작성할 수 있을지에 대해서 알아볼까 합니다.

 

Wizarduino WiFi는 Hardware Serial3을 통해서 WizFi310이 연결되어 있습니다.

그러므로 Serial3을 이용해서 WizFi310과 AT통신을 할 수 있습니다.

아두이노에서 Serial3로 AT명령을 보내고 아두이노에서 Serial3로 결과를 가져오면 됩니다.

 

Serial3.begin(115200);

이 코드 한줄로 WizFi310과 통신 준비로 완료되었습니다.

 

String command = AT+WSCAN= + ssid_str;

Serial3.print(command);

위의 코드는 Serial3.print()로 AT명령을 보냅니다.

 

char buffer[512];

while (1) {

if (Serial3->available()) {

Serial3->readBytes(buffer, 512);

break;

}

}

위의 코드는 readBytes()로 최대 512byte만큼 결과값을 가져옵니다.

이렇게 가져온 결과값을 이용해서 원하는 기능을 구현할 수 있습니다.

 

아래 코드는 시리얼 모니터를 통해서 WizFi310과 AT통신 결과를 바로 확인할 수 있는 코드입니다.

#include <WizFi310.h>

char ch;
String trans;
char trans_char[20];

void setup()
{
Serial.begin(115200);   // 시리얼모니터
Serial3.begin(115200);  // WizFi310
}
void loop()
{
if (Serial.available()) {
Serial3.write(Serial.read());
}
if (Serial3.available()) {
Serial.write(Serial3.read());
}
}

 

이제 대회 기간이 정말 얼마 남지 않았네요.

다들 좋은 결과 있길 바랍니다.