Ir ao conteúdo
  • Cadastre-se

ESP8266 - A Pequena Maravilha para Comunicação WIFI


aphawk

Posts recomendados

@ViniciusKruz ,

 

Experimente formatar a memória Flash antes de atualizar.

 

Eu demorei quase 1 hora para conseguir atualizar o meu com sucesso.... tentei tanta coisa também , inclusive formatei tudo antes de fazer a ultima tentativa... talvez tenha sido isso que fêz funcionar ....

 

Cuidado com o tamanho do arquivo .bin , tem de ser igual à sua memória Flash ! Pelo que eu li agora, o tamanho certo é de 1M para o ESP07 !!!!! Tem de ir ao subdiretório 1M para achar o arquivo .bin correto !

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, aphawk disse:

Cuidado com o tamanho do arquivo .bin , tem de ser igual à sua memória Flash ! Pelo que eu li agora, o tamanho certo é de 1M para o ESP07 !!!!! Tem de ir ao subdiretório 1M para achar o arquivo .bin correto !

 

Exatamente isso!! agora deu tudo certo. Obrigado Paulo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

18 horas atrás, aphawk disse:

Olha, mais fácil do que isso, impossível !!!! Aparecem até os botões com os nomes kkkkk !

 

Como é que tem gente que não gosta do Basic ?????????

 

Paulo, estou estudando a Language reference desta linguagem e percebi que o Basic usado nesse sistema é o Basic inicial mesmo, o Basic original do DOS, eu até havia dito que comecei a programar em Basic, mas era um Basic já estruturado em funções, esse aí me parece ser ainda top douwn? (não se separam as rotinas, usa-se os GOTOs para pular de uma lugar para outro), seria isto mesmo? O Basic que conheci era o do compilador Pic Basic Pro(Fantástico diga-se de passagem), e ele já é todo estruturado em funções separadas, uma chamando a outra...(não me lembro o termo para isto). 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ViniciusKruz ,

 

Repare que existe a estrutura Do... Loop, mas nada proíbe você usar as velhas estruturas GoTo, Gosub, etc. E também não usa mais numero de linha kkkkk !

 

E como eu disse acima, ele é baseado em vários eventos, cujos sub-programas são executados conforme o evento é ativado. São estruturas que ajudam muito a escrever o programa.

 

É um Basic bem simples. E para mim essa é a grande vantagem dele !

 

Quem tem de fazer o Estruturamento do programa é o programador. Alguns são muito bons em fazer isso, outros, como eu, preferem fazer o famoso código Spaguetti , que começa em um lugar, joga para outro, devolve para outro, e assim vai, que é um crime quando se faz um projeto que tem de ser documentado para que outros possam mexer depois.

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ViniciusKruz ,

 

Estou vendo se consigo fazer o Reboot automático do modem na Net...., a cada 1 minuto tento comunicar com um site externo, tipo UOL, e em caso de não conseguir me comunicar com um site externo por mais de 3 minutos, o programa desliga o modem por 5 segundos, e religa , espera 3 minutos para testar novamente para ver se a Internet voltou.

 

Tem muitas possibilidades interessantes esse negócinho....

 

Paulo

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@aphawk

Vocês estão me deixando curioso com este Basic, pois algo que deve dar trabalho de fazer é a interface para o Browser usando as outras linguagens (isto inclui o LUA e o C) e com este Basic talvez seja bem mais fácil. Mas mesmo assim eu quero continuar a me desenvolver em C (por enquanto na IDE Arduino, que é mais fácil para mim), agora que comecei peguei o vírus e não quero parar mais. Será que dá para combinar o Basic (interpretado) com o C (para desenvolver funções e suportar componentes não disponíveis em Basic) ?

 

Me digam uma coisa, será que dá para colocar este Basic, sem capar muito a linguagem, num ESP-01 de 500kBytes total de flash? Qual será o maior tamanho de arquivo .bin que dá para instalar nele ? Tenho de 4Mbytes também, mas o ESP-01 é bem menor e se funcionar começa a ficar interessante.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

Finalmente o Fórum normalizou....

 

Não dá para misturar, vais ter de escolher um deles....

 

No Esp-01, com 512k, dá para colocar a versão 2.0 Branch, que é a versão antiga, mas faz quase tudo que a 3.0 . Tem uma diferença na sintaxe de vários comandos, tipo uma vírgula foi acrescentada, essas coisas.

 

Por enquanto, a versão 3.0 precisa no mínimo de 1Mb.

 

