WizFi250으로 2개 이상의 디바이스에게 데이터를 동시에 전송하고자 할 때의 예제에 대한 포스팅입니다. (전송하고자 하는 디바이스들이 로컬망에 있고, 데이터는 UDP로 전송해도 되는 데이터라고 가정합니다)
WizFi250(192.168.3.104) : UDP로 다수의 디바이스에게 데이터를 전송하고자 하는 장치
PC A(192.168.3.105) : WizFi250으로부터 데이터를 수신하는 장치
PC B(192.168.3.106) : WizFi250으로부터 데이터를 수신하는 장치
테스트에 사용된 UDP 프로그램은 Hercules를 사용하였습니다.(
☞Hercules 다운로드 받기) WizFi250에서는 AT+SSEND 명령어를 이용하여, PC A, PC B에 각각 데이터를 보낼수도 있고, Broadcast Address를 이용하여 PC A와 PC B에 동시에 데이터를 보낼 수도 있습니다.
[sourcecode language="plain" 1="[OK"]
AT+WSEC=0,,12345678
[OK]
at+WNET=1
[OK]
AT+WJOIN
Joining : WizFiDemoAP
Successfully joined : WizFiDemoAP
[Link-Up Event]
IP Addr : 192.168.3.104
Gateway : 192.168.3.1
[OK]
(자, AP 접속은 이제 완료가 되었고....)
AT+SCON=O,USN,,,3030,0
[CONNECT 0]
[OK]
(WizFi250은 UDP Port 3030을 열고 대기하고 있다.)
{0,192.168.3.105,3031,19}Hello UDP Broadcast
(PC A 192.168.3.105로부터 19 Byte의 데이터가 수신되었다.)
{0,192.168.3.106,3031,21}Hello UDP Broadcast 2
(PC B 192.168.3.106로부터 21 Byte의 데이터가 수신되었다.)
AT+SSEND=0,192.168.3.105,3031,5
[0,192.168.3.255,3031,5]
[OK]
(WizFi250이 PC A 192.168.3.105에게 5 Byte의 데이터 "HELLO"를 송신하였다.)
AT+SSEND=0,192.168.3.106,3031,5
[0,192.168.3.255,3031,5]
[OK]
(WizFi250이 PC B 192.168.3.106에게 5 Byte의 데이터를 송신하였다.)
AT+SSEND=0,192.168.3.255,3031,6
[0,192.168.3.255,3031,5]
[OK]
(WizFi250이 PC A와 PC B에게 6 Byte의 데이터 "Hi ALL"을 송신하였다.)
[/sourcecode]
아래는 PC A의 테스트 화면입니다.
위의 방법으로 PC B에서도 동일한 결과를 얻을 수 있습니다.
이러한 UDP Broadcast 기능을 활용하시면 스피커와 같응 어플리케이션에 좀더 효과적으로 데이터를 전달할 수 있습니다.
☞ 출처 : Steve Kim's IoT WiFi This+