【EG800Z-CN】连接蜂窝网络
thumbnail

【EG800Z-CN】连接蜂窝网络

本案例使用移远通信EG800Z-CN开发板和UniRTOS,通过调用UniRTOS中注网相关的功能函数,让开发板快速连接蜂窝网络,获取IP地址。

  • 快速连接网络

项目概述

本案例使用移远通信EG800Z-CN开发板和UniRTOS,通过调用UniRTOS中注网相关的功能函数,让开发板快速连接蜂窝网络,获取IP地址。

现象演示

开发准备

硬件要求

  • 有效SIM卡。

软件要求

快速上手

下载项目

示例代码位于UniRTOS官方创客仓库,点此访问下载

添加项目到UniRTOS SDK

SDK新增Demo,固件编译和烧录请参考UniRTOS板块的快速启动

硬件连接

1. 按卡槽丝印提示方向拨开卡槽盖,将SIM卡放入,再扣好盖子。

2.使用数据线连接开发板和电脑。

日志展示

代码概览

示例流程图

主要功能接口

unir_test_demo_init
功能:DataCall 拨号演示功能的入口与初始化函数。主要职责是创建并启动独立任务,让联网拨号逻辑在后台运行,不阻塞主程序。
关键操作
  • 任务创建:调用qosa_task_create创建名为QDATACALLDEMO的任务,执行datacall_demo_task函数。
  • 任务配置:栈大小 4 KB,使用普通优先级,保证联网流程稳定运行。
  • 重要性:用户需在应用初始化流程中调用,以启动DataCall自动拨号、联网、重连全套功能。
datacall_demo_task
功能:DataCall演示核心主处理函数。在独立任务中完成网络附着、PDP配置、拨号建立、IP获取、掉线自动重连的全生命周期逻辑。
关键操作
  • 消息队列创建:用于接收网络事件,实现异步事件处理。
  • 网络附着等待:调用qosa_datacall_wait_attached等待注网成功,超时 300 秒。
  • 事件回调注册:注册PDN断开PDP状态变化回调,监听网络状态。
  • PDP上下文配置:设置APN、IP类型(IPv4/IPv6),调用qosa_datacall_set_pdp_context
  • 创建并启动拨号:qosa_datacall_conn_new 创建连接,qosa_datacall_start执行同步拨号。
  • 获取并打印IP信息:支持IPv4/IPv6地址解析与日志输出。
  • 无限循环监听事件:等待消息队列,处理PDP断开事件并自动重拨。
  • 掉线重连机制:最多重试10次,每次间隔20秒,重连成功后重新获取IP。
  • 重要性:完整封装蜂窝数据拨号从上线到异常恢复的全套流程,是物联网设备联网的核心逻辑。
datacall_nw_deact_pdp_cb
功能:PDN网络去激活(掉线)事件回调函数。当网络/基站主动断开PDP时被系统自动调用。
关键操作
  • 获取掉线信息:解析simid和pdpid。
  • 封装事件消息:通过消息队列发给主任务,触发重连流程。
  • 重要性:实现掉线感知,是自动重连机制的触发入口。
datacall_pdp_change_cb
功能:PDP拨号状态变化回调函数。用于监听拨号激活/去激活状态上报。
关键操作
  • 接收PDP状态事件,可扩展用于状态监控、日志记录、上层通知等。
  • 重要性:用于实时监控拨号链路状态,便于调试与业务联动。

沟通无界,服务无限

了解更多关于移远公司、产品和技术支持的信息。