Приветствую Вас ГостьПятница, 03.05.2024, 08:01

AVR & ARDUINO




Каталог статей

Главная » Статьи » Справочник

Библиотека GSM

Библиотека GSM включена в Arduino IDE, начиная с версии 1.0.4.

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

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

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

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

Так как библиотека GSM поддерживает различную функциональность, она объединяет в себе несколько различных классов:

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

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

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

Класс GSM

Этот класс содержит функции для управления модемом

GSM

begin()

isAccessAlive()

getStatus()

HWrestart()

HWstart()

ready()

shutdown()

Класс GSMVoiceCall

Позволяет осуществлять голосовую связь через модем. Для наиболее полного использования к устройству рекомендуется добавить микрофон и динамик.

GSMVoiceCall

getVoiceCallStatus()

ready()

voiceCall()

answerCall()

hangCall()

retrieveCallingNumber()

Класс GSM_SMS

Отвечает за отправку и получение SMS-сообщений

GSM_SMS

beginSMS()

ready()

endSMS()

available()

remoteNumber()

read()

write()

print()

peek()

flush()

Класс GPRS

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

GPRS

attachGPRS()

detachGPRS()

getIPAddress()

getStatus()

ready()

Класс GSMClient

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

GSMClient

ready()

connect()

beginWrite()

write()

endWrite()

connected()

read()

available()

peek()

flush()

stop()

Класс GSMServer

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

GSMServer

begin()

ready()

beginWrite()

write()

endWrite()

read()

available()

stop()

Класс GSMModem

Класс GSMModem содержит функции для диагностики состояния модема.

GSMModem

begin()

getIMEI()

Класс GSMScanner

Класс GSMScanner предоставляет информацию о состоянии сети и провайдера.

GSMScanner

begin()

getCurrentCarrier()

getSignalStrength()

readNetworks()

Класс GSMPIN

Класс GSMPIN содержит вспомогательные функции для рабоыт с SIM-картой.

GSMPIN

begin()

isPIN()

checkPIN()

checkPUK()

changePIN()

switchPIN()

checkReg()

getPINUsed()

setPINUsed()

Класс GSMBand

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

GSMBand

begin()

getBand()

setBand()

 

 

Примеры

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

Инструментарий

Для получения дополнительной информации о GSM-плате расширения см. страницы Начало работы и Аппаратные средства GSM-платы расширения.


Справочник

Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.



Источник: http://arduino.cc/en/Reference/GSM
Категория: Справочник | Добавил: magi (26.02.2015)
Просмотров: 3018 | Теги: библиотека, GPRS, gsm, arduino | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Поиск
Вход на сайт
На правах рекламы

Мы переезжаем на сайт Arduino по-русски