3G-модули SIMCom: осваиваем на примерах. Часть 1
GSM/GPRS-модули класса 10 B имеют входящую скорость скачивания максимум 42,8 кбит/с, а исходящую — 85,6 кбит/с. Этого недостаточно, чтобы передавать большие объемы данных или потоковое видео. Кроме того, при высокой нагрузке сети голосовым трафиком оператор сотовой связи отдает приоритет голосовому каналу, а канал GPRS вытесняется, что ведет к падению скорости передачи данных или полному его отключению на неопределенное время. В отличие от GPRS, широкополосная технология передачи данных WCDMA в 3G-сетях является более надежным и энергоэффективным транспортом данных. К примеру, на передачу 1 Мбайт данных GSM/GPRS-модулю могут потребоваться минуты, а 3G-модулю — единицы секунд. В высокоскоростных мобильных решениях применение 3G-модуля — оправданный выбор.
Известная во всем мире компания SIMCom Wireless Solutions (http://www.sim.com), производитель беспроводных OEM-модулей, всегда предлагала продукцию, адекватно отвечающую требованиям целевого рынка, и наличие в каталоге ее продукции широкой линейки 3G-модулей вполне закономерно.
3G-модули SIMCom — многофункциональные и технически сложные устройства. Не всегда в кратких рекламациях можно полно отразить все их возможности, тем более те, которые разработчик встраиваемых решений потенциально может заложить в свое изделие. В данной статье освещаются практически все ключевые технические особенности 3G-модулей SIMCom и даются конкретные примеры их применения. Статья предназначена для разработчиков и может использоваться в качестве практического руководства по применению для быстрого освоения этих устройств.
Линейка высокоскоростных 3G-модулей SIMCom
Каждый из 3G-модулей SIMCom имеет свое уникальное сочетание поддерживаемых функций. Рассмотрим модули SIM5215/16/18 и SIM5320 (рис. 1). Их основные технические характеристики представлены в таблице.
Полное наименование | SIM5215E | SIM5216Ed | SIM5218A | SIM5320E |
Чипсет | QSC6240 | QSC6270 | MSM6290 | QSC 6270 |
Диапазон частот GSM | 850/900/1800 | 850/900/1800/1900 | ||
Диапазон частот UMTS | 900/2100 | 850/1900/2100 | 900/2100 | |
Передача данных CSD в сети GSM, кбит/с | 14,4 | |||
Передача данных CSD в сети UMTS, кбит/с | 57,6 | |||
Передача данных GPRS, кбит/с | Class 12 B MCS1-MCS9: d = 85,6; u = 42,8 | |||
Передача данных EDGE, кбит/с | Class 12 A MCS1-MCS9: d = 236,8; u = 118,4 | |||
Передача данных 3G | UMTS: d = u = 384 кбит/с | UMTS: d = u = 384 кбит/с; HSDPA: d = 3,6 Мбит/с |
UMTS: d = u = 384; HSUPA: u = 5,67 Мбит/с; HSUPA+HSDPA: d = 3,6 Мбит/с; u = 2 Мбит/с |
UMTS:d = u = 384 кбит/с; HSDPA: d = 3,6 Мбит/с |
Интерфейс фото/видеокамеры | Да | Нет | ||
Интерфейс памяти MMC/SD | Да | Нет | ||
Аудиоинтерфейс | Цифровой (PCM) и аналоговый (2 входа/3 выхода) | Цифровой (PCM) и аналоговый (1 вход/2 выхода) | ||
Интерфейсы для управления | USB/UART | |||
USB-драйвера | Windows (сертификат), WinCE, Linux | |||
Доп. интерфейсы | I2C | I2C/SPI | ||
GPS | Нет | Да | ||
Тональный модем in-band modem (eCall, «ЭРА-ГЛОНАСС») | Нет | 9.4.0 | ||
Монтаж | Board-to-Board | SMD | ||
Габариты, мм | 36×26×4,5 | 58×26×4,5 | 30×30×2,9 | |
Рабочая температура, °С | –40…+85 | |||
Напряжение питания, В | 3,3–4,2 | |||
Отладочное средство | SIM5212EVB KIT | SIM5320EVB KIT |
В этой серии имеются модули как для монтажа в разъем, так и для SMD-монтажа. Устройства отличаются друг от друга в основном скоростью передачи данных в сети UMTS. SIM5215 и SIM5216 имеют одинаковые 70-пиновые системные разъемы, габаритные размеры, набор функций, систему команд и в некоторых приложениях могут просто заменять друг друга. Модуль SIM5218 отличается размером, но имеет аналогичный разъем и в частном случае может быть включен вместо SIM5215 или SIM5216. Применение SIM5218 целесообразно, когда требуется высокая скорость выгрузки. Также надо отметить, что SIM5218 имеет встроенный блок GPS, работающий под управлением специального набора АТ-команд. SIM5320 по скоростям обмена идентичен с SIM5216, но при этом имеет блок GPS как SIM5218, не имеет интерфейса камеры и интерфейса для подключения карты памяти SD/MMC.
Все модули построены на различных чипсетах компании Qualcomm (США), крупнейшего производителя средств беспроводной связи. Благодаря высокопроизводительному чипсету каждый модуль имеет богатый набор мультимедийных функций, которые поддерживаются на аппаратном уровне, например кодирование и декодирование MPEG и H.264 кодеков. Это гарантирует простоту и стабильность работы 3G-модулей.
Надо отметить наличие у SIM5320E аппаратного тонального модема (in-band modem), используемого для передачи MSD-сообщений (Minimal Set of Data, минимальный набор данных) в системах экстренного реагирования на аварии «ЭРА-ГЛОНАСС»/eCall.
Отладочные средства (Evaluation KIT)
Разработчикам для быстрого и удобного изучения модулей предлагаются отладочные наборы, которые в своем комплекте содержат все необходимые аксессуары. 3G-модули имеют интерфейс High Speed USB 2.0, и для работы с ними при подключении к хосту через интерфейс USB требуются оригинальные драйверы от SIMCom. Их можно получить по запросу у инженеров технической поддержки компании или у официального регионального дистрибьютора.
Модули имеют свой набор АТ-команд, которыми управляется работа модулей. АТ-команды могут подаваться на модуль через последовательный порт UART или на виртуальный COM-порт SimTech HS-USB ATCOM 9000. Допустимый диапазон скоростей обмена 300–4 000 000 бит/с. При написании данной статьи применялись отладочные средства SIM5212EVB KIT, SIM5320EVB KIT (рис. 2) и соответствующие 3G-модули. Отладочные средства имеют разъемы USB и RS232. Питание на них может подаваться непосредственно от USB-интерфейса или сетевого адаптера. В отладочном комплекте для SIM5320, кроме прочего, имеется активная GPS-антенна.
Чтобы начать работу c 3G-модулем, необходимо собрать отладочный комплект воедино. Соедините антенну с модулем через кабельную сборку и установите модуль в системный разъем. Установите SIM-карту в соответствующий держатель. Вставьте разъем USB отладочного средства в USB-разъем компьютера и непродолжительным нажатием на кнопку ON/OFF включите модуль, при этом на плате должен засветиться светодиодный индикатор.
Модули SIM5215/16/18 и SIM5320 являются составными USB-устройствами. Поэтому в операционной системе после подачи питания и включения модуля определятся пять неизвестных устройств — при условии, что драйвер ранее не был инсталлирован (рис. 3).
Поочередно установите драйверы для этих устройств. После процесса установки драйверов определятся модем, три последовательных порта и сетевой контроллер Ethernet (есть у всех 3G-модулей, кроме SIM5320). На рис. 3 показана часть окна диспетчера устройств Windows до установки USB-драйверов и после.
Подключение компьютера к высокоскоростному Интернету
Для подключения компьютера с операционной системой Windows 2000/XP/7 к Интернету может быть использован USB-профиль Sim Tech HS-USB Modem 9000. Остальные профили для этих целей не понадобятся. К модулю должна быть подключена SIM-карта оператора сотовой связи, имеющего покрытие 3G-сетью в месте, где происходит соединение c Интернетом.
Предварительно настраивать модуль не нужно, необходимо лишь создать на компьютере новое подключение. Зайдите в меню «Пуск»→«Настройка»→«Сетевые подключения» и запустите мастер нового подключения. Далее следуйте примеру, приведенному на рис. 4.
Соединение готово, теперь активируйте его, нажав кнопку «Вызов» (рис. 5).
При этом в нижней части экрана появится соответствующее сообщение (рис. 6).
Модуль SIM5218, как показано в таблице 1, способен работать в сети 3G с максимальной скоростью закачки 7,2 Мбит/с и выгрузки 5,67 Мбит/с. Чтобы определить скорость обмена в полевых условиях, можно воспользоваться бесплатным сервисом сайта www.speedtest.net. Результат тестирования (рис. 7) показал, что модуль обеспечил скорость скачивания 1,6 Мбит/с и скорость выгрузки 1,32 Мбит/с, что соответствует режимам работы HSDPA и HSUPA.
Надо помнить, что скорость обмена зависит не только от самого модуля, а также и от загруженности сети, и от реализации аппаратной части конечного изделия.
Работа с файловой системой 3G-модуля: запись/чтение файлов
Благодаря чипсету Qualcomm, программным ядром 3G-модулей является высоконадежная операционная система реального времени BREW (Binary Runtime Environment for Wireless), которая имеет оригинальную древовидную файловую систему, делящуюся на внутреннюю и внешнюю память. Внутренняя память физически расположена в самом модуле, а внешняя — это карта памяти формата MMC/SD, которая может быть подключена к модулю по соответствующему интерфейсу. Файловая система имеет древовидную структуру, внутренняя и внешняя память соответствуют веткам C:/ и D:/. Максимальный размер внешней памяти не ограничен.
При включении модуль автоматически создает четыре папки в каждой ветке: Picture, Audio, Video и VideoCall. Picture, Audio и Video предназначены для хранения фотоснимков, аудиозаписей и видеофайлов соответственно. Папка VideoCall содержит медиафайлы, сохраненные во время видеозвонков.
Так как у SIM5320 нет SD/MMC-интерфейса, его файловая система имеет только внутреннюю память (C:/). Однако для многих задач вполне достаточно внутренней памяти 20 Мбайт, из которых под системные нужды занято лишь 900 кбайт (версия ПО 1575B02SIM5320E).
Работа с файловой системой осуществляется посредством АТ-команд, которые позволяют:
- выбирать текущую папку;
- создавать новые папки;
- удалять файлы и папки;
- получать список папок и файлов;
- переименовывать файлы;
- получать размер и дату создания файла;
- получать размер доступной памяти (полный и используемый);
- выбирать место хранения фотоснимков, видео- и аудиофайлов (C:/ или D:/);
- копировать файлы из одной папки в другую.
В зависимости от поставленной задачи при помощи АТ-команд операции записи/чтения файлов можно производить различными путями:
- сохранять в память фото- и видеофайлы, полученные от аналоговой или CMOS-камеры;
- сохранять/воспроизводить аудио (распространяется и на голосовые соединения, и на аудиоинтерфейс);
- сохранять файлы, полученные от удаленного FPT-сервера, или отправлять файлы на удаленный FTP-сервер;
- сохранять/считывать файлы с компьютера через последовательный порт UART или USB-профиль SIMtech HS-USB ATCOM 9000 при помощи стандартного протокола XMODEM или XMODEM-1K.
Примеры применения камеры и FTP-протокола будут приведены далее. Для чтения файлов из модуля при помощи протокола XMODEM используется АТ-команда AT+CTXFILE.
Пример АТ-лога для чтения видеофайла, расположенного во внешней памяти (на SD-карте), через последовательный порт 3G-модуля:
AT+FSCD? // Выяснить текущую папку +FSCD: C:/ OK AT+FSCD=D:/ // Сделать SD-карту текущей папкой OK AT+FSLS // Список файлов и папок в текущей папке +FSLS: SUBDIRECTORIES: Audio Picture Video VideoCall OK AT+FSCD=D:/Video // Перейти к папке с видеофайлами +FSCD: D:/Video/ OK AT+FSLS // Получить список видеофайлов +FSLS: FILES: 19800106_021040.mp4 OK AT+CTXFILE=”19800106_021040.mp4”,0 // Передать файл в последовательный порт OK
После того как будет подана команда AT+CTXFILE, модуль будет готов к передаче файла. Чтобы принять файл на компьютер, можно воспользоваться стандартной программой HyperTerminal или любой другой аналогичной. На рис. 8 приведен пример того, как настроить HyperTerminal, чтобы принять файл из модуля по последовательному порту. В примере файл сохраняется на компьютере под именем video.mpg. Имя и расширение файла задаются вручную.
Аналогичным образом по протоколу XMODEM или XMODEM-1K можно передавать файлы из компьютера на модуль. Только на этот раз нужно применить команду AT+CRXFILE.
Пример АТ-лога для записи текстового файла во внешнюю память (SD-карта) через последовательный порт 3G-модуля по протоколу XMODEM:
AT+FSCD? // Выяснить текущую папку +FSCD: C:/ OK AT+FSCD=D:/ // Сделать SD-карту текущей папкой OK AT+FSMKDIR=XMODEM // Создать папку XMODEM OK AT+FSCD=D:/XMODEM // Перейти к папке XMODEM +FSCD: D:/XMODEM/ AT+FSMEM +FSMEM: C(7117312, 4558336), D(1996759040,567402496) // Проверить наличие свободной памяти OK AT+CRXFILE=”XMODEM.txt”,0 // Принять файл из последовательного порта OK
Далее на стороне компьютера при помощи HyperTerminal или аналогичной программы необходимо произвести отправку файла на последовательный порт. На рис. 9 приведен пример того, как это сделать в HyperTerminal.
После окончания передачи файла 3G-модуль передаст в последовательный порт символ «С».
Есть еще один способ работы с файловой системой — режим Mass Storage Device. Этот режим поддерживается модулями SIM5215/16. Модуль с подключенной к нему SD/MMC-картой памяти при подключении через USB-интерфейс к компьютеру с ОС Windows 2000/XP/7 определится как внешний накопитесь (рис. 10).
Режим Mass Storage Device инициализируется командой AT+CUSBMSS=1. После этого модуль нужно перезагрузить (выключить/включить). При этом в диспетчере устройств (рис. 3) вместо SimTech Wireless HS-USB Ethernet Adapter 9000 определится «Запоминающее устройство для USB». Теперь при помощи компьютера с внешней памятью 3G-модуля можно работать как с обычным дисковым накопителем, используя привычный способ работы с файлами.
Надо отметить, что после команды AT+CUSBMSS происходит перенумерация USB-устройств в операционной системе, и после первой перезагрузки модуля потребуется повторная установка USB-устройств. Кроме того, в режиме Mass Storage Device доступ к внешней памяти (D:/) при помощи АТ-команд отсутствует. Доступ к внутренней памяти (C:/) сохраняется.
Интерфейс камеры
Модули SIM5215/16/18 имеют интерфейс для подключения цифровой камеры. Камера может быть использована для съемки фото и видео. Модули поддерживают работу с цифровыми камерами, построенными на сенсоре OV2640 (2 Mpix), OV7670 (0,3 Mpix) или OV7725 (0,3 Mpix).
Кроме цифровых камер, модули могут работать и с аналоговыми NTSC/PAL-камерами формата YUV и RGB. Для преобразования аналогового сигнала дополнительно потребуется внешний видеодекодер AK8856. AK8856 имеет два канала для подключения двух аналоговых видеокамер, между которыми можно переключаться при помощи команды AT+CCAMCHL. Для выбора формата между NTSC и PAL применяется команда AT+CCAMMD.
Схема подключения AK8856 к 3G-модулю показа на рис. 11, где: DATA(2:9) — 8-битная параллельная шина данных; VSYNC и HSYNC — сигналы вертикальной и горизонтальной синхронизации соответственно; PCLK — тактовый сигнал захвата точки; I2C — последовательная шина управления; STANDBY — сигнал режима энергосбережения («0» — нормальный режим, «1» — спящий). Для работы видеодекодера требуется также сигнал тактирования CLK с частотой 27 МГц, который должен поступать от внешнего генератора. Сигналы видеоинтерфейса 3G-модуля DATA(2:9), VSYNC, HSYNC, PCLK и I2C сопряжены с сигналами видеодекодера D(0:7), VD/VA/FIELD, DVALID, DTCLK и SCL/SDA. Следует обратить внимание, что сигналы STANDBY и PDN находятся в противофазе.
Кроме указанных, модули поддерживают АТ-команды, позволяющие: менять разрешение изображения, задавать частоту видеокадров, поворачивать изображение, включать режим ночной съемки, управлять балансом белого и яркостью изображения, задавать масштаб (zoom), а также производить захват фото в формате JPEG и производить запись видео в формате MP4. Кроме этого, при помощи АТ-команд процесс записи видео может быть приостановлен, а потом при необходимости возобновлен.
Ниже приведены примеры АТ-лога, в котором производится запись фотоснимка 2 Mpix (пример 1) и видео со звуком (пример 2) с сохранением во внешнюю память (SD-карта).
Пример 1: AT+FSMEM // Проверка свободного места +FSMEM: C(7117312, 4558336), D(1996759040, 567402496) OK AT+FSLOCA=1 // Место для хранения фото – SD-карта (D://) OK AT+CCAMS // Включить камеру OK AT+CCAMSETD=1600,1200 // Установить разрешение камеры OK AT+CCAMSETWB=1 // Автоматический баланс белого OK AT+CCAMSETB=3 // Установить яркость OK AT+CCAMTP // Захватить фотокадр OK AT+CCAMEP // Сохранить фото в формате JPEG D:/Picture/19800106_002311.jpg // Полное имя фото-файла OK AT+CCAME // Выключить камеру OK Пример 2: AT+FSMEM // Проверка свободного места +FSMEM: C(7117312, 4558336), D(1996759040,568442880) OK AT+FSLOCA=1 // Место для хранения фото — карта памяти (D://) OK AT+CSDVC=2,1 // Установить источник аудио сигнала OK AT+CCAMS // Включить камеру OK AT+CCAMSETD=320,240 // Установить разрешение камеры OK AT+CCAMSETF=2 // Частота 15 кадров в секунду OK AT+CCAMRS // Начать запись видео D:/Video/19800106_021040.mp4 OK AT+CCAMPP // Приостановить запись (пауза) OK AT+CCAMRR // Продолжить запись OK AT+CCAMRE // Прекратить запись видео (стоп) OK AT+CCAME // Выключить камеру OK
Запись/воспроизведение аудио
Модули SIM5215/16/18 можно использовать в качестве диктофона, который позволяет вести запись звукового сигнала, поступающего от удаленного абонента во время голосового вызова, от аудиогарнитуры или от цифрового аудиоинтерфейса модуля (PCM). Запись звука происходит в формате AMR (Adaptive Multi Rate) или QCP (формат Qualcomm). Записанные аудиофайлы впоследствии можно воспроизвести на внешнем динамике и/или транслировать в сторону удаленного абонента прямо во время голосового вызова. В зависимости от настроек записи сохраняются во внутреннюю или внешнюю память.
Процесс записи/воспроизведения аудио-файлов осуществляется посредством АТ-команд. Пример АТ-лога записи звукового сигнала, поступающего от аудиогарнитуры:
AT+CSDVC=2,1 // Аудиоканал headset OK AT+FSLOCA=1 // Место для записи – внешняя память OK AT+FSMEM // Проверка свободного места +FSMEM: C(7117312, 4558336), D(1996759040,568442880) OK AT+CQCPREC=0,amr // Начать запись аудиофайла D:/Audio/198000106_020720.amr OK AT+CQCPPAUSE // Приостановить запись аудиофайла OK AT+CQCPRESUME // Восстановить запись аудиофайла OK AT+CQCPSTOP // Остановить запись OK
АТ-лог для записи звукового сигнала, поступающего от удаленного абонента, немного отличается:
AT+FSLOCA=1 // Место для записи – внешняя память OK AT+FSMEM // Проверка свободного места +FSMEM: C(7117312, 4558336), D(1996759040,568442880) OK ATDxxxxxxxxxxx; // Осуществляем голосовую связь OK VOICE CALL: BEGIN AT+CQCPREC=1,qcp // Начать запись аудиофайла D:/Audio/198000106_021736.qcp OK AT+CQCPPAUSE // Приостановить запись аудиофайла OK AT+CQCPRESUME // Восстановить запись аудиофайла OK AT+CQCPSTOP // Остановить запись OK AT+CHUP // Разрываем голосовую связь OK VOICE CALL: END 000020
Запись аудио при активном голосовом вызове в формате QCP возможна при работе в сетях UMTS или GSM, а формат AMR доступен только при работе в сети UMTS.
Видеозвонок
Операторы сотовой связи с развитой сетью UMTS, кроме услуги высокоскоростного доступа Интернет, также предоставляют услугу видеозвонка. Видеозвонок — телефонный звонок, сопровождающийся передачей не только голоса, но и видеоизображения говорящих сторон.
Сервис видеозвонка основан на видеотелефонном протоколе 3G-324M с применением технологии передачи данных Circuit Switched Data 64 kbps. Стабильность и качество канала связи между говорящими сторонами во время видеозвонка обеспечивается применением протокола H.245, который описывает процедуру установления общего набора мультимедийных возможностей: в рамках процедуры установления вызова стороны обмениваются информацией о кодеках и договариваются о том, на каком из них будет проходить разговор (обмен мультимедийными данными). Если одна сторона не имеет определенного кодека, то другой стороне использовать его нельзя.
3G-модули SIM5215/16/18 поддерживают кодеки:
- аудиокодек AMR, скорость передачи 12,2 кбит/с, скорость приема любая;
- видеокодек MPEG-4, разрешение передаваемого и принимаемого видео QCIF (176×144) — до 15 кадров в секунду.
Во время видеозвонка 3G-модуль передает удаленной стороне видеопоток, поступающий от локального источника, в качестве которого могут выступать: подключенная к модулю видеокамера (CMOS-камера/AK8856), статический рисунок формата JPEG/BMP или видеозапись из файловой системы модуля. Удаленной стороной может быть любое мобильное 3G-устройство, поддерживающее функцию видеозвонка и находящееся в сети UMTS (рис. 12).
АТ-лог для осуществления исходящего видеозвонка:
AT+VPSOURCE=1 // Источник видео: камера OK AT+VPMAKE=XXXXXXXXXXX // Инициировать видеозвонок VPACCEPT // Модуль готов осуществить видеозвонок OK VPRINGBACK // Звонок на удаленную сторону прошел VPSETUP // Согласование настроек VPCONNECTED // Связь установлена ……………… // Разговор AT+VPEND // Прервать видеозвонок OK VPEND: 50 // Длительность видеозвонка 50 с
Функция видеозвонка может быть расширена сохранением видеопотока, поступающего от удаленной стороны и/или локального источника (CMOS-камера или AK8856). В зависимости от настроек видео может сохраняться во внутреннюю память в папке C:/VideoCall/ или во внешнюю память в папке D:/VideoCall/. Чтобы оптимизировать качество и размер видеофайлов, имеется возможность регулировать частоту кадров при помощи соответствующей АТ-команды.
Ниже приведен простой пример установления видеозвонка с записью во внешнюю память принимаемого и передаваемого видеопотока.
AT+FSLOCA=1 // Место для записи – внешняя память OK AT+VPQLTY=15 // Качество видео 15 кадров в секунду OK AT+VPSOURCE=1 // Источник видео: камера OK AT+VPRECORD=3 // Запись удаленного и локального видео OK VPINCOM XXXXXXXXXXX // Индикация входящего видеозвонка AT+VPANSWER // Принимаем входящий видеозвонок OK VPSETUP // Согласование настроек VPCONNECTED // Связь установлена ……………… // Разговор AT+VPRECORD=0 // Остановить запись OK AT+VPEND // Прервать видеозвонок OK VPEND: 102 // Длительность видеозвонка 102 с
Время записи при видеозвонке ограничено 9000 кадров и при частоте 15 кадров в секунду соответствует примерно 10 мин. При достижении предела запись остановится, и модуль выдаст сообщение в последовательный порт в виде URC-кода «VP MP4 REACH TIME». В случае если в файловой системе нет больше места для записи, модуль сообщит об этом URC-кодом «VP MP4 NO MEMORY» и прекратит запись.
Вместо «онлайнового видео» 3G-модули посредством видеозвонка позволяют передавать удаленной стороне фото- и видеофайлы, находящиеся в файловой системе. Важно, чтобы разрешение фото- и видеофайлов было строго 176×144 пикселей. Пример:
AT+FSCD=D:/Picture // Перейти к папке с фото-файлами +FSCD: D:/ Picture / OK AT+FSLS // Получить список фотофайлов +FSLS: FILES: test.jpg OK AT+VPSOURCE=2,”test.jpg” // Источник видео: фото-файл OK VPINCOM XXXXXXXXXXX // Индикация входящего видеозвонка AT+VPANSWER // Принимаем входящий видеозвонок OK VPSETUP // Согласование настроек VPCONNECTED // Связь установлена ……………… // Разговор AT+VPEND // Прервать видеозвонок OK VPEND: 240 // Длительность видеозвонка 240 с
Во время видеозвонка 3G-модули позволяют не только производить запись видео, но и выводить в цифровом формате видеопоток, поступающий от удаленной стороны или от локального источника (CMOS-камера/AK8856), в диагностический порт модуля через USB-профиль SimTech HS-USB NMEA 9000 (см. рис. 3). Спецификация видео:
- формат MP4;
- разрешение 176×144 пикселей;
- звук AMR (12,2 кбит/с).
Так, 3G-модуль («B» на рис. 13), подключенный к персональному компьютеру, сможет принимать видеоданные от другого аналогичного 3G-модуля («A» на рис.13) и транслировать их на компьютер, где видеопоток может быть преобразован в видеоизображение со звуком.
Видеопоток поступает на диагностический порт в формате, описанном в соответствующем руководстве по применению. Ниже приведен пример АТ-лога для организации вывода видеопотока на компьютер через USB-интерфейс. Этот лог относится к модулю «B» на рис. 13, при этом модуль «А» совершает видеозвонок на модуль «В», указав подключенную видеокамеру в качестве источника видео.
Пример:
AT+DSWITСH=1 // Диагностический порт в DATA-режиме OK AT+VPRECORD=4 // Вывод удаленного видеопотока в порт OK VPINCOM XXXXXXXXXXX // Индикация входящего видеозвонка AT+VPANSWER // Принимаем входящий видеозвонок OK VPSETUP // Согласование настроек VP MP4 READY // Вывод видео в диагностический порт начался VPCONNECTED // Связь установлена ……………… // Вывод видео в диагностический порт AT+VPRECORD=0 // Остановить запись OK VP MP4 DONE // Вывод видео в диагностический порт остановлен AT+VPEND // Прервать видеозвонок OK VPEND: 310 // Длительность видеозвонка 310 с AT+DSWITCH=0 // Вывести диагностический порт из режима DATA OK
Видеопоток в диагностический порт выводится в моменты между URC-сообщениями «VP MP4 READY» и «VP MP4 DONE». По приему сообщения «VP MP4 READY» хост должен начать вывод видео на монитор или начать запись в файл. «VP MP4 DONE» должен служить для хоста сигналом о прекращении вывода видеопотока.
Для схемы, изображенной на рис. 13, возможен более простой вариант, когда вместо видеопотока на диагностический порт модуля «В» выводятся отдельные видеокадры в заданном количестве и с заданным интервалом. В зависимости от настроек, источником видеокадров может быть удаленная сторона или локальная видеокамера. В случае вывода видеокадров звук от удаленной стороны «А» отсутствует. Каждый видеокадр размером 176×144 пикселей представляет собой пакет из 50688 байт, кодированный в формате RGB565.
Ниже приведен пример АТ-лога для организации вывода на компьютер через USB-интерфейс видеокадров в неограниченном количестве с интервалом 70 кадров и пяти видеокадров с интервалом 10 кадров. Этот лог относится к модулю «B» на рис. 13, при этом модуль «А» совершает видеозвонок на модуль «В».
Пример:
AT+DSWICTH=1 // Диагностический порт в DATA-режиме OK VPINCOM XXXXXXXXXXX // Индикация входящего видеозвонка AT+VPANSWER // Принимаем входящий видеозвонок OK VPSETUP // Согласование настроек VPCONNECTED // Связь установлена AT+VPFRAME=1,255,70 // Вывод видеокадров неограниченного количества +VPFRAME: 1, 255, 70 OK AT+VPFRAME=0,0,0 // Остановить вывод видеокадров +VPFRAME: 0, 0, 0 OK AT+VPFRAME=1,5,10 // Вывод пяти видеокадров +VPFRAME: 1, 15, 10 OK AT+VPEND // Прервать видеозвонок OK VPEND: 330 // Длительность видеозвонка 330 с AT+DSWITCH=0 // Вывести диагностический порт из режима DATA OK
Вывод видеокадров прекращается при разрыве связи с удаленной стороной или напрямую, помощи команды AT+VPFRAME=0,0,0.
Во многих приложениях при осуществлении видеозвонка наверняка может дополнительно потребоваться удаленное управление работой 3G-модуля. Например, чтобы переключаться между видеоканалами AK8856 или чтобы сменить разрешение видеокамеры. Управление можно реализовать при помощи DTMF-сигналов, принимаемых 3G-модулем. Генерировать DTMF-сигналы и передавать удаленной стороне (3G-модулю) во время действующего вызова может любой современный мобильный телефон. 3G-модули позволяют как передавать DTMF-коды в сеть, так и принимать и декодировать их:
AT+VPSOURCE=1 // Источник видео — камера OK VPINCOM XXXXXXXXXXX // Индикация входящего видеозвонка OK AT+VPANSWER // Принимаем входящий видеозвонок OK VPSETUP // Согласование настроек VPCONNECTED // Связь установлена AT+VPDTMF=”*10021” // Посылка DTMF-кода OK +VPRXDTMF: 564372 // Прием DTMF-кода AT+VPEND // Прервать видеозвонок OK VPEND: 50 // Длительность видеозвонка 50 с
Принципы передачи DTMF-сигналов в сетях GSM и UMTS отличаются. Поэтому для передачи DTMF-кода в GSM-сети применяется другая команда: AT+VTS, а индикация входящего DTMF-сигнала индицируется URC-сообщением «+RXDTMF:». При этом для стабильного декодирования DTMF-сигналов важно, чтобы фильтр аудиоканала в модуле был отключен (AT+CRXFTR=0,0,0,0,0,0,0).
Во второй части статьи, которая будет опубликована в следующем номере журнала «Беспроводные технологии», мы опишем следующие функции:
- посылка/прием мультимедийных сообщений MMS;
- посылка/чтение почты (SMTP, POP3);
- обмен файлами по протоколу FTP/FTPS;
- встроенный GPS-приемник;
- управление аппаратными интерфейсами;
- цифровой аудиоинтерфейс PCM;
- Lua: программирование 3G-модулей;
- «ЭРА-ГЛОНАСС»/eCall;
- обновление программного обеспечения 3G-модулей.
Здравствуйте. Есть способы реализации передачи данных по LAN кабелю?
Да, такое можно реализовать на LTE модуле. Например, SIM7600E-H.
Кстати, не стоит сейчас реализовывать проекты с применением 3G, эта технология умирает и не будет востребована в М2М через уже каких-то два года.
С уважением,
Батор Батуев
bator.batuev@simcom.com