FVM Learning

Nosso maior compromisso é compartilhar conhecimentos, somos simples, mas não simplórios, astuto, mas não pacóvio, nos posicionamos empenhados em mostrar o caminho para desmistificação do opróbrio em legítima defesa do conhecimento compartilhado. Eng. Jemerson Marques!

sábado, 15 de dezembro de 2018

Conhecendo ESP8266, Especificações e comparações com ESP32 e Arduino!

Conhecendo ESP8266, Especificações e comparações com ESP32 e Arduino!
Conhecendo ESP8266, Especificações e comparações com ESP32 e Arduino!

Olá a Todos!

No Post de hoje, iremos tratar de um assunto que é de vital importância para quem deseja entrar ou já entrou no mundo da Automação e seus derivados, vamos falar sobre o Módulo ESP8266.

O que exatamente é o módulo ESP8266

O ESP8266 é um microcontrolador tipo  sistema em chip (SoC) de uma fabricante chinesa chamado Espressif, esses módulo inclui capacidades para processamentos de dados, leituras e controles das portas GPIO, e tem Protocolo de comunicação em rede TCP/IP sem fio, Wi-Fi de 2,4 GHz (no padrão 802.11 b/g/n, com Suporte a criptografia de segurança WPA/WPA2).

Para que server o ESP8266

Em primeiro lugar, não podemos responder uma pergunta desta com uma simples resposta...

Pois são infinitas as suas aplicações; porém iremos esclarecer aqui de forma direta e resumida, algumas das suas mais comuns utilidades, que são:

  • Internet das coisas – ou Internet of Things (IoT), é muito provável você já ter escutado sobre isso, e se você já é um amante da tecnologia, muito provavelmente você já sabe o que é isso.
  • Automação e Controle – Seja industrial, ou residencial, automobilístico ou qualquer que seja, esse módulo executa o trabalho.
  • Transmissão de dados – Por ter a tecnologia WiFi integrado, podemos transmitir dados a uma rede Wireless de uma forma fácil e sem muito esforço.
  • Processamento de dados – Esse processamento vai de, leitura de sensores analógico digital, até cálculos complexos para processar resultados, seja comparadores, seja multiplicadores, somadores ou qualquer outro que o controlador necessite, poderá ser executado.
  • Gerenciamento de dados – Nesta modalidade o ESP recebe os dados, por exemplo, de um sensor e gerencia o que fazer entregando resultados dependendo do tipo de processamento à qual foi programado.
  • Conexão em redes – Com este módulo podemos conectar e integrar todo o sistema, a qualquer rede de computadores disponível.
  • WebServer – Essa modulo permite que façamos um Servidor Web com ele, e podemos acessar uma página escrita em HTML, PHP ou qualquer outra linguagem de desenvolvimento WEB suportado por ele.
  • AcessPoint – Podemos também fazer comunicação entre ESPs, diretamente sem precisar de nenhuma rede externa, ou seja, comunicação ponto a ponto, ou acessar com um Smartphone, computador ou seja o que for diretamente com o ESP8266 sem precisar de uma Rede Externa.

Aplicações

As aplicações são infinitas, porém separamos algumas das principais para o nosso melhor entendimento.

  • Automação residencial e Industrial
  • Monitoramento remoto cameras e sensores
  • Segurança doméstica, comercial e industrial
  • Tomadas inteligentes
  • Controle industrial sem-Fio
  • Monitoramento de bebês, crianças ou idosos
  • Eletrônica vestível
  • Dispositivos para localização via Wi-Fi
  • Tags de identificação para segurança
  • Câmeras IP
  • Robótica

Tipos de ESPs

São inúmeras as quantidades e variações desses ESPs no mercado... Porem abordaremos os mais conhecidos do nosso mercado que serão do ESP01 ao ESP13.

Irei demostrar as características básicas dos mais populares que separei para visualizarmos o que melhor se adequará no perfil do seu projeto:

