반응형

 

(NODERED#23) 초고난도/Node-red 스마트팜과 데이터베이스(MYSQL) (사물인터넷IoT와 MQTT를 이용한 시리즈)
-녹칸다의 윈도우버전 NODERED를 사물인터넷보드(Wemos d1r1/esp8266)와 MQTT로 연결해서 활용해보는 시리즈이다!
-이번 시리즈는 향후 라즈베리파이에서 NODERED를 활용할때 참조자료로 활용한다!
-참고로 녹칸다는 NODERED를 잘하지는 못하고 흥미유발을 위한 기본적인 기능만 사용할 예정이다!
-NODERED를 활용하면 웹서버가 생성되고 스마트폰을 이용해서 아두이노와 소통할 수 있는 예제를 간단히 구현할 수 있다!(웹UI를 제공한다)
-더 수준높은 기능을 구현하려면 직접 찾아보고 응용해보면 될 것같다!(진입장벽을 낮춰주고자 하는 것이다!)
-이번편에서는 node-red과 사물인터넷보드(Wemos d1r1)와 데이터베이스(MYSQL)를 이용해서 스마트팜을 구현하는 것이다!
-사물인터넷보드(Wemos d1r1) 4개와 아두이노우노보드 1개를 이용해서 극복해보고자 한다!
-첫번째 사물인터넷보드를 세팅하는게 제일 초고난도 종합예술이라고 볼 수 있다!
-사물인터넷보드에 I2C슬레이브로 아두이노 우노보드를 연결하고 아두이노에 토양습도센서, 광센서, 방수프로브온도센서를 연결한다!
-센서데이터를 우노보드에서 사물인터넷보드로 넘긴다음 JSON형태로 MQTT로 node-red쪽으로 데이터를 넘겨보자!
-(첫번째 사물인터넷보드는 식물이 있는 화분 근처에 있다고 본다)
-두번째 사물인터넷보드는 대기상태를 모니터링 하는 것이고 온습도센서(DHT11)와 이산화탄소센서(MH-Z19B)를 연결한다!
-마찬가지로 MQTT를 이용해서 node-red쪽으로 넘긴다!
-세번째 사물인터넷보드는 워터펌프와 유량센서(YF-S401)를 연결해서 펌프를 node-red로 제어하고 펌프의 토출량을 node-red로 넘긴다!
-네번째 사물인터넷보드는 비접촉수위센서(XKC-Y25-V)를 2개 연결해서 물탱크의 상태를 node-red로 넘긴다!
-시나리오는 아래와 같다!
-첫번째와 두번째 보드는 식물의 생육환경을 모니터링하는 파트이고 node-red에서 데이터를 받은다음 데이터베이스(database)인 MYSQL에 저장한다!
-세번째 보드는 node-red에서 식물에 주고자하는 물의양을 MQTT로 전송받아서 펌프질한뒤 실제로 옮긴 물의양을 node-red로 넘겨서 DB에 기록한다!
-이때 물탱크의 물의양이 부족하다면 펌프를 멈추고 옮긴양 만큼만 리포트 해야한다!
-네번째 보드는 물탱크의 수위상태를 node-red로 보고하는 한편 세번째 보드에 물탱크의 상태를 공유해야한다!
-MYSQL에 기록된 식물의 센서정보를 꺼내어서 볼 수 있도록 해보자!
-node-red를 이용해서 급수시스템을 제어해보자!

 

(데이터베이스 MYSQL 덤프 파일)

arduino287.sql
0.18MB

(사물인터넷 보드 4종 코드)

287-1-1.txt
0.00MB
287-1-2.txt
0.00MB
287-1-3.txt
0.00MB
287-1-4.txt
0.00MB

(Node-red 플로우)

287-1-flow.txt
0.02MB

생육모니터링(C#윈폼138)

https://bota.tistory.com/1592

펌프&유속센서(아두이노188)

https://bota.tistory.com/1428

수위센서(C#윈폼139)

https://bota.tistory.com/1593

반응형
Posted by 덕력킹
,