Ir ao conteúdo
  • Cadastre-se

ESP8266 - A Pequena Maravilha para Comunicação WIFI


aphawk

Posts recomendados

@Papibakigrafo Pelo que entendi do SQLite ele não roda em aplicações Web, somente em aplicações nativas do android e IOS, isso significa que ao testar o código no navegador, o banco não vai funcionar, estou começando a testar aqui o indexedDB, ele me parece rodar nos dois casos, tanto Web quanto nativos. Não estou tendo muito sucesso, mas estou tentando aqui.

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

@Papibakigrafo Fiz esse tutorial: http://www.macoratti.net/15/03/html5_data.htm e funcionou certinho, tanto no navegador quanto no App. O localStorage só pra isso que você quer tá de bom tamanho, geralmente até mesmo um cookie resolve. Esse tutorial do Macorati é bem esclarecido mas ainda vou ter que descobrir como criar as relações entre as tabelas, inclusive esse conceito de relacionamento que temos, não sei se funciona com o indexedDB porque parece que muda um pouco.

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

@Papibakigrafo Segundo pesquisei, a melhor opção de banco de dados é o indexedDB, porém vi em algum lugar que os navegadores não garantem que os dados permanecerão porque parece que se o navegador precisar liberar espaço ele apaga esses arquivos. Aí fiquei muito preocupado, pensei até na hipótese de usar um arquivo XML pra guardar os dados. Estou testando um banco de dados aqui no chrome, gravei algumas informações ontem e até hoje estão todas lá. Eu estive pensando, depois que o nosso site vira um App, ele deve usar outra forma de guardar o banco de dados, ou será que no App, rodando no android, esse banco de dados é guardado no navegador também?

Link para o comentário
Compartilhar em outros sites

@ViniciusKruz  pelo que eu vi, porque dados ficam salvos no App, pelo menos no Android. O Facebook guarda os dados em localStorage e em cookieStorage (algo assim). Fiz uns testes de login com Facebook, por isso sei. 

 

No android, se você for em Configuracos > Aplicativos e apagar os dados do aplicativo, tudo some. Por isso eu acredito que os dados ficam

salvos no App (provavelmente, na memória interna / externa, de acordo com as permissões do App).

Posso estar errado, pois não li muita coisa sobre isso, mas pelo que pude perceber, acredito que funcione como descrevi :)

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

@Papibakigrafo  Como é que você está conseguindo enviar os dados para o ESP pelo PhoneGap?

 

Estou usando esta rotina aqui:

 

$.post("http://192.168.0.39/act","{usuario:'admin', senha:'admin', canal:'1', valor:'1'}",{'headers':{'Content-Type':'application/json' }})
.success(function(d, status, headers, config, statusText) {
    console.log("  success");

}).error(function(d, status, headers, config) {
    console.log("  error");
});

 

offtopic:(não consegui colocar o código dentro da tag correta, o icone<> não apareceu ao editar)

 

Os dados estão indo de forma incorreta pelo navegador e pelo Smartphone não vai nada,

já tentei de inúmeras outras formas mas tudo dá na mesma, geralmente não vai nem pelo navegador.

 

Já adicionei no  config.xml:

<access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />

 

E mesmo assim nada.

 

 

 

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

@ViniciusKruz eu tive muitos problemas no começo kkkk

Primeiramenre, eu uso o META, assim:

 

<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline'; style-src * 'unsafe-inline'; media-src *; img-src *">

 

O ajax, uso de 2 jeitos:

 

$.post("http://www.blocodochapolin.com.br/petfinder/app/login_user.php", {'txtEmail': email_l,'txtSenha': senha_l}, function(data){
//executo o que quero aqui...
}

Nesse caso aqui, eu uso o header JSON no PHP! Deu um erro um tempo atrás, mas é porque o header tem que estar no topo da página kkkk

 

e assim:

 

var form_data = new FormData();
form_data.append('arquivo', $('#arquivo').prop('files')[0]); //Imagem
form_data.append('txt_nome', $('#txt_nome').val());
form_data.append('txt_tel', $('#txt_tel').val());
form_data.append('txt_end', $('#txt_end').val());
form_data.append('txt_bairro', $('#txt_bairro').val());
form_data.append('txt_ref', $('#txt_ref').val());
form_data.append('txt_pedido', $('#txt_pedido').val());
form_data.append('pagamento', $('input[name=pagamento]:checked').val());
form_data.append('txt_troco', $('#txt_troco').val());
form_data.append('txt_cred', $('#txt_cred').val());

$("#btn_enviar").prop('disabled', true);
  $.ajax({
     url: 'http://www.blocodochapolin.com.br/phonegap/farmacia_co/confirma_pedido.php', // caminho para o script que vai processar os dados
     type: 'POST',
     data: form_data,
     cache: false,
     contentType: false,
     processData: false,
     success: function(response) {
       $('input').val('');
       $('textarea').val('');
       navigator.notification.alert('Orçamento efetuado com sucesso! Retornaremos para você o mais breve possível, para a confirmação!', alertDismissed, 'Confirmação', 'Voltar');            
    },
    error: function(error) {
      alert(xhr.responseText);
   }
});

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

@Papibakigrafo Cara meus cabelos tão ficando tudo branco mas ta bom, tem gente que tá é caindo né, ainda ta bom kkkk

 

Pela lógica era para os dados serem apresentados assim:


$.post("http://192.168.0.39/act,{valor1:1,valor2:10},function(result){
console.log(sucesso);

});

 

