Библиотека GSM входит в состав Arduino IDE 1.0.4 и более поздних версий .

Совместно с Arduino GSM Shield эта библиотека позволяет платформе Arduino выполнять большинство операций, которые доступны телефону GSM: посылать и принимать голосовые вызовы, отправлять и получать SMS, а также подключаться к Интернету через сеть GPRS.

Плата GSM имеет модем, который передает данные из последовательного порта в сеть GSM. Модем выполняет операции с помощью серии AT-команд. Библиотека обеспечивает низкоуровневую связь между модемом и SIM-картой. При этом используется библиотека  SoftwareSerial для связи между платой GSM и Arduino.

Как правило, каждая отдельная команда является частью большой серии, необходимой для выполнения определенной функции. Библиотека также может получать информацию и возвращать ее вам при необходимости.

Структура библиотеки

Поскольку библиотека обеспечивает несколько типов функциональности, существует ряд различных классов.

  • Класс GSM обеспечивает команды для радиомодема. Он обеспечивает аспекты подключения платы и регистрирует вашу систему в инфраструктуре GSM. Все ваши программы GSM / GPRS должны будут включать объект этого класса для обработки необходимого низкоуровневого соединения.
  • Обработка голосовых вызовов, управляемая классом GSMVoiceCall .
  • Отправка / получение SMS-сообщений, управляемых классом GSM_SMS .
  • GPRSClass предназначен для подключения к Интернету.
  • GSMClient включает в себя реализации для клиента, аналогичные библиотекамEthernet и WiFi .
  • GSMServer включает в себя реализации для сервера, аналогичные библиотекам Ethernet и WiFi . Обратите внимание, что ряд сетевых операторов не разрешают входящие соединения из общедоступного Интернета, но разрешают их изнутри. Узнайте у своего оператора, какие ограничения существуют на использование данных.
  • Ряд служебных классов, таких как GSMScanner и GSMModem

Совместимость с библиотекой Ethernet

Библиотека пытается быть максимально совместимой с текущей библиотекой Ethernet. Перенос программы из библиотеки Arduino Ethernet или WiFi в Arduino с GSM Shield должен быть довольно простым. Хотя невозможно просто запустить Ethernet-совместимый код на плате GSM как есть, потребуются некоторые незначительные изменения, специфичные для библиотек, такие как включение библиотек, специфичных для GSM и GPRS, и получение настроек конфигурации сети у вашего оператора сотовой сети.

Примеры

Существует две группы примеров для платы GSM. Существуют примеры, иллюстрирующие возможности платы. Например, как отправлять SMS-сообщения и подключаться к Интернету. Существует также набор примеров инструментов, которые вы можете использовать для отладки функциональности библиотеки и оборудования на более низком уровне.

  • Gsm Web Client : загрузка контента сайта на свою платформу Arduino через GPRS.
  • Gsm Web Server : создание беспроводного веб-сервера через GPRS.
  • Make Voice Call:  позвольте плате получать телефонные звонки с Serial Monitor.
  • Send SMS:  используйте Serial Monitor для отправки SMS-сообщений на разные телефонные номера.
  • Receive Voice Call: проверьте состояние модема при получении голосовых вызовов.
  • Receive SMS : читать SMS-сообщения и выводить их на Serial Monitor.

Инструменты:

  • Band Management : управление частотным диапазоном, к которому подключается плата GSM.
  • GSM Scan Networks : проверка наличия доступных сетей.
  • Pin Management : управление PIN-кодом своей SIM-карты.
  • Test GPRS : проверка правильности работы сети GPRS с помощью SIM-карты.
  • Test Modem : читает IMEI вашего модема.
  • Test Web Server : создает веб-сервер с вашей платой GSM.

Для получения дополнительной информации о GSM плате смотрите страницы Работа с платой GSM и GSM плата | Описание.