Устройство PPP — это программный пакет, реализующий функциональность PPP для различных модулей в рамках lwIP в RT-Thread. Это позволяет модулям связи не использовать команды AT для отправки данных, а использовать PPP для передачи сетевых данных.
Основные характеристики пакета PPP Device:
В настоящее время функция PPP поддерживает модули Luat Air720, Quectel EC20, China Mobile M6312, SIMCOM SIM800, а также будет поддерживать больше модулей связи в будущем.
Разработчикам, интересующимся PPP Device, предлагается присоединиться к группе для получения дополнительной информации.
QQ-группа: 749347156 <Переход>
Адрес документации по переносу: <Документация по переносу>
Название | Описание |
---|---|
src | Каталог исходного кода для реализации PPP Device |
inc | Каталог заголовочных файлов для PPP Device |
sample | Каталог примеров использования функции PPP |
class | Каталог адаптации PPP для различных устройств |
Пакет ppp_device подчиняется лицензии Apache-2.0, подробности см. в файле LICENSE.
Описание параметров конфигурации для пакета PPP Device
[*] PPP DEVICE: lwIP PPP porting for Cellular Module(2G/3G/4G)
[ ] Enable debug log output
[ ] Enable authorize connect feature
[*] Enable link status detect feature
(10) Link status detect timeout
Select Internet Service Provider (China Mobile) --->
Select modem type (Luat Air720) --->
[*] Enable ppp device sample
(uart3) ppp device uart name
Version (latest) --->
Функции инициализации пакета PPP Device представлены ниже:Функция запуска PPP, которая автоматически вызывается; повторный вызов возможен только после вызова функции остановки
int ppp_sample_start(void)
{
rt_device_t device = RT_NULL;
device = rt_device_find(PPP_DEVICE_NAME);
if(device == RT_NULL)
{
LOG_E("Не удалось найти устройство (%s).", PPP_DEVICE_NAME);
return -RT_ERROR;
}
if(ppp_device_attach((struct ppp_device *)device, PPP_CLIENT_NAME, RT_NULL) != RT_EOK)
{
LOG_E("ppp_device_attach выполнение не удалось.");
return -RT_ERROR;
}
return RT_EOK;
}
// Автоматическая инициализация
INIT_APP_EXPORT(ppp_sample_start);
// Экспорт команды в MSH (ppp_sample_start переименован в ppp_start)
MSH_CMD_EXPORT_ALIAS(ppp_sample_start, ppp_start, пример функции PPP для подключения к сети);
Функция остановки PPP, которая позволяет выйти из режима PPP
int ppp_sample_stop(void)
{
rt_device_t device = RT_NULL;
device = rt_device_find(PPP_DEVICE_NAME);
if(device == RT_NULL)
{
LOG_E("Не удалось найти устройство (%s).", PPP_DEVICE_NAME);
return -RT_ERROR;
}
if(ppp_device_detach((struct ppp_device *)device) != RT_EOK)
{
LOG_E("ppp_device_detach выполнение не удалось.");
return -RT_ERROR;
}
return RT_EOK;
}
MSH_CMD_EXPORT_ALIAS(ppp_sample_stop, ppp_stop, пример функции PPP для отключения сети);
После включения питания модуля, автоматическая инициализация происходит следующим образом:```c \ | /
ifconfig
в FinSH для просмотра IP-адреса, MAC-адреса и других сетевых данных устройства, как показано ниже:msh />ifconfig
network interface device: pp (Default) ## Название устройства
MTU: 1500 ## Максимальный транспортный размер (MTU)
MAC: 95 45 68 39 68 52 ## MAC-адрес устройства
FLAGS: UP LINK_UP INTERNET_DOWN DHCP_DISABLE ## Флаги устройства
ip address: 10.32.76.151 ## IP-адрес устройства
gw address: 10.64.64.64 ## Адрес шлюза устройства
net mask : 255.255.255.255 ## Маска подсети устройства
dns server #0: 114.114.114.114 ## Адрес DNS-сервера #0
dns server #1: 120.196.165.7 ## Адрес DNS-сервера #1
Получив IP-адрес успешно, можно включить функцию команды ping, введя команду ping + доменное имя
в FinSH для проверки состояния сети, как показано ниже:
msh />ping www.baidu.com
60 байт от 183.232.231.172 icmp_seq=0 ttl=55 время=84 мс
60 байт от 183.232.231.172 icmp_seq=1 ttl=55 время=78 мс
60 байт от 183.232.231.172 icmp_seq=2 ttl=55 время=78 мс
60 байт от 183.232.231.172 icmp_seq=3 ttl=55 время=78 мс
Если команда ping
работает корректно, это указывает на успешное подключение PPP Device к сети. После этого можно использовать стандартные BSD Socket APIs, абстрагированные SAL (Socket Abstraction Layer), для сетевой разработки (MQTT, HTTP, MbedTLS, NTP, Iperf и т.д.).## 4. Внимание
Контактное лицо: xiangxistu
Email: liuxianliang@rt-thread.com
Благодарим участника @xfan1024 за его вклад и предложения, которые помогли улучшить PPP DEVICE. Он предложил много ценных замечаний, которые помогли улучшить программное обеспечение PPP DEVICE.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )