Boas pessoal,
Em fim consegui fazer esse negócio funcionar porém não está bom.
Mesmo depois de velho é bom ouvir quem sabe.
Valeu Jeff, por me lembrar como testar as coisas!!!
Como o grande Jack já fazia e com o conselho do Jeff, fui por partes. Reduzi o escopo e cheguei ao cenário de hoje.
Em anexo os 2 arquivos dos meus testes.
Solução simples, apenas para mostrar a leitura de 2 informações do Arduíno na página: A leitura atual e leitura anterior, manipulados por um contador interno no dispositivo.
Estou usando apenas a biblioteca ESP8266WiFI.h, mas vou ver com a ESP8266WebServer e a WiFiManager.
Usei o dispositivo na conexão USB e também na minha rede Wifi, com os mesmos resultados.
Problemas:
O REFRESH, na estrutura do cabeçalho JSON, não funciona. Fico dando F5 e já estou partindo para o uso de sockets.
O refresh só funciona quando se digita o IP do dispositivo no Broweer. Aí sim, é aberta uma página com o texto referente a estrutura do Json, montada na string de mesmo nome no Arduíno.
O CLIENT.FLUSH, NÂO "Espera até que todos os caracteres de saída no buffer tenham sido enviados", conforme o link . Ethernet - Arduino Reference. No caso, se comportou como um comando assíncrono, com as informações na página sendo atualizadas apenas a partir da 3ª iteração do looping.
Usei uma gambiarra no código, para só atualizar a leitura anterior (contadorAnterior no código) quando a string de requisição for alterada.
O CLIENT.STOP, realmente funciona, porém, como o processo do envio das informações não deve ter chegado ao fim, por conta de acreditar no Sr. CLIENT.FLUSH, nada acontece. Por isso o Client.Stop está comentado no código.
Vou experimentar outras bibliotecas e fuçar mais por aqui para ver se melhoro esse negócio.
Abraços a todos e estou aberto a novas sugestões.
PS.:
Na imagem do link abaixo, poderão observar o problema que estou atribuindo ao CLient.Flush. No no caso, só a última ocorrência vai para a página. E se colocar o Client.Stop, nada acontece.
WebServer_ESP8266Wi.ino (3.53 KB)
index.txt (1.74 KB)
