[농업+IT=스마트팜] 4. 환경 데이터 수집용 센서 구축하기 (1)

이문규 munch@itdonga.com

[IT동아]

스마트팜 (smart farm): 농림축수산물의 생산 및 가공, 유통 단계에서 ICT(정보통신기술)를 접목한 지능화 농업 시스템. 사물인터넷(IoT), 빅데이터, 인공지능 등의 IT기술을 통해 농작물, 가축 및 수산물 등의 생육 환경을 적정하게 유지, 관리하고, PC나 스마트폰 등으로 원격 자동 관리할 수 있어 생산 효율성과 편리성을 높일 수 있다. (네이버 용어사전)

[연재순서]

지금 스마트팜에 대해 관심 가져야 하는 이유 - https://it.donga.com/103234/

스마트팜과 사물인터넷 알아보기 - https://it.donga.com/103310/

스마트팜 구현 솔루션 이해하기 - https://it.donga.com/103462/

환경 데이터 수집용 센서 구축하기 (1)

환경 데이터 수집용 센서 구축하기 (2)

나만의 스마트팜, 실제 구축하기 (1)

나만의 스마트팜, 실제 구축하기 (2)

연재를 마치며

요즘 코딩교육 바람이 거세다. 예전엔 관심 보이는 일부 청소년만 대상으로 교육이 이뤄졌는데, 정부가 '디지털 100만 인재 양성'이라는 목표를 내건 이후로는 여기저기 '코딩'이라는 단어가 보인다. 주로 청소년과 청년 위주의 정책이긴 하지만, 교육의 기회가 많아진다는 건 아주 반길만한 일이다.

누구나 코딩을 통해 아이디어를 실현하는 운동은 미국 MIT 대학의 미첼레스닉 교수가 주도했다고 해도 과언이 아니다. '스크래치(Scratch)'라는 블록형 코딩 도구를 만들어, 어린이도 어렵지 않게 코딩 활동으로 창의성을 기를 수 있는 교육환경을 정착시켰기 때문이다.

