Modem-stretch

Материал из Wiren Board
Версия от 16:10, 8 апреля 2015; Fizikdaos (обсуждение | вклад) (Отмена правки 2280, сделанной участником Fizikdaos (обс.))

В Wiren Board установлен GSM/GPRS-модуль SIM900R, с помощью которого можно:

  • отправлять СМС
  • принимать СМС
  • устанавливать соединение с интернетом

Полный список возможностей смотрите в описании модуля.


Техническое описание

Полную документацию смотрите здесь:

Краткое описание:

  • Двухдиапазонный 900/1800 МГц
  • GPRS multi-slot class 10/8 max. 85.6 kbps (downlink)
  • Готовая ppp-конфигурация для работы в качестве модема в Linux
  • Возможно управление AT-командами (в том числе нестандартными – например, удалённый контроль через SMS)

Работа из Linux

Внутри контроллера модем подключён к процессору по двухпроводному последовательному порту (UART). В Linux этот порт отображается как псевдоустройство /dev/ttyAPP0 (первый порт (Application UART) процессора). Модуль управляется посредством передачи команд на этот порт.

Кроме того, модуль можно выключить и перезагрузить, подав сигналы на контакты модуля PWRKEY и RESET. Для этих целей написана простая утилита wb-gsm (примеры использования смотрите ниже). Прямой доступ к этим контактам реализован через GPIO (подробнее читайте GPIO, ищите в таблице соответствующие названия).

Включение модуля

Для включения или перезагрузки модуля можно пользоваться утилитой wb-gsm (исходники: https://github.com/contactless/wirenboard). Утилита установлена в стандартном образе в пакете wb-utils.


Примеры:

$ wb-gsm on #  включение устройства
$ wb-gsm off #  выключение устройства
$ wb-gsm reset #  перезагрузка включенного устройства


$ wb-gsm restart_if_broken #  включение или перезагрузка, если модем не отвечает

Работа с модулем

Ознакомьтесь с инструкцией Работа с последовательным портом из Linux

Для интерактивного режима:

  • запускаем minicom с ключём, создающим профиль работы с портом (скорость передачи данных, чётность, и т.д.):
 $ minicom -s /dev/ttyAPP0
  • Зайти в настройки (нажать Ctrl+A, затем O), выбрать пункт Serial port setup, там установить порт /dev/ttyAPP0, скорость и чётность - 115200, 8N1, Hardware flow control - No, Software flow control - No
  • Сохранить настройки: Save setup as _dev_ttyAPP0
  • Далее запускать как minicom /dev/ttyAPP0 (все параметры будут сразу браться из профиля с названием /dev/ttyAPP0, который мы ранее создали)
  • Первой вашей командой должна стать AAAAAAAAAT - с её помощью модуль распознает скорость, с которой мы к нему обращаемся (смотрите SIM900R)
  • Второй командой выполните просто AT. Вам должен прийти ответ OK

Примеры команд

(Полный список команд смотрите в документации модуля)

  • Синхронизовать скорость порта (не совсем команда)
AAAAAAAAAAAAAT
  • Список всех сетей
AT+COPS=?
AT+CSQ
  • Звонок на номер +79154816100
ATD+79154816100;
  • Установка baud rate порта в фиксированное значение 115200
AT+IPR=115200
  • Запрос времени со встроенных в модуль часов реального времени (RTC)
AT+CCLK?
AT+CCLK="14/03/19,01:20:29+00"
  • Получить IMEI-код модуля (xxxxxx - уникальный номер)
AT+GSN
86820400xxxxxxY

OK

Мультиплексирование

Модем поддерживает режим мультиплексирования - создание виртуальных портов, через которые можно одновременно работать с модемом. Например, через один порт можно открыть сессию PPP для GPRS, а через другой получать и отправлять SMS, проверять баланс и т.д. Подробнее смотрите CMUX.

Работа с GPRS

Настройка GPRS в Debian

RTC

Настройки мощности по-умолчанию

AT+CRTXVMA?
+CRTXVMA: (0204,01C9,0184,0149,0118,00EF,00CE,00B3,009E,008E,0081,0077,006F,0067,005F,0053),(021A,01B6
,016D,0131,0105,00E0,00C4,00AE,009B,008C,0080,0078,0071,006A,0065,0053),(023A,01B7,0181,014F,0122,00FC
,00DC,00C1,00AB,009A,008B,007F,0076,0072,006B,0068),(01F4,01AF,0165,012A,00FB,00D7,00BB,00A5,0093,0086
,007A,0071,006B,0065,0061,005D)