손안의 IOT를 위한 IOT 플랫폼 – Arduino IOT Cloud와 Blynk와의 비교

손안의 IOT를 위한 IOT 플랫폼 – Arduino IOT Cloud와  Blynk와의 비교

1. 아두이노 IOT Cloud

아두이노 IOT Cloud는 앞선 글에서 소개한 Blynk와 유사한 IOT Cloud 플랫폼의 하나로, 아두이노 재단에서 운영하며, 아두이노나 ESP8266, ESP32, Lorawan 계열들의 마이크로컨트롤러 보드를 연결하여 사용하기 위한 클라우드 서비스이다.

이 서비스를 이용하면, 아두이노나 ESP32 등에서 측정한 센서 값을 클라우드에서 전달받아 PC 또는 스마트폰에서 실시간 모니터링하는 것과, 클라우드에 연결된 PC 또는 스마트폰에서 해당 마이크로 컨트롤러에 연결된 각종 스위치를 원격으로 조작하는 것이 가능하다.

2. 아두이노 IOT 클라우드에서 지원되는 보드

사용이 지원되는 보드로는 가장 추천되는 기본적인 보드로는 아두이노 보드 중 Wifi 통신 기능이 있는 다음과 같은 아두이노 보드들(Uno R4 등)과,

3rd party 제품 중 아두이노의 통신 기능과 관련성이 높았던 ESP8266, 8266에서 발전된 ESP32등을 포함하는데, 다만, “Arduino language(C++)”라는 단서가 붙어있는 상태이다.

3. 마이크로파이썬 사용 보드 지원 여부

