项目概述
本案例使用移远通信EG800Z-CN开发板和UniRTOS,通过调用UniRTOS中SMS相关功能函数,让开发板能向其他SIM卡发送短信,实现远程通知功能。
功能特性
远程短信告警
- 精准消息投递:可将预设的告警或通知信息,以短信形式精准发送至指定手机号码。
- 多场景触发支持:作为关键信息的远程通知出口,可集成于各类事件处理流程中(如异常检测、定时任务、用户指令)。
开发准备
硬件要求

- USB数据线(USB-A转USB-C),点此购买。


软件要求
- Quectel USB驱动,点此获取。
- UniRTOS SDK,请联系技术支持获取。
- EPAT工具:移芯平台日志调试工具,点此获取。
快速上手
下载项目
示例代码位于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卡能够注网且正确安装。