아두이노 보드에서의 Wi fi, 그리고 ESP8266과 ESP32

아두이노 보드에서의 Wi fi, 그리고 ESP8266과 ESP32

​

1. 아두이노와 Wi fi

앞의 글에서, 미리 정해진 프로그램대로 동작하도록 하는데 사용하는 microcontroller 보드 중 가장 널리 알려진 아두이노 우노 보드에 대해 소개한 바 있다. (다음 Link 참조)

​

https://kongyine.com/223170115130

아두이노 보드는 2005년경 출시되었는데, 사용이 편리했고, 가격도 1-2만 원 정도(호환 품은 몇천 원 정도)로 저렴하기까지 했으나, 블루투스와 Wi fi 같은 무선 통신 기능은 기본적으로는 제공하지 않았다.

​( 주 : 현재는 Wi fi 기능을 지원하는 Arduino가 2017년에 출시되었고, 이후 Rev 2로 업그레이드되었으나, 가격이 50Euro 정도로 고가이다.)

​

​

2. ESP8266과 ESP32 개발

무선통신을 통해서 마이크로컨트롤러를 제어하려고 했던 사용자들은 아두이노를 사용하면서 블루투스와 Wi fi를 사용하기를 원했고, 이러한 방법을 찾고자 했다.

​

그러던 중 2014년경 중국의 Espressif Systems (https://www.espressif.com/en)라는 당시에는 작았던 업체에서 ESP8266이라는 이름의 Wi fi 기능을 포함하는 5mm x 5mm 정도 크기의 칩을 출시하였고, 이 칩을 이용하면 Wi fi 기능을 제공할 수 있는 게 알려지게 되었다.

​

이 ESP8266 칩을 아두이노와 연계하여 Wi fi 기능을 제공하려는 시도로 나온 것이 8266 칩을 이용한 ESP 모듈들이며 여러 가지가 있으나, 그중에서 가장 대표적인 것이 다음 사진의 ESP-01 모듈이다. 이 ESP-01 모듈을 아두이노에 연결하여 사용하는 방법이 한동안 아두이노 보드에서 Wi fi를 지원하는 거의 표준적인 방법처럼 사용되곤 했었다.

ESP-01 모듈은 다음과 같은 방식으로 아두이노의 헤더 핀에 연결하고, Arduino IDE에서 프로그램 시 8266 칩에 필요한 라이브러리 사용을 선언해 주는 방법으로 사용하게 된다.

​

또한 ESP 8266 칩을 출시한 Espressif System 사는 ESP-01 모듈외에도, ESP8266 칩과 약간의 부품을 추가한 다음 모양의 ESP8266 모듈을 만들어 판매하기도 했고, 이를 토대로 ESP-01외에도 아두이노에서 사용가능한 확장 모듈이 만들어 지기도 했다.

​

​

이 회사에서는 ESP8266을 아두이노에 적용하는 것과 관련하여. SDK를 다음 Github 에 공개하고 있다.

https://github.com/espressif/ESP8266_RTOS_SDK

​

그리고 이 회사는 2016년경 ESP8266 칩의 성능을 더욱 강화시킨 ESP32라는 칩도 개발하여 출시하였는데, 다음과 같은 사항들이 개선된 것으로 알려져 있다.

​

* Wi fi와 함께 블루투스도 지원 (8266은 Wifi만 지원)

* 입출력에 사용 가능한 헤더핀의 수가 더 많음 (17 vs 36)

* 동작 속도가 더 빠름 (60~160MHz vs 160~240MHz)

* 메모리 용량이 큼 ( 160KB vs 512 KB)

* 8266칩에는 없는 다양한 센서 기능 내정(온도, 터치, 홀 센서)

​

​

이 회사가 현재 판매하는 매우 다양한 ESP모듈류에 대해서는 다음을 참조하기 바란다.

https://www.espressif.com/en/products/modules

​

​

3. ESP 보드류

ESP8266 칩에 기반한 ESP-01 모듈을 사용하게 되면서, 아두이노에서 Wi fi 지원 자체는 가능해졌으나, 거추장스러운 배선이 필요했고, 장치도 추가 모듈로 인해 복잡해지게 되었다.

​

또한 ESP8266과 ESP32 칩의 개발사인 Espressif systems에서 위에서 소개한 ESP32/ESP8266 모듈까지 출시하게 됨에 따라, 아예 새로운 시도가 나타나게 되었다. 즉, 아두이노에 ESP-01모듈을 추가하여 사용하는 대신에, ESP 8266 또는 ESP 32 칩과, 아두이노의 사용되는 microcontroller 기능을 통합한 형태의 보드들이 나오게 된 것이다.

​

이러한 보드들은 통상 ESP8266 보드 또는 ESP32보드라고 부르는데,

​

아두이노에 ESP-01 같은 외부모듈을 추가로 연결하여 사용하는 경우보다 배선이 간결해지고 소형화에도 유리해진다. 그러면서도 가격 역시 일반적인 아두이노 보드에 비해 별 차이가 없기도 하다. 특히 ESP32 칩을 사용한 경우에는 Bluetooth까지도 해결되고 성능도 현저히 향상되는 장점이 있어 인기가 많은 것으로 알려져 있다.

​

​

이러한 ESP 보드류들은 Espressiff사의 8266모듈 및 32모듈을 이용하여 여러 개발자가 다양한 형태의 변종보드들을 개발했기에 그 종류가 다양하나,

​

다음과 같이 ESP8266을 사용한 중에서는 Opensource 정책으로 세부설계 내용이 공개되어 많은 사람들이 생산하고 이용하는 NodeMCU라는 보드와

​

​

ESP32 칩을 사용하는 ESP32 보드 등을 들 수 있다.

​

​

​

4. 아두이노 보드의 Wi fi 자체 지원 동향

한편 아두이노 보드(호환보드 포함) 자체도 ESP-01 모듈을 사용하는 것보다 간결한 폼팩터를 구현하기 위한 방법들이 시도되었는데, 일부 3rd Party에서 아래 사진처럼 우노 보드에 8266 모듈을 부착시킨 형태가 시도된바 있다.

​

다만 이 제품은 아두이노 재단에서 공식적으로 개발한 것은 아니며, 아두이노 우노와 동일한 폼팩터를 가지지만, 엄밀한 의미에서는 위에서 소개한 것과 같은 ESP8266보드류의 하나로 간주되고 있다.

​

​

​

이후, 아두이노 재단에서도 아두이노에서 Wifi를 자체로 지원하기 위한 방법을 모색하다가 2017년경 다음과 같은 모양의 Arduino Uno Wifi 버전을 출시하였으며,

​

​

​

이후 이를 보완한 우노 Wi fi Rev2로 Upgrade 되어 판매되고 있는 상태이다.

​

다만 이 제품은 기존 아두이노로 구성된 여러 프로그램들에 쉽게 무선통신을 적용할수 있는 장점이 있기는 하나, 가격이 유럽에서 약 50유로 정도 (~70,000원)정도이고, 국내에서는 업체에 따라 다르나 11~13만원 정도의 고가로 판매되어 가성비 측면에서 이전의 방법이나 Wifi를 지원하는 유사한 기능의 다른 Microcontroller 보드류들(예 :라즈베리파이 피코 W, ESP8266보드류)에 비해 가성비 측면에서 다소 의문들도 있는 상태이다.

​