[아두이노#350] (tcp/udp #3) IoT보드와 C#윈폼을 UDP통신으로 제어하기!(녹칸다/포로리야공대가자)



[아두이노#350] (tcp/udp #3) IoT보드와 C#윈폼을 UDP통신으로 제어하기!(녹칸다/포로리야공대가자)

[아두이노#350] (tcp/udp #3) IoT보드와 C#윈폼을 UDP통신으로 제어하기!(녹칸다/포로리야공대가자)

https://bota.tistory.com/1725
(tcp/udp #3) IoT보드와 C#윈폼을 UDP통신으로 제어하기!(녹칸다/포로리야공대가자)
녹칸다의 TCP, UDP통신을 위한 시리즈이다!
주요 내용은 인터넷에 접속가능한 사물인터넷보드(wemos d1r1)에서 생산된 정보나 제어를 하기 위해서 TCP, UDP통신을 사용해보는 것이다!
기존 녹칸다의 예제에서는 HTTP통신이나 MQTT를 주요내용으로 하였으나 상황에 따라서 TCP, UDP통신을 활용해야 할 때도 있다!
무엇을 사용하는게 옳냐기 보다는 상황에 따라 적절한 방식을 적용할 필요가 있다!(사실 녹칸다도 잘 모르는 분야임)
인터넷 통신은 기본적으로 서버와 클라이언트간의 통신이다!
이때 TCP통신은 서버와 클라이언트의 연결을 담보로 하고 진행되는 통신이고 UDP는 네트워크 안에 있는 디바이스들 끼리 수신자와 발신자의 정보를 이용해서 연결하지 않고 주고받는 방식이다!
그러므로 TCP통신은 서버와 클라이언트가 구체적인 반면 UDP는 서버와 클라이언트의 경계가 모호하다!
아무튼 기본 설명은 이정도로만 달아놓고 자세한 내용은 영상으로 남겨보도록 하자!
이번편에서는 IoT보드와 C#윈폼이 UDP통신을 하도록 한다!
UDP통신은 서버와 클라이언트간의 개념이 모호하다!
일단 통신라인이 생성되면 주고 받는자 간의 식별자를 이용해서 구분을 하게된다!
TCP는 연결을 한다음 데이터를 주고받는 반면 UDP는 주고받는 메시지 앞뒤로 누가 누구에게 보낸다는 것을 추가하기 때문에 헤더가 푸터가 TCP보다 크다!
아래와 같은 순서로 진행해보도록 하자!
1.토대가 되는 기본예제를 활용해서 IoT보드와 C#윈폼을 구현하고 메시지를 주고받는 예제를 만들어보자!(단방향/양방향)
2.사물인터넷보드에 LED가 1개 연결되었을때 어떻게 제어를 할 수 있을지 알아보자!
3.사물인터넷보드에 LED가 4개 연결되었을때 어떻게 제어를 할 수 있을지 알아보자!
4.사물인터넷보드에 버튼이 2개 연결되었을때 버튼이 눌려진 상황을 UDP통신으로 전송해보자!
5.사물인터넷보드에 간단한 광센서를 연결하고 UDP통신으로 전송해보자!
6.사물인터넷보드에 온습도센서(DHT-11)을 연결하고 UDP통신으로 전송해보자!

wemos d1r1의 UDP는 아래 예제를 기본으로 함!
예제 / ESP8266WiFi / UDP
C#윈폼의 UDP는 아래 예제를 기본으로 함!
https://docs.microsoft.com/ko-kr/dotnet/api/system.net.sockets.udpclient?view=net-5.0 .