스크래치는 오픈소스 소프트웨어((소스를 공개하여 누구나 수정 활용 가능)인데, 덕분에 많은 기업들이 청소년을 위한 코딩 도구를 쉽게 만들 수 있게 됐다. 이에 필자도 '스태커(Stacker)'라는 스크래치 기반의 도구를 만들어, 이 글을 읽는 독자들이 쉽게 스마트팜 기기를 개발할 수 있게 꾸며봤다. 청소년뿐 아니라 스마트팜에 좀더 관심 있을 중장년층도 얼마든지 스태커를 활용해 직접 코딩할 수 있다.

하드웨어 살펴보기

이전 기고에서 잠시 스쳐듯 사진 한 장을 봤을 것이다. 스마트팜 기기에서 가장 중요한 역할을 하는 전자제어 회로부는 오픈소스로 유명한 아두이노에 확장보드를 만들어, 센서와 릴레이를 연결할 수 있는 '비트모스 아두이노쉴드(이하 비트모스 쉴드)'라는 것을 개발한 바있다. 여기서 사용할 보드가 이 비트모스 쉴드와 아두이노이다.

비트모스 아두이노 쉴드 ver.1.0
비트모스 아두이노 쉴드 ver.1.0

비트모스 아두이노 쉴드의 외형
비트모스 아두이노 쉴드의 외형

비트모스 쉴드는 자신이 원하는 센서를 다양하게 연결할 수 있지만, 기본적으로 7가지 센서를 연결가능 하도록 구성했다. 농작물에서 활용되는 센서를 중심으로 선별했는데, 이 7가지는 거의 공통으로 활용되는 센서라고 보면 된다. 통일성을 위해 7가지 센서는 바로 붙여 사용 가능하고, 좀더 익숙해지면 더 많은 센서 종류로 확장할 수도 있다.

비트모스 쉴드 호환 센서의 종류
비트모스 쉴드 호환 센서의 종류

가장 많이 활용하는 센서는 단연 온도습도 센서다. 온도와 습도 센서가 한몸체에 있어 동시에 측정이 가능하다. 조도센서도 함께 사용하는 흔한 센서다. 그리고, CO2(이산화탄소) 센서는 CO2가 중요한 작물에 적용하는데, 대표적으로 버섯 농가에서 사용하고 있다. 이처럼 다양한 센서를 농작물에 맞게 선별하여 사용하면 된다.

여기서는 지면의 제한상 가장 중요한 온도와 습도를 연결하도록 하겠다. 다른 센서의 활용은 차후 다시 다뤄보겠다.

비트모스 쉴드에는 2개의 릴레이가 장착돼 있는데, 릴레이는 220V까지 붙였다 끊었다 할 수 있는 전기 스위치다. 이를 이용하면, LED의 ON/OFF 제어나 바람을 불어넣는 선풍기 등의 ON/OFF 제어가 가능하다. 통신은 ver.1.0에서는 외장형 와이파이 모듈을 사용했으나, 지금은 아두이노의 코어에 내장된 형태의 와이파이 모듈을 사용한다. 향후 확장성이 좋고 가격이 많이 저렴해져서 부담이 없기 때문이다.

비트모스 쉴드 릴레이
비트모스 쉴드 릴레이

소프트웨어 살펴보기

소프트웨어(이하 SW)은 개발 SW을 말하는데, 아두이노의 개발환경은 공식적으로 정해져 있다. 아두이노 홈페이지(www.arduino.cc)를 방문하면 무료로 내려받을 수 있다. 다만 여기서는 필자가 자체 개발한 환경에서 프로그램밍하는 것으로 설정했다. 위에서 언급한 MIT 대학이 개발하고 배포한 스크래치에 타이니파머 SW를 개발할 수 있게 꾸며놓은 스태커에서 진행한다.

스태커의 주요 화면
스태커의 주요 화면

스태커는 블록을 얹어서 논리를 완성하는 프로그램이라, 텍스트로 개발하는 환경과 다르게 문법적 오류를 없앨 수 있다. 이는 초심자들에게 가장 어려운 문법 오류를 방지할 수 있어 개발에 좀더 집중하도록 돕는다. 이후 개발에 익숙해지면 실제 아두이노 개발환경에서 작업하길 추천한다. 변형이 좀더 쉽고 다양한 코드를 만들어 자신만의 시스템을 구축하기 좋기 때문이다.

온습도 센서 연결하기

자, 이제 첫 번째 센서기기 개발을 진행해보자. 농작물은 습도와 온도가 상당히 중요하다. 모든 생물의 기본이 그렇겠지만, 작물에 적절한 온습도를 유지하며, 때에 따라 변화를 주어야 되는 요소이기도하다. 스마트팜에서 가장 기본이 되는 센서인 것이다. 준비물은 온습도센서(DHT22모델), 비트모스 쉴드, 아두이노(ESP32버전), USB 케이블 등이다.

개발 순서는 다음과 같다.

⓵ 온습도 센서와 비트모스 쉴드 연결

⓶ 스태커에서 온습도 센서 블록 조합 및 아두이노에 업로드

⓷ 시리얼 통신으로 데이터 확인

말은 간단하지만, 정말 간단한지는 직접 해봐야 안다. 비트모스 쉴드와 아두이노를 결합하고 바로 센서를 연결한다.

온습도 센서 연결(좌)와 연결 완료된 모습(우)
온습도 센서 연결(좌)와 연결 완료된 모습(우)

센서는 D4 핀에 연결한다. 센서에는 총 3개의 케이블이 있는데, 빨간색은 전원의 +, 검은색은 전원의 - (GND), 노란색이 신호 케이블이다. 이 신호 케이블을 17번에 연결하면 된다.

온습도 센서 연결 배선도
온습도 센서 연결 배선도

소프트웨어 작성

소프트웨어는 위에서 설명한 스태커로 진행한다. 이미 스태커에는 비트모스 관련 확장블럭이 올라가 있어 바로 불러 사용하면 된다. 스태커에 들어가서 확장블럭을 가져오자.

스태커 확장블록 불러오기
스태커 확장블록 불러오기

확장블럭에는 자신이 사용할 센서를 선택해 순서대로 놓기만 하면 프로그래밍 가능하게 돼 있다. 우리가 사용할 센서는 온습도 센서이니 해당 블록만 적용하면 된다. 블록은 다음과 같이 붙여 넣는다.

온습도 센서 작동 코딩하기
온습도 센서 작동 코딩하기

이렇게 블록으로 붙여 넣으니 코딩하기도 쉽고 대략이나마 의미도 파악할 수 있다. 실제로 이를 프로그램 코드로 만들어 놓은 것을 보면, 거의 암호문 수준이니 초심자에겐 너무 어렵기만 하다.

잘 코딩되었는 지는 업로드 후 시리얼 통신으로 확인하면 된다. 시리얼 통신이란 컴퓨터와 주변장치가 상호 데이터를 주고받는 하드웨어적인 연결방법이다. 예전에 컴퓨터가 산업에 널리 적용되면서 애용되던 통신 방법 중 하나다. 이 시리얼 통신으로 온습도 데이터가 찍히는지 한번 살펴보자.

온습도 센서 작동 코딩하기
온습도 센서 작동 코딩하기

온습도 데이터가 잘 찍힌다. 시리얼 통신으로 아두이노가 보낸 온도와 습도 수치가 정확하게 기록되고 있다. 이제 이 소스를 자신의 개인 클라우드 (구글 스프레드시트 등)로 보내는 작업을 추가하면, 온습도 데이터가 차곡차곡 쌓이는 것을 확인할 수 있다.

마무리

스마트팜에 적용되는 전자회로 기기는 기능을 활용하기 위해서는 코딩 작업이 불가피하다. 최소한의 코딩 작업으로 멋진 스마트팜 기기를 만드는 건 나름대로 4차 산업혁명을 맞는 시대에 부흥하는 기술이리라. 블록형 코딩은 초심자들이 코딩으로 진입하는 아주 좋은 방법을 제시한다. 다만 마음대로 좀더 주무르고 싶다면, 코딩을 제대로 배울 필요는 있다. 일단 우리 목표는 코딩 자체는 아니니, 잘 움직이는 센서 기기를 만드는 정도면 충분하다.

지면의 한계로 코딩 환경과 코딩 방법을 좀더 구체적으로 설명할 수 없었지만, 스마트팜 센서 기기를 이렇게 만들 수 있다는 정도만 알아도 자신만의 스마트팜 꾸미기가 그리 먼 얘기는 아님을 느낄 것이다. 그 느낌만 잘 간직해도 도전할 수 있는 용기를 갖기에는 충분하다.

글 / 장선연

신기하고 새로운 기술을 접목하는 걸 좋아해서, 대학원 석사과정 때 연구실 창업을 했다가 결국 자퇴해고 현재는 일에 전념하고 있다. 기술과 예술을 접목한 미디어 아트 분야에서 대학원생 대상 강의를 진행하고 있고, 작은 메이커 스페이스도 운영 중이다.

정리 / IT동아 이문규 (munch@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.