반응형

 

(#8_워터펌프/유량센서/수위센서 제어) MQTT와 ESP8266(WEMOS D1R1)을 이용한 사물인터넷(IoT) 원격제어 시리즈
-이번 시리즈는 사물인터넷(Iot)의 가장 바람직한 형태라고 생각하는 부분이다!(녹칸다 피셜)
-먼저 C#윈폼 단독으로는 사물인터넷이라는 개념이 생기지 않으므로 아두이노쪽과 연계를 해서 진행한다!
-사물인터넷이란 "어머 이런것 까지 인터넷에 연결되어있어?"라고 할 정도로 작은 보드에게까지 인터넷을 연결해주는 것을 의미한다!(녹칸다 피셜)
-아두이노는 인터넷에 연결되는 기능이 없어서 추가적인 모듈을 연결해야하는데 대표적인것이 ESP8266이다!
-그러나 아두이노와 ESP8266을 직접 연결해서 사용하기에는 사용상의 불편함이 있다!
-그래서 아두이노와 ESP8266을 합쳐놓은 형태의 사물인터넷 전용 보드인 WEMOS D1R1 이라는 보드를 활용한다!
-C#윈폼과 사물인터넷보드간 데이터를 주고받는 방법은 MQTT로 한다!
-MQTT란 서버역활을 하는 MQTT 브로커를 중간에 두고 클라이언트간에 단문 메시지를 주고 받는 형태이다!
-웹서버와 웹클라이언트 통신과 차이가 있다면 MQTT는 웹서버에 대해서 고민할 필요가 없다!
-(무료로 활용할 수 있는 MQTT 브로커를 활용한다는 가정하에~)
-C#윈폼과 사물인터넷보드(wemos d1r1)를 MQTT 클라이언트로 세팅한다!
-2개의 클라이언트가 같은 TOPIC을 공유하게 될때 PAYLOAD를 주고 받을 수 있다!(용어에 익숙해지자)
-간단히 생각하자면 A학생과 B학생이 있는데 같은 사물함을 사용하면 물건을 주고 받을 수 있다는 의미이다!
-이번편은 3대의 사물인터넷보드(wemos d1r1)를 준비해서 각각 모터펌프, 유량센서(플로우센서), 비접촉수위센서를 연결한다!
-모터펌프는 릴레이(모스펫)을 이용해서 ON/OFF제어를 C#윈폼에서 publish하는 MQTT메시지를 이용하여 제어한다!
-유량센서(YF-S401)는 워터펌프가 펌프질한 물의양을 측정해서 일정한 주기로 MQTT메시지를 publish해서 C#윈폼에 누적토출량을 출력한다!
-비접촉수위센서(XKC-Y25-V)는 워터펌프의 물통에 부착해서 최저수위가 감지되었을때 C#윈폼에 MQTT메시지를 publish해서 물이 부족하다는것을 알 수있도록 해보자!

 

C# MQTT 라이브러리 사용법 요약

C#에서 MQTT사용하는 기본코드.txt
0.00MB


C#프로젝트

example111.zip
1.18MB


사물인터넷보드용 코드

C#111-1.txt
0.00MB
C#111-2.txt
0.00MB
C#111-3.txt
0.00MB

(레퍼런스 강의/아두이노#217)

https://bota.tistory.com/1460

관련라이브러리(pubsubclient)

https://pubsubclient.knolleary.net/

반응형
Posted by 덕력킹
,