Qual escudo usar para GPRS?

9

Estou planejando construir um dispositivo que leia alguns dados do sensor e os envie via GPRS, por exemplo. Uma vez por dia. (Não é o original, sim.) Mas meu problema é escolher um escudo GSM / GPRS.

O escudo oficial tem uma interface agradável para executar um HTTP POST / GET . OTOH, o escudo parece estar esgotado (e seria muito caro de qualquer maneira).

Parece haver outros escudos disponíveis, mas seus exemplos de código tendem a parecer bastante invasivos : o dispositivo espera por um momento arbitrário e espera que o servidor esteja pronto. Isso é IMO ineficiente ou não confiável.

Minha pergunta: qual escudo GSM / GPRS você recomendaria, com os seguintes recursos:

  • uma biblioteca sã com exemplos, como a oficial
  • uma antena externa
  • bônus: um preço competitivo
  • outro bônus: espero que seja um escudo "real", para que nenhuma solda seja necessária e alguns pinos ainda sejam facilmente utilizáveis ​​para os sensores.
tuomassalo
fonte

Respostas:

3

Essa biblioteca deve funcionar com praticamente qualquer coisa que contenha o módulo M10.

Eu só tenho experiência com os módulos SIM900. Encontrado o mais barato no eBay.

Embora a interface com essas coisas possa ser um desafio a princípio, você realmente só precisa ler o manual de todos os comandos AT e executá-los. Eu escrevi algumas funções que podem ajudar:

Nota: você pode substituir com segurança todas as instâncias de DEBUG_PRINTe DEBUG_PRINTLNcom Serial.printe Serial.println.

SoftwareSerial SIM900(7, 8);

/*
    Sends AT commands to SIM900 module.

    Parameter   Description
    command     String containing the AT command to send to the module
    timeout     A timeout, in milliseconds, to wait for the response

    Returns a string containing the response. Returns NULL on timeout.

*/
String SIMCommunication::sendCommand(String command, int timeout) {
    SIM900.listen();
    // Clear read buffer before sending new command
    while(SIM900.available()) { SIM900.read(); }

    SIM900.println(command);

    if (responseTimedOut(timeout)) {
        DEBUG_PRINT(F("sendCommand Timed Out: "));DEBUG_PRINTLN(command);
        return NULL;
    }

    String response = "";

    while(SIM900.available()) {
        response.concat((char)SIM900.read());
        delayMicroseconds(500);
    }

    return response;
}

/*
    Waits for a response from SIM900 for <ms> milliseconds

    Returns true if timed out without response. False otherwise.
*/
bool SIMCommunication::responseTimedOut(int ms) {
    SIM900.listen();

    int counter = 0;
    while(!SIM900.available() && counter < ms) {
        counter++;
        delay(1);
    }

    // Timed out, return null
    if (counter >= ms) {
        return true;
    }
    counter = 0;
    return false;
}
sachleen
fonte
3

Eu recomendaria o escudo oficial do Arduino GSM .

Manihatty
fonte
Qual você recomenda? Cuidado ao elaborar?
611 Ricardo
11
Escudo Arduino GSM . Estou usando isso, está funcionando bem e é um escudo oficial do Arduino.
Manihatty
Infelizmente, o escudo oficial do Arduino GSM foi descontinuado.
Hamish_Fernsby
2

Acabei comprando uma placa Elechouse que usa o chip M10. Encontrado no eBay por 59 USD. Parece funcionar bem com a biblioteca oficial.

Como o manual diz, deve ser fornecida energia externa - o cabo USB não é suficiente!

tuomassalo
fonte
você achou a placa elechouse confiável, ela envia / recebe gprs ok?
precisa saber é o seguinte
O 2G é suportado no seu país? Pelo menos na Europa há planos para desligar a rede 2G e o módulo que você escolheu não suporta 3G
gabonator
0

LinkitOne - ok, não um escudo, mas uma placa controladora Arduino compatível com GSM / GPRS / GPS / Wifi embutido. A biblioteca de comunicações não possui tantos métodos de diagnóstico como, por exemplo, o Adafruit, mas foi fácil de configurar e confiável. A principal desvantagem do LinkitOne foi o fato de ele usar um processador diferente do Arduinos, de modo que muitas das bibliotecas do Arduino não são compatíveis, por exemplo, para dispositivos I2C.

Versão Adafruit Fona SIM808 2G Shield. layout de blindagem, mas cabeçalhos empilháveis ​​devem ser comprados e soldados separadamente. As pinagens padrão funcionam com o Uno, mas são necessários mods para o Mega. A biblioteca possui muitos métodos úteis de diagnóstico (voltagem da bateria, intensidade do sinal, etc.). trabalhou com SIM pré-pago da Giffgaff, mas não com a vodafone por algum motivo. O SMS funcionou bem. Eu poderia me conectar ao GPRS, mas a obtenção de html em um site não funcionou.

Escudo DFRobot SIM808 GPS / GPRS / GSM - conectores de blindagem empilháveis ​​pré-cabeados, instruções para fazer o upload do código e executar o dispositivo são complicadas e vagas. Eu nem consegui obter uma conexão básica com o Arduino para funcionar. A biblioteca está com muito bugs ou meu dispositivo está com defeito.

SEEEDStudio 113030009 Blindagem GPRS com antena e suporte externo para SIM V3.0 Provavelmente tetemos isso a seguir ..

Placa oficial Arduino GSM DISCONTINUED

Módulo GSM / GPRS Sparkfun - SM5100B INTERROMPIDO

Hamish_Fernsby
fonte