본문 바로가기 본문 바로가기용 링크

자료실

필수입력 표시는 필수입력 항목입니다.

제목 [신소재 신문 연재기고(3)]황태진 한국생산기술연구원 수석연구원 - 제조공정 인공지능 적용, 데이터 확보부터 응용까지(3)
작성자 문경일
작성일시 2022-10-27 14:29:21 조회수 807
  • 첨부파일 없음
내용

IoT 센서 패키지 HW/SW 개발 및 데이터 송수신

 

 

시스템·PCB 제작법 인터넷 무료 공개, 케이스는 3D프린팅 쉽게 제작

 

 

연재 순서

1. 제조 중소·중견기업 인공지능 기술개발

2. 제조공정 데이터 취득(DAQ) 시스템 개발

3. IoT 센서 패키지 HW/SW 개발 및 데이터 송·수신

4. 데이터 전처리

5. 제조업 인공지능 적용

6. 인공지능 데이터 및 알고리즘 유형

7. 디지털 트윈 구축 및 HW/SW 개발 적용

8. 시계열 데이터 인공지능 학습 (예)

9. 이미지 데이터 인공지능 학습 (예)

 

10. 뿌리 제조기업의 공정지능화 과제

 

 

4차 산업혁명시대에 산업 생태계가 급격히 변화하는 시점에서 빠른 연구개발(R&D) 및 사업화를 위한 제조업계의 디지털 전환은 경쟁력 향상을 넘어 생존 문제로 직결되고 있다. 이미 해외 선진국들은 컴퓨터 시뮬레이션을 통한 가상 제조기술 및 인공지능(AI)과 빅데이터 등을 활용한 오픈 플랫폼을 구축해 활용하고 있는 반면 우리나라는 데이터 축적부터 어려움을 겪고 있는 상황이다.
한국생산기술연구원에서는 5년여 동안 내·외부 전문가 학습, 단계별 기술 자체개발 및 검증을 통해 지속적으로 개선되고 있는 제조분야 인공지능 기술을 바탕으로 중소·중견기업의 제조업 인공지능 기술적용을 위한 연구를 해왔다. 본지는 이러한 연구결과를 총 10회에 걸친 연재기고를 통해 제조공정에 인공지능을 적용하기 위한 방법을 전달하고자 한다. 이를 통해 보다 많은 기업들이 쉽고 편하게 데이터 취득시스템을 개발·설치하고, 데이터 입출력 부분을 셀프 코딩하며, 송수신, 데이터 전처리 등을 거친 효과적인 인공지능 알고리즘을 통한 학습 및 검증을 통해 자사의 문제들을 풀어감으로써 제조기술 지능화에 한 발짝 다가가길 기대한다.

 

■사물인터넷(IoT) 센서 시스템을 위한 통신 모듈

공정 상황을 확인할 수 있는 DAQ(데이터 수집)가 준비되었다면, 이제는 데이터를 모아보자. 사물인터넷을 이용해서 데이터를 모으려면 센서가 인터넷에 연결되어야 한다. 복잡한 이야기를 간단하게 하면, 센서가 와이파이(WiFi)에 연결되게 하는 것이다. 복잡하다고 한 것은 인터넷에 연결하는 기술이 꽤 여러가지가 있기 때문이다.

 

또한 이들 모두가 한결같이 이해하기 어려울 수도 하다. 하지만 돌고 돌아 결국에는 와이파이를 이용하는 것으로 귀결될 가능성이 크다. 와이파이가 인터넷 연결에 가장 많이 사용되기 때문이다. 그러니 여기서는 와이파이를 이용해서 IoT 센서 시스템을 구현하는 방법에 대해서만 간단히 소개하고자 한다.

 

▷아두이노를 이용한 WiFi

센서를 연결한 아두이노가 있다면, 이걸 그저 와이파이에 연결하기만 하면 IoT 시스템이 되지 않겠는가? 거칠게 들리지만 아주 합리적인 접근이다. 아두이노를 와이파이에 연결해주는 쉴드(Shield)는 쉽게 구할 수 있다. 쉴드는 아두이노에 삽입해서 기능을 추가해주는 부가장치 보드를 말한다.

 

