LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: sergiotux em 25 de Novembro de 2012, 22:40

Título: projeto - gps + dataloger + gprs + ftp
Enviado por: sergiotux em 25 de Novembro de 2012, 22:40
Olá amigos alem mar...
Sou do Brasil e gostaria de pedir a ajuda de todos.

Estou tentando desenvolver um sistema onde consiga salvar os dados do em um cartão sd e de tempo em tempo faço o ftp desse arquivo para um servidor.

Alguém tem algo parecido com isso?

Hoje consigo salvar os dados no cartão e parei por ai.

Tenho um:

- arduino uno
- gps skylab skm 53
- sd shild
- gprs sim900

Podem me ajudar?

Muito obrigado a todos.

Abraços

Sérgio
Título: Re: projeto - gps + dataloger + gprs + ftp
Enviado por: Hugu em 26 de Novembro de 2012, 04:05
qual é a duvida mesmo?

que dados queres gravar? e tens o quê e como?..
Título: Re: projeto - gps + dataloger + gprs + ftp
Enviado por: zordlyon em 26 de Novembro de 2012, 08:35
Podes sempre ter o teu servidor com um Xbee, e no teu projecto ter outro Xbee, e de tempos em tempos tranferes os dados via Wireless com o Xbee...
Título: Re: projeto - gps + dataloger + gprs + ftp
Enviado por: sergiotux em 26 de Novembro de 2012, 19:44
Amigos, eu tenho esse pde funcionando... (abaixo) alguém sabe como posso fazer o ftp dele para o servidor usando GPRS (3g)? Tenho um sim900 (http://dx.com/p/freaduino-gsm-gprs-shield-expansion-board-for-arduino-black-146649 (http://dx.com/p/freaduino-gsm-gprs-shield-expansion-board-for-arduino-black-146649)).
O sistema será movel em um local distante, por isso não dá pra usar wireless.

Muito obrigado

#include <SD.h>
#include <SoftwareSerial.h>

const int chipSelect = 10;
SoftwareSerial mySerialGps(4,5);

#define BUFFSIZ 300
char buffer[BUFFSIZ];

void setup()
{
  Serial.begin(19200);
  Serial.print("Initializing SD card...");
  mySerialGps.begin(9600);

  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    return;
  }
  Serial.println("card initialized.");
}

void loop()
{
  readline();

  if (strncmp(buffer, "$GPRMC",6) == 0) {
 
    File dataFile = SD.open("gps.log", FILE_WRITE);

    if (dataFile) {
      dataFile.println(buffer);
      dataFile.close();
      Serial.println(buffer);
    } else {
      Serial.println(buffer);
    }
  }
}



void readline(void) {
char c;
char buffidx = 0;       

  while (1) {
    c = mySerialGps.read();
    if (c == -1) continue;
    if (c == '\n') continue;
      if ((buffidx == BUFFSIZ-1) || (c == '\r')) {
        buffer[buffidx] = 0;
        return;
      }
    buffer[buffidx++]= c;
  }
}