ESP: 01: Para esse módulo existe duas versões, são diferenciadas pela cor, o módulo azul tem 500KB de memória Flash e o módulo preto tem 1MB de memória Flash. É um módulo bem popular, medindo: 24,75 x 14,5 mm, ele tem 2 GPIOs disponíveis.

Fig. 2 - Conhecendo ESP8266 - ESP01

ESP: 02 – Medindo 14,7 x 14,2. Este módulo utiliza conector U.FL para antena pigtail externa, é de bom proveito para quem deseja dar ganho no sinal e fazer por exemplo transmissão a longa distância, ele possui 3 GPIOs disponíveis. 

Fig. 3 - Conhecendo ESP8266 - ESP02

ESP: 03 – Esse módulo possui uma antena de cerâmica, que ajuda na proteção contra interferências, ele possui um pino de Antena pelo qual você pode soldar uma antena externa, ele mede 12,2 x 17,4mm, ele possui 7 GPIOs disponíveis.

Fig. 4 - Conhecendo ESP8266 - ESP03

ESP: 04 – Este mede 14,7 x 12,1mm, ele não possui antena onboard, somente um pino de Antena soldável para usar com antena externa, ele possui 7 GPIOs.

Fig. 5 - Conhecendo ESP8266 - ESP04

ESP: 05 – Esse módulo é um pouco diferente dos outros, ele não possui GPIOs, foi desenvolvido para projetos de IoT que necessite utilizar conexão de rede de internet por um baixo custo.

Por exemplo, Arduino, Raspberry, microcontrolador PIC ou qualquer outro sistema que precise se comunicar, com a rede de internet, possui conector U.FL para antena externa, e suas medidas são 14,2 x 14,2mm.

Fig. 6 - Conhecendo ESP8266 - ESP05

ESP: 06 – Este possui 7 GPIOs, a antena assim como suas conexões são soldáveis na parte inferior do módulo,  mede 14,2 x 14,7mm. Esse é um tipo de ESP minimalístico para projetos vestíveis.

Fig. 7 - Conhecendo ESP8266 - ESP06

ESP: 07 Esse módulo existe duas versões, o 07 e o 07s, pôr o 07s ser uma atualização do 07, ambos possuem 9 GPIOs, a diferença ente eles basicamente são: 

O 07 vem com dois tipos de antena, a de cerâmica e a com conector U.FL, tem 1MB memória Flash, suas conexões soldáveis na parte inferior e mede 10 x 14mm, já o 07s só tem o conector de antena U.FL, e tem 4MB de memória Flash.

Fig. 8 - Conhecendo ESP8266 - ESP07 & ESP07S

ESP: 08 – Assim como o 06, este módulo possui suas conexões e antena soldáveis, dotado de 7 GPIOs, mede 17 x16mm.

Fig. 9 - Conhecendo ESP8266 - ESP08

ESP: 09 – Esse módulo é um dos mais compactos, medindo apenas 10x10mm, tem seus contatos soldados por baixo do módulo, ele tem 6 GPIOs, não tem a proteção metálica contra interferências, para uso em locais com muitas interferências eletromagnéticas, este não é muito recomendado.

Fig. 10 - Conhecendo ESP8266 - ESP09

ESP: 10 – Se assemelha com o ESP 05, ele não tem opções de GPIOs, a única diferença notável entre ambos é a antena deste módulo que é soldável, já que o ESP 05 ele tem a conexão U.FL, suas medidas são: 14,2x10mm.

Fig. 11 - Conhecendo ESP8266 - ESP10

ESP: 11 – Esse só tem 2 GPIOs disponíveis, ele também não tem proteção metálica dos CIs, suas medidas são: 14,2x10mm.

Fig. 12 - Conhecendo ESP8266 - ESP11

