December 26, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

[67호]LoRa 통신 기반의 오픈소스 IoT 플랫폼을 활용한 스마트 공원 관리

67 ict 최우수상_스마트파크 (3)

67 ict 최우수상_스마트파크 (1)

2021 ICT 융합 프로젝트 공모전 최우수상

LoRa 통신 기반의 오픈소스 IoT 플랫폼을 활용한 스마트 공원 관리 : 스마트 파크(Smart Park)

글 | 숭실대학교 김성호, 이경주, 이하늘

1. 심사평
칩센 사용한 센서의 용도, 센싱 된 데이터의 전송 방법인 LoRa 무선 통신, 컨트롤을 위한 시나리오 등등이 모두 IoT 센서 솔루션을 위한 구성이 잘 되어 있는 듯합니다. 또한 목적 사용자와 적용 환경에 대한 부분도 타겟을 명확히 하여 개발의 목적과 필요한 조건의 한도를 구분한 기획 의도가 돋보입니다. 센서 환경 변화에 대하여 알림이 발생하였을 때 메일로 발송하여 확인하기 보다는 서버로 직접 전송하여, 관리 시스템의 UI 등으로 즉시 보여주면 더 좋았을것 같습니다.

펌테크 실용성, 아이디어, 창의성이 아주 돋보이는 작품으로 LoRa 통신을 기반으로 스마트 공원관리에 꼭 필요한 핵심적 요소를 효율적이면서도 최적의 시스템으로 구현했으며 전체적으로 작품 기획, 기술 구현도, 완성도 면에서 상당히 뛰어나고 훌륭한 작품이라고 생각됩니다.

위드로봇 다양한 센서와 IoT 적용에 유리한 테마파크를 현장으로 설정하여 구현한 재미있는 작품입니다.
뉴티씨 매우 훌륭한 작품입니다. 실용화가 가능한 아이디어라고 생각되며, 디자인만 좀 개선하고 프로그램 등을 좀 개선하면 좋은 제품이 될 수 있다고 생각합니다. 공원에 적용하면, 환경미화원님들이 편리하게 이용하여, 깔끔하면서도 꼭 필요할 때만 환경미화원님들이 쓰레기를 비우고, 자동으로 공원의 식물에 물을 줄 수 있고, 가로등도 제어할 수 있어서, 매우 좋은 시스템으로 생각됩니다.

엔티렉스 부설연구소 오픈소스를 이용하였지만, 시스템 구성에 맞게 시설물관리(쓰레기통, 통행량에 따른 조도 제어등)을 제어하며 관리를 할 수 있으며, 네트워크를 이용하여 여러 개의 공원을 관리할 수 있게 개발을 진행했던것 같습니다. 전체적으로 공원관리에 맞게 개발이 잘 이루어져 있으며, 웹을 통해서 사용자가 육안으로 쉽게 관리할 수 있을 것 같습니다. 그리고 시제 제작 데모를 이용하여, 각 기능을 잘 구현 하였으며, 데이터 수집 등을 잘 처리한 것 같습니다.

2. 작품 개요
2.1. 배경 및 목적
급격한 도시화, 인구 밀집, 자산 및 자원 낭비 등 도시화로 인해 발생하는 각종 문제에 대응하기 위해 도시 패러다임으로 ‘스마트 시티’가 등장하였다. 그중 행복의 질에 큰 영향을 미치는 도시 공간 중 하나인 공원은 ‘스마트 파크’로 진화하고 있다. 스마트 파크는 다양한 첨단 기술을 활용하여 이용자의 공원 체험 향상, 공원 운영·관리의 효율성을 높이며 도시가 직면한 사회 및 환경문제를 해결하는 지속 가능한 공원이다.
스마트 파크의 국내 사례로 대구에 도입된 ‘IoT See Park’는 4차산업혁명 핵심기술을 공원에 접목하여 인공지능 CCTV, 전역 무료 WiFi, 스마트 휴게시설(태양광 벤치), 스마트 방향 표지판 등의 서비스를 제공하고 있다. 또한 세종시 호수공원에는 체험존 AR(GPS 기반 방향 안내 앱), VR 체험관 등 AR/VR을 사용한 공원 체험 향상 관련 서비스를 제공한다. 이처럼 대부분의 스마트공원은 이용자 중심 공원 서비스 제공에 초점이 맞춰져 있다. 반면에 스마트공원 관리 측면에서는 서비스 구축이 미비하다. 이에 본 작품은 관리를 목적으로 한 IoT 중심의 지능형 스마트 공원관리시스템인 스마트파크를 구현하였다. 스마트파크는 공원 내 시설 및 자연생태환경에 대한 관리를 웹을 통해 손쉽게 할 수 있고, 공원관리에서 수집되는 정보를 바탕으로 데이터 시각화를 제공한다.

2.2. 오픈소스 IoT 플랫폼 개선 및 활용
스마트파크은 스마트 공원의 센서 데이터를 수집, 전처리, 관리, 시각화, 데이터에 따른 명령수행 등의 기능이 있다. 이를 구성하기 위해 본인이 참여했던 IoT 오픈소스를 스마트파크을 위한 기능 및 서버를 추가·개선하여 사용하였다.

데이터 수집
Kafka를 사용하여 스마트 공원의 센서 네트워크로부터 방대한 양의 센서 데이터를 수집할 수 있도록 하였다. 수집한 데이터를 전처리 서버로 보내기 위한 브로커 역할을 한다.

데이터 전처리
서버 프레임워크로 제작한 서버를 이용하여 데이터 전처리, 로직 검사 작업을 수행한다. 센서 데이터의 등록정보(공원이름, 서비스이름 등등) 추가 및 현재 데이터가 등록된 명령(액추에이터 동작, 이메일전송 등등)수행 조건을 만족하는지에 대한 검사하는 역할을 한다.

관리 및 시각화
전처리된 데이터를 NoSQL데이터 베이스인 ElasticSearch에 저장하여 관리한다. 수많은 센서 데이터값이 계속해서 추가되므로 Write 기능에 강점을 가진 데이터 베이스를 선택하였다. 또한, Kibana를 사용하여 ElasticSearch에 저장된 데이터들을 분석, 시각화할 수 있도록 하였다.

2.3. 스마트파크 IoT 플랫폼으로 관리하는 3가지 스마트 기기(센서노드)
본 프로젝트에서는 인체감지를 통해 보행량에 따른 밝기 조절이 가능한 스마트 가로등 관리, 쓰레기통 적재량 확인·알림, 센서를 이용한 수목 관리 등 IoT 중심의 지능형 스마트 공원관리시스템인 스마트파크(Park)를 구현하였다.
스마트파크에서 활용이 가능한 스마트 기기 총 세 가지를 제작했다.
구현한 세 가지 스마트기기는 모두 공통적으로 LoRa통신을 한다. LoRa는 LPWAN(저전력 장거리 무선통신)기술로, LoRa통신을 통해 저전력으로 광범위한 통신을 가능하게 했다. LoRa의 데이터 전송속도가 빠른 편은 아니지만, 공원 관리를 위해 이용되는 센서 데이터들은 실시간 처리보다는 아주 천천히 변화하는 센서 데이터들이며 장거리 통신이 요구되기 때문에 LoRa통신은 본 공원관리 시스템에 적합한 통신이다.

스마트 가로등
크게 세 가지 기능이 있다.
(a) 평균적으로 보행자 수가 많은 시간대에 밝기를 밝게 하고 적은 경우에는 밝기를 낮춤으로써 전력소비를 줄일 수 있다
(b) 자동 점소등 시스템이 가능하다. 가로등 상단 부분에 장착된 조도센서를 통해 어두워질 경우 자동으로 점등이 가능하다.
(c) 부점등 알림 기능이 있다. 가로등 하부(바닥) 부분에 부점등 확인을 위한 조도 센서가 장착되어 가로등이 켜져있는 밤에 조도센서(바닥 위치)에서 받은 값이 어두운 값이면 조명이 제대로 안 켜진 상태로 자동적으로 판단하여 관리자에게 알림을 줄 수 있다.

쓰레기 관리
스마트 쓰레기통 관리의 경우에는 쓰레기통의 적재량을 주기적으로 알 수 있으며, 로직 등록 기능을 통해 쓰레기가 많이 쌓이면 이메일과 같은 알림을 줄 수 있다. 쓰레기통에 쓰레기가 완전히 채워지기 전에 미리 알림을 주어 쓰레기 수거에 도움을 줄 수 있다. 따라서 공원의 더 나은 청결을 기대할 수 있다.

스마트 수목 관리
수목 관리의 경우, 토양센서를 통해 토양의 수분을 측정하고 수분이 부족하면 수중모터를 통해 물을 주도록 한다. 로직 등록 기능을 이용한 자동화로 공원의 수목 관리를 더 편리하게 할 수 있다는 장점이 있다.

3. 작품 설명
3.1. 주요 동작
스마트 쓰레기통
공원 내 비치된 쓰레기통의 적재량 정보 파악
쓰레기통에 쓰레기가 가득 차면 쓰레기통을 비워주기 위해 알림을 줄 수 있다.
쓰레기통의 적재량은 쓰레기통의 뚜껑에 부착된 초음파 센서를 통해 거리를 탐지하여 알 수 있다. 이를 통해 얻은 값은 LoRa통신을 통해 LoRa Gateway로 전송된다. LoRa Gateway는 네트워크 서버(싱크 노드)로 전달을 해주어 최종적으로는 백엔드 서버로 값이 전달된다.

적재량 모니터링 및 알람
쓰레기통의 적재량을 모니터링하며 일정 수준 이상의 쓰레기가 쌓이면 쓰레기가 넘치기 전에 쓰레기를 수거할 수 있도록 알림을 줄 수 있다. 사용자는 프론트엔드 웹에서 직접 조건을 추가하여 적재량이 몇 프로 이상일 경우에 이메일과 같은 알림을 주도록 설정이 가능하다.

데모
다음은 쓰레기통 전면이다.

67 ict 최우수상_스마트파크 (1)

위 사진은 뚜껑 내부에는 초음파 센서가 부착된 모습이다. 거리 측정으로 적재량을 판단한다.

67 ict 최우수상_스마트파크 (2)

위는 쓰레기통 적재량 변화값을 시각화한 그림이다. 이와 같이 각 공원 쓰레기통의 적재량을 한 눈에 확인할 수 있다.

67 ict 최우수상_스마트파크 (3)

쓰레기통 적재량이 90프로 이상일 경우, 이메일을 전송하도록 로직을 등록한 것이고 그림 6은 이메일 수신 화면이다.

마트 가로등

보행자 통행량 측정
시간별/요일별/계절별/지역별 유동인구 측정 및 분석을 하여 유동인구가 많은 가로등만 점등하여 에너지 절약할 수 있다. 결과적으로 유동인구에 따라 가로등의 밝기를 조절하여 에너지를 절약한다.

PIR 센서를 통한 통행량 측정
유동인구(보행자 통행량)은 가로등에 PIR 모션감지 센서를 부착하여 지속적으로 움직임을 감지한다. 모션 감지가 오랫동안 일어날수록 유동인구에 대한 누적값이 증가한다. 이와 같은 방법으로 센서노드에서 얻은 모션감지의 수치를 백엔드 서버까지 전달하게 된다.

데모
가로등 유동인구에 따른 밝기 조절
다음 사진과 같이 가로등의 상단 부분 LED 옆에 PIR 모션 감지 센서가 부착되어 있다. 모션 감지 센서에서 움직임이 감지되는 시간이 증가할수록 통행량에 대한 값이 증가하게 된다.

67 ict 최우수상_스마트파크 (4)

방문자 수 변화

67 ict 최우수상_스마트파크 (5)
위 그림은 방문자 수 데이터를 시각화한 자료이다. 직접 센서로 측정해 테스트하고 있는 sangdo의 방문자 수 변화를 볼 수 있다.

67 ict 최우수상_스마트파크 (6)

위는 보행량에 따라 led 밝기 조절 로직이다. 스마트파크(park)에서는 실질적인 데이터를 수집할 수 없기에 value 범위를 임의값으로 설정하였고, 실제로는 대시보드에 나타난 방문자 수를 참고하여 value 범위를 설정해야한다.

보행량에 따른 밝기 조절

67 ict 최우수상_스마트파크 (7)

위와 같이 유동인구에 따라 가로등 LED 밝기가 달라진다.

가로등 부점등 검사 (고장 알림)
가로등 하부의 조도 센서를 통해 가로등의 전구의 조도를 측정 후 LED ON이어야 하는 상태에서 조도가 측정되지 않으면 가로등이 부점등 상태임을 이메일로 알린다.

67 ict 최우수상_스마트파크 (8)

그림 14는 부점등 상태일 경우 이메일을 전송하도록 로직을 등록한 것이다. illuminance는 가로등 상단에 있는 조도센서(낮과 밤 판별)의 데이터이고, Lampilluminance는 가로등 하부에 위치한 조도센서(부점등 판별)의 데이터이다. 이때 조도센서의 값이 90 ~ 100 이하라면 어두운 것으로 판단한다. illuminance < 90 인 경우 LED가 ON되어야 하고, 이때 LED는 아래의 조도센서를 향해 빛을 쏘기 때문에 Lampilluminance는 LED 불빛을 감지해 100 이상이어야 한다. LED가 정상적으로 켜지지 않아 Lampilluminance의 값이 100 이하라면 부점등 상태로 판단한다. 따라서 0 < illuminance < 90 이고 0 < Lampilluminance < 100일 때 부점등 상태라 판단해 이메일을 보내도록 로직을 등록했다. 오른쪽 그림은 어두운 상태에서 LED가 정상적으로 켜졌으나, 가로등 하부 조도센서를 손으로 가려 부점등 상태를 조성한 것이다.

밝기에 따른 가로등 자동 점·소등

67 ict 최우수상_스마트파크 (9)
밝을 경우에는 로직에 등록된 LED 액추에이터 명령을 통해 LED가 자동으로 꺼지고, 어두울 경우 액추에이터 명령을 통해 자동으로 켜질 수 있도록 로직을 등록했다.

67 ict 최우수상_스마트파크 (10)

가로등 상단의 조도센서를 통해 어두워지거나 밝아질 경우 자동 점/소등한다.
두 번째 그림에서 볼 수 있듯이 밝을 경우 LED를 OFF하고, 세 번째 그림에서 조도센서를 가려 인위적으로 어두운 환경을 만들었을 때 LED가 ON되는 것을 확인할 수 있다.

스마트 수목 관리
온도, 습도, 토양 등 측정센서 설치 및 생장 환경 관련 데이터 측정한다. 공원 내의 수목주변의 온도와 습도, 일조량, 토양내 습도 등을 측정 분석하여 알릴 수 있다. 실외의 온도와 습도 일조량, 등을 컨트롤하기는 힘들어 보이므로 모니터링 및 알림 기능을 통해 관리를 도울 수 있다.

관수 기능 자동 제어
토양 센서를 이용해 습도를 측정하여 필요할 경우 관수 시설을 제어하는 기능을 갖고 있다.
토양 수분 센서를 이용하여 토양의 수분이 부족할 경우 액추에이터 명령을 통해 수중모터(펌프)를 작동시켜 토양에 물을 준다. 센서노드는 토양 수분 센서의 값을 일정 주기로 게이트웨이로 전송한다. 센서 데이터는 센서노드 -> 게이트웨이 -> 싱크노드 -> 백엔드 순으로 전달된다.

데모

67 ict 최우수상_스마트파크 (11)
첫 번째 그림에서 볼 수 있듯이 수중모터 제어를 위해 액추에이터로 pump를 등록했다. 토양수분 값이 일정 값 이상이면 사용자가 등록한 액추에이터 값에 따라 수중모터가 동작하도록 로직을 등록했다.
백엔드는 토양수분 센서가 일정 값 이상인지 조건을 확인하여 조건에 부합하면 액추에이터 신호를 싱크노드에 전달하여, 싱크노드->게이트웨이->센서노드 순서로 액추에이터 명령이 전달된다.

