[아두이노#359] (tcp/udp #12) IoT보드(wemos d1r1)을 C# TCP클라이언트로 제어해보기2(양방향)!(녹칸다/포로리야공대가자)
프로그래밍/TCP&UDP 2021. 10. 7. 23:03
(tcp/udp #12) IoT보드(wemos d1r1)을 C# TCP클라이언트로 제어해보기2(양방향)!
녹칸다의 TCP, UDP통신을 위한 시리즈이다!
이번편은 9편에서 구현한 노드레드(node-red)서버를 이용해서 사물인터넷보드(wemos d1r1)와 C#클라이언트간의 제어를 목적으로 한다!
클라이언트가 클라이언트를 제어하는 것이다! (서버를 통해 전달 받은 데이터로~)
사물인터넷보드(wemos d1r1) 3대를 C# TCP클라이언트 1대로 제어해보자!
아래와 같은 내용으로 여러가지 쓸만한 예제를 구현해보도록 하자!
(공통) 서버와 접속상태를 LED로 표현하시오!
1.사물인터넷보드 3대에 각각 버튼 2개와 LED 2개씩을 연결하고 버튼을 눌렀을때 각자의 LED가 제어되도록한다. 이때 C# 클라이언트가 사물인터넷 보드 3대를 원격제어하는데 현재 LED의 상태를 받아와서 화면에 출력하고 버튼을 누르면 원격지 LED가 점멸되도록 하시오!
2.사물인터넷보드 3대에 각각 FND모듈과 부저를 1개씩 연결한다! C#클라이언트에서 사물인터넷보드 3개에 PC의 시간을 전송해서 FND모듈에 출력할 수 있도록 한다! C#클라이언트에서 각 보드에 알람시간을 업데이트하고 보드들은 알람이 설정되었을 경우 해당 시간이 되면 지정된 시간동안 비프음을 작동시킨다!
3. 사물인터넷보드 3대에 각각 버튼 2개와 서보모터를 1개씩 연결하고 버튼을 누르면 서보모터의 각도가 올라가거나 내려가도록 하시오! 이때 C# 클라이언트가 개별적으로 서보모터의 각도를 원격제어하고 제어된 각도값을 화면에 출력되도록 하시오!
4. 사물인터넷보드 3대에 각각 광센서(CDS)와 부저를 연결하고 광센서의 값을 C#클라이언트로 전송하시오! 이때 C#클라이언트에서 사물인터넷보드에게 광센서값의 임계값을 전송해주고 광센서값이 임계값 이상이 되었을때 부저가 울릴 수 있도록 디자인 하시오! 부저가 작동중이면 C#클라이언트에도 상태를 표현하시오!(경고 상황이라던지)
(예제순서)
1.C# TCP클라이언트와 IoT클라이언트가 상호간 메시지를 송수신하는 예제!
2.IoT보드 3대를 이용해서 버튼2개와 LED1개씩을 연결하고 C#클라이언트와 양방향 통신으로 제어하는 예제!
3.IoT보드 1대에 서보모터와 버튼2개를 연결하고 C#클라이언트와 양방향 통신으로 제어하는 예제!
4.IoT보드 1대에 릴레이와 버튼2개를 연결하고 C#클라이언트와 양방향 통신으로 제어하는 예제!
5. 사물인터넷보드 3대에 각각 광센서(CDS)와 부저를 연결하고 광센서의 값을 C#클라이언트로 전송하시오! 이때 C#클라이언트에서 사물인터넷보드에게 광센서값의 임계값을 전송해주고 광센서값이 임계값 이상이 되었을때 부저가 울릴 수 있도록 디자인 하시오! 부저가 작동중이면 C#클라이언트에도 상태를 표현하시오!(경고 상황이라던지)