아두이노와 센서, 그리고 쉴드를 포함하면 적정 가격으로 IoT 센서를 만드는 것이 가능하다. 인터넷에서 "아두이노", "IoT 센서", "쉴드" 등의 검색어를 조합해서 검색하면 어떻게 만드는지 알려주는 사이트를 쉽게 발견할 수 있다. 물론 마우스가 잘 안 갈 수도 있다. 하지만, 겁내지 말고 클릭해보자.

 

▷아두이노의 대안 - 더 간편하게

아두이노와 쉴드의 조합 말고도, 센서를 연결해서 손쉽게 와이파이에 연결하게 해주는 다른 종류의 MCU(Microcontroller Unit)도 여럿 나와있다. MCU 자체에 통신기능이 내장된 것들인데, 대표적인 것이 ESP 시리즈(ESP12E, ESP32 등)이다. 자연스럽게 IoT 센서 시스템이 간단하면서 작아지고, 또 전력소모도 줄일 수 있다. ESP32는 와이파이 기능은 물론 블루투스(Bluetooth) 통신기능도 함께 가지고 있다. 그리고 이들 MCU들은 모두 아두이노처럼 C++를 이용해서 프로그램 할 수 있다.

 

아두이노만 사용할 줄 안다면, 새로 배워야 할 것은 없다. 와이파이와 블루투스 두가지 통신기능을 모두 제공하면서, 아두이노보다도 속도가 훨씬 더 빠른 ESP32에 센서를 탑재하면 IoT 센서 시스템 프로토 타입이 된다. 온도센서 전류센서, 진동센서, 음향센서, 미세먼지센서 등을 탑재한 IoT 센서는 제조현장의 각종 공정 정보를 모니터링 할 수 있다. 최근에는 이들에 대한 수요가 빠르게 늘어나고 있다.

 

■오픈소스(Open Source)를 이용하자

인터넷의 가장 중요한 특징은 무엇일까? 인터넷에 대한 현재 우리의 관념이 어떻든 간에 초기 인터넷을 시작한 사람들이 가졌던 철학은 오픈소스이다. 거의 모든 상업적 거래가 가능해진 요즘의 인터넷에도, 그것을 채우고 있는 정보들은 여전히 오픈소스 정신을 따르고 있다. 어떤 경우는 책 속에 들어 있는 것보다 훨씬 더 자세하고 많은 정보를 인터넷에서 얻을 수 있다. 아두이노의 가장 중요한 철학도 바로 오픈소스이다. 그래서 하드웨어와 소프트웨어는 모두 공공(Public)에 공개되어 있다. 공개된 하드웨어 정보를 이용해서 누구든 아두이노를 만들 수 있고 또 상업적으로 이용할 수도 있다.

 

단지 아두이노 호환보드라고 알리기만 하면 된다. 아두이노로 뭔가를 만든 사람들도 그 과정과 소스코드를 모두 인터넷에 공개한다. IoT 센서도 마찬가지다. IoT 센서제작 관련해서는 정말 자세히 잘 설명되어 있다. 어느 날 여러분에게 아주 기막힌 아이디어가 하나 떠올랐다고 해보자. 코드부터 작성하려 들지 말고 인터넷에서 검색부터 할 것을 권한다. 놀라운 것은 반드시 필요한 코드를 찾을 수 있다는 것이다. 사람들이 원하는 것은 다 거기서 거기이기 때문이다. 내게 필요한 것이라면 다른 사람에게도 필요한 것이다. 어딘가에는 반드시 그것을 나보다 빠르게 구현해 놓은 누군가가 있을 것이다. 그리고 그는 심지어 공유까지 해 두었을 것이다.

 

요즘 새롭게 각광 받고 있는 복붙신공, 그거 하나면 다 된다. 그래서 나는 코딩능력을 A x "남의 코드에서 내게 필요한 부분을 찾아내는 능력" + B x "그걸 복사해서 내 코드에 붙여 넣는 능력" + C x "기능향상을 위해서 코드를 약간 수정할 수 있는 능력"으로 표현한다. A, B, C는 각각의 능력의 가중치이다. IoT 센서 시스템에 있어서는 A = 3, B = 1, C = 2 정도가 되지 않을까 싶다. 필요한 것을 찾는 게 무엇보다 중요하다는 이야기다.

 

