
Sobre o que é este artigo
Continuamos a série de artigos sobre
ShIoTiny - um controlador visualmente programável baseado no chip
ESP8266 .
Este artigo
fala sobre o que mudou desde o firmware
ShIoTiny anterior: como a interface do usuário mudou; como reatribuir "pernas" e outras coisas menos importantes, mas não menos esperadas.
O artigo apresenta algo como uma "
ficha técnica " sobre o estado das coisas no campo do
desenvolvimento de firmware
ShIoTiny . Aqueles que não estão interessados no meu desenvolvimento deste artigo podem pular este artigo com a consciência limpa.
Quem não sabe do que está falando, mas quer descobrir, pode ler meus artigos anteriores sobre o firmware
ShIoTiny ou consultar a
documentação .
Site do Projeto ShIoTinyA versão online do editor ElDraw é exatamente a mesma que no firmware, para referência.
Links para esquemas, firmware e muito mais - no site do
ShIoTiny na seção de documentação.
Artigos ShIoTiny anteriores e Meus outros artigosIntrodução para tranquilizar o público venerável
Aconteceu que o quarto trimestre é uma corrida permanente. Portanto, alguns camaradas já começaram a enterrar o projeto
ShIoTiny e me escreveram pelo correio, eles dizem: “ei, autor, onde está você ?! por que você não escreve ?! estamos usando seu firmware aqui! e você não é um único artigo novo! "
Obviamente, isso foi educado, mas em termos de significado. Alguns, pelo contrário, escreveram sugestões e comentários, o que ajudou muito na captura de pulgas de software. Obrigado pessoal. É sempre bom que você não cozinhe em seu próprio suco, mas tenha pessoas com a mesma opinião.
Amigos! Lembro que meu projeto é um hobby e, além disso, tenho um emprego, uma esposa e filhos. Então eu imploro: seja branda! O autor escreve como ele pode e pode :)
Corro para tranquilizar a todos: o
projeto não está morto ! Captei várias pulgas do código e, além disso, refiz o site do projeto (embora ainda não o tenha terminado - preencho o site com conteúdo).
Do ponto de vista da maioria dos ensinamentos filosóficos do mundo, não há nada permanente. Até o nosso universo está evoluindo. O que podemos dizer sobre o firmware do microcontrolador ou o site do projeto?
As principais alterações no firmware
ShIoTiny afetaram principalmente duas coisas: a possibilidade de redefinir as pernas e a página de status do controlador. Nós falaremos sobre eles. Quanto ao novo design do site do projeto, não o tocarei aqui: quem estiver curioso vai aparecer, olhar e criticar.
Redefinindo as pernas do ESP8266
Então, as pernas ou elas são -
GPIO . Inicialmente, as pernas do microcontrolador
ESP866 não
foram redefinidas. Eles foram rigidamente pregados nas entradas e saídas da placa do
ESP-07 (qualquer pessoa interessada - tudo está no site do projeto).
Mas, de repente, verificou-se que meu firmware, sem nenhuma alteração, vai não apenas no módulo
ESP-07 com 1MB FLASH, mas também no
ESP-01 ,
ESP-12 e até no
ESP-8285 !
Surgiu a questão de que um precisa de 5 entradas e uma saída, as outras 6 saídas e nenhuma entrada e os terceiros três termômetros ao mesmo tempo.
Uma onda de cartas do público indignado quase escureceu os restos da minha mente! Minha esposa já estava se preparando para me chamar de auxiliar de enfermagem com uma camisa da morte ... Mas eu me tornei um maluco!
Cerrando os dentes e bebendo três litros de café, coletei os restos do cérebro, que por acaso não estavam bêbados no corpo discente, e descobri como implementar o truque redefinindo as pernas para que todos se sentissem bem.
Não vou aborrecer o leitor com a cozinha interna do programa. Do ponto de vista do usuário, tudo parece extremamente simples: ele coloca o mouse em um nó conectado a qualquer parte do módulo
GPIO e seleciona uma perna da lista de possíveis. Aproximadamente conforme mostrado na figura abaixo.
N / A - significa que o pé não está selecionado.
Se houver um nó no circuito com uma perna
N / A não selecionada, esse circuito não poderá ser carregado no dispositivo - o editor
ElDraw não permitirá. Mas esse esquema pode ser baixado em disco para continuar editando "algum tempo depois".
Tudo é muito simples, mas há nuances.
Em primeiro lugar , o que é muito conveniente na minha opinião, apenas as pernas não utilizadas são exibidas na lista. Ou seja, escolher uma perna duas vezes é impossível.
Em segundo lugar , a perna
GPIO15 é reservada para o botão AP e não pode ser usada para outros fins. Desculpe, mas por outro lado, de jeito nenhum ...
Em terceiro lugar , a perna
GPIO16 não pode ser usada como uma entrada binária regular (nó de
entrada ).
Quarto , as
pernas GPIO9 e
GPIO10 podem ser usadas apenas no módulo
ESP-8285 . Em outros módulos, o resultado será desastroso - dependência total e reinicialização sem fim!
O último ponto - o travar de alguns módulos ao escolher as
pernas GPIO9 e
GPIO10 me fez pensar muito. Afinal, não quero alterar o controlador toda vez que as pernas forem selecionadas incorretamente! E eu vim com uma nova maneira modificada de entrar no modo de configuração.
Nova maneira de entrar no modo de configuração
Se alguém leu meus artigos anteriores, ele lembra que o modo de configuração do firmware
ShIoTiny é o modo em que o chip ESP8266 se torna um ponto de acesso aberto e o circuito do programa não inicia automaticamente após a reinicialização. E se ele não iniciar, ele não travará ao escolher as pernas do
GPIO .
Ou seja, no modo de configuração, você pode alterar as
partes problemáticas do
GPIO9 e
GPIO10 para outras. Mas o problema é que você pode entrar no modo de configuração apenas pressionando o botão
AP por cerca de 4 segundos! E durante esse período, o controlador terá tempo para começar a executar o programa de circuitos "curvas" e congelar!
Para resolver esse problema, criei um intervalo de guarda de meio segundo após reiniciar o controlador. Se o botão
AP for pressionado dentro de 0,5 segundos após a reinicialização do controlador, o controlador será reiniciado imediatamente no modo de configuração. Ao mesmo tempo, durante o intervalo de guarda de meio segundo, o esquema do programa não inicia. E isso significa que não pode travar.
Os contras são óbvios - o programa não inicia imediatamente, mas meio segundo depois. As vantagens são muito mais substanciais - se você selecionar as “pernas erradas” ou o programa do circuito congelar por algum outro motivo, sempre poderá entrar no modo de configuração e corrigir a situação sem piscar o controlador.
Na prática, tudo parece mais simples do que um nabo cozido no vapor: pressionamos o botão
Redefinir e, liberando o botão
Redefinir ali, sem demora, pressionamos o botão
AP . Imediatamente por cerca de meio segundo, o LED azul
STATUS acende (se você, é claro, o soldou ao
GPIO0 ) e o controlador será reiniciado no modo de configuração.
Se o circuito do programa funcionar normalmente, você sempre poderá alternar para o modo de configuração da maneira “antiga” - pressionando e segurando o botão
AP por cerca de 4 segundos (até o LED azul
STATUS acender).
Página de status ShIoTiny
A capacidade de conectar as pernas pela vontade do usuário levou a uma revisão da página principal de informações do firmware
ShIoTiny .
Após muita deliberação, cheguei à conclusão de que a página deveria ser a) informativa eb) não conter muito.
O que recebi é mostrado na figura abaixo.

