Ir ao conteúdo
  • Cadastre-se

ESP8266 - A Pequena Maravilha para Comunicação WIFI


aphawk

Posts recomendados

1 minuto atrás, aphawk disse:

@rodrigocirilo ,

 

Sim, quando ele não consegue conectar, ele cria de novo a rede ESP XXXX, é só conectar de novo e reconfigurar.

 

Sobre a prog, eu sempre salvo antes de rodar, vai saber kkkkk

 

Paulo

Ok...

 

Cara esse carinha é um pequena maravilha mesmo... ja fiz  2 programinhas, um  de toggle no pino 2 que é o led da própria placa ESP12E e um outro pra acionar e desacionar com 2 botões on e off..

 

Uma duvida, eu estava editando pelo pc.. ai entrei pelo celular e apareceu a tela do programa ( como se estivesse no RUN) mas também apareceu todos os botões de configuração no topo da pagina. Tipo, teria como ao acessar só aparecesse o que realmente é pra rodar (RUN)

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

15 minutos atrás, rodrigocirilo disse:

Ok...

 

Cara esse carinha é um pequena maravilha mesmo... ja fiz  2 programinhas, um  de toggle no pino 2 que é o led da própria placa ESP12E e um outro pra acionar e desacionar com 2 botões on e off..

 

Uma duvida, eu estava editando pelo pc.. ai entrei pelo celular e apareceu a tela do programa ( como se estivesse no RUN) mas também apareceu todos os botões de configuração no topo da pagina. Tipo, teria como ao acessar só aparecesse o que realmente é pra rodar (RUN)

Se alguem conseguir ler sensor analogico da uma luz ahe, to tentando conseguir ler acionando os toggle, no meu caso ou vai um ou vai outro kkkkkkkkkkk

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

29 minutos atrás, rodrigocirilo disse:

Cara esse carinha é um pequena maravilha mesmo... ja fiz  2 programinhas, um  de toggle no pino 2 que é o led da própria placa ESP12E e um outro pra acionar e desacionar com 2 botões on e off..

 

Uma duvida, eu estava editando pelo pc.. ai entrei pelo celular e apareceu a tela do programa ( como se estivesse no RUN) mas também apareceu todos os botões de configuração no topo da pagina. Tipo, teria como ao acessar só aparecesse o que realmente é pra rodar (RUN)

 

Hehehe é bem legal !

 

Na tela de Settings, existe uma opção para não aparecer o menu !

 

E também tem a possibilidade de já ligar rodando o programa DEFAULT.BAS  

 

Mas também tem uma opção de você colocar seu programa fazendo aparecer resultados em várias páginas de Internet.

 

Enfim, tem muita coisa pra você brincar ....

 

Paulo

adicionado 4 minutos depois
18 minutos atrás, lucianolcoa disse:

Se alguem conseguir ler sensor analogico da uma luz ahe, to tentando conseguir ler acionando os toggle, no meu caso ou vai um ou vai outro kkkkkkkkkkk

 

Isso é fácil ... eu acho que você está colocando o gráfico na tela, aí realmente complica fazer os botões na mesma tela, tem de usar HTML e CSS para isso.

 

Paulo

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

23 minutos atrás, aphawk disse:

 

Hehehe é bem legal !

 

Na tela de Settings, existe uma opção para não aparecer o menu !

 

E também tem a possibilidade de já ligar rodando o programa DEFAULT.BAS  

 

Mas também tem uma opção de você colocar seu programa fazendo aparecer resultados em várias páginas de Internet.

 

Enfim, tem muita coisa pra você brincar ....

 

Paulo

adicionado 4 minutos depois

 

Isso é fácil ... eu acho que você está colocando o gráfico na tela, aí realmente complica fazer os botões na mesma tela, tem de usar HTML e CSS para isso.

 

Paulo

Aphawk, fiz um raciocinio só não sei se ta certo, terei de testar em casa após a facul, kkkk

 

Se no começo do programa eu declarar

 

"analogico=io(ai)"

 

e depois dos togle eu colocar um comando

print analogico

wait

 

