Novos recursos do FLProg - ESP8266 como controlador, não como modem



Fonte

Boa tarde

Não falo sobre o meu projeto FLProg há muito tempo. O último post ainda estava no Geektimes.
É hora de consertar essa bagunça. A partir deste post, inicio uma série de lições sobre o uso dos novos recursos do programa.

Se você não estiver familiarizado com o projeto, poderá ver o histórico no blog .

Agora, o site do programa está testando a versão de pré-lançamento com o número 3.1.4 . A partir da versão 3.1, o programa introduziu o suporte aos controladores ESP8266 como um controlador completo.

Para aqueles que não estão familiarizados com esses controladores, uma pequena descrição
O ESP8266 foi projetado para uso em soquetes inteligentes, redes mesh, câmeras IP, sensores sem fio, eletrônicos vestíveis e assim por diante. Em uma palavra, o ESP8266 nasceu para se tornar o cérebro da próxima “Internet das Coisas”.

Existem duas opções para usar o chip:

1) na forma de uma ponte UART-WIFI, quando o módulo baseado no ESP8266 é conectado a uma solução existente baseada em qualquer outro microcontrolador e é controlado pelos comandos AT, fornecendo à solução uma infraestrutura Wi-Fi;

2) implementação de uma nova solução usando o próprio chip ESP8266 como um microcontrolador de controle.

O primeiro cenário foi implementado no projeto FLProg por um longo tempo. É implementado usando qualquer um dos módulos ESP8266 chineses baratos. Serve para os amantes do arduino e para aqueles que já possuem esquemas prontos e firmware depurado com base em algo que seus amados.

O segundo cenário envolve escrever um firmware individual para controlar o chip "de dentro". (Antes do lançamento do FLProg 3.1, o firmware deve ser gravado para o compilador proprietário. A partir desta versão, agora é possível gravar o firmware nos idiomas FBD e LAD no ambiente FLProg) .

O cenário de usar o chip como um microcontrolador de controle é interessante, pois permite criar dispositivos muito pequenos e muito longos com bateria. Para trabalhar com periféricos a bordo, o ESP8266 possui todos os recursos necessários.

Principais Funcionalidades

O chip ESP8266 é uma das soluções WiFi mais altamente integradas. Dentro do chip, há muito de tudo o que em soluções concorrentes geralmente faz parte da ligação externa:



Como resultado, uma fita de chip típica consiste em apenas alguns elementos. Menos elementos = menor custo dos componentes, menor custo de solda, menor área de colocação, menor custo da placa de circuito impresso. O que é perfeitamente confirmado pelos preços atuais dos módulos baseados no herói da revisão de hoje.

Gerencia todo esse cultivo integrado com uma versão expandida do processador de 32 bits da série L106 Diamond da Tensilica. O que é interessante por dentro?

• Protocolo 802.11 b / g / n
• Wi-Fi Direct (P2P), AP suave
• Pilha de protocolo TCP / IP integrado
• Switch TR integrado, balun, LNA, amplificador de potência e rede correspondente
• PLL, reguladores e unidades de gerenciamento de energia integrados
• Potência de saída de + 20,5dBm no modo 802.11b
• Suporta diversidade de antenas
• Desligue a corrente de fuga de <10uA
• SDIO 2.0, SPI, UART
• STBC, 1x1 MIMO, 2x1 MIMO
• Agregação A-MPDU e A-MSDU e intervalo de guarda de 0,4μs
• Acorde e transmita pacotes em <22ms
• Consumo de energia em espera de <1,0mW (DTIM3)

Tecnologia de Ultra Baixa Potência

O consumo de energia é uma das características mais importantes de uma solução que afirma ser o cérebro de bilhões de dispositivos IoT. Qual o motivo da popularidade do BLE e de várias implementações nativas de interfaces de rádio? Afinal, no final, todos os dispositivos baseados nessas implementações ainda se esforçam para acessar o Wi-Fi comum usando dispositivos de ponte especiais.

O segredo é simples - é difícil criar um dispositivo conectado ao WiFi, tempo suficiente, trabalhando com energia autônoma. Os consumidores não estão prontos para trocar as baterias nos sensores a cada dois a três meses. Portanto, o “acesso à rede” precisava fornecer pontes conectadas à eletricidade constante. O ESP8266 deve resolver esse problema. Agora, o Wi-Fi pode ser usado mesmo em sensores independentes funcionando com baterias pequenas. Através do uso de mecanismos avançados de gerenciamento de energia para a solução.

Se você olhar brevemente para as características do consumo do chip, poderá permanecer no escuro. 215mA no modo de transmissão - nada de especial? Sim, mas vale a pena ler a folha de dados e você começa a entender as perspectivas da solução. O ESP8266 consome cerca de 60uA no modo de suspensão profunda (com um relógio em tempo real) e menos de 1,0mA (DTIM = 3) ou menos de 0,5mA (DTIM = 10) no modo de manutenção

Fonte


O programa suporta a maioria das placas existentes com base no controlador ESP8266.



Quase todos os blocos funcionais e dispositivos periféricos aplicáveis ​​à programação de placas Arduino estão disponíveis para a criação de firmware.


















Além disso, ao escolher um controlador ESP8266, novos blocos específicos aparecem.



Em vista da presença de um controlador WiFi a bordo, a árvore do projeto também muda.
Em primeiro lugar, como em todos os controladores, existem ramificações para controlar a memória EEPROM e anticongelante



A seguir, estão as configurações mais específicas.

Configurando o cliente WiFi e o ponto de acesso (é possível a operação simultânea).



Configurando o modo de atualização sem fio (até agora apenas o Arduino OTA, mas planeja implementar e atualizar através do navegador e baixar automaticamente o firmware do servidor de atualização)



Implementou a capacidade de criar uma interface da web para as configurações do controlador. Você pode criar um número ilimitado de páginas de configurações, com o número necessário de parâmetros. Como parâmetros, são usados ​​os dois parâmetros padrão do sistema do controlador (veja as capturas de tela acima) e qualquer número de parâmetros do usuário usados ​​para a comunicação entre o firmware e a interface de configuração. Para todas as páginas (exceto a principal), bem como parâmetros individuais, você pode definir o acesso apenas a determinados usuários (o número de usuários criados não é limitado).



E, claro, como no Arduino, o suporte aos protocolos de troca Modbus RTU, Modbus TCP e Modbus RTU over TCP é implementado.



O modo de ponte entre o Modbus RTU e o Modbus TCP também é implementado.



Em geral, tentei maximizar as capacidades deste maravilhoso controlador. Algo teve sucesso.

Este post é uma visão geral e, começando na série, e no próximo, consideraremos a criação de uma interface da Web de configurações e a obtenção de tempo dos servidores de horário exato.

O projeto FLProg é um projeto sem fins lucrativos e você pode fazer o download do programa no site do projeto, como se costuma dizer "de graça e sem SMS" . Não há restrições no programa. São fornecidas versões para Windows e OC Linux.

PS

Depois de inúmeras reclamações sobre minha dicção e a forma como o material foi apresentado, abandonei a ideia de gravar aulas de vídeo (os talentos de professor e orador não me foram dados).

Mas um dos usuários do programa veio em meu auxílio.

Quero apresentar a você o canal "Arduino Prom" e o site "Arduino Prom" . Eles são totalmente dedicados ao projeto FLProg, e hoje existem cerca de cem vídeoaulas no programa.

Aqui está o último vídeo, sobre como criar um relógio com sincronização via Internet.

Source: https://habr.com/ru/post/pt421975/


All Articles