ESP: 12E & 12F – Esses módulos são bastante semelhantes, se não tiver impresso na placa do módulo qual modelo ele é, podemos orientarmos através da antena, que do 12F tem a antena mais espaçada e diferenciada dos outros modelos, ambos possuem 4MB de memoria Flash e medem 24.0 x 16.0mm.

Fig. 13 - Conhecendo ESP8266 - ESP12E
Fig. 14 - Conhecendo ESP8266 - ESP12F

ESP: 13 – Esse possui 9 GPIOs, medindo 20.0 x 19.9mm, ele possui 4MB de memória flash. Nós sabemos que existe mais módulos, porém como falei no início, iriamos abordar os mais conhecidos e fácil de encontrar no mercado brasileiro.

Fig. 15 - Conhecendo ESP8266 - ESP13

Se você deseja saber sobre alguns mais: 

Você pode também pesquisar por: ESP 14ESP-201, WT8266-S1 e S2, WT8266-DK V2 e V2... Entre outros.

Agora vamos conhecer os módulos embarcados com o ESP8266.

Módulos embarcados com os ESPs.

Os mais conhecidos são:

NODE MCU ESP8266 e o WEMOS D1 R2 - Esses são bastante populares e utilizados por projetistas do mundo todo.

NODE MCU ESP8266 tem sua forma bem mais compactada, que é ótimo para projetos compactos sem espaços físicos, seu único inconveniente é que ele não se adapta as Protoboards, porém isso é o de menos.

Fig. 16 - Conhecendo ESP8266 - NODE MCU ESP8266

O WEMOS D1 R2 se assemelha a um Arduino, foi projetado para quem já desenvolve projetos com Arduino não ter dificuldades pois com ele também podemos programá-lo na plataforma Arduino.

Fig. 17 - Conhecendo ESP8266 - WEMOS D1 R2

Mas, temos também os NODE MCU ESP32 e o WEMOS D1 MINI PRO – Que são bem utilizados não com a mesma proporção que os outros dois.

Quando se fala do ESP32 pode-se dizer que estamos falando de um nível acima, pois além de ter o dobro de poder de processamento do ESP8266, tem embarcado nele tecnologia Bluetooth e WiFi.

A quantidade de GPIOs bem superior que o ESP8266, e outras grandes vantagens que iremos ver já já no comparativo que fizemos nos logo abaixo.

Fig. 18 - Conhecendo ESP8266 - NODE MCU ESP32

O WEMOS D1 MINI PRO foi projetado diferente do WEMOS D1 R2 com intenções tornar mínimo o seu espaço físico para projetos que requer mínimo espaço possível.

Fig. 19 - Conhecendo ESP8266 - WEMOS D1 Mini Pro

Especificações

Nesta Tabela 1 de especificações do ESP8266, na primeira linha da tabela que fala de corrente de consumo vamos deixar para o falar mais a frente, pois precisamos entender alguns parâmetros e características do mesmo.

TAB. 1 - Conhecendo ESP8266 - Especificações do ESP8266

  • Então vemos que o processador é de 1 núcleo
  • Sua arquitetura de trabalho e de 32bits
  • É um processador Xtensa LX106, com clock de velocidade ajustável para 80  ou 160Mhz, depende da sua opção. 
  • Com conexão WiFi integrado, que faz uso de tecnologia padrão IEEE802.11b, g, n. 
  • Não tem conexão Bluetooth
  • Memoria RAM é de 160kB que são divididas 64KB para instruções e 96KB para dados. 
  • Memoria FLASH é QSPI Externo de 512KB à 4Mb, dependendo da versão. 
  • Ele tem 16 GPIO. Não tem conversão Digital Analógico. 
  • Tem uma GPIO conversor Analógico para Digital. 
  • E por fim, 4 Interfaces de comunicações: SPI - I2C – UART – I2S.

Consumo de Corrente

Nesta Tabela 2 podemos entender o porquê não podemos determinar a corrente de consumo do ESP8266 em um único parâmetro.

