Пошаговая инструкция по использованию

Внимание

Этот раздел сейчас дорабатывается. Приносим извинения за неудобства. Если вам нужна срочная помощь, обратитесь в службу поддержки Tibbo.

Шаги ниже предполагают, что для тестирования вы используете плату NB1010 (устройство DS101x).

  1. Убедитесь, что в вашем проекте есть библиотека SOCK.
  2. Добавьте в проект файлы gprs.tbs и gprs.tbh (они находятся в current_library_set\gprs\trunk).
  3. Добавьте #define GPRS_DEBUG_PRINT 1 в раздел определений файла global.tbh вашего проекта. Так вы будете "видеть, что происходит". Не забудьте убрать это позже, когда убедитесь, что библиотека работает как ожидается.
  4. Добавьте include "gprs\trunk\gprs.tbh" в раздел подключаемых файлов global.tbh.
  5. Добавьте gprs_proc_timer() в код обработчика события on_sys_timer() (см. "Дополнительные замечания" ниже).
  6. Добавьте pppoe_proc_sock_data() в код обработчика события on_sock_data_arrival().
  7. Добавьте pppoe_proc_ser_data() в код обработчика события on_ser_data_arrival().
  8. Создайте пустые тела функций обратного вызова (скорее всего, в device.tbs): callback_gprs_ok(), callback_gprs_failure(), callback_gprs_pre_buffrq(). Подсказка: скопируйте их из объявлений в pppoe.tbh или из нашего примера кода.
  9. Вызовите gprs_start() откуда-нибудь. Самое очевидное решение - вызвать из обработчика события on_sys_init(). Передайте правильные строку ATDT и APN. В наших тестах в сети Taiwan Cellular пришлось использовать *99# и INTERNET. Вашей сети может понадобиться другая строка. Учтите, что pppoe_start() может завершиться ошибкой, поэтому разумно проверять возвращённый код состояния.
  10. Реализуйте осмысленный код в callback_gprs_ok(). Когда эта процедура вызвана, PPP-соединение установлено.

Всё перечисленное выше показано в примере кода.

Дополнительные замечания

Библиотека GPRS ожидает, что gprs_proc_timer() вызывается с интервалом 0.5 с. Это значение по умолчанию, его можно изменить через свойство sys.onsystimerperiod. Если вашему проекту нужно, чтобы событие on_sys_timer() происходило с другой частотой, следите, чтобы gprs_proc_timer() всё равно вызывалась 2 раза в секунду. Например, если on_sys_timer() срабатывает 4 раза в секунду, добавьте код-"делитель", который вызывает gprs_proc_timer() только при каждом втором срабатывании on_sys_timer().

Если вы используете внешний GPRS-модем, добавьте #define GPRS_MODULE_EXTERNAL 1 в global.tbh.

В зависимости от способа подключения GPRS-модема могут понадобиться и такие собственные определения:

  • GPRS_SER_PORT
  • GPRS_SER_PORT_RTSMAP
  • GPRS_SER_PORT_CTSMAP
  • GPRS_SWITCH
  • GPRS_RESET
Исходный материал Tibbo обновлён 4 августа 2025Оригинал на docs.tibbo.com · Сообщить об ошибке