아두이노 클라우드에 대한 접속은 안정적일까 ? – ESP32 vs. PICO-W 비교시험

아두이노 클라우드에 대한 접속은 안정적일까 ? – ESP32 vs. PICO-W 비교시험

아두이노 IOT 클라우드에 마이크로파이썬 보드 연결하기

아두이노 IOT 클라우드에, 마이크로파이썬을 이용하는 라즈베리파이 피코W와, 마이크로파이썬을 이용하는 ESP32 보드를 접속시키는 방법과, 이를 통해 클라우드에서 해당 보드에 연결된 LED를 모니터링하고, 또한 원격으로 켜고 끄는 조작 방법을 소개한 바 있었다.

마이크로파이썬을 사용하는 ESP32나 라즈베리파이 피코W의 자세한 연결 방법에 대해서는 다음 글을 참조하기 바란다.

https://blog.naver.com/mythee1/223453592371

뜻밖의 현상 및 의문점

그런데, 문득 “과연 이렇게 연결한 접속 상태는 안정적일까? ” 하는 의문이 들었다.

이런 의문이 든 이유는 크게 2가지였다.

한 가지 이유는 라즈베리파이 피코 W를 접속하려고 했던 초기에는 수분 내에 접속이 끊어지는 현상을 수차례 경험했었다. (다만, 그 이후에는 이런 현상이 사라졌다.)

라즈베리파이 피코의 경우 정상적으로 접속이 이루어지고, 처음 1-2분간은 아주 잘 조작이 이루어지다가, 그다음에는 원격조작이 안되었는데, Device 접속 상황을 살펴보면 Offline으로 변경되어 있곤 했었다.

이런 현상은 10~20여 회 정도 반복된듯하다. 아두이노에서 RP2040 칩을 사용하는 RP2040 Connect라는 제품도 판매 중이고 아두이노 클라우드 공식 지원 제품인 것을 보아 정상적으로 동작해야 할 듯했는데, 이런 의외의 상황 때문에 여러 생각이 들었다. 그런데, 이상하게도 10-20여회 정도 이런 현상을 겪고 난 이후, 이런 현상이 사라졌고 접속 상태가 안정적으로 유지되기 시작했다. 나에게는 마이크로 파이썬을 사용하는 라즈베리파이 피코 W를 과연 안정적으로 아두이노 클라우드에서 사용할 수 있는 것일까 하는 의문만 남겼다.

(참고: ESP32는 아두이노 클라우드에서 지원(C++ 모드로)을 공식적으로 밝히고 있으나, 마이크로파이썬을 사용하는 라즈베리파이 피코 W에 대한 지원 여부나 사용방법에 대해서는 별도의 세부적인 언급 없이 그저 마이크로파이썬 사용 장치도 지원 가능 장치의 하나로 표기된 상태이다.)

또 하나의 이유는 비교를 위해 사용했던 ESP32 때문이다.

외견상으로는 라즈베리피코W와 다르게, 마이크로 파이썬을 이용하는 ESP32로 접속한 경우에는 조작이 중단되지 않고, 지속적으로 정상적으로 동작했다. 하룻밤을 지나서도 여전히 정상적인 조작이 가능했다.

이 때문에, 나는 처음에는 아두이노 클라우드에서는 피코 W보다 ESP32가 더 호환성이 높은 것인가 하는 생각을 했다. 실제로 ESP32는 장치 등록 탭이 따로 있기까지 하다(비록 C++ 메뉴이지만)

그런데, 다음날 장치의 접속 상태에 대한 히스토리를 우연히 살펴보다가, 나의 이런 생각은 완전히 바뀌게 되었다. 우연히 열어본 ESP32 장치의 접속 상태에 다음과 같이 불연속적인 구간이 있었기 때문이다. 짧게는 1시간 간격으로, 길게는 5시간 간격으로 접속이 끊어졌다가 다시 재접속되었다는 것을 알게 되었기 때문이다.

비교 시험

그런데, 문득 “과연 이렇게 연결한 접속 상태는 안정적일까? ” 하는 의문을 해소하기 위해, 한 가지 비교 시험을 해 보았다.

다음과 같이 ESP32와 피코 W 보드를 나란히 두고, 동등한 코드와 동일한 라이브러리 파일을 이용하여, 접속 상태를 24시간 정도 모니터링하면서 아두이노 클라우드에 대한 접속 안정성을 비교해 보기로 했다.

아두이노 클라우드의 디바이스 탭에서 다음과 같이 두 장치 모두 Online 상태로 확인되었다.

이를 동일 시간대에 약 24시간 정도 유지하면서 상황을 지켜보았다.

먼저 ESP32의 경우 약 20여 시간 정도 지난 시점에 접속 상태 히스토리를 살펴보니, 여러 개의 접속 중단 지점들이 있었다. 접속이 중간중간 중단되는 현상이 재현성 있게 확인된 셈이다. 다만 매번 접속이 차단된 이후 곧 다시 재접속이 이루어진 것을 볼 수 있었다.

그리고 불연속 구간으로 표시되지는 않았지만, 노란색으로 표시된 제 접속 포인트들도 여럿 보였다.

다만 각각의 불연속 구간들이라 하더라도, 접속이 끊어졌던 시간 구간이 길지는 않았다.

반면 라즈베리파이 피코W의 경우는 좀 많이 달랐다.

비교 시험을 시작한 이후 약 20여 시간 지난 시점에서 살펴본 결과, 시험 시작 초기에 2개 정도의 접속 차단이 있었던 것을 제외하면 접속이 끊어진 기록이 없었다.

이를 24시간까지 연장해 계속 지켜본 결과, 중간에 1회의 접속 차단 지점이 발생한 것 외에는 이러한 경향성이 다음과 같이 지속되었다.

참고로, 피코는 전원이 들어와도 전원 표시 LED가 켜지는 것은 아니기에, 기본적인 상태에서는 일시적인 전원 차단이 있더라도 알기 어렵다. 피코 W의 접속 상태에서 접속이 중간에 끊어진 포인트와, 시험 초기의 접속이 끊어진 포인트는 아마도 책상에서 보드의 위치를 이동하기도 했던 상태라, 이로 인한 일시적인 접촉불량이 있었던 것일 수도 있겠다는 생각이 든다.

피코W의 안정성을 추가로 확인해 보기 위해, 기간을 2일 더 연장해 가면서 접속상태를 모니터링 해 보았다.

그 결과, 다음과 같이, 피코 W에서도, 중간중간 재접속 기록이 있었음을 볼수 있었다.

이러한 비교 시험을 통해, 아두이노 IOT 클라우드에서 ESP32보다 라즈베리파이 피코 W가 좀 더 안정적인 접속 상태를 보여주는 것으로 알 수 있었다.