• Welcome to LusoRobótica - Robótica em Português.
 

Controlar Arduino Yun Através da Web

Started by Nunito, 31 de January de 2015, 11:19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Nunito

Quote from: Njay on 07 de February de 2015, 19:21
É que isso tem mais aspecto de ser um cliente web e não um servidor. Então esse objecto x o que é?

Pois como já falei anteriormente, estou a tentar perceber alguma coisa sobre redes informáticas.

O objecto x é o nome que dei ao processo, neste caso eu tenho motor1.begin("curl1") etc.
Envio em anexo o esquema deste projeto.

Njay

Onde é q tá a declaração da variável x?

Nunito

#17
Quote from: Njay on 08 de February de 2015, 18:50
Onde é q tá a declaração da variável x?

Eu tenho o x declarado antes do ciclo for dentro do if.
if (m1.read()=='2')
{
int v;
      for (int v =0; v < 500; v++)
      {
        digitalWrite(dirPin, HIGH); 
        digitalWrite(stepPin, HIGH);
        delayMicroseconds(150);
        digitalWrite(stepPin, LOW);
        delayMicroseconds(150);
      }
}

Eu coloquei apenas alguma parte do código, só para terem a noção.

Njay

Sim, mas mostra lá a declaração, para ver qual é o tipo da variável.

Nunito

Quote from: Njay on 09 de February de 2015, 00:03
Sim, mas mostra lá a declaração, para ver qual é o tipo da variável.
Penso que seja esta declaração que falas do int x= 0;
int x = 0;
      for (int x =0; x < 500; x++)
      {
        digitalWrite(dirPin, HIGH); 
        digitalWrite(stepPin, HIGH);
        delayMicroseconds(150);
        digitalWrite(stepPin, LOW);
        delayMicroseconds(150);
      }

Njay

Quote from: Nunito on 06 de February de 2015, 18:46
void runCurl()
{
  Process p;           
  x.begin("curl");     
  x.addParameter("...endereçoIP/data/file.txt");
  x.run();

while (p.available()>0) {
...

Refiro-me ao x a vermelho.

Nunito

Quote from: Njay on 09 de February de 2015, 12:59

void runCurl()
{
  Process x;           
  x.begin("curl");     
  x.addParameter("...endereçoIP/data/file.txt");
  x.run();

while (p.available()>0) {

Refiro-me ao x a vermelho.
Desculpa.

Tenho assim, a escrever aqui esqueci-me de trocar o p do process pelo x.
É o único local onde está declarado.

Njay


Nunito

Quote from: Njay on 09 de February de 2015, 14:22
Experimentaste usar a classe HttpClient? Têm código exemplo: http://arduino.cc/en/Tutorial/HttpClient
Funciona do mesmo modo, pois se calhar não me expliquei bem.

O txt file está sempre a ser lido, o problema é que todas as vezes que ele é lido o ciclo For entra em ação e eu não quero isso.
Porque é um motor e não pode estar sempre a mover-se.

Njay

Não lhe digas para mover X passos, diz-lhe para ir para a posição X, aí já podes comparar se já estás na posição X.

Nunito

Quote from: Njay on 09 de February de 2015, 17:32
Não lhe digas para mover X passos, diz-lhe para ir para a posição X, aí já podes comparar se já estás na posição X.
Amanha vou testar outros códigos.
Não estou a perceber é a parte de ter de abrir o serial monitor para começar a receber dados do client.get.

Njay

Não tens. No exemplo eles abrem a porta série para enviar para lá o ficheiro que sacam da net, para mostrar que de facto o arduino recebeu alguma coisa...

Nunito

Este código é a mesma coisa do boolean?
bool runCurl()

Vou ter de pensar é fazer um código novo pois eu dei continuidade a este código e está a entrar em conflito com tudo o que está a correr.
Quem esteve com este código foi um tal fazer copy paste da net, agora quem vem a seguir anda aqui aos papeis.

Nunito

Para quem utiliza o YUN, é necessário algum tipo de configuração para além da configuração da rede wireless conforme está na página oficial?
Alguém consegue-me explicar o que faz o reset do linux image?

Estou com dois arduinos, num deles, o que estava a funcionar eu fiz o reset ao wifi, para conseguir utilizar com o meu portátil e agora deixou de funcionar.
Fiz os procedimentos todos conforme o site e nada.

Nunito


  Process m1; 
  m1.begin("curl");
  m1.addParameter("------------------------------");
  m1.run();

  /* A process output can be read with the stream methods */
  while (m1.available()>0)
  {
    char m = m1.read();
    Serial.println(m);
 
    /* Verifica se o motor é ligado */
    if (m1.read()=='1')
    {
      int x;
      for(x = 0; x <= 500; x++)
      {
        Serial.println(x);
        digitalWrite(dirPin, HIGH); 
        digitalWrite(stepPin, HIGH);
        delayMicroseconds(150);
        digitalWrite(stepPin, LOW);
        delayMicroseconds(150);
        delay(50);
      }
    }    
  }
}


Boas.
Preciso de uma ajuda.
Não consigo parar o ciclo for.
Isto está a controlar uma drive de um motor de passo para dar uns x passos e parar até receber nova ordem.