한편 마이크로파이썬 언어를 표준으로 사용하는 라즈베리파이계열의 보드의 경우, 아두이노와 유사한 PICO-W의 경우, 공식적으로는 아직 지원이 명확히 공지되지는 않은 상태인 듯하며, 관련 포럼에서도 (https://forum.arduino.cc/t/raspberry-pi-pico-w-not-supported/1019574) 이에 대한 논란이 있으나, 명확한 지원 여부는 밝혀져 있지 않은 상태이다. (주: 개인적인 생각에는 PICO-W의 핵심 칩인 RP2040을 사용하는 아두이노 RP2040 Connect 보드가 경쟁관계인 것도 고려된 것 아닐까 싶다.)

다만, Arduino IOT 클라우드는 사용할 수 있는 보드 종류에 다음과 같이 마이크로파이썬을 사용하는 “Any Device” 표기도 하고 있는 상태이다. 즉 공식적으로 마이크로파이썬을 사용하는 ESP32나, 마이크로파이썬을 사용하는 PICO-W의 지원을 밝히고 있지는 않으나, 원론적 의미에서 마이크로파이썬을 사용하는 PICO-W나, 마이크로파이썬을 사용하는 ESP32도 수동으로 등록이 가능하다는 의미로 해석될 수도 있는 상태이다.

실제로 마이크로 파이썬을 사용하는 ESP32나, 마이크로파이썬으로 구동되는 PICO-W도 아두이노 IOT 클라우드에 접속이 가능하였는데, 초기설정과 접속 안정성 등에 얼마간 어려움이 있었으며, 별도의 글에서 자세히 소개할 예정이다.

참고로, PICO-W가 아닌 라즈베리파이 보드 SBC 자체의 경우에는 다음과 같이 연결 가능한 것으로 소개되어 있는 상태이다.

4. Blynk vs. 아두이노 IOT Cloud 비교

기본적인 기능은 Blynk와 아두이노 IOT Cloud가 비슷하다. 두 서비스 모두 원격지에 위치한 마이크로컨트롤러로부터 센서나 스위치 신호들을 클라우드로 받아, PC나 스마트폰에서 이를 확인하거나, 역으로 PC나 스마트폰에서 해당 원격지의 마이크로컨트롤러에 연결된 스위치나 릴레이 등을 조작하는 기능을 한다.

두 서비스의 가장 중요한 차이점으로는 가격과, 지원되는 채널의 수, 데이터 보관기간의 차이를 들 수 있다.

두 서비스는 구독 플랜의 가격에 따라, 연결 가능한 입출력의 수(datastream 또는 users 수 vs. things 숫자)와, Cloud 내 데이터 보관 기간이 달라진다.

무료 버전의 경우, Blynk와 아두이노클라우드 모두 2개의 장치 (2 things vs. 2 device)를 동시에 연결할 수 있고, 동시에 5개까지의 입출력 채널(5 variables vs. 5 datastreams)을 사용할 수 있어 동등하다. 사용하는 용어만 다를뿐 실질적 측면에서는 동일하다.

그러나, 반면 중간정도의 유료 플랜인 “Maker Plan”의 경우에는…..

Arduino 클라우드 측이 월 6.99$이면서, 최대 25개 장치를 동시 연결하되, 신호입력에 사용하는 변수의 수에는 제한이 없고, 데이터 보관 기간도 90일인데 반하여,

Arduino IOT Cloud 가격 – 2024.5기준

Arduino IOT Cloud 가격 – 2024.5기준

Blynk의 Maker Plan의 경우, 동일한 요금 6.99$임에도, 동시 접속해서 사용가능한 장치의 수가 10개로 상대적으로 적고, 신호 입출력에 사용할 수 있는 채널인 Datastream의 수도 20개로 제한된다. 또한 데이터 보관 기간도 아두이노 클라우드의 동일한 요금제가 90일간 데이터가 보관되는데 비해, 1달로 상대적으로 많이 짧다.

Blynk 가격 – 2024.5기준

두 번째 차이점으로는 마이크로파이썬 언어 사용 보드 지원에 대한 차이

Blynk의 경우 라즈베리파이 Pico-W나, ESP-32를 마이크로파이썬을 사용하여 접속하는데 어려움이 없으나, Arduino IOT의 경우, 동일한 조건의 보드를 연결하여 초기설정 및 접속하는데 어려움이 있었다.

이에 대해서는 아래에서 추가로 자세히 설명하려 한다.

아무래도 아두이노 IOT 클라우드는 아두이노 보드를 개발하고 생산, 판매하는 업체이므로 아두이노 보드 지원에 집중된 반면, Blynk는 특별히 이런 측면이 없는 듯하다.

세 번째 차이점으로는 데이터 입출력 방식의 차이이다.

Blynk의 경우 원격 마이크로 컨트롤러와 신호를 주고받을 때 Virtual Pin 이란 개념을 통해서 주고받는다. 따라서, Blynk에 접속하는 컨트롤러 내의 코드에서도 핀 번호를 사용하게 되며, Blynk 내에서 데이터를 대시보드 요소들과 연결할 때도 핀번호를 주로 사용하게 된다. 이런 측면들 때문에, Blynk는 No-Coding 방식이란 수식어를 사용한다.

반면, Arduino IOT의 경우는 접속하는 장치의 프로그램에서 특정 변수를 아두이노 클라우드에 등록하고, 이 변수값을 이용해 신호를 주고받게 된다. Coding 측면이 상대적으로 강해 보인다.

네 번째 차이점으로는 클라우드에서 장치 리부팅 가능 여부

Blynk의 경우 다음과 같이 Device 목록에서 해당 장치에 대한 Action의 하나로 Reboot 메뉴가 있으나,

Arduino IOT 클라우드에는 이런 메뉴가 없어 원격으로 해당 장치를 reboot할 수가 없다.

다섯번째 차이점으로는 모바일 앱에 대한 것이다.

Blynk의 경우 PC에서 대시보드를 만든 후, 모바일 장치에서 모바일용 대시보드를 별도로 만들어주어야 하나, 아두이노 클라우드의 경우 하나의 대시보드를 공통으로 사용하므로, 별도의 대시보드를 모바일에서 추가로 만들 필요가 없다.

그리고, 마지막으로 언급할 만한 차이점으로는 디바이스 온 오프 모니터링 지원 여부이다.

아두이노 IOT 클라우드의 경우 해당 장치의 세부정보를 클릭해 보면 다음과 같이 해당 장치의 접속 히스토리를 살펴볼 수가 있다. 이를 통해 해당 원격 장치가 언제 접속이 끊어졌었는지, 그리고 언제 재접속이 이루어졌는지 등을 알 수 있으나,

Blynk의 경우는 이러한 메뉴를 지원하지 않아 해당 상태를 직접적으로 알 수 없고, 특정 센서 신호값의 히스토리 값을 살펴보는 간접적인 방식으로만 해당 원격 장치가 접속에 이상 유무가 있었는지를 파악할 수 있다.