Mas confesso que este negócio está me surpreendendo.... Olha um treçho de programa que acessa um site do governo americano que fornece tempo em real-time, captura todos os dados da resposta do site, pesquisa por uma string, e a partir da posição dela, captura a data e hora informada, e imprime na tela .....  apenas 4 comandos !!!!

 

Estou usando isso para determinar se no momento existe conexão internet.... logo vou publicar o projetinho completo aqui :

 

' Get ASCII time string and put in variable Traw
Traw = wget("tycho.usno.navy.mil/timer.html")

' Search for marker so we know where to trim
P = instr(Traw,"Universal Time")

' P now have the position of the string above.
' If is zero, the command has failed
' or have no response, the the wget() buffer was empty.
' Now get formatted string for "Eastern Time" 
' formatted properly
Time = mid(Traw,P + 19,24)
Print "Time: " & Time

Acesse esse site com seu navegador , e veja a resposta no modo SOURCE, para entender o programinha....

 

Mais uma vez, olha aí o velho Basic matando !!   :atirador:

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Ontem fiz centenas de testes tanto com a versão 2 quanto a 3 do ESP8266Basic, e realmente é uma ferramenta muito interessante. Agora quero fazer testes também com a linguagem Lua, ao final, quero tirar minhas conclusões sobre qual vou seguir. De imediato já descobri que uma coisa não dá pra continuar com a versão AT original que vem com o módulo ESP8266. 

 

Estou tendo problemas para testar a ling. Lua, meu ESP8266 é o 07 e não estou conseguindo uma versão do binário do NodeMcu que rode, acho que vou ter que comprar um 12E pra ser compatível com esta versão.

 

Uma coisa que me chateia é como fizeram um módulo (07) com saída para antena externa (entende-se profissional) mas com recursos tão limitados de Hardware e ao mesmo tempo outro módulo sem saída de antena externa(12E) e com recursos extremos, não dá pra entender. Se eu comprar um 12E, provavelmente vou precisar colocar uma antena externa, logo, já começo com gambiarra, cortando a antena da placa e soldando o conector externo.

 

Ps: Se alguém tiver o BIN que roda no 07(original AT), quebra o galho aí e me manda, porque não estou conseguindo voltar ele para o original, caso precise. Obrigado.

 

Abraço.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ViniciusKruz ,

 

Eu comecei usando o Lua, mas depois de algumas coisas que não davam certo e o meu Nodemcu deu uns resets, eu pesquisei e ví no fórum que tava tendo muito problema mesmo. Mas isso faz mais de 6 meses ....

 

Realmente, usar AT's é uma perda gigantesca de tempo, quando existem outras linguagens com tanto poder.

 

Paulo

 

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

11 horas atrás, aphawk disse:

@Intrudera6 ,

 

Não dá para misturar, vais ter de escolher um deles....

 

Acho que é até possível combinar, mas isto terá que ser feito no fonte do Basic, o que deve dar um trabalho danado, mas parece ser possível incorporando uma nova biblioteca (criada por mim em C).

 

 

11 horas atrás, aphawk disse:

@Intrudera6 ,

 

Mas confesso que este negócio está me surpreendendo.... Olha um treçho de programa que acessa um site do governo americano que fornece tempo em real-time, captura todos os dados da resposta do site, pesquisa por uma string, e a partir da posição dela, captura a data e hora informada, e imprime na tela .....  apenas 4 comandos !!!!

 

 

No meu aprendizado de C eu acabei fazendo um RTC (sem um RTC real) que pega a hora da internet num servidor NTP qualquer (neste caso foi o ntp.puc-rio.br) com resolução de 32 bits na casa decimal, o que eu resumi a resolução de 1 microssegundo (para ficar igual ao timer interno do ESP8266), e uma vez feito isto ele funciona como um relógio calendário com resolução de 1 microssegundo, sem mais precisar da Internet, a não ser para corrigir o erro do cristal do ESP8266 (no meu caso encontrei um erro de -8 segundos por dia). A precisão ficou muito boa, pois o erro do NTP com o timer interno foi ao redor de 1 centésimo de segundo, que com uma Internet melhor e uma rotina mais enxuta deve ser possível melhorar.

 

Deu um pouco mais de trabalho e não foram só 4 linhas de código (muitas vezes mais que isso), mas funcionou, acho que vou transformar isto numa biblioteca (quando aprender como fazer isso), ainda estou testando o código, quando ficar satisfeito totalmente posto aqui o fonte em C (vai ficar uma postagem enorme). Seria muito mais fácil com um DS3231, (e muito mais preciso), mas eu tinha isto como um primeiro desafio.

 

 