67 ict 최우수상_스마트파크 (12)

왼쪽 사진은 등록된 로직에 따라 사용자가 설정한 범위 내 습도값이 해당될 시 액추에이터를 작동시켜 수중모터로 물을 공급하는 모습이다. 오른쪽은 토양수분을 그래프로 시각화한 자료이다.

데이터 시각화
의미가 없거나 혹은 단순한 의미만을 지닌 데이터로부터 실시간으로 의미있는 정보를 찾는 것 자체가 가치를 창출하는 일이다. 스마트파크는 단순한 센서데이터 들을 이용해 여러 가지 의미 있는 정보를 대시보드에 시각화 하였다.

공원 검색기능
원하는 기간, 원하는 공원을 선택하면 선택된 데이터만을 필터링하여 볼 수 있다.

67 ict 최우수상_스마트파크 (13)

공원 별 센서값 시각화 보드
공원의 모든 센서값을 시각화한 보드를 통해 센서값의 비교 및 확인하여 공원 별 기상정보 비교분석이 가능하다.

67 ict 최우수상_스마트파크 (14)

공원 별 방문자 수 비교 분석 기능
공원 별 방문자 수 데이터 시각화를 통해 비교 분석이 가능하다. 각 공원 별 방문자 수를 한 눈에 알아볼 수 있고, 어느 시간대, 어느 요일에 유동량이 많은지를 쉽게 알 수 있어 이를 이용해 방문자 수에 따른 가로등 제어, 공원 내 행사 일정 선택 등 다양한 방면의 활용이 가능하다.

67 ict 최우수상_스마트파크 (15)

공원 별 쓰레기통 적재량 비교분석 기능
원하는 공원의 쓰레기통 적재량을 실시간으로 체크할 수 있으며, 요일 날짜별 쓰레기통 적재량을 한 눈에 볼 수 있어, 쓰레기통 추가 배치, 수거 등에 유용한 활용이 가능하다.

67 ict 최우수상_스마트파크 (16)

서비스 유지보수의 용이
IoT서비스 플랫폼에서 지속적으로 안정적인 서비스가 제공되기 위해서는 센서를 비롯한 하드웨어들의 헬스 체크가 필요하다. 스마트파크에서는 서비스 노드의 헬스 정보를 수시로 체크하여 웹 UI상에 나타내 주므로 헬스 정보 확인이 가능하며 문제 발생 시 빠른 유지보수가 가능하다.

유연한 확장성
플랫폼의 운영자가 스마트파크이 관리할 새로운 공원을 하거나, 새로운 IoT서비스를 추가할 경우 웹상에서 몇 가지 조작만으로 공원 및 서비스 등록이 가능해, 유연한 확장성을 보여준다.

3.2. 주요 특징
UI에서 IoT 디바이스 관리, 데이터 시각화

네비게이션 바

67 ict 최우수상_스마트파크 (17)
MANAGEMENT 탭의 구성요소로 Sensor, Node, Sink, Actuator가 있다. SERVICE 탭의 구성요소로 LogicCore가 있다. 사용자는 LogicCore에서 로직을 등록할 수 있다. Kibana 탭의 구성요소로 Dashboard가 있다. Dashboard에서 데이터 시각화를 제공한다.

등록(register)

67 ict 최우수상_스마트파크 (18) 67 ict 최우수상_스마트파크 (19)

센서 : register sensor 버튼을 클릭하면 그림 33과 같이 등록 페이지가 나타나고, 사용자는 센서 정보 (센서 이름, 종류, value)를 입력해 센서 등록을 할 수 있다.

싱크 : register sink를 클릭 후 싱크 정보 (싱크 이름, topic, ip:port)를 입력해 싱크를 등록할 수 있다. 스마트파크(park)에서는 싱크를 한강 공원 단위로 설정해 진행하였다.
노드 : 노드 등록은 그림 32와 사진과 같이 노드 이름, 위치 (지도를 클릭하면 해당 위치의 위도 경도를 얻음), 노드의 종류(가로등, 쓰레기통, 수목), 해당 노드에서 사용할 센서, 싱크를 선택해 등록할 수 있다.

이때 노드는 가로등, 쓰레기통, 수목을 의미한다.
액추에이터 : register actuator를 클릭 후 액추에이터 이름을 입력해 등록할 수 있다. 본 프로젝트에서는 토양 습도를 토대로 관수 제어를 하기 위한 pump 액추에이터와 조도에 따라 led 밝기를 조절하기 위한 led 액추에이터를 등록하였다.
각 정보를 입력후 submit 버튼을 클릭하면 센서, 싱크, 액추에이터, 노드의 정보를 서버로 POST한다.

table

67 ict 최우수상_스마트파크 (20)

센서, 싱크, 액추에이터 : 위와 같이 사용자가 등록한 센서, 싱크, 액추에이터의 정보를 table의 형태로 확인 가능하고, 휴지통 img를 클릭하여 삭제할 수 있다.

67 ict 최우수상_스마트파크 (21)

67 ict 최우수상_스마트파크 (23)

노드 : 노드는 table을 볼 수 있는 두 가지 옵션 (All, Map)이 있다.

· All 옵션 : default로 설정되어있는 노드 table이며 사용자는 싱크별 노드 table을 볼 수 있다. 스마트파크(park)에서는 한강 공원별 가로등, 쓰레기통, 수목 노드가 table로 나타나 있다.

· Map 옵션 : 마지막 사진과 같이 지도상에서 마커 형태로 노드 위치를 나타낸다. 각 노드의 종류가 마커 이미지로 구분되어 있고, 마커를 클릭하여 해당 노드의 정보를 볼 수 있다. 이때 사용자는 지도를 움직이며 마커 위치를 확인할 수 있다. 마커 이미지 색상은 가로등 : 파란색 / 쓰레기통 : 노란색 / 나무 : 초록색이다.

· 노드 헬스체크 : 사용자는 색상별로 노드의 상태를 확인할 수 있다. 웹 소켓으로 서버와 통신하기 때문에 실시간으로 확인이 가능하다.

· 노드의 상태

회색 : 알 수 없는 상태
초록 : 연결된 상태
노랑 : 직전에 연결이 끊긴 상태 (초록과 빨강의 사이)
빨강 : 연결이 끊긴 상태

로직코어 (LogicCore)

· Logic 등록 : 사용자는 LogicCore table에서 register logic 버튼을 클릭해 로직을 등록할 수 있다.

Logic 정보

· 로직 이름
· 센서 : 센서에 로직 등록
· 시간 범위 : 해당 로직이 작업을 수행할 시간 설정
· value 범위 : 해당 로직이 동작할 value 설정
· action :  사용자가 설정한 시간과, value 범위 내 센서값이 해당할 때 실행할 작업
◎ email : 해당 이메일로 알림 메시지 발송
◎ actuator : value, sleep 값을 받아 해당 액추에이터 작동
register logic에서 각 요소(시간, value, action)를 카드라 할 때 value 카드와 action 카드는 왼쪽 하단 Add ~ 버튼을 통해 추가할 수 있고, value 카드와 시간 카드는 Add scope 버튼을 통해 범위를 추가할 수 있다.
· Logic table : 아래 왼쪽 사진과 같이 등록한 logic을 table의 형태로 볼 수 있고, 휴지통 img를 클릭하여 삭제할 수 있다.
· Show logic : table에서 show logic 버튼을 클릭하면 아래 오른쪽 사진과 같이 로직의 구조를 볼 수 있다.

이처럼 스마트파크(park)은 웹에서 센서, 노드, 싱크, 액추에이터를 등록하고, 사용자 맞춤 로직을 생성할 수 있기에 스마트공원 관리에 용이하다.

kibana dashboard

67 ict 최우수상_스마트파크 (24)

home 또는 kibana dashboard 메뉴를 통해 시각화된 데이터 확인이 가능하다.

LPWAN 통신 방법인 LoRa 통신, 직접 구현한 LoRa WAN 프로토콜로 작동
날씨 상태, 토양 수분 레벨 또는 가로등과 같이 이러한 응용 분야에서 측정되거나 제어되는 크기/양은 모두 확장된 시간 범위에 걸쳐 매우 느리게 변화한다. 또한, 센서 노드가 서로 멀리 떨어져 있는 경우가 많고 배터리로 구동되는 경우가 많으므로, 최적의 무선 프로토콜은 최소한의 전력 소비로 긴 거리에 걸쳐 작은 데이터 패킷을 효율적으로 전송할 수 있어야 한다.
따라서 대표적인 LPWAN(저전력 무선 장거리 통신) 기술 중 비면허 대역 주파수를 이용하는 LoRa 통신을 선택했다. 1Ghz 이하의 대역은 다른 주파수에 비해 서로 간섭력이 낮아 무선 파장 및 효율적 측면에서 좋기 때문에 원거리 통신을 위해서 적합하다. End-Device(센서노드)와 LoRa 게이트웨이, 싱크노드를 구현하여 LoRaWAN 프로토콜을 따르도록 구현했다. End-Device의 LoRaWAN 프로토콜은 C언어로 구현하였으며, LoRa Gateway의 LoRaWAN은 Python으로 구현했다. LoRaWAN의 모든 Mac Command가 구현된 것은 아니지만 필요한 몇가지 Mac Command가 작동하도록 구현했다. DevStatusReq와 DevStatusAns의 Mac Command를 통해 센서노드의 배터리와 수신신호의 수치를 파악할 수 있다. 또한 RFU의 예약된 공간에는 ActuatorReq와 ActuatorAns의 Mac Command를 구현하여 이 명령을 이용하여 액추에이터 작동이 가능하도록 했다. Actuator는 백엔드 서버에서 오는 명령을 End-Device에서 처리하는 기능을 말한다. 예를 들면 백엔드에서 모터를 작동시키거나 LED의 밝기를 조절하는 등의 명령을 센서노드에 전달할 수 있다.

백엔드 서버 특징
5G 시대가 도래하면서 IoT(사물 인터넷) 관련 데이터의 가치가 더욱 커질 전망이다. IoT 기술의 특성상 수많은 데이터와 로그를 빠르게 적재, 분석하는 것이 필수적이다. 스마크파크는 Kafka – DataLogic서비스 – ElasticSearch로 데이터 파이프라인을 구성하여 방대한 센서 데이터의 준 실시간 처리가 가능하다.

3.3. 전체 시스템 구성

67 ict 최우수상_스마트파크 (25)

3.3.1. 프론트엔드
컴포넌트 구조

67 ict 최우수상_스마트파크 (26)

위 그림은 컴포넌트 구조를 간단히 map으로 표현한 것이다, App에서 모든 컴포넌트를 route한다.

· ‘~ Management’ : sensor, node, sink, actuator를 관리하는 컴포넌트이다. 각각의 resigter 컴포넌트를 호출해 정보를 등록하고, 각 table 컴포넌트에서 해당 list를 table 형태로 출력한다.
· Register Logic : 로직 등록 컴포넌트이다. 하위 컴포넌트 InputCards에서 사용자가 입력한 time, sensor, value, action, actuator card의 정보 넘겨주고 이를 바탕으로 로직을 등록한다.
· LogicTable : 등록된 로직을 list로 나타내는 컴포넌트이다.
· showLogic : logic table에서 show logic을 클릭할 시 호출되는 컴포넌트이다. 하위 컴포넌트 showCards에서 사용자가 등록한 정보를 가져와 해당 로직의 정보를 출력한다.
· kibanaDashboard : 데이터 시각화를 제공하는 컴포넌트이다.

3.3.2. 백엔드
데이터 파이프라인
개요

67 ict 최우수상_스마트파크 (27)

 

67 ict 최우수상_스마트파크 (28)

그림 48처럼 센서데이터가 라즈베리파이(Sink Node, 공원)에서 최종 저장소로 바로 전송되는 경우 라즈베리파이 내에서 측정값과 등록정보(metaData)를 모두 관리해야 하기 때문에 센서 네트워크에 매우 큰 부담을 준다. 또한 스마트파크의 매우 많은 라즈베리파이가 하나의 저장소로 데이터를 전송하는 경우 Elasticsearch에게 매우 높은 가용성과 처리량을 요구하게 된다.

따라서 그림 49와 같이 우리는 최종 저장소 이전에 데이터를 처리할 수 있는 DataLogic서비스를 추가하였다. 센서 네트워크에서는 측정값과 각 Node의 고유ID만 관리하고 DataLogic서비스에서 데이터 처리 서비스(데이터에 등록정보를 추가)를 지원한다. 해당 서버는 측정값을 이용해 등록된 이벤트를 처리하는 기능도 지원하는데, 이는 다음에 설명하겠다.

67 ict 최우수상_스마트파크 (29)

여러 공원의 데이터 값을 하나의 데이터 처리 서비스로 전송하는 것 또한 데이터 처리 서비스에 너무 많은 부담을 준다. 그렇다고 여러 개의 데이터 처리 서비스를 구현하기에는 구성이 너무 복잡해지며, 특정 서버에 요청이 몰릴 경우 몇몇 요청은 처리하지 못하고 누락될 수 있다.
따라서 센서네트워크와 서버 사이에 Kafka를 배치해주었다. Kafka는 데이터를 임시로 저장하는 Queue역할을 하며 기본적으로 클러스터 환경을 제공하여 높은 처리량과 고가용성을 보장한다. DataLogic서비스는 자신이 필요할 때만 Kafka에 데이터를 요청하기 때문에 과부하로 문제가 될 가능성이 배제된다.

구성

67 ict 최우수상_스마트파크 (30)

Kafka
producer – Broker(Kafka) – Consumer 구조의 스트림 처리 플랫폼이다. 여러 공원으로부터 데이터를 저장받아 임시저장한 후 DataLogic서비스에 안정적으로 데이터를 제공한다.
라즈베리파이에서 카프카로 전송되는 데이터의 예시는 오른쪽 그림과 같다.

DataLogic
서버 세부설명 파트에서 자세히 설명한다.

엘라스틱서치
방대한 센서데이터를 지속적으로 저장하기 위해서 Write능력이 뛰어난 데이터 베이스가 필요하다. 따라서 Write 효율에 중점을 둔 NoSQL데이터베이스인 Elasticsearch를 데이터 베이스로 사용하였다.
Elasticsearch에 준 실시간으로 저장된 센서 데이터는 비교/분석을 위한 시각화와 공공데이터 배포를 위해 사용된다.

Kibana
Paul Brunet의 InfoWorld 칼럼에 따르면 요즘 시대는 더 많은 데이터에 접속할 수 있는 상태지만, 이런 수많은 데이터에서 효과적으로 인사이트를 획득하는 능력은 감소했다고 한다. 이제 우리가 고민해야 할 지점은 ‘데이터를 어떻게 잘 활용할 것인가?’이다. 많은 양의 데이터를 한눈에 볼 수 있고, 데이터 분석에 대한 전문 지식이 없어도, 누구나 쉽게 데이터의 패턴을 알아낼 수 있도록 시각화된 데이터 대시보드를 구현하였다.

서버 상세설명

67 ict 최우수상_스마트파크 (31)

서버 아키텍쳐
클린 아키텍처를 적용하여 특정 계층에 대한 수정이 다른 계층에 거의 영향을 주지 않도록, 그리고 같은 계층 내에서는 일관되고 응집력 있는 결합을 제공할 수 있도록 서버의 계층을 구분하였다. 상당히 분량이 많은 앱이더라도 소스코드 전반을 쉽게 파악할 수 있고 복잡한 수정 사항이 생겼을 때라도, 어떤 부분들을 고치면 되는지 금방 파악할 수 있도록 하였다.

Application – Registration
개요
등록 정보를 관리하기 위한 API Server이다. 프론트엔드에서 등록한 메타데이터, 로직데이터 등을 백엔드의 데이터 베이스에 저장하고, 이 데이터 베이스를 읽어서 프론트엔드, DataLogic, HealthCheck 등의 서비스에 정보를 제공 및 컨트롤하는 역할을 수행한다.

