Olá pessoal!

estou com uma duvida, vou descrever abaixo e postar o codigo no pastebin.

Ja testei os sensores pelo codigo (arduino) e esta funcionando de acordo via Serial, agora estou tentando enviar esses dados via metodo GET, meu modulo ethernetshield é o enc28j60.

esse é o parametro que preciso enviar: 

http://localhost/ws/api/?action=setStatus&object=tank&id=18&status=vazio&temperature=22

Onde o status=vazio, poderá ser vazio,baixo,medio ou cheio

e o status= temperature, vai pegar em formato float os dados do sensor de temperatura.

o IP do arduino aqui esta setado para 192.168.1.4

o IP da minha maquina esta setado para 192.168.1.3

o meu client server esta no XAMPP (vou rodar local).

neste link esta o codigo que estou tentando enviar via metodo GET

http://pastebin.com/tx54WcCC

Eu creio que seja algum detalhe...rsrs

Alguem pode clarear essa minha duvida?

Exibições: 744

Responder esta

Respostas a este tópico

o primeiro passo é consultar o log do apache (accesslog e errorlog) para saber se a conexão entre o arduino e o script está ocorrendo

se não há conexão, vc está errando no sketch.

se está havendo conexão, consulte o errorlog pra saber onde está o erro no script

se aprender a consultar o log do apache fica fácil achar os problemas

o segundo passo é ver se o problema está aqui:  192.168.1.3/ws/api/?blablabla

Quando vc for usar dessa forma, ou vc obrigatoriamente chama a api de index.php ou força o redirecionamento para outro arquivo via .htaccess

Então fica a pergunta: qual o nome do seu script php?

Talvez a saída mais fácil seja mudar o sketch pra ficar assim:  192.168.1.3/ws/api/index.php?blablabla  ou  192.168.1.3/ws/api/NOMEDOSEUSCRIPT.php?blablabla

o terceiro passo é checar o path (caminho): vc tem certeza que o caminho até o script é realmente esse que vc colocou no sketch?

Hugo, sobre esse paramentro (http://localhost/ws/api/?action=setStatus&object=tank&id=18&status=vazio&temperature=22), quando coloco no navegador e executo e vou na pagina monitoramento.php as infos sao exibidas de acordo

o nome do script php é o index.php

sobre o caminho esta certo.

digite no navegador e me diga se dá certo também:

http://192.168.1.3/ws/api/?action=setStatus&object=tank&id=...

depois faça uma pequena alteração no seu sketch: ali onde vc informa o IP do seu servidor, experimente acrescentar http:// antes do IP (eu contei 4 locais, faça em todos)

eu não tenho esse shield enc28j60, então não tenho como testar seu sketch.

Oi Hugo, o link acima funciona tbm, mas quando coloco ele la nos 4 itens, e executo o arduino nada acontece no webclient ainda. =/

acho q falta ainda algo no codigo, como tipo ' enviar'  ou algum outro param.

esse shield enc28j60 eu não tenho, então nem sei como funciona. Se vc tivesse o w5100 poderia usar um exemplo que existe na própria IDE do arduino (webclient). Basta vc adaptar esse exemplo, fazendo pequenas modificações pra encaixar no seu projeto. Com o w5100 é fácil fácil. Infelizmente não sei mais como te ajudar, amigo. Lamento.

 

Já usei um módulo enc28j60, mas não com essa biblioteca.

Sugiro a biblioteca UIPEthernet, pelo fato dela ser compatível com a biblioteca Ethernet disponível no IDE do Arduíno, então os códigos de exemplos que já vem no IDE funcionam o a biblioteca UIPEthernet. Bastando apenas substituir "#include <Ethernet.h>” por “#include <UIPEthernet.h".

link - http://www.tweaking4all.com/hardware/arduino/arduino-enc28j60-ether...

Oi JOnas, eu alterei mas nao mudou em nada ainda. pelo que eu estou vendo tenho q colocar algo com stash.

eu encontrei esse tutorial http://www.lucadentella.it/2013/04/22/enc28j60-e-arduino-14/2/

que creio que seja o que eu preciso mas nao sei como implementar, ja tentei aqui e da varios erros..rsrs

vc poderia me dizer como implementar isso pro meu codigo?

Obrigado

Jônas, quando vc fez vc utilizou o metodo GET pra enviar localhost ou em alguma pagina web?

vc tem esse codigo ainda?

Olá Rodrigo, bom dia,

Sim, usei o método GET por ser mais simples.

Sugiro que caso vc ainda não tenha feito, faça um teste usando o exemplo do IDE fazendo um requisição com o método GET "chamando" um pagina html qualquer, apenas para testar o modulo enc28j60.

Acredito que o problema no seu código seja apenas detalhe, então poste o seu novo código usando a biblioteca UIPEthernet e o exemplo do IDE do arduino.

Oi Jonas, eu consegui fazer funcionar o code, era problema no codigo, vou dar uma limpada neles depois compartilho aqui com os amigos.

abrs

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço