Original Articles

Journal of Bio-Environment Control. 31 October 2022. 452-459
https://doi.org/10.12791/KSBEC.2022.31.4.452

ABSTRACT


MAIN

  • 서 론

  • 재료 및 방법

  •   1. 시스템 개요

  •   2. 하드웨어 구성과 시스템 구성

  •   3. 오픈 소스 프로그램

  •   4. 환경 측정 센서와 환경자료 수집

  • 결과 및 고찰

  •   1. 아두이노

서 론

최근 시설원예는 스마트팜으로 전환되고 있는데, 이러한 스마트팜 요소들 중에서 중요한 요인 중 하나는 환경 계측이다. 환경 계측에 중요한 항목으로는 온도, 상대습도, 이산화탄소, 토양 수분함량 등이 있는데, 이러한 환경 요인들은 작물의 생육에 영향을 미친다. 그렇기 때문에 이러한 환경요인들은 스마트농업에 있어서 중요한 계측 대상이 된다(Cha 등, 2016). 온도와 상대습도 같은 2가지 공기 물성을 측정할 수 있다면, 습공기 선도에 의한 노점온도와 절대습도 및 수증기압 등과 같은 물리적인 항목을 계산할 수 있다(Cha 등, 2016). 이러한 물리적인 항목들을 이용하여 온실의 환경관리를 할 수 있다. 예를 들면, 온도 및 습도 쾌적 구역은 VPD(수증기압차) 범위 0.5-1.5kPa이다(Rojano Aguilar 등, 2011). VPD 수치 범위에 따라 냉난방과 가습 및 제습과 같은 환경 제어와 제어 알고리즘을 개발할 수 있다. 계측된 환경 데이터를 사용하면, 온실 환경을 보다 효과적으로 제어할 수 있으며, 작물 수량 간의 관계를 파악할 수 있다(Li 등, 2021). 그러나 이러한 환경 모니터링 시스템을 구축하기 위해서는 전문적인 지식을 갖춘 소프트웨어 전문가가 필요하다. 최근 들어, 스마트팜 시설에서 환경 측정 및 제어 기술을 적용하기 위해 저비용이면서 간단한 계측 및 제어 시스템 설계를 위한 오픈 소스 프로그램 환경 계측 시스템에 대한 연구들은 많았다(Bitella 등, 2014; Cha 등, 2016; Chen과 Markham, 2020; Ferrarezi 등, 2015; Thalheimer, 2013).

스마트팜에 적용할 수 있는 오픈 소스 플랫폼과 프로그램으로는 아두이노(Arduino), 라즈베리 파이(Raspberry Pi), mBlock, 앱 인벤터(App Inventor), 노드 레드(Node-RED) 등이 있다. 저비용의 간단한 플랫폼과 프로그램으로는 아두이노와 앱인벤터 및 노드 레드가 있는데, 먼저 아두이노는 사용하기 쉬운 하드웨어 및 소프트웨어를 기반으로 하는 오픈 소스 전자 플랫폼이다(Arduino, 2022). 아두이노는 환경 계측 및 제어에 활용할 수 있으며, 아날로그와 디지털 신호 입출력 기능이 있다. 아두이노 우노일 경우, ATmega328P 칩은 다른 마이크로컨트롤러에 비해 교체 비용이 매우 저렴한 특징이 있다(Li 등, 2021). 농업분야에서 앱은 날씨와 시장 동향을 확인하고, 천∙측창 개폐와 관수를 제어하고, 환경요인이나 기계 활동을 모니터링하는 데 사용할 수 있는데, 추천하는 앱 저작도구로 앱 인벤터가 있다. 이러한 프로그램은 스마트폰 앱을 통해 온실의 환경 조건을 제어하고 모니터링할 수 있는 사물인터넷 기술이 활용될 수 있다. 사물인터넷 기술, 특히 센서 기술과 클라우드 서비스의 발전으로 농업은 많은 이점을 얻을 수 있다(Cao-hoang과 Duy, 2017). Cao-hoang과 Duy(2017)는 농업용 WSN(Wireless Sensor Network) 기반의 사물인터넷 시스템 구조를 제안했다. 이 시스템은 센서 노드와 게이트웨이로 구성되어 사용자가 웹 브라우저를 사용하여 농업용 환경 데이터를 모니터링하였다. 모니터링하기 위한 추천되는 사용자 인터페이스로 노드 레드 프로그램이 있다. 노드 레드 프로그램은 플로우 기반 개발 도구로 대시보드를 통해 PC로 모니터링하고 주기적으로 데이터가 자동으로 저장할 수 있다.