구성
모든 서비스는 이용자가 어떤 기능을 요구하거나, 개발자가 어떤 아이디어를 생각해내 서비스를 확장시켜야 하는 상황이 생기기 마련이다. 이때를 대비해 유연하게 확장이 가능하도록 서버를 구성하여야 한다. 스마트파크의 모든 서버는 각 기능 단위로 서비스를 만들어 큰 서비스를 구성하는 방식인 마이크로 서비스 아키텍처로 구성하였다.

기능
스마트파크를 구성하는 마이크로 서비스들을 컨트롤하는 역할을 한다. Registration은 센서 데이터 스트림 처리를 담당하는 마이크로서비스(DataLogic)와 센서 데이터 스트림 노드(아두이노)의 헬스 상태 처리를 담당하는 마이크로서비스(HealthCheck)에게 등록정보를 제공한다. 이후 등록정보의 변경이 발생할 경우에도 마이크로 서비스 들에게 등록 정보를 제공해준다.

DB

67 ict 최우수상_스마트파크 (32)

스마트파크의 데이터베이스는 위 사진과 같이 스키마가 정의되어있다. 싱크 노드, 센서 노드 등의 메타데이터를 구조적으로 저장 및 조회한다. 데이터베이스로 쓰인 애플리케이션은 mySql이다.

LogicCore – DataLogic
DataLogic서비스는 Kafka에서 데이터를 읽어온 뒤 등록정보를 바탕으로 메타데이터를 추가한다. 보강된 데이터를 기반으로 사용자가 지정한 이벤트의 처리동작과 Elasticsearch로의 데이터 저장을 수행한다.

67 ict 최우수상_스마트파크 (33)

등록정보 추가

67 ict 최우수상_스마트파크 (34)
DataLogic서버는 처음 실행될 때 Registration 서버에 등록정보를 요청한다. Registration서버는 요청한 DataLogic서비스를 자신의 서버 내에 등록한 후 서버 내 DB에 저장된 Sink node와 Sensor node의 등록정보들을 반환해 주고 DataLogict는 이 등록정보를 서버의 메모리 내에 보관한다.
DataLogic서비스가 실행되고 있는 도중에 등록정보가 변경될 경우 Registration서버는 업데이트된 정보를 등록된 모든 DataLogic서비스에게 알려주어 등록정보를 동기화할 수 있도록 한다.

67 ict 최우수상_스마트파크 (35)

센서 데이터마다 적절한 메타데이터를 얻기 위해 DataLogic서비스에서 DB에 접근할 수 없기 때문에 등록정보를 메모리에 동기화시킨다. 이후 Kafka에서 읽어온 센서 데이터에 sensor-id, node-id에 해당하는 메타데이터를 추가한다.

이벤트 처리
수집한 센서 데이터에서 프론트엔드에서 유저가 미리 지정해둔 특정한 이벤트를 검사하기 위한 기능이다. JSON 형식의 센서 데이터의 특정 필드 값을 기준으로 조건을 검사하는 filter기능과 actuator동작신호 전송, Email전송 등 특정 이벤트를 수행하는 action기능으로 구성되어있다.

67 ict 최우수상_스마트파크 (36)

Elastic search저장

DataLogic서비스 내에서 수많은 (보강된)센서 데이터들이 생성된다. 이 데이터 하나당 Indexing(Write) API를 호출하면 네트워크에 과부하가 걸리므로 이를 방지하기 위해 데이터를 효율적으로 저장하여야 한다.
따라서 저장할 데이터를 적재하다가 특정 byte 이상이 쌓이면 한 번에 Bulk Indexing(배치 처리)하도록 구현하였다. 또한, Elastic search의 Sharding기능을 통해 자체적으로 쓰기 성능을 향상시켰다.

HealthCheck

67 ict 최우수상_스마트파크 (37)

그림 60과 같이 수많은 노드의 정상 작동여부와 배터리 잔량을 전송받아 각 노드의 헬스 상태를 결정한 후 헬스 상태가 변경된 노드의 헬스 정보와 배터리 잔량을 프론트엔드로 전송하는 역할을 수행한다.
먼저 라즈베리파이로부터 연결된 모든 아두이노의 상태 정보를 bool 형태로 전달받는다. 전달받은 상태정보를 이용해 헬스 정보를 업데이트한 후 그림 61과 같이 헬스 정보가 기록된 Map 자료구조에 저장한 후, 업데이트 내역이 있는 아두이노의 헬스정보를 추려내어 웹소켓을 통해 프론트엔드로 전송한다. 배터리 잔량은 받은 값을 그대로 전송한다.

67 ict 최우수상_스마트파크 (38)
헬스 정보 업데이트 기준은 전달받은 상태정보와 가장 최근의 상태를 위 사진과 같은 기준으로 비교해서 결정한다.

3.3.3. 도커(Docker)

67 ict 최우수상_스마트파크 (39)

플랫폼 서비스는 고객(서비스 운영자)이 플랫폼의 모든 실행 환경을 손쉽게 사용자의 환경으로 가져올 수 있어야 한다. 이를 위해 스마트파크의 모든 서버는 도커 컨테이너 위에서 실행가능하게 도커 이미지로 변환하여 배포한다. 도커 컨테이너(단일 컨트롤 호스트 상에서 여러개의 고립된 리눅스 시스템들을 실행하기 위한 운영 시스템 레벨 가상화 방법)를 이용하면 서버 환경을 재구축하는 부가적인 작업 없이 개발 당시의 환경(라이브러리, 설정값, 종속성 및 파일)을 로컬에서 애뮬레이션할 수 있다. 다시 말해 큰 수정 없이 어느 환경에서든 모든 서버가 작동되도록 배포할 수 있다.

3.3.4. 센서 네트워크(NodeMCU-Raspberry Pi-싱크노드)
백엔드에 데이터가 도달하기 전까지의 상세구조 그림

67 ict 최우수상_스마트파크 (40)

오픈소스 사용 (Flask와 MQTT통신 설명)
싱크노드-Flask 사용
싱크노드가 웹서버를 운영함으로써 서버로부터 HTTP요청을 받을 수 있다. 서버는 특정 싱크노드에 HTTP 요청을 하여 액추에이터 명령을 내리게 된다. 싱크노드(네트워크 서버)에서 웹서버를 운영하기 위해 Flask 오픈소스를 이용했다.

Paho MQTT Client 사용
IoT 통신은 경량화와 유연성을 갖추어야 한다. 여러 통신 방법 중 MQTT는 M2M, IoT를 위한 프로토콜로서, 최소한의 전력과 패킷량으로 통신하는 프로토콜로 IoT통신에 적합하다. MQTT 통신을 위해서는 Paho client 오픈소스를 이용했다. 따라서 우리는 게이트웨이와 싱크노드간에 Mosquitto 브로커와 MQTT 통신을 이용해서 경량화된 통신을 이용한다.

LoRaWAN 프로토콜 이용
Class A와 C
LoRaWAN 프로토콜에는 세 가지 A, B, C 클래스의 디바이스 유형이 있다.
센서 네트워크에서 끝단에 위치한 센서노드들의 클래스를 이 세 가지 A, B, C 유형 중 하나를 지정하여 사용하게 된다. 현재 구현하여 이용이 가능한 센서노드의 클래스는 A와 C 두가지다.
A Class 통신 방식은 LoRa Device와 LoRa Gateway 사이에서 LoRa Device가 Gateway에게 메시지를 전송한 이후, 잠시 동안 두 번에 걸쳐 메시지 수신이 허용되는 방식이다. 송신하기 전에는 송신과 수신 모두 동작을 하지 않다가 송신이 진행되면, 그 순간에 잠시 동안 두 번에 수신 윈도우를 허용할 기회를 제공한다. 즉 A Class는 수신을 위해서 송신이 진행되어야 하며 송신 위주의 서비스에 주로 사용된다. 상시전원을 사용하지 않고 배터리로 운영하는 경우에 사용되기 때문에 가장 적은 전력을 사용하는 Class이다.
C Class 통신 방식은 수신 가능 상태를 유지하기 위해 다른 Class에 비해 최소 지연시간을 갖는다. 송신 시간을 제외하고는 수신을 계속 대기하는 상태가 지속되므로 세 가지 Device Class 중에서 가장 많은 전력을 소비한다. 그 때문에 충분한 전력 공급이 가능한 상황에서 이용되는 Device Class이다. 대부분의 순간 수신상태를 유지하기 때문에 수신이 중요한 서비스(예를 들면 Actuator 기능 및 원격제어)에 이용된다.

67 ict 최우수상_스마트파크 (41)

OTAA 활성화 방법(Join과정 및 암호화 방법)
새로운 최종 장치 (LoRa 장치)가 LoRa 네트워크에 추가되려면 활성화 프로세스를 거쳐야 한다. LoRaWAN 프로토콜에는 ABP 통신과 OTAA통신 두가지 활성화 방법이 존재한다. 현재 OTAA모드를 기준으로 작동되도록 구현되어있다.
센서노드가 가입 요청 메시지를 보내 가입 절차를 시작한다. 참여 요청에 DevEUI, AppEUI 및 DevNonce가 포함된다. DevEUI 및 AppEUI는 각각 Global End Device 및 Application Identifier를 나타내며 IEEE 나타내며 EUI-64 주소 공간 형식을 따른다. 우리 프로젝트에서는 센서노드의 EUI 주소값은 Arduino 코드에 하드코딩하여 지정한다. Join 활성화 과정에서는 App Key를 이용하여 AES-128 암호화하며, NwkSKey와 App_SKey가 활성화 과정으로 인해 생성된 이후에는 이 둘 중 하나를 이용하여 메시지를 AES-128 암호화한다.

67 ict 최우수상_스마트파크 (42)

위 그림은 OTAA모드 활성화 프로세스 과정을 나타낸다. AppKey는 최종 장치와 서버간에 미리 공유되는 Key값이다.

67 ict 최우수상_스마트파크 (43)

왼쪽 그림은 Join Request 메시지의 구조이다. End Device는 다음의 요청을 보낸다.
Join Request 메시지는 암호화되지 않는다. Dev Nonce는 엔드 장치에서 랜덤하게 생성된 값으로 이전에 수신한 요청의 DevNonce 값과 중복되는 Dev Nonce의 요청은 받아들이지 않아 공격을 방지한다.
오른쪽 그림은 Join Accept 메시지의 구조이다. 메시지를 App Key로 AES-128 암호화한다.

메시지의 프레임 구조

67 ict 최우수상_스마트파크 (44)

67 ict 최우수상_스마트파크 (45)

구현한 MAC Command
LoRaWAN은 다음과 같은 Mac Command, Command ID를 갖도록 되어있다. DevStatusReq와 DevStatusAns 명령을 이용하여 End-Device의 배터리 수준과 SNR 수신 신호 상태 값을 얻을 수 있다.
우리 프로젝트에서는 RFU 영역인 CID 0x0E를 액추에이터 작동을 지시하는 명령(ActuatorReq, ActuatorAns)으로 따로 구현하여 사용하도록 했다.

Network Server(Sink Node) 동작 및 기능
데이터 전송
싱크노드는 여러 게이트웨이에서 mosquitto 브로커를 통해 mqtt통신으로 들어온 센서노드별 데이터를 취합하여, 이를 백엔드 측의 데이터 큐인 Kafka로 전송해주는 역할을 한다.

헬스체크를 위한 센서노드 상태체크 명령 전달
또한 센서노드들의 상태를 체크하는 것은 IoT플랫폼의 기능에 있어서 필수적이다.
싱크노드에서는 주기적으로 센서노드들에게 DevStatusReq요청을 보내도록 “command/downlink/ActuatorReq/<센서노드ID>”토픽으로 MQTT 메시지를 발행하여 게이트웨이에서 센서노드들에게 DevStatusReq Mac Command를 전달하도록 한다. DevStatusAns을 정상적으로 답장한 센서노드들의 상태를 “정상”으로 판단하고 이를 백엔드의 헬스체크 서버에 알려준다.
이러한 상태 체크 과정에서 배터리 상태와 SNR 수신 신호에 대한 정보를 알 수 있으며, 백엔드 서버에는 각 센서노드의 상태와 배터리 수준을 함께 알려준다.

액추에이터 명령 수신 및 게이트웨이로 전달
백엔드 서버로부터 오는 명령으로 LED 또는 모터들을 제어할 수 있어야 한다. 싱크노드에서는 백엔드로부터 오는 명령을 Flask 웹서버에 들어온 HTTP요청으로 수신한다.
Flask 웹서버로 수신한 HTTP 액추에이터 요청을 json 데이터와 함께 수신하면 싱크노드는 이를 “command/downlink/ActuatorReq/<센서노드ID>”토픽으로 MQTT 메시지를 발행한다. 센서노드 측에서는 명령을 받기 위해 “command/downlink/+/<센서노드 ID>”를 구독했기 때문에 MQTT프로토콜을 통해 액추에이터 명령을 받을 수 있다.

3.4. 개발 환경
3.4.1 개발언어 및 라이브러리

67 ict 최우수상_스마트파크 (46)

3.4.2. 포트 포워딩

67 ict 최우수상_스마트파크 (47)

4. 단계별 제작 과정
4.1. 센서네트워크 구축
4.1.1. 싱크노드 구현
싱크노드의 메인코드에서의 동작 순서이다.

1. Flask 웹서버 실행
2. Kafka Producer 생성
3. mqtt 클라이언트 생성
4. HealthCheck를 담당, 관리하는 클래스 생성
5. Actuator관련 동작을 담당하는 클래스 생성
6. MQTT Callback함수 등록 및 MQTT Client의 Loop 시작
7. HealthCheck를 위한 TCP 소켓 생성
8. 쓰레드 생성->쓰레드 핸들러로 HealthCheck를 담당하는 함수 등록
9. 헬스체크 쓰레드 시작

67 ict 최우수상_스마트파크 (48)

4.1.2. NodeMCU LoRa 연결
사용하는 LoRa 모듈(SX-1278)의 Pin 구성은 다음과 같다.

67 ict 최우수상_스마트파크 (49)

ANT에는 안테나를 연결한다. SCK는 SPI-Clock Input을 담당한다. MISO는 SPI-Data Out을 담당한다. MOSI는 SPI-Data In을 담당한다. NSS는 SPI-Chip Select를 담당한다.
LoRa 통신 모듈과 NodeMCU간의 연결은 다음의 표와 같다.

67 ict 최우수상_스마트파크 (50)

나머지 디지털 핀과 아날로그 핀들은 센서나 LED, 모터제어를 위해 사용한다.

67 ict 최우수상_스마트파크 (51)

4.1.3. NodeMCU
LoRaWAN 코딩
NodeMCU의 LoRaWAN은 https://git.antares.id/lorawan-loraid/arduino-loraid의 코드를 뼈대로 하여 개선하였다. (지원가능한 주파수 채널 확장, MacCommand처리기능 추가, 수신이 되지 않는 문제 수정.)

 

 

67 ict 최우수상_스마트파크 (52) 67 ict 최우수상_스마트파크 (53)

다음은 LoRaWAN통신 코드이다.

 

#include “ToIoTwithLoRaWAN.h”
#include “config.h”
const sRFM_pins RFM_pins = {
.CS = 10,
.RST = 9,
.DIO0 = 2,
.DIO1 = 3,
.DIO2 = -1,
.DIO5 = -1,
};ToIoTwithLoRaWAN t;
double value = 0.0;
void setup() {
t.setupToIoTwithLoRaWAN(nodeId, interval, 0);
// LoRaWAN //LoRaWAN Setting
/*~~~중략~~~*/
// Join procedure
bool isJoined;
do {
Serial.println(“Joining…”);
isJoined = lora.join();
//wait for 3s to try again
delay(3000);
}while(!isJoined);
Serial.println(“Joined to network”);
}