Não vejo a hora de testar o Basic num ESP-01 versão de 1MByte (vou testar com a versão com mais recursos).  Mas ainda preciso montar a gambiarra para poder transferir o arquivo .bin para ele. Pelo que eu entendi uma vez instalado dá para programar ele conectando pelo WIFI (sem cabo) ?

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
23 horas atrás, Intrudera6 disse:

Me digam uma coisa, será que dá para colocar este Basic, sem capar muito a linguagem, num ESP-01 de 500kBytes total de flash? Qual será o maior tamanho de arquivo .bin que dá para instalar nele ? Tenho de 4Mbytes também, mas o ESP-01 é bem menor e se funcionar começa a ficar interessante.

 

10 horas atrás, aphawk disse:

Mas confesso que este negócio está me surpreendendo.... Olha um treçho de programa que acessa um site do governo americano que fornece tempo em real-time, captura todos os dados da resposta do site, pesquisa por uma string, e a partir da posição dela, captura a data e hora informada, e imprime na tela .....  apenas 4 comandos !!!!

 

24 minutos atrás, Intrudera6 disse:

Não vejo a hora de testar o Basic num ESP-01 versão de 1MByte (vou testar com a versão com mais recursos).  Mas ainda preciso montar a gambiarra para poder transferir o arquivo .bin para ele. Pelo que eu entendi uma vez instalado dá para programar ele conectando pelo WIFI (sem cabo) ?

 

Não estou bem lembrado de como é a arquitetura do hardware, mas quando a pessoa troca o firmware por um maior, fica com menos espaços para os próprios programas, não é?

 

17 minutos atrás, Intrudera6 disse:

No meu aprendizado de C eu acabei fazendo um RTC (sem um RTC real) que pega a hora da internet num servidor NTP qualquer com resolução de 32 bits na casa decimal, o que eu resumi a resolução de 1 microssegundo (para ficar igual ao timer interno do ESP8266), e uma vez feito isto ele funciona como um relógio calendário com resolução de 1 microssegundo, sem mais precisar da Internet, a não ser para corrigir o erro do cristal do ESP8266 (no meu caso encontrei um erro de -8 segundos por dia). A precisão ficou muito boa, pois o erro do NTP com o timer interno foi ao redor de 1 centésimo de segundo, que com uma Internet melhor e uma rotina mais enxuta deve ser possível melhorar.

 

Deu um pouco mais de trabalho e não foram só 4 linhas de código (muitas vezes mais que isso), mas funcionou, acho que vou transformar isto numa biblioteca (quando aprender como fazer isso), ainda estou testando o código, quando ficar satisfeito totalmente posto aqui o fonte em C (vai ficar uma postagem enorme). Seria muito mais fácil com um DS3231, (e muito mais preciso), mas eu tinha isto como um primeiro desafio.

 

Talvez eu precise disso em breve...

 

Pessoal, que tal começarmos a usar GitHub ou outro serviço de hospedagem de código? Posso dar um suporte, inclusive customizado, por Teamviewer.

 

Um código colocado em post de fórum é esquecido e perdido muito facilmente. Versionar usando Git, e gerenciar as issues com um tracker, já resolve muita coisa no processo comunitário. GitHub, BitBucket ou GitLab, e outras ferramentas associadas, proporcionam um ambiente de colaboração organizado, notório e eficiente.

 

Entre os três supracitados, gosto mais do GitHub.

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, alexandre.mbm disse:

Pessoal, que tal começarmos a usar GitHub ou outro serviço de hospedagem de código? Posso dar um suporte, inclusive customizado, por Teamviewer.

 

Falando no Git.. Estou tentando baixar o bin do nodemcu mas só vem os fontes, daí eu tentei instalar o Docker pra gerar o bin a partir dos fontes, mas o Docker não roda em Windows 32 bits. Estou meio de pé e mão quebrada no Git rsrsrs

Link para o comentário
Compartilhar em outros sites

No arquivo : 2C-ESP8266-SDK__API Guide__EN_V1.5.3.pdf (em anexo)

 

O reset é: system_restart(); (pág 20)

whatchdog: system_soft_wdt_stop(); ou system_soft_wdt_restart(); (pág 36).

 

Mas se você quiser evitar o reset pelo whatdog é só num grande loop colocar um pequeno delay de 1 milessegundo: delay(1); ou menor: delayMicroseconds(100); fazendo isso a cada pelo menos 15 milessegundos.

 

Eu tenho um programa exemplo que eu compilei em que eu testei a função de reset por software e preservado as memoria RTC, mas estou no trabalho e só em casa para ver mais detalhes.

 

 

2C-ESP8266-SDK__API Guide__EN_V1.5.3.pdf

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

11 minutos atrás, Intrudera6 disse:

No arquivo : 2C-ESP8266-SDK__API Guide__EN_V1.5.3.pdf (em anexo)

 

O reset é: system_restart(); (pág 20)

whatchdog: system_soft_wdt_stop(); ou system_soft_wdt_restart(); (pág 36).

 

Mas se você quiser evitar o reset pelo whatdog é só num grande loop colocar um pequeno delay de 1 milessegundo: delay(1); ou menor: delayMicroseconds(100); fazendo isso a cada pelo menos 15 milessegundos.

 

Eu tenho um programa exemplo que eu compilei em que eu testei a função de reset por software e preservado as memoria RTC, mas estou no trabalho e só em casa para ver mais detalhes.

 

 

2C-ESP8266-SDK__API Guide__EN_V1.5.3.pdf

 

Obrigado pela resposta, quando puder enviar quero esse exemplo sim, mande por favor!!

Vou olhar esse anexo.


Grato!

Link para o comentário
Compartilhar em outros sites

Bom, depois de muito testar, instalar, desinstalar e instalar novamente, cheguei a uma conclusão de qual caminho vou seguir... Lembrando que acabei de conhecer este mundo do ESP8266 de perto, logo, como dizem, "a primeira impressão é a que fica", pois bem vamos lá:

 

ESP8266 Basic

Prós:

>>Instalei por sorte na primeira vez a versão 3(mais completa). De imediato já consegui me conectar a ele e alterar as configurações de rede, tudo de modo bem fácil e intuitivo.

>>baixei alguns exemplos e testei, dentre eles, o que me chamou mais a atenção foi o MSG URL ADVANCED.

Com esta ferramenta é possível, através do Wget, acessar e controlar o ESP8266 enviando mensagens de texto e o ESP8266 responde com outra mensagem. Esta opção achei fantástica, pensem nas possibilidades, dá pra controlar tudo sem nem abrir sequer uma página na web. Qualquer programa Desktop pode enviar o comando e ainda obter resposta se executou ou não.

 

Contras:

>>não sei se foi por inexperiência minha, mas não dá pra ter acesso aos códigos da página web que ele gera, a gente apenas insere os valores e ele gera a página web tudo por conta dele, por um lado isto é bom pela facilidade, mas na minha opinião, deixa a desejar porque se eu quiser customizar a página não vai ter jeito.

 

NodeMcu com a linguagem Lua

Prós:

>>Instalei o .bin (de início pensei que não rodasse no 07, mas depois consegui), e sem conhecimento nenhum da linguagem Lua já consegui de imediato habilitar o web server e controlar uns IOs de ESP8266 utilizando um vasto conteúdo encontrado por toda parte. O que achei mais interessante é que tenho acesso ao layout da página porém sem ter que ir a um nível muito baixo como aconteceu com os comandos AT. A IDE ESPlorer é bem fácil de lidar e bem intuitiva. 

 

Contras:

>>Há quem fale em instabilidade e bugs. Ainda não encontrei.

 

Bom, é isto, testem, tirem suas próprias conclusões, embora eu tenha achado os dois sistemas fantásticos, eu vou optar por seguir com o NodeMcu e a linguagem Lua por enquanto, se mais adiante, aparecer um interpretador de C para o ESP8266 eu mudo.

 

Abração!

 

 

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ViniciusKruz ,

 

Vou te dar uma ideia melhor :

 

Esses módulos ESP8266 foram feitos para serem pequenos sistemas de captura de dados e processamento de I/O, e após isso eles enviam para um canal do ThingSpeak, e você pode ter acesso a essas informações no seu próprio browser de seu computador ,e aí sim usando um programa próprio para fazer paginas, você custodia como você quiser.

 

Experimente fazer isso, vai ver que é bem simples criar uma conta sua, e criar quantos canais forem necessários. No caso do ESP8266BASIC ele já tem comandos próprios para enviar E para pegar esses dados, permitindo que vários ESP8266 possam compartilhar informações entre sí e tomarem decisões de acordo. 

 

Por exemplo, posso ter um desses ESP8266 em minha casa em SP e outro na minha casa da praia, cada um usando um canal diferente para enviar as suas informações, como temperatura, nível de água, estado de energia das baterias que pegam carga via painel solar, etc.

 

E posso acompanhar isso tudo em uma única tela em meu computador do escritório, vendo todas as informações ao mesmo tempo, e até posso enviar um comando para qualquer um deles, como por exemplo deixar a luz de dentro acesa .

 

É nesse tipo de coisa que eu estou focando. IoT !!!!    https://thingspeak.com

 

Para fazer isso, o ESP8266BASIC é fantástico. 

 

Paulo

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!