저가의 오픈 소스 플랫폼과 프로그램을 이용한 환경 계측 모니터링 시스템은 온실의 효율성과 수확량을 증가시킬 수 있는 잠재력이 있는 시스템으로 활용될 수 있으며, 시스템 자동화를 위한 센서의 비용과 유지 관리 비용을 감소시킬 수 있을 것이다. 그래서, 본 연구에서는 오픈 소스 프로그램인 아두이노, 앱 인벤터와 노드 레드를 이용하여 로라와 블루투스 무선 통신을 통한 환경 계측 모니터링 시스템을 설계하였다.

재료 및 방법

1. 시스템 개요

온실 환경 계측 시스템은 센서가 환경 데이터를 수집하여 사용자에게 무선 통신으로 전송하여 편리하게 농장 환경을 모니터링할 수 있는 시스템이다. 농가에 설치된 아두이노와 환경 측정 센서가 환경 데이터를 수집하고 이를 로라(LoRa)와 같은 무선통신을 이용하여 다른 아두이노에 데이터를 전송한다. 전송된 데이터는 노드 레드로 작성되어 시각화되며, Maria DB로 데이터베이스(Database, DB)화된다. 데이터의 형태는 JSON(JavaScript Object Notation) 형태로 전송된다. 전송된 데이터는 앱 인벤터로 제작된 앱에서 환경 측정값을 볼 수 있다.

2. 하드웨어 구성과 시스템 구성

본 시스템은 아두이노, 로라 쉴드, 온습도 센서, 이산화탄소 센서로 구성되어 있다. Fig. 1A(Master)에는 2종의 센서에서 현재 환경에 대한 데이터를 수집하여 아두이노에게 전달하여 준다. 그림 1B(Slave)에는 데이터를 수집한 아두이노에서 블루투스를 통해 스마트폰에 데이터를 전달하여 준다. 주의할 점은 아두이노의 5V 전원은 이론적으로 K30에 전원을 공급할 수 있지만 센서는 센서 내부의 빛을 작동시키기 위해 최소 300mA가 필요하다. 문제는 PC의 USB 포트에서 아두이노에 전원을 공급하면 K30이 아두이노, 마우스 및 USB 버스의 다른 모든 장치와 전원을 공유해야 하기 때문에, 이산화탄소 센서의 전원은 300mA 미만으로 떨어지고 제대로 작동하지 않는다. 이를 해결하는 한 방법으로 별도의 6-9VDC, 500mA 외부 전원 공급 장치로 K30에 전원을 공급하면 된다(Chen과 Markham, 2020; Marvkausch, 2022).

이 시스템의 소프트웨어는 게이트웨이 소프트웨어와 안드로이드 앱 두가지로 크게 나눌 수 있다. 게이트웨이 소프트웨어 기능을 하는 아두이노에서는 센서로부터 데이터를 전송받고 저장해 두었다가 로라 통신을 통해 서버 컴퓨터에 데이터를 전송하여 시각화하며, 서버 컴퓨터에 연결된 아두이노는 블루투스 통신을 통하여 안드로이드 앱에 데이터를 전송을 시켜주는 기능을 한다(Fig. 2).

3. 오픈 소스 프로그램