void loop() {
t.pub(“sensor-uuid-1″, 1, value);
t.rcv();
wdt_reset();
}

현재 타이머 시간과 과거에 측정한 타이머 시간이 interval보다 크다는 것은 interval만큼 타이머 시간이 흘렀다는 것을 의미한다. 따라서 interval만큼의 시간을 주기로 하여 메시지를 송신하는 것이다.
QOS 변수는 사용자가 설정하는 값으로 1이상일 때, ACK를 수신해야지만 다음 새로운 메시지를 전송하도록 한다. QOS==0 이라면, ACK 수신여부와 관계없이 새로운 메시지를 계속 전송한다.
앞으로 센서노드는 위 LoRaWAN 통신코드를 베이스로 한다. 센서, 액추에이터에 대한 코드를 이 코드에 추가하여 가로등, 수목관리, 쓰레기통을 구현한다.

4.1.4. 싱글채널 게이트웨이 제작과정
기존의 LoraWAN 게이트웨이를 국내에서 접하기는 어렵게 되어 있어서 접하기 쉽도록 라즈베리 파이를 이용한 싱글채널 게이트웨이를 직접 구현하기로 했다.
LoRa 통신을 가능하게 해주는 LoRa 통신 모듈을 연결하기 위해 왼쪽 사진과 같이 납땜 작업을 했다. 오른쪽 사진과 같이 안테나를 통신 모듈에 연결하고 각 핀을 라즈베리파이에 연결했다.
Lora 모듈과 라즈베리파이는 아래와 같이 연결했다.

67 ict 최우수상_스마트파크 (54)

67 ict 최우수상_스마트파크 (55)

4.1.5. LoRa 게이트웨이(라즈베리파이) LoRaWAN 코딩
게이트웨이의 LoRaWAN 프로토콜을 다음과 같이 구조화하여 파이썬으로 구현했다.

LoRaWAN 프로토콜 전체적인 코드 구성
다음은 Python으로 구현한 LoRaWAN프로토콜의 라이브러리 구조이다.
· AES_CMAC.py: AES-128 암호화를 위한 함수들을 정의했다.
· CID.py: Mac Command들의 Command ID를 정의했다. MacCommand처리를 위한 함수들을 정의했다.
· Channel.py: 사용할 주파수 채널을 선택할 수 있도록 채널에 대한 정보들을 정의했다.
· DataPayload.py: 데이터 페이로드(FRM Payload)를 처리하기 위한 클래스와 메소드를 정의했다.
· Direction.py: Mac Header(MHDR)의 각 메시지들이 어떤 방향으로 향하는 메시지인지 정의하는 클래스와 메소드이다. (UP: 센서노드->게이트웨이 / DOWN: 게이트웨이->센서노드)
· FHDR.py: Frame Header에 대한 클래스와 메소드를 정의한다.
· JoinAcceptPayload.py: JoinAccept에 대한 메시지를 생성하거나 읽기 위한 Payload 처리코드
· JoinRequestPayload.py:JoinRequest에 대한 메시지를 생성하거나 읽기 위한 Payload처리코드
· LoRaMAC.py: 작업 상태를 정의하는 코드. (수신상태, 송신상태, 대기상태)
· MHDR.py: Mac Header 정보들을 정의하는 클래스와 메소드
· MacCommandPayload.py: MacCommand를 Frame Payload에 넣어서 전달하기 위한 코드
· MacPayload.py: Mac Payload를 생성하거나 읽기 위한 코드
· MalformedPacketException: 패킷 예외 처리에 대한 코드
· PhyPayload.py: Physical Payload를 생성하거나 읽기 위한 코드

LoRa WAN 프로토콜 코드 주요동작 순서
일반적인 데이터 수신과 송신의 Payload 처리는 다음과 같은 순서로 동작한다.
PhyPayload.py->MacPayload.py->DataPayload.py (주요 코드 순서, 다른 코드는 생략) : 전원이 켜진 센서노드는 네트워크에 접속하기 위해 주기적으로 JoinRequest 신호를 전송한다.
JoinRequest를 수신하게 되어 읽는 경우에는 다음과 같은 순서로 동작한다. : PhyPayload.py->MacPayload.py->JoinRequestPayload.py
JoinAccept를 송신하는 경우에는 다음과 같은 순서로 동작한다. : PhyPayload.py->MacPayload.py->JoinAcceptPayload.py
MacPayload를 송신하는 경우에는 다음과 같은 순서로 동작한다. : PhyPayload.py->MacPayload.py->MacCommandPayload.py

센서노드(NodeMCU)와 게이트웨이간 LoRa통신 확인

67 ict 최우수상_스마트파크 (56)

위와 같이 센서노드와는 LoRaWAN통신을 하고 싱크노드와는 MQTT 통신을 한다.

4.1.6. 헬스체크 구현
헬스체크는 센서노드의 상태를 체크하는 기능이다. 싱크노드(네트워크 서버)는 LoRaWAN 프로토콜의 Mac Command인 DevStatusReq를 센서노드로 주기적으로 전송하게 한다. 이를 주기적으로 처리하기 위해 HealthCheck 담당 쓰레드를 하나 만들어서 주기적으로 게이트웨이에게 명령을 전달해주고 TCP소켓을 열어 백엔드 측의 헬스체크 서버와 통신하도록 했다. 센서노드로부터 DevStatusAns의 응답을 정상적으로 수신하면 센서노드의 상태를 정상으로 판단하고 그렇지 않으면 불량으로 판단한다.

67 ict 최우수상_스마트파크 (57)

67 ict 최우수상_스마트파크 (58)

67 ict 최우수상_스마트파크 (59)

 

 

4.1.7. 액추에이터 구현
센서노드가 액추에이터 명령인 ActuatorReq를 수신하면 받은 액추에이터 ID를 타켓으로 동작시켜야 한다. 액추에이터 명령 패킷은 다음과 같은 Payload를 갖는다.
명령 메시지 구조 : Actuator ID, Sleep, Value, Sleep, Value, …
Actuator ID는 동작시킬 액추에이터의 ID를 의미한다.(각각의 액추에이터는 자신의 ID를 갖는다.)
Sleep은 액추에이터에 값을 넣어 실행시키기까지의 대기시간을 의미한다.
Value는 액추에이터를 동작시키기 위한 값을 의미한다.
아래는 액추에이터를 관리하기 위한 Actuator 구조체 정의부이다.

struct Actuator{
int actuatorId;
int value[6];
unsigned long interval[6];
unsigned long previousMillis= 0;
short int running_index=0;
bool run= false;
short values_len= 0;
};

 

위에서 받은 액추에이터 명령 메시지를 위와 같은 구조체에 입력하여 관리하게 된다.

 

Void Loop(){
If(millis() – previousMillis > interval)
{
PreviousMillis = millis();
~~~~~~~~~~
}
}

액추에이터에서 delay가 발생하더라도 LoRa통신에는 영향이 없도록 하기 위해 다음과 같이 루프문과 타이머를 이용하는 구조로 코드를 작성했다. 위의 코드에서 interval은 대기시간이다. previousMillis는 전에 저장한 타이머 시간을 의미한다. Millis() 함수는 현재 타이머 시간을 의미한다.
즉, 위의 코드는 타이머 시간을 측정하여 interval에 저장된 시간만큼 지났을 때, if문 내부의 코드가 실행되는 구조이다. 액추에이터 동작 함수에도 LoRa에 지장이 가지 않도록 하기 위해 위의 구조를 적용했다.
액추에이터의 경우 각자의 구조체 안에 자신만의 대기시간을 저장하는 interval 변수를 갖도록 하여 개별적으로 동작할 수 있다.

4.1.8. 가로등 제작 과정

67 ict 최우수상_스마트파크 (60)
먼저 가로등의 뼈대가 되는 모형에 4×2 LED를 부착하고 LED의 밝기를 조절했다. LED의 밝기는 analogWrite()함수로 아날로그 신호를 주면 조절할 수 있다. 위 사진과 같이 밝기 조절을 테스트했다.
다음으로 보행자 통행량을 측정하기 위한 PIR모션센서를 테스트했다. PIR 센서를 다음과 같이 LED 옆에 부착하고 NodeMCU와 연결하여 테스트했다.

67 ict 최우수상_스마트파크 (61)

일정 간격의 시간동안 모션이 감지되면 위와 같이 Welcome!이 출력된다.
보행자 통행량 측정에 이 PIR 센서를 활용하기 위해서 주기적으로 이 모션이 감지되는 횟수가 얼마나 많은지 카운트를 누적하여 누적한 카운트 값을 백엔드 서버에 전해준다.

67 ict 최우수상_스마트파크 (2)

위는 바닥과 상단에 부착된 조도센서 사진이다. 왼쪽 사진은 부점등 확인을 위해 조도 센서를 가로등 바닥부분에 부착하였다. 기판에 저항과 cds센서를 납땜하여 연결했다. 오른쪽 사진은 밝기를 측정하기 위해 상단에 조도 센서를 부착하였다. 상단의 조도센서는 밤에 자동 점등, 아침에 자동 불을 끄기위해 달았다.

67 ict 최우수상_스마트파크 (62)

아날로그 핀에 연결하여 조도 센서값을 확인했다.
다음은 가로등 센서노드의 메인 코드이다.

 

#include “ToIoTwithLoRaWAN.h”
#include “config.h”
/*~~~중략~~~*/
ToIoTwithLoRaWAN t;
double value = 0.0;
// Actuator 2
struct Actuator a2;
Servo myservo;/
/ PIR, CdS, LED 관련 핀 제어변수 선언
/*~~~중략~~~*/
void setup() {
pinMode(pirPin, INPUT);
pinMode(cdsPin1, INPUT);
pinMode(cdsPin2, INPUT);
pinMode(ledPin, OUTPUT);
t.setupToIoTwithLoRaWAN(nodeId, interval, 0);
// LoRaWAN Setting
/*~~~중략~~~*/
// Actuator setting a2.actuatorId = 2;
// LED actuator
// Join procedure bool isJoined;
do {
Serial.println(“Joining…”);
isJoined = lora.join();
//wait for 3s to try again
delay(3000); }
while(!isJoined);
Serial.println(“Joined to network”);
}
void loop() {
cdsVal1 = analogRead(cdsPin1);
cdsVal2 = analogRead(cdsPin2);
pirVal = digitalRead(pirPin);
if (pirVal == HIGH) {
if (pirState == LOW){
Serial.println(“Welcome!”); // 시리얼 모니터 출력
pirCnt=pirCnt+1.0;
pirState = HIGH;
}
}
else {
if (pirState == HIGH){
Serial.println(“Good Bye~”); // 시리얼 모니터 출력
pirState = LOW;
}
}
t.pub(“5,6,9″, 3, cdsVal1, pirCnt, cdsVal2);
t.rcv();
t.set_target_actuator(&a2);
t.actuator_LED(&a2, ledPin);
wdt_reset();
}

세 가지 부품(LED, PIR센서, 조도센서)과 LoRa SX1278 모듈을 NodeMCU와 연결하고 위의 코드로 데이터가 잘 전달되는지 확인한다. LED 밝기 조절을 위해 LED를 액추에이터로 등록하여 액추에이터 ID를 2번으로 설정해주었다.

67 ict 최우수상_스마트파크 (63)

4.1.9. 수목관리 시스템 제작 과정

67 ict 최우수상_스마트파크 (3)

먼저 시연을 위해 다음의 화분을 준비하였다. 토양수분을 측정하기 위한 센서를 NodeMCU보드와 연결이 편하도록 다음과 같이 기판에 부착하였다. NodeMCU는 LoRa통신 모듈과 연결돼있다.

67 ict 최우수상_스마트파크 (64)

물을 주기 위해서는 수중모터와 수중모터를 제어하는 L9110s 모터드라이버를 사용했고, 수중모터를 LoRa통신으로 제어할 수 있도록 액추에이터로 등록했다. 코드 부분에서는 수중모터를 제어하기 위한 Actuator 구조체를 선언했다.
액추에이터 신호가 왔을때 수중모터가 작동하여 물을 주는 것을 확인했다. 다음은 수목관리 센서노드의 코드이다.

 

#include “ToIoTwithLoRaWAN.h“
#include “config.h”
/*~~~중략~~~*/
int IN1=D3; // A-IA연결 A
int IN2=D1; // A-IB연결 /A
int pin_A0 = A0;
ToIoTwithLoRaWAN t;
float value = 0.0;
// Actuator Struct to use motor
struct Actuator a1;

void setup() {
t.setupToIoTwithLoRaWAN(nodeId, interval, 0);
pinMode(pin_A0, INPUT);
// Actuator Setting
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
a1.actuatorId = 1;
for(int i=0; i < a1.values_len; i++)
a1.value[i] = 0;
// LoRaWAN Setting

/*~~~중략~~~*/
// Join procedure
bool isJoined;
do {
Serial.println(F(“Joining…”));
isJoined = lora.join();
Serial.println(isJoined);
//wait for 3s to try again
delay(3000);
}while(!isJoined);
delay(1);
Serial.println(F(“Joined to network”));
}
void loop() {
value = analogRead(A0);
t.pub(“7″, 1, value);
t.rcv();
t.set_target_actuator(&a1);
t.actuator_L9110(&a1, IN1, IN2);
wdt_reset();
}

4.1.10. 쓰레기통 제작 과정

다음과 같이 뚜껑에는 초음파 센서를 접착제를 이용해서 부착하였다.

67 ict 최우수상_스마트파크 (4)

Echo Pin은 디지털 핀 D1에 연결, Trig Pin은 디지털 핀 D3에 연결했다.
다음은 쓰레기통 센서노드의 메인코드이다. 초음파 센서로 측정한 적재량 백분율 계산, LoRa통신 기능을 한다.

 

#include “ToIoTwithLoRaWAN.h”
#include “config.h”
/*~~~중략~~~*/
int trigPin = D3;
int echoPin = D1;
ToIoTwithLoRaWAN t;
void setup() {
t.setupToIoTwithLoRaWAN(nodeId, interval, 0);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// LoRaWAN Setting

/*~~~중략~~~*/
// Join procedure
bool isJoined;
do {
Serial.println(“Joining…”);
isJoined = lora.join();
Serial.println(isJoined);
//wait for 3s to try again
delay(3000);
}while(!isJoined);
delay(1);
Serial.println(“Joined to network”);
}
double MyPreviousMillis;
double MyInterval = 10;
double distance;
double MAX_distance=18.0;
void ultrasound() {
float duration;
if(millis() – MyPreviousMillis > MyInterval) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// echoPin 이 HIGH를 유지한 시간을 저장 한다.
duration = pulseIn(echoPin, HIGH);
// HIGH 였을 때 시간(초음파가 보냈다가 다시 들어온 시간)을 가지고 거리를 계산 한다.
// 340은 초당 초음파(소리)의 속도, 10000은 밀리세컨드를 세컨드로, 왕복거리이므로 2로 나눠준다.
distance = ((double)(340 * duration) / 10000) / 2;
MyPreviousMillis = millis();
}
}
double value;
void loop() {
ultrasound();
value = ((MAX_distance – distance)/MAX_distance)*100;
t.pub(“8″, 1, value);
t.rcv();
wdt_reset();
}

수직으로 쓰레기통 바닥을 향해 거리를 측정하여 값이 작아질수록 쓰레기가 쌓인 것이다.

67 ict 최우수상_스마트파크 (65)

하지만 이 거리값을 cm단위로 그대로 전달하지 않고 적재된 양을 100분율로 계산하여 서버에 전달한다. 계산은 다음과 같다. (쓰레기 적재량 데이터의 단위는 %.)
Value = (쓰레기통 바닥까지의 거리 – 측정된 거리) / (쓰레기통 바닥까지의 거리) * 100

