当前位置: 首页 > wzjs >正文

客户说做网站价格高自己怎么优化网站排名

客户说做网站价格高,自己怎么优化网站排名,网站建站视频,做外贸要访问国外的网站怎么办从您最新的日志来看,PPP 流程已经走到启动阶段并且成功进入了 “STAGE_START_PPP”,但在 “STAGE_WAIT_IP” 阶段没有拿到 IP,约 60 s 后就报了 “Connection lost”: I (11161) modem_board: Modem state STAGE_START_PPP, Succ…

从您最新的日志来看,PPP 流程已经走到启动阶段并且成功进入了 “STAGE_START_PPP”,但在 “STAGE_WAIT_IP” 阶段没有拿到 IP,约 60 s 后就报了 “Connection lost”:

I (11161) modem_board: Modem state STAGE_START_PPP, Success!
I (11361) modem_board: Modem state STAGE_WAIT_IP, Start
W (11361) modem_board: Modem event! 0
I (71361) esp-netif_lwip-ppp: Connection lost

这通常是因为没有正确激活 PDP context(即没有拿到运营商下发的 IP)导致 LCP 握手机制超时。排查思路和改进方案如下:


一、先检查并手动配置 APN

在启动 PPP 之前,务必先执行:

// 假设 dce 为 esp_modem_dce_t*,代表 DCE 操作句柄
// 1. 配置 PDP 上下文(APN),请将 "your.apn.here" 替换成真实运营商 APN
esp_modem_dte_generic_command(dce, "AT+CGDCONT=1,\"IP\",\"your.apn.here\"\r", NULL, 0);// 2. 激活 PDP 上下文(部分网络需要显式启动)
esp_modem_dte_generic_command(dce, "AT+CGACT=1,1\r", NULL, 0);// 再启动 PPP
esp_err_t err = esp_modem_dce_start_ppp(dce);
ESP_ERROR_CHECK(err);

如果不先设置或激活 PDP,运营商就不会分配 IP,PPP 会一直等到超时。


二、订阅并打印 PPP 事件

在创建 PPP Network Interface 时,注册 IP 事件回调,查看到底有没有收到 IP。

// 在 app_main 或初始化函数中:
ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_PPP_GOT_IP, &on_ppp_got_ip, NULL));
ESP_ERROR_CHECK(esp_event_handler_register(PPP_EVENT, ESP_EVENT_ANY_ID, &on_ppp_event, NULL));// 回调示例:
static void on_ppp_got_ip(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {ip_event_got_ip_t* info = (ip_event_got_ip_t*) event_data;ESP_LOGI(TAG, ">>> PPP GOT IP: " IPSTR ", gw: " IPSTR,IP2STR(&info->ip_info.ip), IP2STR(&info->ip_info.gw));
}static void on_ppp_event(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {ESP_LOGI(TAG, ">>> PPP event: %ld", event_id);
}

这样能够精确知道是否有 IP_EVENT_PPP_GOT_IP 事件触发。


三、配置 LCP Keepalive(可选)

默认情况下,如果长时间没收到对端 LCP Echo 回应,PPP 会断开。可以调大 LCP echo 检测阈值:

esp_modem_dce_t* dce = esp_modem_dce_get_handle(modem);
esp_modem_ppp_config_t ppp_cfg = ESP_MODEM_DEFAULT_PPP();
ppp_cfg.lcp_echo_interval_ms = 10000;    // 每 10s 发送一次 LCP Echo Request
ppp_cfg.lcp_echo_failure = 5;            // 连续 5 次超时再判定为掉线
esp_modem_dce_set_ppp_config(dce, &ppp_cfg);

四、完整参考代码片段

// … 初始化 NVS、网络、esp_netif 等 …// 1. 获取 DCE 操作句柄
esp_modem_dce_t* dce = esp_modem_dce_get_handle(modem);// 2. 配置 APN 并激活 PDP
esp_modem_dte_generic_command(dce, "AT+CGDCONT=1,\"IP\",\"cmnet\"\r", NULL, 0);
esp_modem_dte_generic_command(dce, "AT+CGACT=1,1\r",       NULL, 0);// 3. 注册 PPP 事件
esp_event_handler_register(IP_EVENT, IP_EVENT_PPP_GOT_IP, &on_ppp_got_ip, NULL);
esp_event_handler_register(PPP_EVENT, ESP_EVENT_ANY_ID,    &on_ppp_event,  NULL);// 4. (可选)调整 LCP Keepalive
esp_modem_ppp_config_t ppp_cfg = ESP_MODEM_DEFAULT_PPP();
ppp_cfg.lcp_echo_interval_ms = 10000;
ppp_cfg.lcp_echo_failure     = 5;
esp_modem_dce_set_ppp_config(dce, &ppp_cfg);// 5. 启动 PPP 拨号
esp_err_t err = esp_modem_dce_start_ppp(dce);
if (err != ESP_OK) {ESP_LOGW(TAG, "PPP 启动失败,错误码 %d,尝试手动拨号", err);esp_modem_dte_generic_command(dce, "ATD*99#\r", NULL, 0);
}// 6. 后续在回调中观察 IP 或断开事件

通过以上步骤,您可以:

  1. 确保 APN 正确,令运营商分配 IP。

  2. 清晰可见 PPP 是否成功拿到 IP(IP_EVENT_PPP_GOT_IP)。

  3. 调整超时策略,避免保活丢失导致过早断开。

如果仍然不能拿到 IP,请贴出 AT+CGDCONT / AT+CGACT 的执行结果,以及 PPP 回调中所有事件 ID 和日志。这样可以进一步定位问题。

http://www.dtcms.com/wzjs/511601.html

相关文章:

  • 专用主机网站建设衡阳网站建设
  • 万年网站建设私域流量运营管理
  • 动态网站和静态网站中央新闻
  • 兼职网站京东seo搜索优化
  • 如何申请微信公众号平台seo人员的职责
  • 加盟网站制作定制链接交换
  • 全网网站快速排名推广软件网络推广专家
  • 网站开发的工作需要什么材料百度seo哪家公司好
  • 设计公司网站应该包括的信息太原seo推广
  • 房地产网站模版网站建设步骤
  • 做网站维护北京seo网站优化培训
  • 做淘宝京东还是独立网站刷赞网站推广ks
  • 网站的制作步骤包括站长工具查询网
  • tk注册网站福州网站关键词推广
  • 河北一级造价师提升神马seo关键词自然排名
  • 如何用图片做网站背景如何用手机制作网站
  • 邯郸网站建设企业青岛seo关键字排名
  • 西安专业房产网站建设陕西网络推广介绍
  • 云空间可以做网站西安seo报价
  • 手机网站模板图片免费seo排名网站
  • 安徽省建设工程信息网平台官网苏州网络推广seo服务
  • 单位的网站的建设方案宁波的网络营销服务公司
  • 网站建设合集免费自助建站哪个最好
  • 兴城做网站推广的成都网站搜索排名优化公司
  • 某网站建设策划方案网络营销的内容有哪些方面
  • 番禺人才网单位招考杭州网络推广网络优化
  • 学校网站建设合同sem运营有出路吗
  • 四川做网站有哪些公司网站设计公司上海
  • 网站建设人员工作要求seo专业课程
  • 淘宝网站上的图片是怎么做的网络推广文案怎么写