sexta-feira, março 10, 2017

Módulos para programar no ESP3212

Módulos ESP3212


Para ter acesso a todas essas possibilidades precisamos de um módulo de hardware que contenha a CPU ESP3212 e que tenha os pinos do chip expostos para que possamos configurar, programar e criar!

ESP32s


Já existem várias plataformas sendo que a mais comum é a denominada ESP32s, que é uma réplica, ou é a própria plataforma criada pela Expressif, o módulo ESP-WROOM32. 

Módulo ESP-WROOM-32
Módulo ESP-WROOM-32

Abaixo a placa ESP32s, como podemos ver é praticamente uma réplica do reference design da Espressif, visão superior e inferior.
ESP32s - imagem superior da placa
ESP32s visão superior

Essa plataforma, por ser um módulo enxuto provavelmente será integrada em muitas outras. Tudo indica que terá custo baixo devido ao grande volume de produção. Em algum tempo deve se igualar (ou talvez um pouco acima) em utilização das irmãs mais velhas baseados no chip Esp8266 como os módulos ESP8266-01 ou Esp8266-12.
ESP32s - imagem superior da placa
ESP32s visão inferior

Esses módulos ESP3212 são mais difíceis de lidar por serem muito compactos e não terem encaixe em placas matriciais de circuito impresso ou protoboards, precisando sempre de uma placa auxiliar para poderem ser plugadas e utilizadas.

ESP32-DevKit


Outra placa feita pela própria Expressif, recebe o ESP32s soldado e expõe a quase totalidade dos pinos além de trazer reguladores de tensão e interface USB integrada, possibilitando utilização imediata em protoboards ou afins

ESP32-DevKit. Observe o conector USB para programação do módulo
ESP32-DevKit. Observe o conector USB para programação do módulo (aqui sem a blindagem)


AdaFruit


Como a fabricante Espressif deseja que o módulo seja amplamente utilizado nas comunidades de hobistas e profissionais, todos tanto o ESP32s quanto o DevKit possuem o hardware disponível como referência para terceiros criarem suas placas como base. A Adafruit, empresa americana especializada em placas de desenvolvimento para makers e hobistas já disponibiliza sua versão:

DevKit Esp3212 disponível pela Adafruit
DevKit disponível pela Adafruit


Software


Nos dias que não existia documentação adequada para o irmão mais velho ESP8266 e os usuários tinham que fazer grandes pesquisas ou até engenharia reversa acabaram!  Existiram muitas dúvidas de como implementar hardware e software, como consumo, níveis de tensão dos GPIOs, mas no novo chip, essas informações aparentam estar totalmente disponíveis.
A Expressif está encarando muito profissionalmente essas plataformas e o sucessor ESP3212 tem uma farta quantidade de documentação disponível mesmo antes de ser totalmente lançado.
Essa documentação versa sobre o funcionamento do hardware e suporte de software  para grande maioria dos periféricos disponíveis. Existe uma quantidade muito grande de código disponível para suportar todos os recursos de hardware listados acima e documentação correspondente:
O ponto de partida para essa documentação encontra-se no site:


La está explicado todo o processo de instalação do SDK e ferramentas para desenvolvimento.

Suporte IDE Arduino


O Arduino não é apenas o editor de texto dos programas e sim um sistema completo de Build (compilação e linkedição) dos programas, que integra toda inicialização do chip, suporte aos recursos básicos e integração com blibliotecas de uma maneira transparente ao usuário. Quando o suporte ao ESP8266 foi incluído, certamente foi um grande ganho, uma vez que com poucas linhas de código bem familiares poderia ser piscar o led (blink.c) e outras rotinas comuns. O processo ficou muito simples, sem precisar de passos específicos de instalação de toolchain, configuração de makefiles, etc.
Para o ESP3212 espera-se o mesmo, entretanto, ao tempo de escrita deste texto, o suporte não é ainda completo e oficial, tendo-se que realizar etapas manuais de instalação, diferentemente do suporte ao irmão mais velho.

O ponto de partida para instalação do suporte Arduino, chamado Arduino-Core é:


Conclusão

  

Com todas essas possibilidades e uma maturidade crescente dos seus criadores, essa nova plataforma vem com grande potencial de mudança para o desenvolvimento de hardware e software de hobistas e estudantes, devido a sua facilidade de uso. Mas porque não considerar também aplicações profissionais  e comerciais, que podem revolucionar seus custos ao utilizar esses novos módulos, desde que eles se comprovem robustos e confiáveis.