4.2. 데이터 스트리밍 시스템 구축
4.2.1. Data Logic 서비스
Kafka에 적재된 데이터를 DataLogic서비스로 consume후 Unmarshal하여 DataLogic내의 구조체에 저장할 수 있도록 consumer를 생성한다.

 

func NewKafkaConsumer() *group {
//—중략—
// kafkaConsumer 설정
cfg := sarama.NewConfig()
cfg.Version = sarama.V0_10_2_0
cfg.Consumer.Offsets.Initial = sarama.OffsetNewest
// kafkaConsumer 생성
kafkaConsumer.client, err = sarama.NewConsumerGroup([]string{setting.Kafkasetting.Broker}, setting.Kafkasetting.GroupID, cfg)
if err != nil {
panic(err)
}
// —중략—
go func() {
for {
// kafka로부터 데이터 Consume
= err = kafkaConsumer.client.Consume(ctx, setting.Kafkasetting.Topics, &consumer)
if err != nil {
log.Panicf(“Error from consumer: %v”, err)
}
if ctx.Err() != nil {
return
}
consumer.ready = make(chan bool)
}
}()
return kafkaConsumer
}

67 ict 최우수상_스마트파크 (66)

메모리에 저장되어있는 등록정보를 데이터에 추가 할 수 있도록 한다.

 

func (lcuc *logicCoreUsecase) ToLogicData(kd *model.KafkaData) (model.LogicData, error) {
n, err := lcuc.rr.FindNode(kd.NodeID) // NodeID를 key로 검색하여 해당 Node의 메타데이터를 가져옴
//–중략–
s, err := lcuc.rr.FindSensor(kd.SensorID) // SensorID를 key로 검색하여 해당 Sensor의 메타데이터를 가져옴
//–중략–
vl := map[string]float64{}
for i, v := range s.SensorValues {
vl[v] = kd.Values[i] // Kafaka로 읽은 센서 데이터 값 map에 넣음
}
return model.LogicData{ // 등록정보 추가된 센서 데이터 return
SensorID: kd.SensorID,
SensorName: s.Name,
Values: vl,
Node: *n,
Timestamp: kd.Timestamp,
}, nil
}

 

 

 

 

 

 

 

67 ict 최우수상_스마트파크 (90)

해당 센서값이 설정된 이벤트 조건을 만족하는지 검사한다. 로직을 만족할 경우 이벤트를 실행한다.

 

func (ve *ValueElement) Exec(d *model.LogicData) {
// –중략–
for _, rg := range ve.Range {
if rg.Min <= v && v < rg.Max { //value가 등록한 조건을 충족하는지 검사
isRange = true
}
}
if isRange {
ve.BaseElement.Exec(d) //충족할 경우 다음으로 등록된 Filter혹은 Action 수행
}
}