Existem diferentes modos de utilização que alteram em muito o seu consumo, e isso depende de como você pretende trabalhar com o seu ESP8266.

TAB. 2 - Conhecendo ESP8266 - Corrente de Consumo do ESP8266

Vamos analisar:

Sabemos que o padrão utilizado pelo ESP8266 é o IEEE802.11b, g, n, que vai de 2.4Ghz à 5.0Ghz

Então:

  • Com transmissão no padrão 802.11b, a potência máximo de saída,  Pout em +19,5dBm, a corrente também é Máxima, o tipo de modulação é o CCK com velocidade a 1Mbps, o consumo é de aproximadamente 197mA, que pode variar dependendo do que se está utilizando, por exemplo os pinos de saída alimentando alguns sensores, com isso a variação ficará superior a 197mA. No datasheet do fabricante a corrente máxima do módulo é de 220mA.
  • Já a potência em +17dBm, com transmissão padrão 802.11b, a corrente fica em torno de 170mA, utilizando o mesmo tipo de modulação CCK alcançamos velocidades de 11Mbps.
  • Já com transmissão Padrão 802.11g, a potência de saída em +15dBm a corrente típica é 140mA, e o tipo de Modulação é o OFDM com velocidade de transmissão à 54Mbps.

  • Para potência de +13dBm, utilizando o Padrão 802.11n, a corrente de consumo é aproximadamente 120mA, e a modulação utilizada é a MCS7.
  • Logo após temos a potência de saída a -80dBm, a corrente fica tipicamente em 50mA utilizando-se o Padrão 802.11b.
  • O próximo a -70dBm, com padrão 802.11g, a corrente tipica é de 56mA. E no padrão 802.11n a -80dBm, a corrente continua a mesma 56mA.

A partir de agora já entramos em formas especiais do ESP, que são:

  • Moden-Sleep que utiliza 15mA.
  • Light-sleep, que utiliza incríveis 0,5mA
  • Power Save Mode DTIM1 que utiliza 1.2mA e o Power Save Mode DTIM3 que utiliza 0,9mA
  • Deep-Sleep que utiliza 10 Micro Amperes
  • Power Off que utiliza 0,5Micro Amperes.

Comparações entre ESP8266 e Arduino UNO

Nesta tabela fizemos comparações entre o ESP8266 o ESP32 e o Arduino UNO R3 para visualizarmos as diferenças mais detalhadas entre eles.

TAB. 3 - Conhecendo ESP8266 - Comparação entre ESP8266 - ESP32 e Arduíno UNO 3

Destacamos alguns pontos importantes para melhor entedermos e podermos aplicarmos em nosso projetos de forma mais efetiva.

  • Primeiro ponto - Corrente de consumo: vemos aqui uma das únicas vantagens do Arduino sobre os ESPs, que é a corrente, isso eu falo entre aspas, pois dependendo do modo que utilizamos o ESP ele pode suprir essa demanda de corrente, e sem contar que se nós quisermos ligar um Arduíno UNO em rede para comunicação com a internet teria-mos que utilizar o Módulo Shield de rede Wireless que consumiria bastante energia e quando fizermos o somatório das correntes, certamente se aproximaria do ESP.
  • Segundo ponto – Núcleo de Processamento: O ESP8266 tem 1 o Arduino também, só o ESP32 que tem 2 núcleos de Processamento.
  • Terceiro Ponto – Arquitetura: Os ESPs trabalho com arquitetura de 32bits enquanto que o Arduino trabalha com 8bits, que uma grande diferença para um embarcado.
  • Quarto Ponto – Clock de processamento: O ESP8266 trabalha com 80Mhz ou 160Mhz você pode escolher qual velocidade de clock você quer que seu Módulo trabalhe, O ESP32 também trabalha com duas escolha, porém é de 160Mhz ou 240Mhz, que é bastante rápido para um microcontrolador, já o Arduino trabalha em 16Mhz, que é bastante inferior aos ESPs.
  • Quinto pontoWiFi: Que os ESPs já vem embarcado neles o sistema Wireless sem fio, e o Arduíno não tem.
  • Sexto PontoComunicação Bluetooth: Só o ESP32 que já vem com o Bluetooth embarcado.

  • Sétimo PontoMemória RAM: O ESP8266 tem 160KB, o ESP32 tem 520KB e o Arduino tem 2KB, realmente é gritante a diferença de memoria RAM entre os ESPs e o Arduino.

  • Oitavo PontoMemoria Flash: O ESPs tem 4MB e o Arduino tem 32KB, novamente passa longe a diferença entre eles.

  • Nono PontoGPIOs: No ESP8266 são 11 GPIO, no ESP32 são 22GPIO e o Arduino são 12GPIO.

  • Décimo PontoDAC: O único que tem o conversor Digital Analogico é o ESP32 que tem 2 GPIO com conversor Digital Analógico.

  • Décimo Primeiro PontoADC: O ESP8266 só tem um conversor analógico digital, que é uma pena, pois perde feio para o Arduino UNO que tem 6 GPIO e muito mais para o ESP32 que tem 18 GPIO.

  • Décimo Segundo Ponto Interfaces: O ESP8266 suporta SPI - I2C – UART – I2S; Já O ESP32 Suporta SPI – I2C – UART – I2S – CAN; O Arduino como a maioria já conhece, suporta: SPI – I2C e UART.

