【EG800Z-CN】发送短信示例
thumbnail

【EG800Z-CN】发送短信示例

本案例使用移远通信EG800Z-CN开发板和UniRTOS,通过调用UniRTOS中SMS相关功能函数,让开发板能向其他SIM卡发送短信,实现远程通知功能。

  • 发送短信

项目概述

本案例使用移远通信EG800Z-CN开发板和UniRTOS,通过调用UniRTOS中SMS相关功能函数,让开发板能向其他SIM卡发送短信,实现远程通知功能。

功能特性

远程短信告警
  • 精准消息投递:可将预设的告警或通知信息,以短信形式精准发送至指定手机号码。
  • 多场景触发支持:作为关键信息的远程通知出口,可集成于各类事件处理流程中(如异常检测、定时任务、用户指令)。

开发准备

硬件要求

  • 有效SIM卡(可发短信)。

软件要求

快速上手

下载项目

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

添加项目到UniRTOS SDK

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

硬件连接

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

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

效果展示

下图为手机收到开发板发来的短信。

代码概览

示例流程图

主要功能接口

unir_test_demo_init
功能:短信发送Demo入口与初始化函数。负责创建独立任务,让短信发送逻辑在后台运行,不阻塞主程序。
关键操作
  • 任务创建:调用qosa_task_create创建名为test demo的任务,执行unir_test_demo_process主逻辑。
  • 任务参数:配置栈大小 4 KB、普通优先级,确保短信任务稳定运行。
  • 重要性:用户应用初始化时必须调用,用于启动整个短信发送功能。
unir_test_demo_process
功能:短信发送 Demo 主处理函数。在无限循环中按固定周期执行短信发送,是业务逻辑的核心入口。
关键操作
  • 周期控制:延时计数,每 60 秒触发一次短信发送。
  • 调用发送:执行qosa_sms_demo_send_all_characters_sms向目标号码发送中英混合短信。
  • 状态打印:输出运行日志,标记发送成功/失败状态。
  • 循环执行:持续运行,支持周期性自动重发。
  • 重要性:封装定时发送逻辑。
qosa_sms_demo_send_all_characters_sms
功能:中英混合短信发送核心接口。完成网络附着、编码转换、PDU封装、异步发送全流程。
关键操作
  • 网络等待:调用qosa_datacall_wait_attached等待网络注册成功,超时300 s。
  • 编码转换:将UTF-8中英文内容转为UCS2编码,支持中文正常发送。
  • PDU封装:调用qosa_sms_text_to_pdu把文本转为短信PDU格式。
  • 异步发送:通过 qosa_sms_send_pdu_async发送短信,绑定结果回调。
  • 资源释放:自动释放内存,避免泄漏。
  • 重要性:底层核心发送接口,支持中英文混合短信,可直接在项目中复用。

常见问题

程序一直等待网络连接?

确认使用的SIM卡能够注网且正确安装。

沟通无界,服务无限

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