Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Библиотеки/GSM

Материал из Онлайн справочника
Перейти к: навигация, поиск

{{#setlogo:ArduinoCommunityLogo.png}}

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Библиотека GSM[1]

Библиотека GSM идет в комплекте с IDE Arduino версии 1.0.4 и выше.

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

У GSM-модуля есть модем, передающий данные от последовательного порта в GSM-сеть. Операции выполняются модемом через серию AT-команд. Цель библиотеки GSM – предоставить программные абстракты для обслуживания низкоуровневой коммуникации между модемом и SIM-картой. Для коммуникации между модемом и Arduino библиотека GSM полагается на библиотеку Software Serial.

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

Структура

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

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

Совместимость

Разработчики старались сделать эту библиотеку максимально совместимой с библиотеками Ethernet и WiFi. Другими словами, если у вас есть скетч, использующий библиотеку Ethernet/WiFi, и вы хотите портировать его на Arduino с GSM-модулем, то с этим не должно возникнуть серьезных проблем. Впрочем, запустить этот скетч «как есть» не получится – в него нужно будет внести небольшие изменения. К примеру, подключить библиотеки, специфичные для GSM и GPRS, и добавить сетевые настройки от вашего мобильного оператора.

Примеры

Примеры для GSM-модуля можно поделить на две группы. Первая – это скетчи-примеры, иллюстрирующие возможности модуля (вроде отправки SMS или подключения к интернету). Вторая – это «обслуживающие» скетчи-примеры, то есть программные инструменты для проверки функционала библиотеки и компонентов модуля, которые она использует.

http://wikihandbk.com/wiki/Arduino:Примеры/GSMExamplesWebServer

Скетчи-примеры для демонстрации функций

  • GSM Web Client – Загрузка содержимого вебсайта на Arduino через GPRS
  • GSM Web Server – Создание беспроводного веб-сервера через GPRS
  • Make Voice Call – Звонок по телефону через монитор порта
  • Send SMS – Отправка SMS на разные телефонные номера через монитор порта
  • Receive Voice Call – Проверка статуса модема во время входящего телефонного звонка
  • Receive SMS – Получение SMS и их отображение на мониторе порта

http://wikihandbk.com/wiki/Arduino:Примеры/GSMExamplesTest_Web_Server

Скетчи-примеры для проверки и отладки

  • Band Management – Настройка диапазона частот, к которому будет подключаться GSM-модуль
  • GSM Scan Networks – Проверка доступных сетей
  • Pin Management – Управление PIN-кодом SIM-карты
  • Test GPRS – Проверка функциональности GPRS-сети при помощи SIM-карты
  • Test Modem – Получение IMEI-номера модема
  • Test Web Server – Создание веб-сервера при помощи GSM-модуля

Классы и функции

Класс GSM

Для коммуникации с модемом.

Класс GSMVoiceCall

Для голосовой коммуникации через модем. Чтобы в полной мере пользоваться этим функционалом, требуются микрофон и динамик.

Класс GSM_SMS

Для отправки и получения SMS-сообщений (от «Short Message Service», что значит «служба коротких сообщений»).

Класс GPRS

Отвечает за подключение файлов из библиотеки для обработки TCP-коммуникации.

Класс GSMClient

Для создания клиента, способного подключаться к серверам, а также отправлять/получать данные.

Класс GSMServer

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

Класс GSMModem

Для диагностической коммуникации с модемом.

Класс GSMScanner

Для получения диагностической информации о сети и мобильном операторе.

Класс GSMPIN

Для коммуникации с SIM-картой.

Класс GSMBand

Для получения информации о диапазоне частот, к которому подключен модем. Также имеет функции для настройки диапазона частот.

См.также

Внешние ссылки

  1. GSM library