Какой щит использовать для GPRS?

9

Я планирую создать устройство, которое будет считывать некоторые данные датчика и отправлять их через GPRS, например. один раз в день (Да, не так уж и оригинально.) Но моя проблема - выбрать щит GSM / GPRS.

Официальный щит имеет приятный интерфейс для выполнения HTTP POST / GET . ОТО, щит, кажется, распродан (и все равно будет довольно дорогим).

Кажется, есть другие доступные щиты, но их примеры кода выглядят довольно хакерскими : устройство ждет произвольный момент и затем надеется, что сервер готов. Это ИМО и неэффективно или ненадежно.

Мой вопрос: какой GSM / GPRS щит вы бы порекомендовали, с этими функциями:

  • нормальная библиотека с примерами, такими как официальная
  • внешняя антенна
  • бонус: конкурентоспособная цена
  • еще один бонус: мы надеемся, что это «настоящий» щит, поэтому пайка не требуется, и несколько выводов по-прежнему легко использовать для датчиков.
tuomassalo
источник

Ответы:

3

Эта библиотека должна работать практически со всем, что имеет модуль M10.

У меня есть только опыт работы с модулями SIM900. Нашел самый дешевый на EBay.

В то время как взаимодействие с этими вещами поначалу может быть сложной задачей, вам просто нужно прочитать руководство по всем командам AT и выполнить их. Я написал несколько функций, которые могут помочь:

Примечание: вы можете смело заменять все экземпляры DEBUG_PRINTи DEBUG_PRINTLNна Serial.printи 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
источник
3

Я бы порекомендовал официальный щит Arduino GSM .

Manihatty
источник
Какой из них вы рекомендуете? Хотите разработать?
Рикардо
1
Arduino GSM щит . Я использую это, он работает нормально и его официальный щит Arduino.
Манихатти
К сожалению, официальный Arduino GSM щит теперь снят с производства.
Hamish_Fernsby
2

В итоге я заказал плату Elechouse, которая использует чип M10. Нашел один на eBay за 59 грн. Похоже, что работает нормально с официальной библиотекой.

Как сказано в руководстве, на него должно подаваться внешнее питание - кабеля USB недостаточно!

tuomassalo
источник
Вы нашли надёжную доску элехуса, она отправляет / получает gprs нормально?
Hamish_Fernsby
Поддерживается ли 2G в вашей стране? По крайней мере, в Европе есть планы отключить сеть 2G, а выбранный вами модуль не поддерживает 3G
габонатор
0

LinkitOne - это не щит, а совместимая плата контроллера Arduino со встроенным GSM / GPRS / GPS / Wifi. В библиотеке comms не так много методов диагностики, как, например, в Adafruit, но она была проста в настройке и надежна. Основным недостатком LinkitOne было то, что он использует процессор, отличный от Arduinos, поэтому многие библиотеки Arduino несовместимы, например, для устройств I2C.

Версия Adafruit Fona SIM808 2G Shield. схема щита, но стекируемые заголовки должны быть куплены и припаяны отдельно. Распиновки по умолчанию работают с Uno, но для Mega требуются моды. Библиотека имеет множество удобных методов диагностики (напряжение батареи, уровень сигнала и т. Д.). работал с предоплаченной SIM-картой giffgaff, но почему-то не с vodafone. СМС работал нормально. Я мог подключиться к GPRS, но получение html с сайта не работало.

DFRobot SIM808 GPS / GPRS / GSM Shield - Предварительно смонтированные соединяемые в штырьковые разъемы экрана, инструкции по загрузке кода и эксплуатации устройства являются сложными и расплывчатыми. Я даже не смог получить базовую связь с Arduino для работы. Либо библиотека очень глючная, либо мое устройство неисправно.

SEEEDStudio 113030009 GPRS Shield с антенной и внешним держателем SIM-карты V3.0 Я, вероятно, расскажу об этом позже.

Официальная плата Arduino GSM ПРОДОЛЖЕНА

Модуль Sparkfun GSM / GPRS - SM5100B ПРОДОЛЖЕНО

Hamish_Fernsby
источник