ShIoTiny: Atualizações e notificações



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 ShIoTiny

A 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 artigos

Introduçã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): status
O 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.

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


All Articles