func (ae *ActuatorElement) Exec(d *model.LogicData) {
// –중략–
if ok {
ae.Interval[d.Node.Name] = false
go func() {

res := Actuator{ // Actuator에게 전할 명령 객체 생성
Nid: d.Node.Nid,
Aid: ae.Aid,
Values: ae.Values,
}
pbytes, _ := json.Marshal(res)
buff := bytes.NewBuffer(pbytes) // 명령을 buffrer에 담음
addr := (*adapter.AddrMap)[d.Node.Sid] // 등록정보로 부터 해당 노드의 Sink주소 가져옴

// Sink 라즈베리파이의 Flask 서버로 동작명령 Post
resp, err := http.Post(“http://”+addr.Addr+”/actuator”, “application/json”, buff)
if err != nil {
panic(err)
}
defer resp.Body.Close()
}()
// –중략–
}
}

67 ict 최우수상_스마트파크 (67)

등록정보가 포함되어 완성된 데이터를 엘라스틱 서치에 인덱싱 한다.

func (ec *client) insertDoc(d *model.Document) {
ec.docBuf = append(ec.docBuf, d) // 버퍼에 데이터 적재
if len(ec.docBuf) >= (ec.bufSize – 10) { // 데이터 개수가 일정 수준에 달하면
ec.bulk() // 벌크 인덱싱 실행
}
}

67 ict 최우수상_스마트파크 (68)

4.2.2. Health Check 서비스
각 Sink로부터 헬스 정보를 받는다.

67 ict 최우수상_스마트파크 (69)

받은 헬스 정보 중 변경 사항이 있는 노드의 헬스 정보만을 버퍼에 추가하여 웹소켓을 통해 front-end로 보낼 수 있도록 한다.
버퍼에 담긴 헬스 정보를 프론트 엔드로 전송한다.

 

// 어답더 계층의 NodeState상태와 메모리 계층의 statusRepo의 status table을 동기화시켜 주는 것
func (sr *statusRepo) updateNodeStatus(sinkID int, ns []adapter.NodeState, t time.Time) []model.NodeStatus {
// –중략–
// update the status checked from the sink node
for _, v := range ns { // v는 NodeSate 배열 중 한 원소
nsTable[v.NodeID] = true
nodeState, ok := sr.table[sinkID][v.NodeID] // if new nodeState, regist new state
if !ok {
tempState := model.NewStatus(v.State, t)
sr.table[sinkID][v.NodeID] = tempState
res = append(res, model.NodeStatus{NodeID: v.NodeID, State: tempState.State, Battery: v.Battery})
continue
}
if isChanged := nodeState.UpdateState(v.State, t); isChanged { // 헬스정보가 변경되었을 경우 res배열에 추가
res = append(res, model.NodeStatus{NodeID: v.NodeID, State: nodeState.State, Battery: v.Battery})
}
sr.table[sinkID][v.NodeID] = nodeState // 상태 테이블(map)에 상태 저장
}
// –중략–
return res
}

67 ict 최우수상_스마트파크 (70)

4.3. 웹 프론트 환경 구축
4.3.1 노드 마커

addMarker(position: any, map: any) {
if ( position.kind === ‘streetlemp’) var imageSrc = ‘https://user-images.githubusercontent.com/50009240/111455569-4edede80-8759-11eb-952f-2df28fdcdc4c.png’
else if ( position.kind === ‘trashcan’) var imageSrc = ‘https://user-images.githubusercontent.com/50009240/111451567-e857c180-8754-11eb-9299-0ea55e430b17.png’
else var imageSrc = ‘https://user-images.githubusercontent.com/50009240/111451575-ebeb4880-8754-11eb-8459-eed8f0983c55.png’

var imageSize = new window.kakao.maps.Size(30 , 35),
markerImage = new window.kakao.maps.MarkerImage(imageSrc, imageSize), // 마커이미지 생성
marker = new window.kakao.maps.Marker({
map: map,
position: position.latlng, // 마커의 위치
image: markerImage // 마커 이미지
});
return marker;
}

카카오맵 api를 사용해 지도 및 지도 위 마커를 나타냈다. addMarker 함수의 파라미터로 받은 position는 노드 이름, 종류, 정보(싱크, 센서, id), 지도 내 좌표를 포함하고 있다. 따라서 노드의 종류에 따라 마커 이미지를 다르게 했고, 해당 노드의 지도 내 좌표에 마커를 생성했다.

67 ict 최우수상_스마트파크 (71)

4.3.2. rest api

 

componentDidMount() {
this.getsensorList(); // 센서리스트 GET하는 함수
this.getsinkList(); // 싱크리스트 GET하는 함수
}

// Get sensor list from backend
getsensorList() {
var url = SENSOR_URL;

fetch(url)
.then((res) => res.json())
.then((data) => {
this.setState({ sensorList: data }); // 얻은 데이터를 sensorList에 저장
})
.catch((error) => console.error(‘Error:’, error));
}

위는 백으로부터 센서 리스트를 GET해오는 코드이다. component DidMount는 컴포넌트가 화면에 나타나게 됐을 때 호출된다. 여기서 fetch()를 통해 해당 url로부터 노드 리스트, 센서 리스트 등의 정보를 GET한다. 백으로부터 얻은 데이터는 해당 구조체에 저장해 사용한다. 위 코드와 같이 REST API를 통해 백으로부터 정보를 얻어오고, 센서, 노드 등을 등록할 시 REST API (POST)를 사용해 백으로 정보를 보냈다.

4.3.3. 헬스 체크

 

export interface nodeHealthCheckElem {
nid: number;
state: number;
battery: number;
}

위는 HealthCheck 구조체이다. 각 노드의 헬스 상태를 가져와야 하므로 노드의 id인 nid, 연결 상태를 의미하는 state, 배터리 상태인 battery로 구조체가 이루어져 있다.

 

import { w3cwebsocket as W3CWebSocket } from ‘websocket’;
const client = new W3CWebSocket(HEALTHCHECK_URL) // 웹소켓 오브젝트 생성

componentWillMount() {
client.onopen = () => { // 웹소켓 연결 확인
console.log(‘WebSocket Client for Health Check Connected’);
};
client.onmessage = (message: any) => {//서버로부터 수신된 메시지 전달
console.log(message);
this.setState({
nodeState: JSON.parse(message.data),
// 헬스정보 nodeState에 저장
});
this.getHealthStateMap(); // health map update
this.getBatteryStateMap(); // battery map update
};
}

위는 웹소켓을 통해 헬스와 배터리 상태를 얻어오는 코드이다. ‘const client = new W3CWebSocket(HEALTHCHECK_URL);’ 를 통해 새 웹소켓 오브젝트를 생성하고, onopen 핸들러로 연결이 수립되었는지 확인한다. WebSockets는 event-driven API로써 메시지가 수신되면 “message” 이벤트가 onmessage 함수로 전달되게 된다. 따라서 백으로부터 받은 노드 id, health, battery 정보가 onmessage 함수로 전달되고, 이를 nodeState에 저장한다. 그 후 getHealthStateMap(), getBatteryStateMap() 함수에서 nodeState를 바탕으로 각각 health, battery 정보가 저장되어 있는 map을 업데이트 한다. 각 map에 저장된 health, battery 정보를 토대로 nodeTable, MapNodeTable에서 상태를 나타낸다.

5. 회로도

67 ict 최우수상_스마트파크 (72) 67 ict 최우수상_스마트파크 (73) 67 ict 최우수상_스마트파크 (74)

6. 임시 데이터 프로듀싱 서버

6.1. 기능
실제로 모든 공원에 센서를 설치하여 데이터를 얻는 것은 매우 어려우므로 실제 공공 통계 데이터를 처리 및 프로듀싱 하여 데이터 실시간 스트리밍 및 시각화, 매니지먼트 기능의 데모를 구현한다.

67 ict 최우수상_스마트파크 (75)

6.2. OPEN DATA
서울 열린 데이터 광장
· 스마트서울 도시데이터 센서(S-DoT) 환경정보
· 미세먼지, 온도, 습도, 조도
· 서울시 한강공원 이용객 현황 통계
· 월별 한강공원 이용객

기상자료개방포털
· 농업기상관측 정보
· 토양수분

7. 참고문헌 및 출처
· 카카오맵 api : https://apis.map.kakao.com/web/sample/multipleMarkerEvent2/
· 서울 열린 데이터 광장 – 스마트서울 도시데이터 센서(S-DoT) 환경정보 https://opengov.seoul.go.kr/data/20303041
· 서울 열린 데이터 광장 – 서울시 한강공원 이용객 현황 통계 https://data.seoul.go.kr/dataList/10798/S/2/datasetView.do
· 기상자료개방포털 – 농업기상관측(AAOS) https://data.kma.go.kr/data/grnd/selectAgrRltmList.do?pgmNo=72
· 대구 스마트공원 기사 : http://news.khan.co.kr/kh_news/khan_art_view.html?art_id=201709151701001
· 세종 스마트공원 기사 :https://www.korea.kr/news/visualNewsView.do?newsId=148850085
· LoRaWAN v1.0.4 Alliance-Specification 문서 : https://lora-alliance.org/resource_hub/lorawan-104-specification-package/
· LoRaWAN Alliance-Specification 문서 : https://lora-alliance.org/wp-content/uploads/2020/11/lorawantm_specification_-v1.1.pdf
· LoRaWAN Alliance-What-is-lorawan 문서 : https://lora-alliance.org/wp-content/uploads/2020/11/what-is-lorawan.pdf

 

 

[67호]제19회 나노기술융합전시회

67hot_나노기술융합전시회 (4)

67hot_나노기술융합전시회 (1)

NANO KOREA 2021

제19회 나노기술융합전시회

글 | 박진아 기자 jin@ntrex.co.kr

 

일본의 나노테크 재팬, 미국의 테크커넥트 월드와 함께 세계 3대 나노 행사로 자리매김한 나노코리아 2021이 지난 7월 7일부터 9일까지 킨텍스에서 진행됐다. 올해로 제19회를 맞은 이번 나노코리아는 산업통상자원부와 과학 기술정보통신부가 주최하고, 나노융합산업연구조합과 나노기술연구협의회가 공동주관했으며 개막식, 세미나, 국제심포지엄, 노벨 물리학상을 받은 나고야대 교수의 기조강연 등이 마련됐다.
또한, 나노, 레이저, 접착/코팅/필름, 첨단세라믹, 스마트 센서 5개의 첨단 기술 전시회가 합동 개최되어 삼성·LG·KIST·ETRI 등 270개 기업과 기관이 475개가 참여하여 해당 분야의 첨단 융합기술과 응용제품을 선보였다.

67hot_나노기술융합전시회 (2)

먼저 제조 공정의 품질향상에 빠질 수 없는 제품의 정밀 측정, 검사에 필요한 각종 고사양 현미경 제품들을 만나볼 수 있었다. 그 중 하이록스코리아에서는 3차원 고해상도 영상현미경 여러 제품을 전시 및 시연했다. 하이록스코리아는 3D 디지털 마이크로스코프 선두 업체인 일본 하이록스사의 국내 독점 공급업체이다.
디지털마이크로스코프는 접안렌즈를 통해 관찰하는 일반 현미경과 달리 이미지 소자를 탑재한 LCD 모니터로 제품을 측정 및 관찰할 수 있으며 반도체, 전기, 전자 부품, 디스플레이 부품등의 검사에 활용된다. 지원하는 제품은 고해상도의 측면 관찰 및 회전 관찰이 가능한 3D 마이크로스코프 RH-2000모델, 새롭게 구성된 초고해상도의 리얼 텔레센트릭 렌즈가 왜곡없는 와이드 뷰를 제공하는 HRX-01모델과 HRX-01을 베이스로 개발된 고성능 보급형 모델 RX-100등이 있다.

67hot_나노기술융합전시회 (3)

67hot_나노기술융합전시회 (4)

측정기 전문 업체 CIP통상에서는 비씨비전의 비접촉 스캔측정기인 현장용 만능 원샷 측정기와 라이카 사의 디지털 현미경 제품을 전시했다. 현장용 만능 원샷 측정기는 17인치의 터치스크린과 CMOS 20MP 카메라가 탑재된 제품이다, 기존 측정기가 여러 제품을 측정할 때, CT를 줄이기 위해 영역별로 광학 포커스를 잡았다면 이 제품은 각 제품별 센터를 잡는 R&R를 높인 이글아이 모드가 지원된다. 또한, 그동안 기어측정의 OPD를 수동으로 사용했다면 현장용 만능 원샷측정기 자동으로 측정하는 기능인 기어 피치 에러 기능을 사용할 수 있으며, 고정 측정 및 무빙 테이블 측정 또한 가능하다.
모듈식 디지털 현미경 시스템 라이카 DMS 1000은 명확한 이미지를 표현하는 HDMI 모니터를 사용하는 내장 카메라가 장착된 디지털 현미경 시스템이다. 광학계는 최대 300배까지 가능하며 미세한 크기에서부터 전체 이미지까지 전부 관찰이 가능한 특징이 있다. 접안 렌즈 없이 모니터에서 샘플을 곧바로 볼 수 있으며, 고품질, 풀 컬러의 정지 영상뿐만 아니라 풀 HD 동영사도 가능하다고 한다.
나노기술은 10억분의 1m인 나노미터 크기에서 물질을 조작하는 기술로 반도체, 배터리, 치료용 개발에 활용된다. 국내 대표 기업인 삼성과 LG에서는 이러한 나노기술, 반도체, 배터리 소재 등을 선보였다.

67hot_나노기술융합전시회 (1)

67hot_나노기술융합전시회 (5)

삼성전자 부스를 먼저 살펴보자면 삼성전자에서는 올해 1월 공개된 엑시노스 2100과 삼성전자의 첫 라이다 센서를 준비했다. 삼성 라이다 센서는 다른 라이다들과 달리 초소형 사이즈로 현재 5m 거리 사물을 측정할 수 있으며 5년 내 100m 측정을 목표로 개발에 몰두하고 있다고 한다.
엑시노스 2100은 5나노 EUV 공정과 최신 모바일 AP설계 기술이 적용되어 CPU 성능은 30%, GPU 성능은 40%로 향상되었다고 한다. 엑시노스 2100의 CPU 코어는 스냅드래곤 888과 동일하며 고성능 코어텍스-X 1개, 코어텍스-A78 3개, 저전력 코어텍스-A55 4개를 탑재했다. 이밖에도 아이소셀 이미지 센서 기술, 3나노 반도체 공정도 확인할 수 있었다.

67hot_나노기술융합전시회 (3)

LG는 국내 최대 규모 MW CNT 기술과 그래핀 소재 중심의 나노 기술을 선보였다. CNT는 탄소나노튜브로 탄소 원자로 이뤄진 그물망의 튜브 형태의 구조체로서 나노미터의 튜브직경을 가지고 있는 소재를 말한다. 또한, 전기와 열전도율이 구리 및 다이아몬드와 동일하고 강도는 철강의 100배에 달하는 차세대 신소재로, 배터리, 반도체, 자동차 부품등 다양한 분야에서 활용된다.
MW CNT는 LG화학이 생산하며 세계 최대 배터리 업체인 LG에너지솔루션의 배터리 양극 도전재로 사용된다. LG화학의 MW CNT는 양극재 내 전도도를 10% 이상 개선하면서 톤당 가격은 SW CNT 대비 훨씬 저렴하기 때문에 배터리 제조 단가를 낮출 수 있다고 한다. 이밖에도 LG의 생분해성 플라스틱 소재 등을 소개하여 LG의 전시장은 많은 방문객의 관심을 끌었다.

67hot_나노기술융합전시회 (6)

67hot_나노기술융합전시회 (2)

이번 전시회에는 정부 출연 및 대학 부설 기관 20여 곳이 참여하여 국산화 연구 성과를 전시하였는데, 한국전자통신연구원(ETRI)부스에서 테라온의 나노탄소기반 필름히터와 압전 햅틱 엑추에이터 등 나노 분야 성과 제품을 한자리에서 볼 수 있었다. 테라온은 탄소나노튜브(CNT), GNS 등 나노탄소 기반 고온발열 조성물 기술을 기반으로 나노탄소 발열소재, 고내열 전도성 잉크 등을 생산하고 있고, 건축용 복사히터와 반도체 패키지용 칩본딩 소재 사업화를 추진 중이다. 테라온의 나노탄소기반 필름히터는 250도 이상 고온 쾌속 발열이 가능하며 국내 외 100여종의 나노탄소를 수급하여 형상, 겉보기, 밀도, 젖음성, 결정화도 등의 데이터 베이스를 확보하고 있다. 특히 필름 형태로 제작이 가능하여 플렉서블하고 원형, 각형, 테이프형 등 디자인에 제약이 없어 다양한 분야에서 적용이 기대되고 있다.
텔레햅틱은 먼거리에서도 물체의 촉감을 느낄 수 있는 기술로 압력을 전기로 변환하는 압전소자를 이용하여 최대 15m 떨어진 원거리에서도 금속, 플라스틱, 고무 등 재료마다 다른 촉감을 느끼게 한다.

67hot_나노기술융합전시회 (7)

스마트 센서 전시존에서는 적외선 세선 전문 기업 템퍼스를 볼 수 있었다. 템퍼스에서는 우리 눈에 보이지 않는 빛을 감지하는 센서 소자를 기반으로 다양한 응용 모듈 제품을 만들고 있다. 독자적인 화합물 박막기술을 통해 기존 실리콘 써모파일 대비 노이즈 대비 감도와 감지영역이 5배 우수하다. 주요 전시 제품으로는 가스센서, 온도센서를 볼 수 있었으며, 템퍼스 온도센서는 비접촉 디지털 적외선 써모파일 센서이자 작은사이즈의 선보정 제품으로 IoT제품 및 모바일 라이프케어 서비스에 최적화된 제품군이다. 1채널 유닛센서 뿐만 아니라, 64채널, 4,800채널, CIF, VGA 제품으로 확대하고 있다. 가스센서는 고정밀, 선보정의 듀얼 채널 광학식(NDIR)센서로 높은 정확도와 우수한 안정성을 장점으로 합리적인 가격대로 제공되어 에어콘, 공기청정기등 다양한 제품에 Co2센서를 장착하는 시대를 열어가는데 앞장서고 있다.

67hot_나노기술융합전시회 (8)

그 외에도 가스센서 등 물질 검사, 측정 및 분석기구 전문 제조업체 ELT에서도 다양한 센서상품을 전시했다. 전시된 B-530은 뛰어난 온도보정 및 장시간 사용의 안정성, 점퍼를 이용한 편리한 교정 기능으로 다양한 어플리케이션을 지원 하며 축산업 농업에 많이 사용된다. Co2 측정 범위는 0~2,000ppm (3k,5k,10k,5% 확장모델 선택 가능)이며 측정치의 3% ±30ppm 정확도를 갖고 있다. CxHy-D3 시리즈는 CxHy가스(메탄(CH4), 에틸렌(C2H4), 프로판(C3H8), 부탄(C4H10))를 측정할 수 있는 듀얼채널 센서 모듈로 산업 생활 안전용으로 사용된다.
센서 모듈외에도 지원툴 제품도 전시되어 있었는데 TRB-100ST는 사용자가 직접 센서를 시험하거나 재교정 할 수 있도록 설계한 교정보드로서, 센서의 수명 동안 센서의 높은 정확도 및 안정성을 유지할 수 있게 해준다.

67hot_나노기술융합전시회 (9)

광학 모듈 전문기업 주식회사 유사이언스에서는 레이저 상품을 소개했다. 유사이언스(USCIENCE)는 United Science Institute의 약자로 창조적인 기술로 4차 산업을 이끄는 차세대 기업이자 컴팩트한 레이저, 2D 패턴 레이저, 3D 정보 센서기술을 개발 및 제공하는 벤처기업이다.
현장에서는 USI 광학 모듈을 레이저 광원에 장착하여 싱글라인, 멀티라인 혹은 점 패턴으로 구현하는 모습을 시연하고 있었다. USI 광학 모듈 레이저는 제품별로 반도체 검사, 디스플레이 표면 검사, 정밀 의료검사, 보안, 자율주행, 공간 방역용 살균 조명 분야에 적용되어 사용이 가능하며, 분야별로 조사된 라인이 다른 모양을 띤다. 전시된 제품으로는 초정밀 검사용 라인레이저 USI Optical Laser(SL), 초정밀 검사용 멀티 레이저 USI Optical Laser(ML), 점패턴 레이저 USI Optical Laser(DM)등이 있었다.

67hot_나노기술융합전시회 (10)

센서 전문기업 트루윈(TRUWIN)에서는 산업통상자원부 장관상을 받은 나노센서가 적용된 열화상 카메라인 써모비를 선보였다. 그간 우리나라에서는 열화상 카메라는 전량 수입에 의존하고 있었는데 트루윈에서 적외선 열화상센서 개발을 통해 비접촉 발열 모니터링이 가능한 열화상카메라를 상용화함에 따라 해당 상을 받는 영광을 얻었다. 적외선 열화상 카메라는 모든 물체에서 방출되는 8~14um 영역의 원적외선 파장을 검출하여 2차원 실시간 온도영상 출력을 할 수 있는 제품이다.
열영상카메라는 군용, 방범, 화재, 가축 등의 특수 목적 및 산업용에 주로 사용되어져 왔으며, 이제는 일상 곳곳에서 확인할 수 있다. 순수 국내 기술로 개발된 써모비는 정확한 발열을 감지, 음성알림 장치 탑재했으며, A/S를 위한 원격제어 기능이 있다. 다양한 거치 제품과 함께 발열체크 출입 통제 시스템으로 사용이 가능하다.
이번 나노코리아 2021은 나노 기술 최신 연구와 다양한 첨단 응용제품을 한자리에서 만나 볼 수 있는 뜻깊은 전시였다. 삼성전자, LG전자, 포스코케미칼 등 산업을 주도하는 대기업의 기술력뿐만 아니라 정부기관, 학교 등의 연구성과와 산업적 활용까지 살펴보며 산업 트렌드와 변화를 파악할 수 있었으며 전시회 규모도 작지 않았다고 본다. 매거진에서 소개할 수 있는 분량이 제한적이라 전시회장에서 본 다양한 기업과 제품, 기술, 소재들을 모두 다루지 못하는 점이 아쉬우며 구독자 분들은 기회가 된다면 2022년 나노코리아를 직접 방문해보기 바란다. DM

 

 

[67호]2021 세계 태양에너지 엑스포

67hot_태양에너지전시회 (13)

67hot_태양에너지전시회 (1)

 

Korea’s One & Only PV Show

2021 세계 태양에너지 엑스포

글 | 이규연 기자 press@ntrex.co.kr

 

정부의 그린 뉴딜정책과 더불어 2050 탄소중립 전략 발표로 신재생 에너지에 대한 많은 기업들의 관심이 커진 가운데, 태양광 전문 전시회인 세계 태양에너지 엑스포가 지난 6월 16일부터 18일까지 3일간 킨텍스 제 1전시장 2홀에서 개최되었다. 에너지 관련 전시회는 많지만 태양광만을 보여주는 전시회는 EXPO SOLAR가 유일하다.
이번 전시의 주요 품목은 태양광 셀과 모듈, 태양광 생산장비, 태양광 소재·부품, 태양광 전력 및 발전설비, 에너지 저장 시스템 및 솔루션이다.

67hot_태양에너지전시회 (1)

첫 번째로 방문한 부스는 화웨이다. ㈜화웨이는 스마트 태양광 솔루션과 장비를 선보였으며, 화웨이의 스마트 인버터 솔루션 ‘SUN2000 시리즈’는 두 사람이 설치하는데 어려움이 없도록 설계되었고, 유지 보수가 수월하다. 장애 발생 시 전문 엔지니어가 방문하지 않아도 발전소 직원이 신속하게 장비를 교체할 수 있기 때문에 전력 생산량에 미치는 영향을 최소화할 수 있다.
SUN2000 시리즈는 생산부터 조립, 검수, 출하까지 전 과정을 엄격하게 심사해 고장률이 매우 낮고 출하 전 여러 단계를 거쳐서 에이징 테스트를 통과해야만 출하가 가능하다. 이토록 엄격한 품질관리 덕에 최악의 환경에서도 최고의 성능을 가능하게 한다. 뿐만 아니라 SUN2000 시리즈 제품군은 계통연계형 인버터 국제 표준인 국제 전기 표준 회의 및 유럽 통합 규격의 모든 인증을 보유하고 있다.
화웨이는 SUN2000, 스마트로거와 함께 데이터 소모를 최소화하면서 집이나 사무실에서도 원격제어가 가능한 태양광 솔루션인 ‘퓨전 솔라’도 선보였다. 퓨전 솔라는 웹을 통해 모든 발전소의 상태와 고장 발생 여부를 확인할 수 있다.
화웨이의 스마트 태양광 솔루션은 전 세계 60여 개국의 다양한 분야에 걸쳐 활용되어 있으며 이를 통한 청정에너지의 누적 발전량은 3,000억kWh 이상이다.

67hot_태양에너지전시회 (2)

㈜그로와트는 계통연계형, 독립형 인버터 및 에너지 저장 장치의 PV 인버터 연구개발과 제조를 전문으로 하는 에너지 기업이다. 그로와트는 750W~253kW의 계통연계형 인버터와 1kW~630kW의 독립형 인버터와 ESS 인버터를 커버하며, 저장 발전소 프로젝트뿐만 아니라 주거용, 상업용, 공급 시설 등의 분야에 전 세계적으로 광범위하게 사용된다. 이번 전시회에는 MAX50KTL3 LV와 MAX125KTL-X LV 제품을 주력으로 선보였다.

MAX50KTL3 LV의 최대 DC 전력은 1100W, 정격 AC 출력 전력은 50000W이며, 최대 효율은 98.8%이다. MAX50~80KTL3 LV 시리즈 제품은 6/7MPPTs이고 DC 측 2 in 1 연결이 가능하며 최대 25년간 데이터 저장 기능이 있다.
MAX125KTL-X LV 최대 DC 전력은 1100W, 정격 AC 출력 전력은 125000W이며, 최대 효율은 98.7%이다. MAX100~125KTL-X LV 시리즈 제품은 최대 15MPPTs와 스마트 I/V 스캔 및 진단을 할 수 있으며, 스트링 모니터링까지 가능하다.

67hot_태양에너지전시회 (2)

 

67hot_태양에너지전시회 (3)

㈜비에이에너지는 에너지 저장 장치를 개발하고 제조하는 업체이다.
이번 전시회에서는 전기차 충전소용 ESS4.0과 안전 관리 시스템을 선보였으며, 비에이에너지가 특허로 보유한 열에너지 관리 기술을 ESS4,0에 집약하여 안전한 관리를 위해 최적화된 공간 관리 솔루션으로 개발하였다. ESS4.0은 기존 하드웨어 시스템 기술과 안전 관련 소프트웨어 서비스가 융합된 통합 안전 관리 시스템으로 고객 맞춤형 사이즈로 제작이 가능하고 2중 외피와 3중 단열 시스템, 첨단 공조·소방 시스템, 내부 불연 시스템이 적용되어 화재 예방에 효과적이다.
안전 관리 시스템 SMS는 지능형 데이터 분석기술을 적용한 소프트웨어로, 비에이에너지가 자체적으로 개발한 기술 서비스이다. 안전 관리 모니터링과 통합 안전 관리 시스템 기능을 통해 ESS 안전 상태를 실시간으로 파악하고 위험요소 등을 예측과 동시에 감지하여 사고를 사전 예방한다. 일사량, 진동, 일산화탄소, 풍속 등 환경적 이슈를 확인하고 누적된 데이터를 바탕으로 빅데이터 분석 및 기능형 예측을 해 직관적인 시각화 자료를 제시한다.
비에이에너지는 안전 관리 기술을 적용할 수 있는 더욱 다양한 분야를 발굴하기 위한 연구개발을 지속적으로 하고 있기에 앞으로가 더 기대가 된다.

67hot_태양에너지전시회 (4)

㈜파루는 태양광 발전 원스탑 토탈 서비스를 제공하는 기업이다. 이번 전시회에서는 영농형 태양광 사업 설명과 태양광 패널을 전시하였다. 영농형 태양광 사업은 농업인, 어업인, 축산인이 인근 유휴부지를 활용해 태양광 발전설비를 구축하는 사업이며, 기존 농지에 농사를 지으면서 농사 소득도 얻고, 농지 위 태양광발전 설비를 통해 발전소득도 동시에 얻을 수 있다.
작물 농사의 경우 비수기 동안은 수입이 생기지 않을 수 있고 자연재해가 발생하면 한 해 수익을 모두 잃는 경우도 생길 수 있는데 영농형 태양광 사업을 도입한다면 농가에 안정적인 소득을 제공하고 정부 재생에너지 보급 확대 정책에도 도움이 될 것이다.
영농형 태양광 모듈의 기능을 살펴보면 태양의 위치를 실시간으로 추적, 발전량을 극대화하는 최적의 일사각을 유지한다.
또 일반 고정식 시스템 대비해서 설치비용은 20%가량 높지만 발전효율이 높아 투자비 회수기간이 2년 이상 단축된다.
악천후 발생 시에는 ‘안전 모드’, ‘스노우 모드’ 기능이 활성화되어 자연재해로 인한 피해를 최소화 시켜주고 많은 광량이 필요할 때는 ‘쉐도우모드’ 기능이 활성화되어 음영으로 인한 하부 작물 피해를 최소화시켜준다.
파루는 세계 최대 규모의 양축 추적식 태양광 발전소인 알라모 프로젝트를 성공적으로 마무리한 만큼 기술력을 인정받은 기업이기 때문에 추후 행보가 기대된다.

67hot_태양에너지전시회 (5)

㈜토브는 태양광 패널 청소로봇, 점검 스마트 App, 운영정보 DB 기반으로 최적의 태양광 발전소 운영 관리 솔루션을 제공하는 기업이다.
이번 전시회에서는 태양광 패널 청소 로봇인 크리드 T-4000A/SA 를 선보였다. 크리드 T-4000A/SA는 건식과 습식 두 가지 청소 방식이 있으며, 가이드 없는 좌우 -상하로 주행한다.
자체충전 방식으로는 충전용 PV 모듈로 DC 24V 완충 시 2~3시간동안 사용이 가능하고 구동 동력으로는 좌우 주행과 청소 브러시는 50W, 상하 주행은 150W가 필요하다. 동작 온도는 -20°C ~ +70°C이며, 주행 각도는 10 ~ 45°이다. 원격관리는 크라우딩 서버로 이뤄지고 청소 성능 부분은 약 90%를 자랑한다. 보증 부분은 거치식 2년간 유지되고 소모품은 별도이다.

67hot_태양에너지전시회 (6) 67hot_태양에너지전시회 (7)

㈜솔리스 파워코리아는 솔리스의 한국 지사이며 태양광 스트링 인버터 전문 제조 업체이다. 전시회에서 선보인 주력 제품은 Solis 삼상 인버터인 Solis-255K-EHV-5G이다. Solis-255K-EHV-5G 인버터는 경제성과 효율성을 생각한 스마트 버전으로 안전성까지 탑재되었다.
야간 SVG 기능과 지능형 스트링 모니터링, 스마트형 IV 곡선 스캐닝, 간단한 조작만으로 원격으로 펌웨어 업그레이드까지 가능하게 해 고객들의 마음을 잡았다.
제품 기능으로도 효율적이라는 평을 받았는데 최대 효율 99%를 자랑하고 고전력 추적 밀도 60MPPT/MW 내장했으며, 500W 양면 수광형 모듈과 호환이 가능하다. 보안 부분으로는 모듈 성능 향상을 위한 PID 복구 기능을 내장했으며, 안전하며 유지 보수가 필요 없게 퓨즈 없는 설계로 제품을 생산했다. 비용절감을 위해 전력선 통신 (PLC)을 옵션으로 선택할 수 있으며, DC 측에서 Y 타입 연결 케이블을 지원하고, 알루미늄선 액세스와 DC 에너지 스토리지 액세스를 지원 함으로써 소비자의 경제적 부담을 덜어내준다.

67hot_태양에너지전시회 (8)

㈜금비전자는 전자, 통신기기 제조 및 태양광 인버터 제조업체로 KS 접속함이 내장된 벽걸이형 20kW 삼상 스트링 인버터를 선보였다. 제품명은 ST20K이며 KC 인증까지 완료했다. 제품의 주요 특징으로는 양면형 모듈과 한글 그래픽 LCD가 적용이 되며 터치 버튼을 통한 주요 설정을 변경할 수 있다. 또한 4채널 MPPT에 시스템 자가 진단 및 고장을 자동적으로 검출할 수 있다.
금비전자는 SOLAIZER 모니터링 시스템도 소개하였는데 사용자 및 관리자가 네트워크를 기반으로 인버터 분석을 통한 디테일한 태양광 발전소를 모니터링할 수 있는 시스템이다. 인버터와의 통신 방식은 RS485를 사용하고 통신 거리는 최대 1km까지 가능하다. 연결 가능한 최대 인터버 수는 20대이며, 15분마다 데이터를 전송할 수 있는 기능을 갖추었다.

67hot_태양에너지전시회 (9)

67hot_태양에너지전시회 (10)

㈜이온어스는 지속 가능한 미래를 위해 전력 생산부터 소비에 이르는 과정까지 넷제로를 실현하여 에너지의 새로운 패러다임을 제시하는 탄소중립 벤처기업으로 이번 전시회에서 이동형 에너지 저장 장치(ESS) 시스템 ‘인디고’를 선보였다.
이동형 그린 발전기 인디고는 경유 대신 깨끗한 전기로만 사용하는 발전기이며 태양광, 풍력 등 청정전력을 담아 재난 지역에 필요한 전력, 야외행사, 건설 현장에서 움직이는 전기차 충전소로 손쉽게 전력을 공급한다. 인디고는 전기만 사용하여 충전하기 때문에 디젤발전기 사용 시 발생하는 PM, CO2, SOx, NOx 등 유해한 배출가스가 생성되지 않는다. 엔진을 사용하지 않는 발전기로 소음 발생도 거의 없으며 동급 디젤발전기 대비 30배 이상 조용하다. 모든 인디고는 5G로 연결되고 실시간으로 관리가 되어, 다수의 기기를 한 곳에서 통합 관리할 수 있는 편리함까지 갖추었다. 추가로 표준화된 규격의 함체로 다수의 기기를 확장 사용 가능하며, VPP 서비스를 위한 FR 기능 등도 준비되어 있다.

67hot_태양에너지전시회 (11)

㈜에스피브이는 태양광발전소 건립 및 신재생 에너지 설비를 전문으로 하는 기업이다. 이번 전시회에서 주력으로 선보인 제품은 KS 인증을 받은 접속함 일체형 인버터 Sunny Tripower이며, 대규모 상업용 발전 시스템 및 산업용 태양광 발전소를 위한 만능 인버터이다.
Sunny Tripower는 98.4%의 효율로 높은 생산량을 제공할 뿐만 아니라, 멀티 스트링 기능과 광범위한 입력 전압을 통해 뛰어난 설계 유연성 및 다양한 PV 모듈과의 호환성을 자랑한다. Sunny Tripower는 공통 연결점에서 무효전력을 조정 가능케 하는 integrated Plant Control과 같은 최첨단 계통 관리 기능을 갖추고 있다.

67hot_태양에너지전시회 (14)

옥토끼이미징의 계열사인 ㈜옥토끼첨단소재는 친환경의 미래 에너지를 연구하는 전문기업으로 태양광 발전 시스템과 건축물의 에너지 효율을 높이기 위한 태양광 에너지를 건축자재로 사용하는 BIPV 용 컬러 태양광 판넬을 공급하고 유리와 필름, 플라스틱 기판을 이용한 AR Coating, 5G 용 EMI 소재 Decoration Coating 등 다양한 소재 개발을 선도하는 기업이다. 이번 전시회에서 컬러 태양광 패널 ‘솔라리안’을 소개했다.
솔라리안은 태양전지가 내장된 건물 외장재이며 다양한 색상으로 심미성이 뛰어난 고품격 패널이다. 솔라리안에 도색을 위해 무기물 증착 공정에서 30여가지의 색상을 개발하였고 폭염, 강추위, 자외선, 적외선, 오염된공기 등으로 부터 변색이 없다. 솔라리안은 디자인, 에너지효율, 성능, 품질 그리고 제품 안정성이 뛰어난 것이 특징이다.
솔라리안은 동일용량 설치 기준으로 모든 컬러 태양광패널 중에 가장 많은 에너지를 생산하는 제품이고 높은 하중을 견딜 수 있도록 개발되었으며 가장 넓은 밴드의 분광감도로 일출, 일몰, 흐린 날, 안개가 낀 날에도 생산이 가능하다. 그리고 특수한 셀 디자인과 일체화된 바이패스 다이오드 부분 음영 또는 중간의 한 모듈이 음영에 가려져도 작동하여 전기 생산을 지속할 수 있는 장점이 있다.

67hot_태양에너지전시회 (13)

㈜유에너지는 태양광발전장치, 수배전반 설계 및 제작, 모니터링 소프트웨어, 태양광 연계형 에너지장치 (ESS)를 개발하는 업체이다.
이번 전시회에는 일반형 태양광 발전 시스템 구조물을 선보였으며, 이 태양광 발전 시스템은 One – Stop 토탈 솔루션( 타당성 검토 – 설계 -시공 – O&M – 보증)으로 운영되고 있다. 고객들이 안심하도록 안전성이 확보된 곳과 최적의 효율을 고려한 경사각에서 설계가 이루어지고 규모에 따라 발전설비를 설치한다.
태양광 발전 장치를 설치한 후에는 실시간 모니터링으로 시설물 안전 관리 및 유지 보수를 하여 효율을 극대화로 이끌어내고 다양한 사고가 발생할 수 있는 분야다 보니 보험 보상 관련해서도 잘 짜인 솔루션이다. 구조물은 주택용 태양광, 상업 발전 태양광, 가정용 소형 태양광이 있어서 원하는 대로 원하는 크기로 선택할 수 있어 고객들에게 인기를 끌 것으로 예상된다.

67hot_태양에너지전시회 (12)

㈜리셋컴퍼니는 4차 산업혁명의 핵심인 로봇과 에너지의 융합사업으로 미래 에너지를 만드는 기술 기반의 로봇 제조 업체이다. 이번 전시회에서 태양광 패널 무인 청소 로봇을 선보였으며 이 로봇은 고성능 와이퍼 모터, 파워 차징 도킹 시스템, 실시간으로 비와 눈을 감지할 수 있는 센서, 회전 스트립 브러쉬가 내장되어 있다.
와이퍼 DC 모터를 사용하여 강력한 힘을 구현할 수 있고 최대 정격용량 20A 충전기로 쾌속 충전과 고효율 충전이 가능하며 재구동시 안전한 주행이 가능하다. 또 전류저항 센서로 눈과 비를 감지하여 날씨에 따른 실시간 구동이 가능할 뿐만 아니라 로봇 안에는 리셋컴퍼니의 독자적인 기술로 제작된 회전 브러쉬를 사용하여 태양광 패널 위의 오염물을 보다 효과적으로 제거할 수 있다. 리셋컴퍼니는 태양광 패널 청소 로봇과 건물 외벽청소로봇, 지붕 청소로봇 등 로봇을 꾸준히 연구하고 있어 미래가 더욱 기대된다.
올해로 12회째를 맞이한 이번 전시회는 볼거리 뿐만 아니라 다양한 정보가 제공되는 전문가들의 강연도 준비됐던 만큼 많은 사람들의 이목을 끌기 충분했고, 태양광을 비롯해 에너지저장장치, 그린뉴딜 등 국내외 신재생에너지의 현재와 미래를 한 자리에서 확인할 수 있었다.
국내의 여러 태양광 관련 기업들이 뛰어난 기술력과 안전성으로 세계로 뛰어나가는 모습을 앞으로도 보여주었으면 하는 바람으로 이번 관람기를 마친다. DM

 

 

[67호]제10회 스마트테크 코리아

67hot_스마트테크전시회 (1)

67hot_스마트테크전시회 (1)

 

SMART TECH SHOW

제10회 스마트테크 코리아

글 | 박진아 기자 jin@ntrex.co.kr

국내 유일의 첨단기술 융·복합 비즈니스 전시회인 제10회 스마트테크 코리아가 ‘미래를 연결하다’를 주제로 난 6월 23일부터 25일까지 3일간 코엑스에서 개최되었다.
이번 스마트테크 코리아는 스마트 테크 쇼, 디지털 유통대전, AI&빅데이터 쇼, 메타버스 쇼로 구성돼 인공지능, 빅테이터, 증강현실 등 4차 산업 선도 기술과 다양한 혁신 기술 및 트렌드를 선보였다.
SSG닷컴, 쿠팡, 네이버클라우드, 트위니 등 각 분야를 대표하는 기업뿐만 아니라 스타트업까지 약 550개 부스, 200여 개의 기업들이 참여했다. 이와 함께 미래 비전과 혁신을 제시하는 스마트 기술 국제 컨퍼런스 ‘테크콘 2021이 온·오프라인으로 동시 개최했으며 AI 청년 인재 취업박람회, 비즈니스 매칭 등 다양한 부대행사가 마련됐다.

67hot_스마트테크전시회 (1)

67hot_스마트테크전시회 (2)

먼저 무선 통신 대표기업 중 하나인 SK텔레콤에서는 국내 최초로 개발한 AI 반도체 사피온과 스마트 팩토리 솔루션, 헬스케어, 모빌리티 등 총 6개의 테마로 다양한 AI 기술과 서비스를 선보였다.
AI 반도체 사피온(SAPEON)은 백열전구 한개의 전력을 사용해 초당 6,700개의 이미지를 처리 할 수 있다. GPU 대비 딥러닝 연산속도가 1.5배 빠르기 때문에 데이터센터에 적용 시 데이터 처리 용량이 1.5배 증가하며 동시에 가격은 GPU 절반 수준이다. 현장에서는 사피온이 적용된 데이터 서버의 처리 속도를 직접 눈으로 확인할 수 있었고, 사피온이 적용된 AI 글라스 기반 원격 근무 솔루션, 공점 결합 체크 솔루션 등 스마트 팩토리 솔루션도 함께 체험할 수 있었다.
이 밖에도 SK텔레콤 인공지능 플랫폼인 NUGU 서비스도 체험할 수 있었는데, 관람객들은 전시된 SK텔레콤 차량 내에서 ‘아리’를 불러 음악을 재생하거나, 길을 물어보거나, 핸즈 프리 기능을 직접 체험하며 편의와 안전에 도움을 주는 누구 오토 서비스를 확인할 수 있었다.

67hot_스마트테크전시회 (2)

영상인식 인공지능 솔루션, AI 안면인식 기술을 개발하고 있는 알체라에서는 구독형 인공지능 얼굴인식 브랜드 AIIR 신규 솔루션인 AIIR Pass pro와 AIIR ID를 선보였다. AIIR의 제품은 얼굴인식 AI를 결합해 출입자를 정확하게 가려내는 솔루션으로 사진과 사용자 얼굴을 비교하여 사용자의 신분을 확인해주며 건설 현장 인력관리, 사무빌딩 출입관리, 식당/카페 출입관리, 학원 수강생 관리등에 사용이 가능하다.
또한, 알체라 얼굴인식 기술은 글로벌 최대 얼굴인식 테스트(NIST)에서 국내 1위를 통해 정확도를 인정받았으며, 마스크 착용 유무, 나이, 성별, 표정 등 다양한 환경 및 변화에도 높은 인식률이 특징이다. 이러한 얼굴인식 기술을 기반으로 안면인식결제 본인인증 등 인증 서비스로도 비즈니스를 확대하고 있으며, 전시회 현장에서는 알체라 얼굴 인식 기술을 탑재한 무인 냉장고를 체험 할 수 있었다.

67hot_스마트테크전시회 (3)

마이베네핏에서는 건강관리 플랫폼인 버추얼 메이트(VIRTUAL MATE)를 관람객들이 직접 체험해볼 수 있게 준비했다. 버추얼 메이트는 인공지능, 사물인터넷, 빅데이터 등 4차 산업혁명의 주요 기술이 융합된 디지털 헬스 케어 기기로 측정에 따른 1:1 맞춤 운동 관리가 가능하다. 측정은 체성분 분석, 코어 안정성, 근력, 기능성 등 체격, 체력, 자세 측정이 가능하며, 해당 분석 결과에 기반한 운동을 제안, 선택할 수 있다. 24개의 골격 및 관절 위치를 센싱하여 운동자세가 잘못될 때마다 바로 알려주며 해당 데이터는 자동 저장되어 핸드폰으로 확인할 수 있다. 개인 운동뿐만 아니라, 팀 트레이닝도 가능하며 버추얼 챌린지 프로그램을 통해 실시간 순위 비교와 기록 갱신 등 게임을 하듯 운동을 즐길 수 있다.
비대면 활동이 증가함에 따라 관람객들이 해당 기기에 관심을 두고 설명을 듣거나 직접 기기를 체험해보는 모습을 현장에서 볼 수 있었다.

67hot_스마트테크전시회 (4)

구 형태의 귀엽게 생긴 외관으로 지나가는 이들의 발걸음을 멈추게 한 곳은 이동식 AI 스마트홈 카메라 ‘이보(Ebo)’ 부스였다. 이보는 스마트홈의 핵심 구성인 홈 CCTV중에서도 혁신적인 제품으로서 장애물 회피, 자동순찰, 모션 감지 및 알람, 얼굴 인식 기능 등 여러 첨단 AI 기술을 탑재한 신세대 스마트 홈 제품이다. 일반 홈 CCTV와 달리 자유로운 이동과 원격제어가 가능한 Ebo는 CCTV역할뿐만 아니라 가족과의 소통에 중점을 둔 로봇으로 집에 혼자 있는 반려동물이나 아이들의 안전을 제공되는 앱을 통해 확인하고, 양방향 음성 지원으로 소통이 가능한 장점이 있다.

Ebo는 WiFi로 연결되어 전세계 어디에서도 집에 액세스 할 수 있으며, 1080p FHD카메라, 스피커 및 마이크가 내장되어 집안 구석구석을 모니터링하고 의심스러운 활동이 감지되면 알려줄 수 있고, 내장된 센서가 고급 ToF기술을 사용하여 장애물을 감지하기 때문에 잘 넘어지거나 부딪치지 않는다. 이보는 컴팩트한 디자인과 인공지능 기술이 적절히 결합된 현장에서 눈에 띄는 가정용 로봇중 하나였다.

67hot_스마트테크전시회 (5)

스마트 테크 코리아에서는 라이다 산업 시장 점유율 1위인 벨로다인 라이다 제품을 시연하는 벨로다인 라이다 한국 공식 공급사 루미솔 부스도 만날 수 있었다. 워낙 유명한 벨로다인 라이다는 기술경쟁력을 바탕으로 산업내 1위 라이다를 생산하는 업체로 2007년 업계 최초 상업형 실시간 3D 라이다를 출시, 자율주행 차량, 운전자 지원, 배송 솔루션, 로봇 공학, 내비게이션, 맵핑 등을 위한 강력한 라이더 솔루션을 제공하고 있다. 현장에서는 다양한 벨로다인 라이다 제품이 전시 및 시연되고 있었으며, 그 중 베스트셀러 제품인 Puck 제품도 확인할 수 있었다.
Puck은 저속 자율 주행에 이상적인 제품으로 자동차, 맵핑, 로봇 공학 등 다양한 분야에서 사용하도록 최적화된 소형 라이다이다. 스마트하고 강력한 라이다 솔루션을 특징으로 특허받은 서라운드 뷰 기술이 탑재되어 정확한 실시간 3D 데이터를 제공하기 위해 완전한 360도 환경보기를 제공한다.

67hot_스마트테크전시회 (6)

크레이더스에서는 하이제라 스마트 돌봄 시스템 및 돌봄 제품을 소개했다. 하이제라 스마트 돌봄 시스템은 스마트 요양 시설 구축에 최적화된 시스템으로 스마트한 돌봄 제품을 활용하여 요양 시설에서 돌봄 제공자의 업무를 경감시켜주며 수혜자의 돌봄 환경을 개선시켜 준다.
스마트 돌봄 제품에 프린트된 센서에서 감지된 배뇨/배변 정보는 스마트 돌봄 제품과 함께 사용하는 돌봄 단말기를 통해 고객의 스마트폰 및 컴퓨터로 배뇨/배변 정보를 실시간으로 제공한다. 해당 패드와 단말기를 통해 실시간 배뇨 모니터링, 개인별 24시간 배뇨 패턴 분석, 라이브 배뇨 차트를 제공하며, 인공지능 돌봄 부담 분석 등이 가능하다. 해당 기술은 3년여 동안 실제 돌봄 현장에서 배설 상황을 측정하여 완성된 배뇨, 배변 분석 알고리즘을 기반으로 하고 있으며 이를 통해 배뇨 장애 진단, 성인용 요실금 관리, 여성 위생용품 등에 폭넓게 사용될 수 있다고 한다. 한국보건산업 진흥원 고령친화 우수 제품 및 조달청 혁신장터 등록 및 혁신 제품으로 지정된 스마트 돌봄 제품은 병원 또는 가정 등 사용하는 장소에 따라 구분되며 실제 요양원등에 적용되어 사용되고 있다고 한다.
이 밖에도 디지털 유통대전에서는 이동 로봇, 무인점포부터 다양한 이커머스 유통 기업들을 살펴볼 수 있었는데 먼저 대형 유통사인 SSG, 쿠팡 부스가 눈에 띄었다.

67hot_스마트테크전시회 (3)

SSG 닷컴은 신세계 백화점, 이마트 등 신세계그룹의 모든 상품을 온라인에서 한번에 볼 수 있는 통합 온라인 쇼핑 플랫폼이다. 2016년 SSG=쓱, 빠르고 한번에 다양한 서비스를 자유자재로 이용할 수 있는 쓱이라는 메시지를 전달하는 공유, 공효진의 광고로 많이 익숙한 브랜드이다. 압도적 스케일의 다양한 제품을 빠르게 배송해주는 SSG 닷컴에서는 자동화 설비로 구축된 최첨단 물류 시스템과 국내 최초 친환경 냉장, 냉동전기배송차, 다회용 보랭가방인 알비백, 미생물 아이스팩, 모바일 주문 확인서 등 친환경 서비스를 강조하며 스마트한 친환경 유통 방향성을 제시했다.

67hot_스마트테크전시회 (7)

쿠팡 부스에는 별도의 안내 인원이 상주해 있지 않았으며, 다양한 디스플레이들로 부스를 구성했다. 부스 곳곳에는 쿠팡을 이용한 고객의 후기, 친환경 배송을 위한 로켓 배송의 노력, 쿠팡 친구로 이름을 바꾼 쿠팡맨의 혜택 및 복지, 지역투자와 고용창출, 동반 성장의 성과 등의 소개 영상이 송출되며, 쿠팡의 서비스를 홍보했다.

67hot_스마트테크전시회 (4)

KEA에서는 유통물류 업계의 주요 키워드인 풀필먼트 서비스를 소비자들이 쉽게 이해할 수 있게 주문에서부터 발주, 입고, 피킹, 배송 및 전달까지 한눈에 보고 체험할 수 있도록 부스를 운영했다. KEA는 전자 IT 산업 진흥을 향상하고자 설립된 특별 법인이며 현재 소규모 기업을 지원하기 위한 풀필먼트를 구축중에 있다고 한다.
풀필먼트 서비스란 물건을 판매하려는 업체들의 위탁을 받아 배송과 보관, 포장, 배송, 재고관리, 교환·환불 서비스 등의 모든 과정을 담당하는 물류 일괄 대행 서비스를 말하며, 대표적인 예로 아마존, 우리나라에서는 쿠팡, 이베이코리아를 생각하면 이해하기 쉽다.
부스 담당자분이 이해하기 쉽게 직접 운영과정을 설명해줬는데, 고객주문이 들어오면 창고에서 주문과 일치하는 상품칸에 불이 들어오고, 피킹자는 바구니에 해당 제품을 넣고 컨베이너밸트에 놓으면 최종 포장 구역으로 이동 고객에게 배송된다고 한다. 제품 및 사업에 따라 해당 서비스는 다양하게 변경 적용이 가능하며 인건비 절감과 효율적 운영이 가능해 보였다.

67hot_스마트테크전시회 (8)

휴림로봇 주식회사에서는 모빌리티 퍼스널 로봇 테미를 전시 및 시연하고 있었다. 안드로이드 OS 기반의 오픈 플랫폼 테미는 자율주행이 가능하며, 사람을 인식하여 자유롭게 따라다닐 수 있고, 사전 설정된 위치를 저장하여 이동이 가능하다.
자동 탐색 기능과 인공지능을 기반으로한 테미를 통해 음악을 듣고, 영상 통화를 하며, 건강관리와 교육 콘텐츠를 즐기거나, 텔레프레전스도 경험할 수 있다고 한다. 충전당 8시간 작동하며, 10인치의 HD LCD 스크린이 탑재되어 있으며 화면 기울임을 통해 자동 얼굴 추적이 가능하다. 또한, 360도 레이더, 3D 카메라, RGB카메라, 근접센서, IMU 센서, 적외선 센서 등이 탑재되어 실시간 센서 결합 및 데이터 분석으로 안전이 보장되며, 완전한 자율주행이 가능한 특징이 있다. 현장에서는 관계자가 직접 음악을 플레이해보는 모습을 시연하기도 했다.

67hot_스마트테크전시회 (5)

국내 자율주행 전문 기업 언맨드 솔루션에서는 자율주행 모빌리티 플랫폼 위더스 기반의 경비로봇인 위더스 패트롤과 물류용 로봇인 위더스 로지를 전시했다.

67hot_스마트테크전시회 (9)

위더스 로지는 산업단지 및 주거단지 내, 지역별 최종 물류센터에서 고객까지의 단거리 배송에 활용되며 지정된 경로를 따라 택배, 음식 등의 무인 배송 서비스가 가능하다. 이 물류 로봇은 최대 150kg까지 적재가 가능하며 라이다, 카메라, GPS 등의 센서가 탑재되어 주위의 물체를 인지하여 경로주행, 위험감지, 통제가 가능하다. 위더스 패트롤은 단거리 경비구간에서 활용되며 무인 경비 서비스가 가능하다. 탑재된 라이다, 카메라, GPS등의 센서를 이용하여 거동 수상자, CCTV 사각지대 순찰이 가능하며 순찰 시 얻은 정보 등을 관제센터로 송출하여 다양한 상황을 실시간으로 모니터링할 수 있다.

67hot_스마트테크전시회 (6)

Three-D Desk에서는 인체공학적인 워크스테이션을 직접 체험할 수 있게 부스를 구성했다.
3D 책상은 책상 앞에서 보내는 시간이 점점 길어지면서 현대인의 만성 건강 문제에 대한 솔루션을 제공하기 위해 만들어졌다. 사용자에 맞춰 조정할 수 있는 가구는 시중에도 많이 있는데, 기존에는 책상의 높낮이만을 조절했다면 이 책상은 높낮이뿐만 아니라 앞뒤 등 로봇처럼 움직인다. 워크스테이션 제품으로는 사진에서 보는것 처럼 모니터의 수, 구성에 따라 여러 종류로 선택이 가능하며, 그중에서 가장 기자의 눈에 띈 제품은 W-T271 트리플 스마트 워크스테이션이었다. W-T271은 시야를 가득 채우는 초고해상도 27인치 커브드 삼성 모니터 3대에 2개의 강력한 모터를 이용한 전등 높이 조절이 가능하며 저기 스위치에 의해 경사면이 수평에서 수직으로 바뀌는 세계 유일의 기능이 탑재된 제품이다. 최대 4개의 위치를 지정할 수 있는 각도 조절 버튼이 있 탑재되어 있으며, 3단 문서 지지대가 장착되어 있어 왼손잡이, 오른손잡이든 불편함 없이 책상을 사용할 수 있는 특징이 있다.
해당 책상은 바퀴가 있어 자유롭게 움직일 수 있고 고정 시 수평으로 조절도 강하며 Logitech 4K 웹캠이 포함되어 유튜브 방송이나 영상통신에 가장 유용한 환경을 제공한다.

67hot_스마트테크전시회 (7) 67hot_스마트테크전시회 (8)

전시회장에서도 가장 많은 관람객으로 인산인해를 이루고 있던 부스는 기계로 치킨을 튀겨 관람객들에게 나눠주고 있던 로보아르테였다. 로보아르테는 조리 과정과 주방 환경을 면밀히 분석해, 조리 자동화를 위한 전체 시나리오를 기획하고, 그에 맞춰 협동로봇 및 각종 설비를 최적화하는 스타트업이다.

로보아르테가 자동화한 치킨 주방의 모습을 시연하고 있었는데 주방은 전적으로 협동로봇이 전담하여 점주는 조리대신 주문 및 고객 대응과 매장관리에 몰두할 수 있어 보였다. 실제로 로보아르테는 자체 브랜드 롸버트 치킨을 론칭해 강남에서 2개 매장을 운영하며 실제 효과를 검증하는데 성공했다. 로봇 1대만으로 시간당 40마리의 치킨을 균일한 맛과 품질로 조리할 수 있으며, 설치 면적은 약 1.4평만 필요하기에 임대료 절감 효과도 기대할 수 있다.

이번 스마트테크 코리아를 방문하며, 발전된 스마트 기기들도 많이 볼 수 있었지만, 유통 물류 업계에 무인화, 자동화를 위한 자율주행, 풀필먼트 시스템, AI, 얼굴 인식 기능들이 빠르게 발전 및 도입되고 있음을 확연히 느낄 수 있었다. 또한, 지속적으로 대두되는 환경 문제를 해결하기 위한 기업들의 노력도 엿볼 수 있었으며, 전반적인 기술 트렌드를 확인할 수 있었다. 2022년에는 더 발전한 기술과 다양한 서비스들로 채워질 제11회 스마트테크 코리아를 기대하며 이번 관람기를 마친다. DM

 

 

 

 

 

[67호] 단선되면 직접 잘라 쓰는 프리컷 좀비 케이블

좀비 케이블

 

좀비 케이블

레드닷모바일

단선되면 직접 잘라 쓰는 프리컷 좀비 케이블

모바일 기기는 현재 우리 일상에 꼭 필요한 존재가 되었으며, 모바일 기기를 충전해주는 충전 케이블 또한 하루 한 번 이상은 사용하 고 있다. 자주 사용하는 만큼 고장이 많아 재 구매를 해야 했던 케이블이지만, 여기 케이블 1개 가격으로 고장 날 때마다 직접 편리하게 고쳐 쓸 수 있는 ‘프리컷 케이블’이 있다. 프리컷 케이블은 케이블의 단선, 벗겨짐으로 케이블을 자주 교체해야 했던 분과 내게 딱 맞는 정확한 길이의 케이블을 못 찾으시는 분, 케이블 선 정리를 깔끔하게 하고 싶거나 반려견이 물어뜯어 자주 고장 나는 분에게 적합한 케이블이다. 케이블이 고장 났을 시 일반적으로는 케이블 선의 피복을 벗기고 납땜 작업을 하며 복잡할 과정을 거쳐 수리하지만 프리컷 케이블은 가위로 원하는 길이만큼 자르고 다시 끼우기만 하면 수리가 끝난다. 수리 과정은 먼저 Lock 잠금을 해제 후 본체를 당겨 분리해주고 연결된 선을 빼준다. 고장 부위를 확인하여 케이블 끝 쪽을 잘라주고 분리했던 방식을 역으로 진행하여 케이블을 끼우고 본체를 잠가주면 새것 같은 케이블이 완성된다. 또한 차세대 급속 충전 기술인 퀵 차지 3.0 지원으로 기존의 충전 방식보다 최대 80% 빠른 충전 및 데이터 전송이 가능하다. 1.5m 넉넉한 길이로 자주 잘라서 사용하여도 오랜 사용이 가능하고 일반 케이블처럼 얇은 선이 아닌 칼국수면 두께의 케이블로 선꼬임을 방 지해준다. 프리컷 케이블은 라이트닝 핀, 마이크로 5 핀 및 C 타입 3가지 종류가 있으며 현재 디바이스마트에서 인기가 급상승 중인 제품이다.

 

 

프리컷 좀비 케이블 제품 바로가기