아두이노(Arduino) 프로그램에서 라이브러리로는 LoRa.h, Sensirion.h, LiquidCrystal_I2C.h와 K30_I2C.h를 사용하였다. 온습도 센서는 마스터의 아두이노의 D3과 D4에 연결하였으며, 이산화탄소 센서는 아두이노의 SDA(A4)와 SCL(A5)에 연결하였다. LCD는 아두이노의 SDA(A4)와 SCL(A5)에 연결하였다(Fig. 1A). 블루투스는 슬라브의 아두이노 D0와 D1에 연결하였다(Fig. 1B). 일정한 주기로 센서에서 환경 데이터를 받을 때, 데이터의 안정화를 위해 아래와 같은 평균값을 사용한 코딩을 사용하였다(Appendix 1).

https://static.apub.kr/journalsite/sites/phpf/2022-031-04/N0090310424/images/phpf_31_04_24_F1.jpg
Fig. 1.

Master (A) and Slave (B) of hardware configuration of Arduino and sensors through LoRa and Bluetooth communication.

노드 레드 프로그램은 IBM이 개발한 시각 프로그래밍을 위한 플로우 기반 개발 도구이며, 브라우저 기반 플로우 편집기를 제공하므로 자바스크립트 함수를 개발하는 데 사용할 수 있다. 사용자 인터페이스로 노드 레드 프로그램을 사용하였다.

앱 인벤터(App Inventor) 프로그램은 구글이 제공한 오픈 소스 웹 애플리케이션으로, 그래픽 인터페이스를 이용하여 시각 객체들을 드래그 앤드 드롭(Drag and Drop)하여 안드로이드 장치에서 실행할 응용 프로그램을 만들 수 있다. 앱 인벤터 프로그램을 이용하여 안드로이드 기반의 앱을 개발하였다.

4. 환경 측정 센서와 환경자료 수집

실험에 사용된 센서는 온습도 센서(SHT10, Adafruit Industries, NY, USA)와 이산화탄소 농도 센서(K30, CO2Meter, Inc., FL, USA)이었다. SHT10 센서 모듈은 토양 온도와 습도를 측정하는 센서로 0.5℃와 4.5% 정확도를 가졌다. 작동 온도/습도 범위는 ‒40-120℃와 0-100%이었다. K30 센서 모듈은 이산화탄소 농도를 측정하는 센서로 비분산적외선 측정 방식을 가졌다. 이 센서는 10,000ppm(1%)까지 측정할 수 있으며, 30ppm 정확도를 가졌다. 작동 온도/습도 범위는 0-50℃와 0-95%이었다.

본 시스템을 식물체가 없는 2연동의 벤로형 온실에서 바닥으로부터 1m 높이에 본 시스템 1대를 설치한 후 2022년 8월 2일부터 8월 12일까지 40초단위로 환경 측정하였다. 연속적인 환경 측정 그래프는 SigmaPlot(Ver 10.0, Systat Software, Inc., IL, USA) 프로그램을 이용하여 나타냈다.

https://static.apub.kr/journalsite/sites/phpf/2022-031-04/N0090310424/images/phpf_31_04_24_F2.jpg
Fig. 2.

System configuration of Arduino and sensors through LoRa and bluetooth communication.

결과 및 고찰

1. 아두이노

아두이노 코드 작성 후 시리얼 모니터에 출력되는 화면으로 센서에 위한 환경 자료가 잘 수집되는 것을 볼 수 있었다(Fig. 3). 데이터의 송수신을 위해 JSON 표준 형식을 사용했으며, 시리얼 모니터에 잘 표기됨을 확인하였다. JSON(JavaScript Object Notation)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷이다. 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법이다. 즉 데이터를 주고 받을 때 데이터 교환을 쉽게 하기 위함이다.

https://static.apub.kr/journalsite/sites/phpf/2022-031-04/N0090310424/images/phpf_31_04_24_F3.jpg
Fig. 3.

Serial monitor screen of Arduino by greenhouse environment monitoring system.