Vantagens do ESP8266 Sobre os Arduino

Fig. 20 - Conhecendo ESP8266 - Vantagens do ESP8266 sobre Arduíno

Obviamente as vantagens e desvantagens dependem muito de cada usuário, pois nem todos tem as mesmas necessidades ou gostos.

Então é válido lembrar que as opiniões podem divergir um pouco das suas caro leitor, mais não que dizer que seja a ultima verdade dita, é somente uma opinião baseado em nossos conhecimentos e usabilidades com os mesmos.

A primeira Vantagem: Em nossa opinião a primeira vantagem do ESP sobre o Arduino é a tecnologia de transmissão sem fio “WIRELESS” embarcada no ESP, Pois isso facilita em muito a conexão com WEB, sem uso de SHILDs, ou periféricos, como é necessário em um Arduíno. 

A segunda Vantagem: Velocidade, pode de processamento, é sem dúvida uma discrepância muito grande quando se fala de poder de Hardware entre os ESPs e o Arduíno

Terceira Vantagem: Tamanho, com a tecnologia se avançando, é de suma importância que cada vez mais as plaquinhas tenham os seus tamanhos bem reduzidos, que é o caso do ESP, bem menor em comparação com o Arduino

Quarta Vantagem: Preço, o valor de compra de um Arduino com um SHIELD Wireless chega a ser absurdo, ultimo levantamento que fiz, foi de Aproximadamente R$249,00, em comparação com o ESP que já vem com o Wireless embarcado, seu custo foi de R$21,00.  

Isso em uma conta rápida é aproximadamente 12 vezes mais caro, e sem contar com o tamanho que é bem maior que o ESP

Quinta Vantagem: Pode não ser tão significante, porém quando estamos em lugares distantes que não dotamos do cabo de comunicação USB que no Arduíno é o padrão AB, aqueles que se usa em impressoras, nem sempre temos um deles por perto. 

Então para mim, temos mais uma vantagem do cabo utilizado para comunicação com o NODE MCU ESP que é o MINI USB, que usamos para carregar nosso celular, que é bem fácil encontrarmos em qualquer lugar em que nós estivermos.

QUAL MÓDULO DEVO ESCOLHER

Eu acredito que agora está mais fácil para você que leu todo o nosso post se decidir. Baseado no contexto aqui abordado, vamos resumi. 

Separei os 4 mais popular, e por ser popular é porque tem algo diferenciados neles que os tornam mais popular 

