Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Consumir dados JSON do Arduino em um Android

Salve pessoal, estou com um grande problema para realizar a integração entre as plataformas Arduino e Android.

Consegui estabelecer um Web Server com o Arduino. Este Web Server é responsável por armazenar a leitura de um sensor de temperatura DS18B20, como no exemplo abaixo:

void SendResponse(EthernetClient client) {

  client.println(F("HTTP/1.1 200 OK")); //send new page
  client.println(F("Content-Type: application/json"));
  client.println();
  client.print("dadosSensor");
  client.println(F("({"));

  client.print(",\"Temp\":\"");
  client.print(celsius, DEC);
  client.println("\"");

  client.println(F("})"));
  client.println();

}

Quando coloco meu endereço de IP local No browser, o dado de tempera no formato JSON aparece perfeitamente.

Gostaria de fazer com que esse dado fosse enviado para um aplicativo Android.

O funcionamento seria, apertar um botão que enviaria uma requisição, essa requisição acionaria o envio do dado lido pelo sensor DS18B20.

Preciso de uma força, isso parece ser muito complicado.

Desde, já muito grato!

2 respostas
solução!

Olá Erick!

Para fazer esse tipo de requisição você vai precisar utilizar uma AsyncTask e alguma outra classe para fazer a conexão com o seu servidor. Ainda estamos preparando as aulas sobre esse assunto mas se quiser ir adiantando você pode assistir as aulas do curso antigo de Android:

https://www.alura.com.br/course/android-basic-3

Nas primeiras aulas falamos sobre como fazer esse tipo de requisição e também como utilizar a AsyncTask.

Abraço!

Jeferson, muito obrigado pela orientação, segui as aulas, fazendo algumas alterações e adaptações e obtive sucesso. Muito obrigado mesmo.

Gostaria de tirar mais uma dúvida, como posso fazer para colocar meu web server que funciona apenas em rede local, para um server que pode ser acessado pela internet ?

Ainda utilizando o exemplo da leitura de temperatura do sensor, gostaria de ater acesso a temperatura pelo meu celular, porém gostaria de ter acesso de qualquer lugar do mundo. Já utilizei os serviços do NO-IP(free), e mesmo realizando as configurações no roteador e de redirecionamento de portas, não consegui obter êxito.

Ficaria muito grato, em ter mais essa ajuda.