■클라우드 서버는 빌리자

IoT 센서로 데이터를 읽어 들이기 시작하면 곧바로 필요한 것이 그 데이터를 전송하여 보관할 곳이다. 흔히 클라우드라고 부른다. 말그대로 구름 속 어딘가 있다니, 찾기가 쉽지 않을 것 같지만, 실제로는 쓸 만한 곳이 널려 있다. 예를 들어, 인터넷에 "Open Source IoT Platform"이라고 검색하면 가장 많이 쓰는 Platform들을 순위까지 매겨서 알려준다. 예를 들자면, OpenRemote, ThingsBoard, Thinger.io와 같은 것들이다. AWS, Google Cloud 같은 것을 떠올릴 수도 있겠지만, 이들은 대부분 상업적 서비스를 기본으로 하고 있으니, 우선 오픈소스 서비스 중 하나를 골라서 사용해보자.

 

IoT 센서에 어떤 코드를 입력해야 자신들의 서비스에 데이터를 보낼 수 있는지도 잘 설명되어 있다. 예제 같은 것을 적극 활용하면 한결 쉽게 코드를 만들 수 있다. 내 IoT 센서가 인터넷을 통해서 데이터를 보내는 것을 보면 얼마나 흥분되는지 모른다. 내 데이터가 지구 반바퀴를 돌아 어딘가 있는 서버에 저장되고, 그걸 내가 다시 실시간으로 가져와 보고 있다는 것, 초현실주의 영화의 한 장면 같지 않은가. 꼭 해외 클라우드 서비스를 이용할 필요는 없다. 국내의 IT 기업(네이버, KT 등등)들에서도 유사한 서비스를 제공하고 있으니 참고해볼만 하다.

 

■그럼 이제 직접 만들어보자

IoT 센서 패키지를 가장 빨리 배우는 방법은 무엇일까? 직접 만들어보는 것이다. DIY(Do It Yourself) 이다. 우리 모두가 잘 알고 있듯이, 직접 해보면 글이나 말로 배우는 것과는 비교할 수 없을 만큼 많이 배운다. 물론, 직접 만들어본다고 해서 DIY 한번에 IoT 센서 패키지의 제작 전문가가 되는 것은 아니다. 하지만 그렇게 배워 놓으면, 조만간 여러분들의 공장에 IoT 센서 시스템을 도입할 그때는 위력을 발휘할 수 있다. 또한 적어도 알고 주문하는 구매자가 된다.

 

▷코딩 없이도 모바일 앱을 만들 수 있다

요즘은 모바일 앱이 대세다. 모바일 앱이라고? 그럼 안드로이드를 알아야 하나? 자바(JAVA)로 코딩한다는데, 그걸 배워야 하나? 이런저런 생각에 도무지 엄두가 나질 않는다. 하지만 모바일 앱을 아주 쉽게 만드는 방법이 있다. MIT 앱 인벤터(MIT App Inventor, https://appinventor.mit.edu/) 같은 앱 저작도구를 이용하는 것이다. 이런 것들은 코딩이 거의 필요 없다. 레고 블록 쌓듯이 각각의 기능을 가진 블록들을 하나하나 연결하면 그걸로 끝이다. 화면 디자인도 마우스로 끌어 놓고 크기나 위치를 잘 조절해주면 된다. 최근의 IT 분야 트랜드의 하나로 노코드라는 말을 들어봤을 것이다.

 

노코드는 사실 코딩 경험이 전혀 없는 사람을 위한 개발 방식이다. 사람들은 장차 노코드가 대세가 될지도 모른다고 한다. 인공지능이 코딩의 대부분을 대신 처리해줄 수 있기 때문이다. 이제 코딩은 인공지능에게 맡기고 우리는 디자인을 하는 거다. 모양, 기능 등의 디자인이다. 소프트웨어 기능의 디자인, 사실 이것은 우리 인간의 욕망이 무엇인지를 파악하는 과정이다.

그러니, 다행히, 적어도 당분간은 인공지능에게 맡기지 않고 우리가 직접 해야 한다. 적어도 인공지능이 우리의 욕망 마저도 알아내기 전까지는 말이다. 휴대폰과 통신하므로 표준 블루투스 통신을 이용하는 것이 적절하다. ESP32 MCU는 와이파이와 블루투스 통신기능을 모두 탑재하고 있다. ESP32가 센서 신호를 읽어서 휴대폰으로 블루투스를 통해서 전송하고, 휴대폰은 데이터 이동통신망을 이용해서 클라우드 서버에 데이터를 전송한다. 이제 여러분은 블루투스 센서와 휴대폰용 앱을 출시해 볼 수도 있다.

 

▷패키지 하드웨어 제작은 PCB(인쇄회로기판) 만들기부터 시작하자

우리가 아두이노나 ESP 등을 이용해서 IoT 센서 시스템을 만들었다면 대개 그것은 브레드보드에 센서와 MCU가 꽂혀 있고, 그 사이에 어지럽게 점퍼선들이 연결된 모습이다. 상상만으로도 너저분하다. 이걸로 뭘 만들었다고 말하기는 좀 민망하다. PCB 위에 부품들이 가지런히 놓여 있다면 뭔가 그럴듯해 보일 텐데 말이다. 그럼 이번에는 PCB를 직접 만들어보자. PCB 만드는 것은 생각만큼 어렵지 않다. 아니 사실은 어렵다. 하지만 우리의 경우는 그렇게 어렵게 만들 필요가 없다. 그냥 보기 좋게 하자는 것뿐이니까, 간단한 제작법을 찾아보자. EasyEDA(https://easyeda.com/)와 같은 웹 어플리케이션을 사용할 수 있다.

 

웹 어플리케이션이므로, 프로그램을 다운로드 받거나 구입해서 사용하는 것이 아니라 그저 웹 브라우저로 사이트에 접속해서 PCB 디자인 기능을 이용하는 것이다. 프로그램 설치과정이 없어 간편하다. 물론 조건은 있다. 내가 작업한 내용, 즉 나의 설계를 다른 사람들에게도 공개해야 한다.

이건 뭔가 꺼림칙하긴 하지만, 역으로 생각하면 나도 다른 사람들이 작업한 것을 볼 수 있다는 이야기이다. 꺼림칙함은 사라지고 상쾌함은 오래간다. 우리가 흔히 사용하는 부품은 거의 전부 누군가가 만들어 두었고 그것은 라이브러리 형태로 제공된다. 언제든지 설계에 가져다 쓸 수 있다. PCB 설계의 구체적인 내용은 인터넷(특히 유튜브)에서 검색하면 아주 친절하게 잘 설명되어 있다. 마음 편히 시도해 볼 만하다. 설계가 끝나면 프로그램에서 바로 PCB를 주문할 수도 있다. PCB 제작은 2장에서 시작해서 20여 장 정도만을 주문하는 것이 가능하다. 프로토타입을 만들어보는 데는 딱 좋다.

 

▷나만의 케이스를 디자인해보자

PCB 위에 부품들을 올리니 무척 깔끔해졌다. 하지만, 그래도 아직 완성된 것 같지는 않다. 이제 케이스를 만들어야 한다. 3D CAD를 쓰면 여러분도 직접 디자인할 수 있다. 이것도 어렵지 않다. 아니 사실은 이것도 어렵다. 하지만 아무나 못할 정도의 수준은 아니다. 우리에게는 인터넷이 있지 않은가.

필자는 재료공학을 전공했다. 즉, 기계공학, 좀더 구체적으로는 기계설계에는 문외한이다. 얼마전까지는 그러니까 CAD라는 말도 잘 몰랐다. 그런데 문득 케이스를 만들어봐야겠다는 생각이 들었고, CAD로 디자인해야 한다는 말을 들었다.

그래서 그냥 인터넷(그 중에서도 유튜브)에 CAD를 검색해봤다. 간단한 설계방법을 알려주는 동영상이 어마어마하게 많이 검색되었고, 그 중에 하나를 골라서 따라해봤다. 생각보다는 쉽게 배울 수 있었다. 하루 이틀에 되는 일은 물론 아니지만, 그렇다고 몇 년이 걸릴 일도 아니다. 그냥 케이스 정도 디자인하는 거라면 한두 주 틈날 때마다 10분, 20분 연습으로도 충분할 것이다.

최근에는 3D CAD 프로그램도 요즘에는 웹 어플리케이션으로 제공되기 시작했다. 예컨대 onShape(https://www.onshape.com/)과 같은 것들이다. PCB 제작에 활용한 EasyEDA를 <그림 1>에 소개한다. Freemium 오픈소스 정책에 따라 내가 디자인한 내용을 공개해야 한다. PCB 디자인처럼 남들이 디자인한 부품들을 가져다 쓸 수 있으니, 자연히 설계의 노하우를 배우게 된다.

 

 

▲ <그림1>브레드보드에서 PCB로 전환

 

 

 

▷우리에겐 3D 프린터가 있다

디자인을 마쳤으니, 이제 케이스를 만들어야 한다. 플라스틱 케이스? 그럼 플라스틱 사출? 이런 게 떠오를 수도 있다. 하지만 그건 정말 대량 생산에서의 이야기다. 우리에겐 3D 프린터가 있다. 디자인한 케이스를 3D 프린터로 출력해보자. 최근에는 적정한 가격대에 초기 설정까지 편하게 최적화된 3D 프린터가 많다. 3D 프린팅을 위해서 우선 디자인한 CAD 파일을 STL 파일로 변환해야 한다. 파일 변환은 CAD 자체에 있는 기능이다. 변환된 STL 파일을 CURA(https://ultimaker.com/ko/software/ultimaker-cura)와 같은 3D 프린팅 S/W로 읽어 들여야 한다. 3D 프린팅 S/W는 CAD 정보로부터 3D 프린터가 이해할 수 있는 출력 코드(G-code)를 생성하는 프로그램이다. <그림 2 참조>

 

다운로드해서 설치하고 나면 각 층의 두께는 어느 정도로 할 것인지 (보통은 0.2 mm), 그리고 노즐의 크기가 얼마인지 (보통은 0.4 mm) 등을 입력해주면 된다. 무슨 필라멘트를 쓰는지(PLA가 출력하기 쉽다)에 따라 노즐의 온도와 가열 베드의 온도 등을 설정하는 것도 중요하다. 하지만, 사전에 지정된 설정 값들이 제공되니 그들 중 하나를 골라서 사용해보는 것도 나쁘지 않다. CURA가 생성한 출력코드는 SD 카드 등에 담아 프린터에 넣어 가동하면 된다. 그러면 몇시간(짧게는 2-3시간, 길게는 하루 종일) 후에 여러분이 디자인한 케이스를 손에 쥐게 될 것이다.

 

 

▲ <그림 2>G-code 생성 후 3D 프린팅으로 제작하는 나만의 케이스 (예)

 

 

 

■인터넷 시대 아닌가, 인터넷을 적극 활용하자

IoT 센서 패키지 하드웨어 및 소프트웨어 개발에 가장 필요한 것이 무엇일까? 필자는 그것은 인터넷을 활용하는 기술이라고 믿는다. 필자는 지금까지 여러 기업들에다 IoT 센서 시스템을 만들어서 제공해왔다. 적어도 중소기업형 IoT 센서 시스템은 그게 뭐가 되었든 다 설계하고 만들고 잘 작동하도록 해 줄 수 있다고 자신한다. 비전공자로서 이정도까지 익히는 동안 인터넷은 정말 훌륭한 선생님이 되어주었다.

모든 기술과 노하우는 인터넷에서 얻은 것이다. 인터넷에 모든 것이 있다는 것은 잘 안다. 하지만, 그걸 찾기가 쉽지 않은 것도 사실이다. 그래서 키워드가 중요하다. 인터넷 검색을 통해서 원하는 것을 잘 찾는 사람들을 보라. 그들은 정확한 키워드를 입력한다. 자주 검색하면 선택하는 키워드의 정확성이 점점 더 높아진다. 왕도 같은 것은 없다. 품팔이를 많이 하는 수밖에 없다. 키품팔이에 익숙해지자. 이렇게 해서 얻어진 나만의 키워드 목록, 이게 남들과 구분되는 나만의 실력이다.

 

출처: http://www.amenews.kr/news/view.php?idx=50583

목록보기