반응형

 

(MYSQL저장#15) 스마트팜/생장모니터링/WEMOS D1R1와 MQTT를 이용한 데이터 수집!(녹칸다/포로리야공대가자)
-여기서 부터는 MYSQL이 설치가 되어있어야 진행이 가능하다!
-C#에서 MQSQL과 연결하기 위한 커넥터 라이브러리를 설치한다!
-커넥터 라이브러리는 시리즈에서 항상 설치과정을 보여주고 시작한다!
-그러나 전체 프로젝트 용량이 50메가 정도 되어서 업로드 할때는 라이브러리 파일을 삭제하고 업로드한다(블로그 파일용량 10메가 제한)
-녹칸다가 삭제한파일을 다시 복구하는 방법에 대해서 매 시리즈마다 설명을 추가한다!
-이번편은 사물인터넷보드(WEMOS D1R1/ESP8266)를 이용해서 무선인터넷(WiFi)로 데이터를 수집하는 것을 목표로 한다!(아두이노가 아님에 주의하자)
-무선공유기를 이용해서 네트워크를 형성하므로 기존(1~12)에 진행된 예제와 비교했을때 공간적 제약이 없어진다!
-무선공유기로 사물인터넷보드 여러개를 네트웍으로 묶어두면 C#클라이언트는 지구 반대편에 있어도 데이터를 수집할 수 있다!
-사물인터넷보드(WEMOS D1R1)는 MQTT클라이언트로 동작시키고 MQTT를 이용해서 데이터를 송수신 하도록 한다!
-C#윈폼 어플리케이션도 MQTT클라이언트로 동작시키고 MQTT를 이용해서 사물인터넷보드를 제어한다!
-사물인터넷 보드에서 생산된 정보를 데이터베이스(database)인 MYSQL에 저장해보자!
-이번편은 비닐하우스에서 식물을 키우는데 필요한 센서와 모듈을 활용해서 시뮬레이션 해보는 것이다!
-실생활에서 비닐하우스안에 식물을 모니터링한다고 하면 토양의 습도는 식물주변에서 측정해야하고 공기의 온도와 습도는 비닐하우스내 공중에 있어야 할 것이고 광량 측정을 위한 광센서(CDS)도 공중에 있거나 식물 곁에 있던가 해야할 것 같다!
-아무튼간 녹칸다가 생각하는 심화편의 중점적인 내용은 우리가 실생활에서 아두이노를 활용하자면 큰공간임을 고려해야한다는 것이다!
-식물주변에서 토양의 습도를 측정할 수 있는 센서를 사물인터넷 보드 1대로 모듈화 하고 사물인터넷보드 A라고 해보자!
-광량을 측정할 수 있는 광센서(CDS)를 사물인터넷보드 1대로 모듈화 하고 사물인터넷보드B라고 해보자!
-공중에서 비닐하우스내 공기의 온도와 습도, 이산화탄소농도를 측정할 수 있도록 온습도센서(DHT-11)와 이산화탄소센서(MH-Z19B)를 사물인터넷보드 1대로 모듈화 하고 사물인터넷보드C라고 해보자!
-그리고 데이터베이스와 C#윈폼이 설치되어있는 PC와 사물인터넷보드A, 사물인터넷보드B, 사물인터넷보드C를 MQTT로 묶어보자!
-C#윈폼에서 사물인터넷보드에 MQTT를 이용하는 예제는 과거의 녹칸다가 기반을 다져놓은 상태기 때문에 그렇게 어렵지 않을듯하다!
-C#윈폼에서 사물인터넷보드A와 사물인터넷보드B가 publish하는 센서데이터를 수집하고 데이터베이스인 MYSQL에 저장한다!
-마무리도 MYSQL에 저장된 데이터를 추출해서 결과를 출력해보자!

 

실습용 SQL파일

example138.sql
0.04MB


C#프로젝트
(MYSQL관련 파일이 용량이 커서 업로드 용량제한 때문에 삭제하고 업로드)
(빈프로젝트에 MYSQL 라이브러리 다운받고 실습프로젝트에 붙혀넣으면 될듯!)
(아래 경로안에 있는 파일 전부다 복붙!)
/packages

example138.zip
2.21MB

C#에서 MYSQL 사용하는 기본 코드

SQL기본구문(C#).txt
0.00MB


mqtt가이드

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


아두이노코드

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



 

아두이노관련라이브러리(pubsubclient)

https://pubsubclient.knolleary.net/

아두이노 레퍼런스코드(#135)

https://bota.tistory.com/1584

반응형
Posted by 덕력킹
,