사용자 인터페이스는 사람들이 컴퓨터와 상호 작용하는 시스템으로, 사용자가 웹사이트나 스마트폰 앱을 통하여 원하는 정보를 쉽게 조회하거나 입력할 수 있다. 본 연구에서는 사용자 인터페이스의 하나인 노드 레드를 선택했다. 그 이유는 노드 레드는 간단한 드래그 앤 드롭 기능으로 하드웨어와 DB 구축하는데 효율성이 있기 때문이다. 노드 레드 마스터 플로우는 Fig. 4A와 같이 작성하였으며, 사용자 인터페이스는 Fig. 4B와 같다. 마스터 부분은 온습도와 이산화탄소 센서가 부착된 아두이노를 말한다. 슬레이브 부분은 마스터 아두이노의 환경 측정값을 로라 통신을 통해 데이터를 받아들이는 부분으로 플로우와 사용자 인터페이스는 각각 Fig. 4CFig. 4D이다. 데이터 DB를 작성하기 위해 MariaDB를 사용하였다. MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템으로, MySQL과 동일한 소스 코드를 기반으로 한다. 저장되는 데이터는 온도, 상대습도, 노점온도, 절대습도, 수증기압, 수증기압차와 이산화탄소 농도이다.

https://static.apub.kr/journalsite/sites/phpf/2022-031-04/N0090310424/images/phpf_31_04_24_F4.jpg
Fig. 4.

Node-RED flows: (A) Master flow send command to a sensor node, (B) Master user interface display sensed data, (C) Slave flow receive data from a sensor node, and (D) Slave user interface display sensed data.

https://static.apub.kr/journalsite/sites/phpf/2022-031-04/N0090310424/images/phpf_31_04_24_F5.jpg
Fig. 5.

The graphs of sensor nodes data from 2 August 2022, 00:00 to 12 August 2022, 11:30 (A: Temperature, B: Humidity, C: Pressure, and D: CO2 concentration).

온실에 설치한 후 환경 변화를 측정한 결과는 Fig. 5와 같다. 환경 측정값이 튀는 현상은 나타나지 않았는데, 그 이유는 일정한 주기로 센서에서 환경 데이터를 받을 때, 평균값을 사용하였기 때문이었다(Appendix 1). 다만 이산화탄소 농도 값이 공기 유동이 없는 새벽과 저녁에 변동이 심한 현상이 발생할 수 있는데, 이를 해결하기 위해 내부에 유동팬을 설치하면 공기가 혼합되어 균질화할 수 있다. Chen과 Markham(2020)도 K30 센서를 이용하여 저렴하게 시비할 수 있는 CO2 모니터링 및 제어 시스템을 개발하였는데, 본 연구에서도 농업 분야에 이러한 센서 사용은 문제가 없을 것으로 판단된다.

스마트 폰에서 환경데이터를 모니터링하기 위해 앱 인벤터 프로그램을 이용하여 안드로이드 기반의 앱을 개발하였다(Fig. 6).

https://static.apub.kr/journalsite/sites/phpf/2022-031-04/N0090310424/images/phpf_31_04_24_F6.jpg
Fig. 6.

Screens Designer (A) and Blocks (B) of MIT App Inventor 2.

온습도 센서와 이산화탄소 센서, 아두이노를 이용하여 환경 데이터를 로라 통신을 통해 수신받고, 사용자는 환경 요인들에 대해 데이터화하는 농장 환경 모니터링 시스템을 설계하였다. 이를 통해 고비용으로 진입 장벽을 높은 스마트팜의 도입이 조금 더 저렴하고 쉽게 도입 가능할 것이라고 예상된다. 추후 스마트팜의 비용을 최소화하기 위해 여러 개의 팜이 공동의 서버를 이용하는 것이 필요하며, 센서를 통해 수집한 다양한 정보를 저장하고 관리하는 기능이 필요할 것이다. 또한 데이터 분석과 예측 프로세스를 통합할 수 있는 농업 클라우드 플랫폼을 개발이 필요할 것이다. 따라서, 향후 연구에서는 센서를 통해 수집한 다양한 정보를 체계적으로 저장하고 관리하는 방법과 데이터를 해석하는 방법 및 SMS 메시지를 보내는 경고 시스템에 대해 연구할 예정이다.

