Módulo SPWF04S: Wi-Fi + ARM Cortex-M4 + MicroPython

SPWF04S

O módulo SPWF04S

 

O módulo SPWF04S é um produto da empresa STMicroelectronics que foi lançado em 07 de março deste ano e é uma evolução do SPWF01S. Dentre suas aplicações estão: conexões sem fio (wireless) para projetos do tipo IoT (Internet of Things), M2M (Machine to Machine), automação industrial e projetos portáteis devido ao baixo consumo e pequenas dimensões, além da agilidade time-to-market.

 

O módulo é composto por um microcontrolador ARM Cortex-M4 (STM32F439), da mesma empresa, caracterizado por ter um cripto-core para acelerar operações AES-128, AES-192 e AES-256, memória de 2 MB (microcontrolador) dispondo de metade para "user application", um rádio CW1100 compatível com 802.11b/g/n cuja banda abrange somente em 2.4 GHz, além de oferecer um mecanismo de coexistência com Bluetooth (interação por serial através de comandos AT com um host, se houver) e, o mais importante, possui MicroPython engine embutido (versão 1.6) já com bibliotecas prontas para web, pilha TCP/IP e periféricos (UART, GPIO, SPI, I²C, etc), possibilitando a execução de scripts no próprio microcontrolador sem a necessidade de outro externamente.

 

 

Características

 

  • Transmissor de 2.4 GHz IEEE 802.11 b/g/n; 
  • Microcontrolador de alta performance STM32F439
    • ARM® Cortex®-M4;
    • 256 KB SRAM;
    • 2 MB de memória Flash de alta velocidade;
    • 1 MB de memória Flash para aplicações do usuário, extensível via SD/MMC ou SPI Flash externa;
  • Pilha protocolo TCP/IP integrado
    • 8 clientes TCP ou UDP simultâneos e 2 servidores socket (suportando até 8 clientes cada);
    • Secured socket e upper layers (ex.: HTTPS) suportando até TLS 1.2, incluindo AES (128, 256), hash (MD5, SHA-1, SHA-256) e RSA (1024, 2048);
    • Web server suportando SSI;
  • Open, WEP, WPA2 PSK e WPA2 Enterprise;
  • WPS para station;
  • System modes: Station, IBSS e miniAP (suportando até 5 Stations);
  • miniAP facilmente provisionado (SSID, PWD);
  • Rápida reassociação do Wi-Fi depois do reset;
  • Atualização do Secure Firmware e FileSystem através do ar (OTA - Over The Air);
  • 19 GPIOs disponíveis e configuráveis;
  • Interface UART e SPI para um sistemas host;
  • Modos avançados de baixa potência:
    • Standby com RTC: 43 µA;
    • Sleep = 3 mA;
    • Idle conectado (DTIM=1) = 5 mA;
  • Conjunto de comandos AT para interface através da UART;
  • Interface SPI com protocolo simples;
  • Application subsystem
    • Ambiente MicroPython real-time embutido para customizar aplicações e desenvolvimento on-board;
    • Biblioteca MicroPython para fácil acesso às capacidades Wi-Fi subsystem e periféricos (ex.: UART, SPI, I²C);
  • Pequenas dimensões: 26.92 x 15.24 x 2.35 mm;
  • Fonte única de tensão (3.3 V);
  • Opções de antena: antena integrada ou conector U.FL;
  • Faixa de temperatura industrial: -40°C to 85°C;
  • Certificados FCC/CE/IC; 
  • Complacente a RoHS. 

 

 

Variações do módulo

 

O SPWF04S possui duas variações: o SPWF04SA com antena e o SPWF04SC sem antena. Além disso, há também um versão da STM32 Nucleo que  já contempla este módulo: a X-NUCLEO-IDW04A1.

 

 

Software

 

Graças ao MicroPython embutido, todo o software é desenvolvido em Python, o qual pode utilizar o REPL para depuração. No entanto, aconselha-se ler o AN4964 (MicroPython scripting language over SPWF04S) para usufruir de todos os recursos do hardware adequadamente.

 

Abaixo podemos ver a arquitetura do software.

 

Arquitetura de Software do SPWF04S
Figura 1: Arquitetura de Software do SPWF04S

 

 

Conclusão

 

O SPWF04S é um módulo Wi-Fi bem promissor para projetos que demandam conectividade web, low power e um time-to-market ágil, já que possui MicroPython embutido e bibliotecas para desfrutar do módulo. Assim, basta ter um conhecimento em linguagem Python que a prototipagem rapidamente acontece!

 

 

Aprenda mais sobre MicroPython

 

MicroPython

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

2
Deixe um comentário

avatar
 
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Eder AndradeRafael Gebert Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Rafael Gebert
Visitante
Rafael Gebert

Olá! Já havia lido sobre esse módulo mas uma coisa nunca ficou claro para mim:
- É possível programar diretamente no microcontrolador desse módulo e usar a stack WIFI internamente (sem interpretadores como uPython)? Será que existe uma LIB da wifi para integrar com o projeto? Obrigado!

Eder Andrade
Visitante
Eder

Olá Rafael.

Esse módulo já vem com um firmware programado neste uC, ou seja, já com o uPython e para acessar essa lib Wifi, somente com script em Python conforme AN.

Porém a MicroPython.org dispõe de todas as libs criadas:

https://github.com/micropython/micropython-lib

Eder.