porém só funciona se eu fizer assim:

 

$.post("http://192.168.0.39/act?valor1=1&valor2=10,' ',function(result){
console.log(sucesso);

});

 

Vai entender!!!! Nem com seu código não adiantou, só funciona com tudo na mesma linha como se fosse GET, acho que vou deixar assim até encontrar outra solução

 

 

adicionado 1 minuto depois

Obs.: não está aparecendo pra mim a opção de inserir código(<>).

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

@ViniciusKruz que estranho! O inserir código pra mim também não aparece, to digitando o [ code ] [/ code ] mesmo!

 

No meu App de automação residencial, estou usando o GET mesmo! Nos outros apps que estou desenvolvendo, estou usando via POST (como psotei ali em cima!). Repare que sempre envio para um site PHP, onde recebe as variáveis.

 

Eu reparei que falta um aspa dupla no seu código:

 

$.post("http://192.168.0.39/act",{valor1:1, valor2:10},function(result){
	console.log(result);
});

 

 

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

@Papibakigrafo Eu vou criar um projeto novo do zero só pra testar isso melhor, ou é permissão ou está faltando alguma coisa.

 

Com esse código que me passou continuou na mesma, só funciona daquele jeito que eu disse, como se fosse GET e mesmo assim só funciona no brouser, no App não dá nem sinal no ESP.

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

Meu App está ficando pronto, vejam as telas:

 

 

Tela principal

tela1.png.5618dc635dfba184c9268a6db9689656.png

 

 

 

Ligando e desligando um controle:

tela6.png.61b26a33c7c9151c61906433baf19c3e.png

 

 

Ainda faltam muitas coisas, mas já está funcionando, nesta tela acima, é só clicar no nome do controle que abre as opções e o botão de ligar/desligar. Pode ter quantos controles forem ao clicar no botão, o sistema pega o IP dele no banco de dados e manda o comando. A parte estética ainda precisa melhorar, vou criar um layout melhor para os botões e trabalhar as cores.

 

 

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

essoal, boa tarde..

 

Gostaria de saber se alguma alma caridosa aqui poderia me ajudar hehe..

 

Queria programar o NodeMcu na IDE do arduino.. e conversar via socktes (acho que é isso) com um supervisório feito em visual studio C#... algo simples para fins de estudo..

 

o ESP como cliente e o supervisório como server.. dai ao ligar o esp se conectaria no IP/Porta do PC e falaria com o software.. tipo enviar um comando do soft. para acender um led, e o esp responder com uma mensagem de ON ou OFF..

 

Alguem tem um exemplo de uma aplicação dessas??

 

Att.

 

Rodrigo

Link para o comentário
Compartilhar em outros sites

1 hora atrás, rodrigocirilo disse:

essoal, boa tarde..

 

Gostaria de saber se alguma alma caridosa aqui poderia me ajudar hehe..

 

Queria programar o NodeMcu na IDE do arduino.. e conversar via socktes (acho que é isso) com um supervisório feito em visual studio C#... algo simples para fins de estudo..

 

o ESP como cliente e o supervisório como server.. dai ao ligar o esp se conectaria no IP/Porta do PC e falaria com o software.. tipo enviar um comando do soft. para acender um led, e o esp responder com uma mensagem de ON ou OFF..

 

Alguem tem um exemplo de uma aplicação dessas??

 

Att.

 

Rodrigo

faz comunicação serial... Ahe não sei como em C se faz uma comunicação serial, mas em python é assim

import serial

import time

 

comunica=serialSerial('COMX',9600)

ler= comunica.readline()

print(ler)

time.sleep(2)

if ler== "sua condi":

     comunica.write("o que deseja")

Link para o comentário
Compartilhar em outros sites

24 minutos atrás, lucianolcoa disse:

faz comunicação serial... Ahe não sei como em C se faz uma comunicação serial, mas em python é assim

import serial

import time

 

comunica=serialSerial('COMX',9600)

ler= comunica.readline()

print(ler)

time.sleep(2)

if ler== "sua condi":

     comunica.write("o que deseja")

Agradeço, mas não entendi nada rsrsrs...

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

Pelo que eu entendi você quer fazer o arduino "conversar" com algum programa feito em c certo? ou nodemcu ou o que tiver :)

 

Então, a comunicação é sempre serial, sei como fazer em java e em python, agora outras linguagens ficarei devendo. Por mais que arduino seja parecido com C, ele não é C,e PIC também

 

Mas... no python é assim que você faz comunicação serial, no java e relativamente parecido. No C eu não sei mas algum manjão de C deve saber. Ahe depende do que o programa que você fez na linguagem X é capaz de fazer, o que ele faz entendeu....

 

Por exemplo, voltando ao código python que escrevi, você pode fazer uma coisa legal olha:

import serial

import time

tempo=0

comunica=serialSerial('COMX',9600)

arquivo=open("dados.txt",'w')

ler1=[]

ler2=[]

ler= comunica.readline()

 

print(ler)

time.sleep(2)

tempo=tempo+1

if ler1!=ler:

     ler2.append(ler)

     ler1=ler

     ler2.append(tempo)

    arquivo.write(ler2)

if ler== "sua condi":

     comunica.write("o que deseja")

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!