Arduino:Библиотеки/GSM
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Библиотека 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
Для получения информации о диапазоне частот, к которому подключен модем. Также имеет функции для настройки диапазона частот.
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Стандартные библиотеки
- Стандартная библиотека
- Стандартная библиотека Arduino
- Стандартные библиотеки Arduino