1° O Node MCU – Esse módulo é para quem está desenvolvendo projetos, e precisa da disponibilidade de todos os pinos, trabalhar em uma Protoboard, “Mesmo sabendo que temos que ter ao menos duas Protoboard juntas para suporta-lo, pois com uma Protoboard os pinos não ficam completamente acessíveis”, Então se você precisa manipular as GPIOs fazendo testes incessantes, eu lhe recomendo uma placa completa para esses fins. 

O WEMOS – Esse Módulo, é totalmente semelhante ao NODE MCU, pois tem praticamente as mesmas GPIOs, só que em uma estrutura de um Arduino, então você pode optá-lo por ela, se você é acostumado com o Arduino e quer manter esse mesmo design, ambos fazem os mesmos trabalho, neste caso é só questão de gosto, ou de preço. 

3° ESP 01 – Esse módulo é um módulo prático para projetos pequenos, pois só disponibiliza 2 GPIOs, e com isso limita o número de portas para receber ou dar informações, muito usado em projetos que não precisam de muitas saídas, exemplo: 

Você faz uma casa automatizada, então para cada interruptor de cada cômodo de sua residência, você precisa de um destes, então você não vai colocar um Node MCU com 11 GPIOs, ou da mesma forma um WEMOS ou um ESP 12, pois só precisa de 1 ou no máximo 2 GPIOs. Então esse é o modulo ideal. 

4° ESP 12 – Esse módulo tem as mesmas disponibilidades de pinos dos demais, porém, ele é mais para que já terminou o projeto e só vai reproduzir os circuitos. 

Pois por ele ser um módulo sem porta USB, para gravá-lo, é necessário você ter um Adaptador FTDI, que faz a comunicação serial para USB, e ainda, fazer alguns Jumpers para indicar para o módulo que ele estará em modo de gravação ou de leitura. 

E para isso é necessário você soldar, porque não há disponibilidade de pinos, então para projetar e ficar fazendo testes com um modulo desse, não é muito prático.

Plataformas do Ambiente de Programação

As plataformas mais populares e conhecidas hoje, são duas: 

A primeira: Arduino IDE (Integrated Development Environment)

Essa plataforma dispensa comentários, pois é bem conhecido de todos nós fazedores. É uma IDE de programação open-source que utiliza a linguagem CC++, com algumas pequenas acentuações voltadas para embarcados. 

É também multiplataforma, funciona no Windows, no Linux, no MAC OS e também no Solaris.

Fig. 21 - Conhecendo ESP8266 - IDE de Programação Arduíno

O segundo é:  ESPlore

Ela é também uma IDE multiplataforma, ou seja, funciona no Windows, no Linux no MAC OS e também no Solaris sem problema algum. 

É uma plataforma desenvolvida aqui no Brasil, então, ponto para nós Brasileiros. É semelhante a IDE Arduíno, com algumas diferenças, mas com o mesmo propósito.

Fig. 22 - Conhecendo ESP8266 - IDE de Programação ESPlore

Temos um Vídeo Especial que fizemos que apresenta de forma sucinta todas as especificações, comparações do ESP8266 e Arduíno. Se você quiser assistir ao vídeo falado, clica no vídeo abaixo do nosso canal do YouTube e veja todos os detalhes.

E por hoje é só, espero que tenham gostado!

Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados. 


Se inscreva no nosso BlogClique Aqui — FVM Learning!

Nos ajude a divulgar nosso trabalho, compartilha nas redes sociais, Facebook, Instagram, nos grupos de WhatsAppuma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!

Forte abraço.
Deus vos Abençoe!
Shalom!

2 comentários:

  1. Perfeito, tudo que eu precisava saber, estava cheia de dúvidas, agora está tudo esclarecido.
    Valeu.

    ResponderExcluir
  2. Olá Celiminha Laiz
    Muito obrigado.
    Que ótimo que lhe ajudo, ficamos muito feliz.
    Forte abraço.

    ResponderExcluir