Há duas seções na página principal de informações:
Informações - informações gerais e
GPIOs usados - informações sobre o uso das pernas de E / S. Vamos considerá-los com mais detalhes.
Seção Informações
Nome: esp_8266_155da4 - um nome exclusivo para o dispositivo. É gerado automaticamente e não pode ser alterado.
Ver: 2019-10-22 22:54:51 +0700 6b5ee82 clean - versão do firmware (data de compilação e identificador de confirmação).
MQTT: Conectado a: 192.168.1.2:21064, SSL - conexão ao servidor MQTT. Mostra o endereço IP ou URL do servidor, porta do servidor e modo SSL se uma conexão segura estiver sendo usada. Lembre-se de que, se o programa de circuito não contiver nós para trabalhar com o MQTT, a conexão nunca será estabelecida!
WiFi: STA ip: 192.168.1.134. - Modo de operação
WiFi ESP8266 : estação
STA , ponto de acesso
AP . Ambos os modos com endereços IP diferentes podem ser selecionados ao mesmo tempo.
Agora: qua 30 de outubro de 2019 21:49:28 GMT + 0700 - hora atual. É mostrado que há apenas o tempo definido pelo nó
Set Time ! Caso contrário, será indicado que a hora não está sincronizada e não está definida.
Seção GPIOs usados
Esta seção mostra todas as pernas do módulo usadas no diagrama do programa e seu status atual.
O formato de saída é óbvio:
GPIO <número da perna> (função): statusO número da perna é o número ou, para o
ADC , em vez do número será a inscrição
adc .
Função:
Entrada - entrada binária;
Relé - saída binária;
ADC - ADC ou tipo de sensor:
DS182x ou
DHTxx .
Campo "estado" - depende do objetivo da perna.
Para entradas e saídas binárias - 0 ou 1.
Para sensores - temperatura, umidade.
Para o ADC - suas leituras são recalculadas de acordo com a fórmula especificada (consulte a descrição do trabalho com o ADC nas instruções).
Na minha opinião, a página principal contém todas as informações necessárias sobre a operação do controlador.
Conclusão
Aqui, de fato, estão todas as principais mudanças no firmware hoje. Além dessas inovações, dezenas de cinco erros menores foram corrigidos.
Como sempre - instruções detalhadas no site do
ShIoTiny na seção de documentação ou
aqui .
Sugestões, desejos, críticas,
dinheiro, presentes e assim por diante - envie-me um comentário ou e-mail:
shiotiny@yandex.ru .
À espera de feedback e sugestões.