uIP - problemas e dúvidas

5 views
Skip to first unread message

phfbertoleti

unread,
Nov 24, 2015, 7:43:42 PM11/24/15
to Renesas_brasil
Senhores, boa noite.

Eu tenho um kit YRDK RX63N e estou querendo fazer um projeto que envia dados (medições de temperatura na verdade) para o ThingsSpeak.
Pra isso, resolvi adotar a seguinte estratégia: tomei como base o demo Ethernet_uIP, retirei a chamada para iniciar um servidor http (com o intuito de deixar somente a placa em rede sem uma função específica). Além disso, aproveitei a chamada de 10 em 10 segundos do uip_arp_timer para virar um flag:

-------------------------------------------------
/* Call the ARP timer function every 10 seconds. */
if (timer_expired(&arp_timer))
{
      timer_reset(&arp_timer);
      uip_arp_timer();

      Cont30s++;

      if (Cont30s == 3)
      {
           EnviaTempThingSpeak = 1;
           Cont30s = 0;
      }
}
-------------------------------------------------

E reescrevi a função user_app() para:

-------------------------------------------------
void user_app(void)
{
uip_ipaddr_t ipaddr;
char ComandoHTTP[]="GET /update?key=RLUWUDK9Q4ALHQZ4&field1=";  //começo da requisição HTTP para o ThingSpeak
char RequisicaoHTTP[50];

        if (EnviaTempThingSpeak)
        {
          EnviaTempThingSpeak = 0;
          uip_ipaddr(&ipaddr, 184,106,153,149);   //ip do thingspeak
          uip_connect(&ipaddr, HTONS(80));

             sprintf(RequisicaoHTTP, "%s%02d\r\n", ComandoHTTP, 55);  //envia o dado fixo para o thingspeak
            uip_send(RequisicaoHTTP, 44);
       }
}
-------------------------------------------------

O problema é que de jeito nenhum há conexão! Eu fiz o mesmo teste tentando me conectar a um TCP Server no meu pc (ou seja, na mesma rede que o kit) e o efeito foi o mesmo).
Vocês poderiam por favor me ajudar nisto? Estou sem alternativas.


Atenciosamente,
Pedro Bertoleti

Prof. André Curvello

unread,
Nov 25, 2015, 10:40:24 PM11/25/15
to Renesas_brasil
Pedro, deu uma olhada na documentação de funções do uIP?
http://users.ece.utexas.edu/~mcdermot/arch/projects_fall_09/Team_04/project/uip-1.0/doc/html/a00147.html

Tem esses exemplos do uIP:
(Inclusive, o Hello-World é um exemplo para conexões TCP usando uIP).

Tem essa outra demonstração da DigitKey:

Ao que tudo indica, a forma mais convencional de fazer isso usando uIP é fazendo uma conexão "UDP" no ThingSpeak, enviando o pacote da requisição HTTP. Ok?

Abraço,
André.

phfbertoleti

unread,
Nov 26, 2015, 2:32:31 PM11/26/15
to Renesas_brasil
André, muito obrigado pelos linkis. Eu já passei por alguns deles, mas há coisas que ainda não tentei ali. 
Porém, como você sugeriu em uma outra postagem, vamos partir pro MQTT. Aí o negócio fica sério de verdade!

Prof. André Curvello

unread,
Nov 26, 2015, 3:04:34 PM11/26/15
to renesas...@googlegroups.com
Agora a conversa subiu de nível!

--

---
Você recebeu essa mensagem porque está inscrito em um tópico no grupo "Renesas_brasil" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/renesas_brasil/w5rtNqtRysg/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para renesas_brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Prof. André Márcio de Lima Curvello - andre.ml...@gmail.com
Engenheiro de Computação - USP
MBA em Gestão de TI - UNIFRAN
Site | LinkedIn | Facebook | Google+ | Twitter | YouTube | Currículo Lattes
Celular - Claro: (16) 99304-2570
Skype: andremlcurvello
Reply all
Reply to author
Forward
0 new messages