2015년 1월 26일 월요일

초저가 IoT 플랫폼 - ESP8266

ESP8266은 Espressif systems에서 출시한 Wifi(무선랜) 솔루션이다. ESP8266은 원칩 솔루션으로 SoC 내에 프로세서를 포함해 메모리, wifi controller가 모두 들어있어 최소한의 외부 부품만으로 무선랜 모듈을 구성할 수 있다.



초기에는 Wifi to serial 모듈로 나왔지만 시리얼 포트를 통해 AT 명령어로 GPIO를 제어할수도 있고, 직접 펌웨어 개발을 위한 cross compiler와 라이브러리가 제공되고, 심지어 LUA 인터프리터도 개발되어 매우 쉽게 프로그래밍이 가능해졌다.

그리고 무엇보다 가장 큰 장점은 이렇게 모든게 다 들어있음에도 불구하고 매우 저렴하다는 것이다. Aliexpress에서 모듈이 개당 $2.5~3 정도면 구입이 가능하다. 아두이노에 무선랜 기능을 추가할 때도 cc3000 wifi shield같은것(현재 $20~30)보다 거의 1/10 정도의 가격으로 가능하다.

하지만 제어해야 할 제품에 GPIO가 많이 필요하지 않으면 아두이노나 다른 별도의 프로세서를 사용하지 않고 ESP8266만으로 모든것을 해결할 수 있다. IoT의 특성상 여러 종류의 센서나 액튜에이터를 여러개 설치해야 하는 경우 특히 유용하다.


초기에는 위와 같은 타입의 모듈이었지만 현재는 ESP-01, ESP-07, ESP-12등 다양한 형태의 모듈이 판매되고 있다.

ESP-03

ESP-12


새로 구입을 하려면 ESP-01 보다는 ESP-07, ESP-03, ESP-12등을 구입하는것이 좋다. ESP-01은 브레드보드에 사용하기 쉽지 않다. 각 모듈들은 폼팩터나 커넥터 위치, 안테나 종류(내장형, 칩안테나, 외부 안테나 등)등이 다를 뿐 사용법은 동일하다.

ESP8266의 스펙은 다음과 같다.

Specifications

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • Integrated TCP/IP protocol stack
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • Integrated PLLs, regulators, DCXO and power management units
  • +19.5dBm output power in 802.11b mode
  • Power down leakage current of <10uA
  • Integrated low power 32-bit CPU could be used as application processor
  • SDIO 1.1/2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4ms guard interval
  • Wake up and transmit packets in < 2ms
  • Standby power consumption of < 1.0mW (DTIM3)

Power
ModeMinTypicalMaxUnits
802.11b, CCK 1Mbps, POUT=+19.5dBm215mA
802.11b, CCK 11Mbps, POUT=+18.5dBm197mA
802.11g, OFDM 54Mbps, POUT=+16dBm145mA
802.11n, MCS7, POUT =+14dBm135mA
802.11b, packet size of 1024 bytes, -80dBm60mA
802.11b, packet size of 1024 bytes, -70dBm60mA
802.11b, packet size of 1024 bytes, -65dBm62mA
Standby0.9uA
Deep sleep10mA
Saving mode DTIM 11.2mA
Saving mode DTIM 30.86mA
Shutdown0.5uA
RF
DescriptionMinTypicalMaxUnits
Input Frequency24122484MHz
Input resistance50Ω
Input reflection-10dB
At 72.2Mbps, PA output power141516dBm
11b mode, PA output power17.518.519.5dBm
Sensitivity
CCK, 1Mbps -98dBm
CCK, 11Mbps -91dBm
6Mbps (1/2 BPSK) -93dBm
54Mbps (3/4 64-QAM) -75dBm
HT20, MCS7 (65Mbps, 72.2Mbps)  -71dBm
Adjacent suppression
OFDM, 6Mbps37dB
OFDM, 54Mbps21dB
HT20, MCS037dB
HT20, MCS720dB
Digital I/O
VariablesSymbolMinMaxUnits
Input Low VoltageVil-0.30.25xV10V
Input High VoltageVih0.75xV103.6V
Input leakage currentIIL-50nA
Output Low VoltageVOL-0.1xV10V
Output High VoltageVOH0.8xV10-V
Input pin capacitanceCpad-2pF
VDDIOV101.73.6V
CurrentImax-12mA
TemperatureTamb-20100C

ESP8266은 station 모드(즉 공유기에 접속하는 디바이스로 동작) 뿐 아니고 AP 모드(공유기로 동작)도 지원한다. 그리고 UART를 통해 AT 명령어로 칩을 쉽게 제어할 수 있어 복잡한 디바이스 드라이버가 없어도 아두이노등에서 사용하기도 매우 편리하다. 

다음에는 ESP8266 모듈을 PC에 연결해 직접 동작시켜 보도록 하겠다.

댓글 없음:

댓글 쓰기