Драйвер для работы с модулем GPRS Shield.
Позволяет отправлять команды и обрабатывать события модуля через последовательный порт UART.
Инициализируется функцией connect
.
Возвращает новый объект Sim900r
для работы с модулем через порт последовательный порт. Для модуля Iskra JS — это порт Serial3
Необязательный параметр opts
задаёт характеристики соединения с модулем. Ожидается объект со свойствами:
serialPort
— объект последовательного порта. По умолчанию — Serial3
.serialSpeed
— скорость взаимодействия по последовательному порту. По умолчанию — 9600
.powerPin
— контакт для включения и выключения модуля. По умолчанию — P2
.statusPin
— контакт для определения готовности модуля. По умолчанию — P3
.var sim = require('@amperka/Sim900r').connect();
Класс для управления GPRS-модулем, работы со звонками и SMS, USSD, а так же для прямого доступа к AT-командам.
Обратите внимание, на выполнение команды модулю требуется время. Поэтому для обработки результата команды используются функции обратного вызова callback
, в которые и передаются параметры ответа. Так же модуль сообщает о различных событиях: готовности к работе, входящих звонках, СМС и прочих. При возникновении события event
вызывается соответствующая ему функция обратного вызова.
Включает модуль. Не выполняется, если модуль уже включен. Включение модуля занимает порядка одной секунды, по этому необходимо слушать событие powerOn
, для точного определения, когда можно с ним взаимодействовать.
Выключает модуль. Не будет выполнена, если модуль уже отключен.
Проверяет модуль на готовность к работе — взаимодействию с контроллером по последовательному порту. Функцию не следует использовать для проверки регистрации модуля в сети сотового оператора. При готовности модуля функция возвращает true
, если модуль не готов или выключен — false
.
Возникает после инициализации при включении модуля.
Возникает при выключении модуля.
Возникает в момент обнаружения SIM-карты.
Возникает при отсутствии SIM-карты.
code
— код ошибки, отданный модулем.Возникает в момент регистрации модуля с SIM-картой в сети оператора.
Возникает в момент входящего звонка. При входящем звонке событие возникает приблизительно раз в три секунды, пока вы не ответите или не разорвете соединение, или это не сделает вызывающая сторона. Параметры функции обратного вызова:
phone
— телефон вызывающего абонента (если он определен) или undefined
;cnt
— количество вызовов события ring
с начала попытки дозвона.Возникает в момент разъединения соединения другим лицом. Если соединение разрываете вы — событие не возникает.
Возникает в момент приема SMS-сообщения. Параметры функции обратного вызова:
phone
— телефон отправителя;time
— дата и время отправления;text
— текст сообщения.Возникает событие инициированное модулем, но оно отличается от вышеперечисленных. Параметры функции обратного вызова:
event
— событие генерируемое модулем;data
— строка с данными по этому событию.
Отправляет команду command
модему и возвращает в функции обратного вызова полученный результат. При получении ответа, вызывает функцию callback
вида function(error, data) { … }
с параметрами:
data
— массив, где каждый элемент — строка отданная модулем в рамках обработки команды.
Вызывает попытку дозвона до абонента с номером phone
, переданным в виде строки. Вызывает callback
.
В качестве callback
ожидается функция вида function(error) { … }
с параметрами:
error
— undefined
, если запрос успешен, или одну из следующих ошибок:NO DIALTONE
— нет сигнала;NO CARRIER
— звонок отклонен;NO ANSWER
— нет ответа;BUSY
— занято.
Разрывает текущее соединение. Вызывает callback
при исполнении.
В качестве callback
ожидается функция вида function(error) { … }
с параметрами:
Ответ на входящий звонок. Вызывает callback
при исполнении.
В качестве callback
ожидается функция вида function(error) { … }
с параметрами:
Отправляет SMS-сообщение. По результату, вызывает функцию callback
вида function(error) { … }
с параметрами:
var sim = require('@amperka/Sim900r').connect(); sim.powerOn(); sim.smsSend("+79160001122", "hello", function(error){ console.log(error); });
Читает список SMS-сообщений, сохраненных на SIM-карте. По результату, вызывает функцию callback
вида function(error, data) { … }
с параметрами:
data
— массив объектов, описывающих СМС, со свойствами:index
— индекс сообщения в памяти SIM-карты;phone
— номер телефона отправителя;date
— объект типа Date, с информацией о дате и времени отправки;text
— текст сообщения;
Читает SMS-сообщение с индексом index
, сохраненное на SIM-карте. По результату, вызывает функцию callback
вида function(error, data) { … }
с параметрами:
data
— объект, описывающих СМС, со свойствами:index
— индекс сообщения в памяти SIM-карты;phone
— номер телефона отправителя;date
— объект типа Date, с информацией о дате и времени отправки;text
— текст сообщения;
Удаляет SMS-сообщение с индексом index
, сохраненное на SIM-карте. В качестве значения параметра index
можно указать all
, что приведет к удалению всех сообщений. По результату, вызывает функцию callback
вида function(error) { … }
с параметрами:
Запрашивает название оператора SIM-карты. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, provider) { … }
с параметрами:
provider
— название оператора сим-карты в виде строки string
.
Запрашивает информацию о регистрации в сети. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, status) { … }
с параметрами:
status
— статус регистрации в виде строки и имеющее одно из следующих значений:"search"
— идёт поиск сети;"home"
— модуль зарегистрирован в домашней сети;"roaming"
— модуль зарегистрирован в роуминговой сети;"error"
— регистрация не удалась;"unknown"
— другая ошибка.
Запрашивает информацию о качестве приема. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, quality) { … }
с параметрами:
quality
— качество приема в виде целого числа от 0 до 10.
Запрашивает информацию об операторе связи, в сети которого зарегистрирован модуль. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, provider) { … }
с параметрами:
provider
— название оператора сотовой сети.
Получает IMEI модуля. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, imei) { … }
с параметрами:
undefined
, если запрос успешен; Error — если произошла ошибка;string
.
Получает информацию о ревизии модуля. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, firmware) { … }
с параметрами:
undefined
, если запрос успешен; Error — если произошла ошибка;string
.
Получает дату и время на устройстве. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, datetime) { … }
с параметрами:
Получение информации о включении автоматического определителя номера. Вызывает callback
для передачи результата.
В качестве callback
ожидается функция вида function(error, enable) { … }
с параметрами:
undefined
, если запрос успешен; Error — если произошла ошибка;boolean
).
Устанавливает дату и время из параметра datetime
, переданного в виде объекта Date.
В качестве callback
ожидается функция вида function(error) { … }
с параметрами:
undefined
, если запрос успешен; Error — если произошла ошибка.
Включение и отключение определителя номера. Параметр enable
имеет булевый тип. Вызывает callback
по окончанию.
В качестве callback
ожидается функция вида function(error) { … }
с параметрами:
undefined
, если запрос успешен; Error — если произошла ошибка.