반응형

 

(tcp/udp #8) IoT보드를 제어할 수 있는 TCP클라이언트를 C#으로 구현해서 제어해보기!
녹칸다의 TCP, UDP통신을 위한 시리즈이다!
이번편은 직전강의에 구현한 노드레드(node-red)를 이용한 다중접속이 가능한 TCP서버를 이용해서 사물인터넷보드(wemos d1r1)을 관리하고 별도로 GUI환경에서 컨트롤 가능한 C#윈폼 TCP클라이언트를 구현해서 양방향 통신을 하는 것을 목표로 한다!
7편에서 노드레드(node-red)에서 사물인터넷보드(wemos d1r1)를 직접 컨트롤 했는데 개념상 좋지 않다!
서버는 안정된 서버로서의 역할만 충실하고 제어는 클라이언트들 끼리 하는게 더 좋다고 생각한다!
그래서 윈도우환경에서 시각프로그램을 구현할 수 있는 C#을 이용해서 TCP클라이언트를 구현한다음 사물인터넷보드에 달린 목적물을 제어하거나, 센서값을 가져와서 출력하는 형태로 진행한다!
아래와 같은 순서로 진행해보도록 하자!
1.어떻게 하면 C#윈폼으로 구현한 TCP클라이언트가 노드레드 서버에 접속되겠는가?(이미 구현되어있음)
2.노드레드(node-red) TCP서버에서 A클라이언트의 메시지를 B클라이언트에게 연결해줘야 하는 상황일때 어떻게 하면 가능하겠는가?(메시지 송수신)
3.사물인터넷보드(wemos d1r1) 3대에 각각 LED 4개가 달려있을때 C#TCP클라이언트에서 개별적으로 제어할 수 있도록 하려면 어떻게 하겠는가?
4.사물인터넷보드(wemos d1r1) 3대에 각각 광센서가 연결되어 있을때 어떻게 하면 C#TCP클라이언트에 데이터를 효과적으로 수집할 수 있을까?
5.사물인터넷보드(wemos d1r1) 3대에 각각 온습도센서(DHT11), 이산화탄소센서(MHZ19B), 미세먼지센서(PMS7003)이 연결되어 있을때 어떻게 하면 C#TCP클라이언트에게 데이터를 전송할 수있을까?
(이번편의 핵심은 서버는 중간다리 역할만하고 클라이언트간의 제어이다)

C#클라이언트샘플(#348-1)

관련라이브러리(DHT11/1.3.8)
https://github.com/adafruit/DHT-sensor-library
관련라이브러리(MHZ19B/1.1.1)
https://github.com/strange-v/MHZ19
관련라이브러리(PMS7003/1.1.0)
https://github.com/fu-hsi/pms

 

 

1.사물인터넷보드를 TCP클라이언트로 구현하고, C#윈폼 앱을 TCP클라이언트로 구성해서 서로간 메시지를 주고받는 예제!

(▼노드레드/node-red)

355-1(노드레드).txt
0.00MB

(▼사물인터넷보드/wemos d1r1)

 

355-1(사물인터넷보드코드).txt
0.00MB

(▼C#윈폼TCP클라이언트)

example355-1.zip
4.25MB

2.사물인터넷보드 3대와 C#클라이언트 3대를 준비해서 지정된 클라이언트들 끼리 통신을 할 수 있도록 하시오!

(▼노드레드/node-red)

355-2(노드레드).txt
0.00MB

(▼사물인터넷보드/wemos d1r1)

355-2-1(사물인터넷보드).txt
0.00MB
355-2-2(사물인터넷보드).txt
0.00MB
355-2-3(사물인터넷보드).txt
0.00MB

(▼C#윈폼TCP클라이언트)

example355-2.zip
4.25MB

3.사물인터넷보드 각각에 LED를 4개씩 연결하고 C#클라이언트에서 개별적으로 제어할 수 있도록 하시오!

(▼노드레드/node-red)

355-3(노드레드.txt
0.00MB

(▼사물인터넷보드/wemos d1r1)

355-3-1(사물인터넷보드).txt
0.00MB
355-3-2(사물인터넷보드).txt
0.00MB
355-3-3(사물인터넷보드).txt
0.00MB

(▼C#윈폼TCP클라이언트)

example355-3.zip
4.26MB

4.사물인터넷보드 3대에 각각 온습도센서(dht11),이산화탄소센서(mhz19b), 미세먼지센서(pms7003)을 연결하고 센서값을 C#클라이언트로 몽땅 전송해서 한화면에 출력하시오!

(▼노드레드)

355-4(노드레드).txt
0.00MB
355-4-1(온습도센서).txt
0.00MB
355-4-2(이산화탄소센서).txt
0.00MB
355-4-3(미세먼지센서).txt
0.00MB

(▼C#윈폼TCP클라이언트)

example355-4.zip
4.25MB

반응형
Posted by 덕력킹
,