vai??????? haha nem me importo tanto com os graficos, so queria ler o sensorzim mesmo :(

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

2 horas atrás, rodrigocirilo disse:

kkkkk.. eu aqui acendendo leds e vocês com super-interfaces de controle total kkkkkk

 

kkkkkk  pelo tanto que eu tenho ralado nisso eu tô muito é devagar kkkkk nem aprendi a programar os ESPs e a fila tá grande: ainda falta CSS e Javascript pra fazer umas telinhas bacaninhas e porquê não aventurar pelos joomlas e wordpress da vida... é, sonhar é de graça né! Tô avisando, isso é altamente viciante, caiam fora enquanto há tempo kkkk.

 

Link para o comentário
Compartilhar em outros sites

22 horas atrás, aphawk disse:

@ViniciusKruz

 

Tô tentando postar pelo celular mas tá dando esse erro ai em cima (não era pra citar)

 

Paulo, seria possível eu configurar o ESP na rede, designar um IP e uma.porta para ele, abrir essa porta no roteador e acessar através do IP fixo + porta o esp?(no caso abrir o programa que está rodando nele, interagir?)

 

Vi que posso habilitar para não apareceu o menu no acesso(lá em settings) mas é quando eu quiser fazer um acesso para modificar algo?

 

Ou se salvar o programa com aquele nome .bas e ele já vem rodando no acesso, mas é se eu quiser alterar também? você já testou isso?

 

Ou ehcai que entra o botao exit na aplicação? Para parar de rodar?

 

 

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

2 horas atrás, rodrigocirilo disse:

@ViniciusKruz

 

Tô tentando postar pelo celular mas tá dando esse erro ai em cima (não era pra citar)

 

Paulo, seria possível eu configurar o ESP na rede, designar um IP e uma.porta para ele, abrir essa porta no roteador e acessar através do IP fixo + porta o esp?(no caso abrir o programa que está rodando nele, interagir?)

 

Vi que posso habilitar para não apareceu o menu no acesso(lá em settings) mas é quando eu quiser fazer um acesso para modificar algo?

 

Ou se salvar o programa com aquele nome .bas e ele já vem rodando no acesso, mas é se eu quiser alterar também? você já testou isso?

 

Ou ehcai que entra o botao exit na aplicação? Para parar de rodar?

 

 

 

Sim, voce pode mudar também a porta do ESP8266, assim voce configura o seu roteador para fazer um forward para ela, e pode acessar de fora sem nenhum problema.

 

voce pode acessar qualquer uma das telas, acrescentando o nome da tela após o Ip, é só usar o endereço que aparece no seu navegador.

 

O ideal para evitar erros de stack é que voce sempre crie um botão de Exit, cuja função sempre é zerar o timer e então terminar a execução.

 

Após o seu programa parar de rodar, pode editar sem nenhum problema novamente, salvar e mandar rodar quantas vezes você precisar !

 

Paulo

 

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

@aphawk

 

Agora entendi, sobre por o ip/edit por exemplo.. ai eu entraria na tela de edição..

 

Uma outra duvida, eu perguntei sobre acessar remotamente certo, contudo foquei em ip fixo, e no caso se no local fosse dinamico, seria possivel usar algum tipo de ddns?

 

Sobre a alimentação do nodemcu em protoboard, devo colocar alimentação (vou usar 3v proveniente de bateria 18650) em todos pinos marcados como 3.3V e GND ou só em um deles (no caso deles serem todos interligados) para não precisar mais plugar no usb.

jt5bt0.jpg

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

@rodrigocirilo ,

 

Ué claro que voce pode usar um ddns .... mas isso não tem nada a ver com a sua rede interna. É com o seu roteador hehehe !

 

Pode ligar o 3,3V sim em qualquer um desses pinos marcados, mas nesse caso não pode usar o conector USB , ok ?

 

Eu tenho uma fonte de 5V ligado no Vin do Nodemcu, acho mais seguro pois posso usar a porta USB também sem problema.

 

Lembre-se de que uma 18650 recém carregada põe dar mais de 3,8 Volts, e pode queimar o seu Nodemcu ....  eu uso um pequeno adaptador que já carrega a bateria tem e já sai 5V dele tem !

 

Paulo

 

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

@aphawk

 

Sim deveria fazer o ddns dentro do roteador, mas não seria possivel isso ficar dentro do ESP, e ele mandar sinal para o servidor DDNS dizendo qual o ip da internet que ele está?

 

Não sei muito bem como isso funciona hahaha..

 

Sobre a alimentação, pode deixar, sei que elas tem tensão superior no auge da carga..

 

Mas esse pino Vin, posso jogar 5V ali + gnd? e ele também vai funcionar?

Link para o comentário
Compartilhar em outros sites

Pessoal, to com um problema, consegui linkar o sensor analogico com os buttons, so que o sensor fica dando print a cada vez que reseta o timer, eu queria que ele "printasse" na mesma linha, sem a tela ficar gigantesca com o passar do tempo x_x.

Alguem tem alguma ideia? segue o meu código:

--------------------

pin1=d3

pin=d2

timer 1000,[timeon]

 

print "<h1>eletronica e utilidades</h1>"

print " "

print " <h3>acionamento de cargas</h3>"

print " "

button "led1",[ligar]

button "apgled1",[desligar]

print" "

button "led2",[ligar2]

button  "apgled2",[desled2]

print   " "

 

button  "fim",[end]

print   " "

[timeon]

a=io(ai)

print a

wait

 

[ligar]

 

io(po,pin,1)

wait

[desligar]

io(po,pin,0)

wait

[ligar2]

io(po,pin1,1)

wait

[desled2]

io(po,pin1,0)

wait

[end]

end

--------------------------------------

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
2 horas atrás, aphawk disse:

Lembre-se de que uma 18650 recém carregada põe dar mais de 3,8 Volts, e pode queimar o seu Nodemcu ....  eu uso um pequeno adaptador que já carrega a bateria tem e já sai 5V dele tem !

 

O "adaptador" é um carregador de baterias como o que está abaixo?

 

51r5085x2lL.jpg

 

2 horas atrás, rodrigocirilo disse:

Sim deveria fazer o ddns dentro do roteador, mas não seria possivel isso ficar dentro do ESP, e ele mandar sinal para o servidor DDNS dizendo qual o ip da internet que ele está?

 

A atualização no servidor de IP dinâmico pode ser por interface interna da rede, desde configurada para o IP externo, que é sempre o da interface externa (do roteador). Talvez exista biblioteca ESP ou Arduino para atualização de alguns servidores, assim como existe pacote de serviço para distribuições GNU/Linux. Porém, na minha opinião, em geral isso complicará invés de complicar, afinal de contas o roteador precisará ter um redirecionamento de portas ou implementar zona desmilitarizada.

Link para o comentário
Compartilhar em outros sites

@alexandre.mbm

 

Sim, isso mesmo !

 

Esse é o "adaptador" !!!

 

Quanto ao roteador,  melhor mesmo fazer nele, porque tenho de fazer o forward de qualquer maneira para um ip fixo na minha rede interna .......

 

 

adicionado 2 minutos depois

@lucianolcoa ,

 

Eu fiz um post faz mais de uma semana de um programa onde uso WPRINT HTMLVAR, repare que é uma série de tratamentos de tela com HTML / CSS ...  olhe nesse exemplo, pois eu sempre imprimo no mesmo lugar com esse procedimento, ok ?

 

Paulo

Link para o comentário
Compartilhar em outros sites

1 hora atrás, aphawk disse:

@alexandre.mbm

 

Sim, isso mesmo !

 

Esse é o "adaptador" !!!

 

Quanto ao roteador,  melhor mesmo fazer nele, porque tenho de fazer o forward de qualquer maneira para um ip fixo na minha rede interna .......

 

 

adicionado 2 minutos depois

@lucianolcoa ,

 

Eu fiz um post faz mais de uma semana de um programa onde uso WPRINT HTMLVAR, repare que é uma série de tratamentos de tela com HTML / CSS ...  olhe nesse exemplo, pois eu sempre imprimo no mesmo lugar com esse procedimento, ok ?

 

Paulo

Aphawk O post está neste chat mesmo?

Link para o comentário
Compartilhar em outros sites

2 horas atrás, aphawk disse:

@alexandre.mbm

 

Sim, isso mesmo !

 

Esse é o "adaptador" !!!

 

Quanto ao roteador,  melhor mesmo fazer nele, porque tenho de fazer o forward de qualquer maneira para um ip fixo na minha rede interna .......

 

 

Ok, então ddns no roteador funciona...

 

Quanto a esse modulo de bateria, ele alimenta o nodemcu através de uma fonte, e se acabar a energia ele entra automaticamente a bateria? teria solução para energia solar?

Link para o comentário
Compartilhar em outros sites

Consegui encontrar no datasheet do MPU6050, ele tem opção de mudar o endereço:

Citação

The slave address of the MPU-60X0 is b110100X which is 7 bits long. The LSB bit of the 7 bit address is
determined by the logic level on pin AD0. This allows two MPU-60X0s to be connected to the same I2C bus.
When used in this configuration, the address of the one of the devices should be b1101000 (pin AD0 is logic
low) and the address of the other should be b1101001 (pin AD0 is logic high). 

 

Agora sim!!!

Link para o comentário
Compartilhar em outros sites

@aphawk

 

Se poder dar uma olhada no codigo que estou tentando escrever...

Ele cria tipo de uma tela de login/senha, se autenticar entra em uma rotina de on/off para o pin 2 do esp.

Parece que está dando um erro na parte dos IF, comparação errada de numero ou string :exorcize::exorcize: ???

 

[inicio]
cls
login = " "
senha = " "
wprint "LOGIN"
textbox login
wprint "SENHA"
textbox senha
button "Entrar",[tlogin]
wait

[tlogin]
cls

if login = admin  then
GOTO [tsenha] 
else
   print "login errado"
   delay 1000
   login = login
   senha = senha
   cls
   GOTO [inicio]
end if

[tsenha]
if senha = 1234 then
 GOTO [roda]
else
 print "senha errada"
   delay 1000
   login = login
   senha = senha
   cls
   GOTO [inicio]
end if

[roda]
let pinNo = 2
let pinstat = 0
print "porta"
textbox pinNo
print "status"
textbox pinstat
button "aciona",[SetThePin]
button "exit",[TestExit]
wait

[SetThePin]
io(po,pinNo,pinstat)
if pinstat = 0 then
pinstat = 1
else 
pinstat = 0
end if
wait

[TestExit]
end

 

adicionado 19 minutos depois

Aproveitando..

 

usando só a parte do codigo de acionamento do led do ESP12 (port 2) liberei uma porta no roteador e dediquei um ip ao esp, pequei o celular desabilitei o wifi e acessei pelo 3G através do IP externo + porta, acessou o ESP apareceu a tela, porém o comando do botão aciona nao funcionou :(:( 

 

let pinNo = 2
let pinstat = 0
print "porta"
textbox pinNo
print "status"
textbox pinstat
button "aciona",[SetThePin]
button "exit",[TestExit]
wait

[SetThePin]
io(po,pinNo,pinstat)
if pinstat = 0 then
pinstat = 1
else 
pinstat = 0
end if
wait

[TestExit]
end

Link para o comentário
Compartilhar em outros sites

Fiz as modificações sugeridas, pelo ACT funcionou para mudar o valor das portas lógicas, mas pelo javascript ainda não. Acho que além de C necessito estudar bastante javascript, está sendo muito necessário.

 

Mandei a nova versão em anexo. Fiz umas melhorias na sua rotina de gravação e leitura na EEPROM virtual, retirei as muitas limpezas na EEPROM desnecessárias, cheguei a conclusão que não precisava nada disso. Tive uns problemas com formatação de Strings, dei umas cabeçadas até entender o que estava ocorrendo, quando consegui entender a rotina ficou enxuta e sem gastar desnecessariamente apagando o que não precisa, eu apenas escrevo os Strings (incluindo o byte extra com "\0"), pois toda String tem um byte a mais com valor 0 ("\0") e isto é o marcador de fim de String, é só ler depois da EEPROM procurando este marcador final.

 

Encontrei um livro ótimo de C em inglês (já tinha a versão dele em português em PDF, "C Completo e Total"), "C# The Complete Reference" de Herbet Schildt, mas na versão em inglês o PDF está em formato texto, que é muito mais fácil para pesquisar (pesquisa em texto é sempre bem mais fácil) e em inglês me ajuda a me desenvolver mais na língua  (a leitura e compreensão fica mais demorada, mas me ajuda bastante no aprendizado).

Teste.zip

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

1 hora atrás, Intrudera6 disse:

Fiz as modificações sugeridas, pelo ACT funcionou para mudar o valor das portas lógicas, mas pelo javascript ainda não

 

Eu não tive tempo de "lutar" com o javascript ainda, mas creio que seja o mesmo problema que tive com o json: erro de sintaxe. Foi um pouco demorado, mas consegui enviar de um lado e interpretar do outro corretamente. Depois com calma, vou fazer o JS funcionar também.

 

2 horas atrás, Intrudera6 disse:

Fiz umas melhorias na sua rotina de gravação e leitura na EEPROM virtual, retirei as muitas limpezas na EEPROM desnecessárias

 

Você não está errado não, esta é realmente a forma mais "enxuta", em se tratando de ler eeprom, eu prefiro saber exatamente o início e o final que vou ler, no meu entendimento fica mais seguro. Eu te sugiro, já que você quer ler até encontrar o "\0", colocar uma segunda saída que seria caso não encontrar o "\0", não deixar passar da posição "n", por exemplo: while( posição != "\0" && posição <= n), assim não correria o risco de pegar informação indevida.

 

Estou testando o DS3231, não fiz nada de avançado nele, somente coloquei pra atualizar e ler, estou satisfeito com os resultados, alterei na plaquinha retirando o diodinho e o resistor ligado a ele e coloquei a

bateria CR2032, está funcionando que é uma beleza. Não sei porquê tanta parafernalha nessa plaquinha, quando eu for fazer a nova placa PCI, vou comprar apenas o circuito integrado DS3231 sem a plaquinha nem nada e soldar diretamente na minha PCI.

 

  • Curtir 1
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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!