Appendix 1.

for (int i = 0; i < 100; i++) {
tempSensor.measure(&temperature, &humidity, &dewpoint);
rc = k30_i2c.readCO2(co2);
sum_temperature = sum_temperature + temperature;
sum_humidity = sum_humidity + humidity;
sum_dewpoint = sum_dewpoint + dewpoint;
sum_co2 = sum_co2 + co2;
delay(10);
}
temperature = sum_temperature / 100;
humidity = sum_humidity / 100;
dewpoint = sum_dewpoint / 100;
co2 = sum_co2 / 100;

Acknowledgements

본 결과물은 농림축산식품부 및 과학기술정보통신부, 농촌진흥청의 재원으로 농림식품기술기획평가원과 재단법인 스마트팜연구개발사업단의 스마트팜다부처패키지혁신기술개발사업의 지원을 받아 연구되었음(421001032WT011).

References

1
Arduino 2022, What is Arduino? Available via. https://www.arduino.cc Accessed 10 August 2022.
2
Bitella G., R. Rossi, R. Bochicchio, M. Perniola, and M. Amato 2014, A novel low-cost open-hardware platform for monitoring soil water content and multiple soil-air-vegetation parameters. Sensor 14:19639-19659. doi:10.3390/s141019639 10.3390/s14101963925337742PMC4239887
3
Cao-hoang T., and C. N. Duy 2017, Environment monitoring system for agricultural application based on wireless sensor network. 2017 Seventh Inte Conf Inf Sci Technol (ICIST) 2017. pp 99-102. doi.:10.1109/ICIST.2017.7926499 10.1109/ICIST.2017.7926499
4
Cha M.K., Y.A. Jeon, J.E. Son, S.O. Chung, and Y.Y. Cho 2016, Development of a greenhouse environment monitoring system using low-cost microcontroller and open-source software. Hortic Sci Technol 34:860-870. (in Korean) doi:10.12972/kjhst.20160090 10.12972/kjhst.20160090
5
Chen H., and J. Markham 2020, Using microcontrollers and sensors to build an inexpensive CO2 control system for growth chambers. Appl Plant Sci 8:e11393. doi:10.1002/aps3.11393 10.1002/aps3.1139333163292PMC7598886
6
Ferrarezi R.S., S.K. Dove, and M.W. van Iersel 2015, An automated system for monitoring soil moisture and controlling irrigation using low-cost open-source microcontroller. HortTechnology 25:110-118. doi:10.21273/HORTTECH.25.1.110 10.21273/HORTTECH.25.1.110
7
Li H., Y. Guo, H. Zhao, Y. Wang, and D. Chow 2021, Towards automated greenhouse: A state of the art review on greenhouse monitoring methods and technologies based on internet of things. Comput Electron Agric 191:106558. doi:10.1016/j.compag.2021.106558 10.1016/j.compag.2021.106558
8
Marvkausch 2022, Measure CO2 levels with Arduino and K-30 sensor. Available via https://www.instructables.com/Track-CO2-Carbon-Dioxide-Levels-With-Ardunio-and-C Accessed 26 July 2022
9
Rojano Aguilar A., R. Salazar Moreno, I. López, W. Ojeda, U. Schmidt, and C. Huber 2011, Temperature and humidity as physical limiting factors for controlled agriculture. Acta Hortic 893:503-507. doi:10.17660/ActaHortic.2011.893.50  10.17660/ActaHortic.2011.893.50
10
Thalheimer M. 2013, A low-cost electronic tensiometer system for continuous monitoring of soil water potential. J Agric Eng 44:114-119. doi:10.4081/jae.2013.e16 10.4081/jae.2013.e16
페이지 상단으로 이동하기