1.2 (Cat.1模块) M601的软件资源介绍

一 简介

OpenCPU是一种M2M产品应用的嵌入式开发解决方案,可使用LTE模块作为主处理器。这种设计可以帮助客户快速设计和开发应用。OpenCPU使得客户实现创新应用成为可能,并且可以直接嵌入到M601 LTE模块中运行,而不用外部增加MCU作为处理器。

二 OpenCPU平台

2.1 开放资源

2.1.1处理器

结构:Cortex A5 Application processor with 32KB ICache and 32KB DCache,NEON/FPU

时钟频率:500MHz

2.1.2 存储空间

M601-OpenCPU模块内部包含8MB flash和32MB RAM

文件系统空间:3.2MB,用户可用空间约为1MB

RAM空间:约2MB动态存储空间

2.2 开发环境

2.2.1 SDK

OpenCPU SDK提供如下资源给开发者:《M601-OpenCPU用户手册》,开发示例源码、单独例程配示例代码、二次开发教程文档、函数库、编译可烧写文件、debug工具。

三 API函数

3.1 系统API

zyf_system.h文件定义系统相关API。这些函数对所有客户都是必须的,所以请确保项目中包含此头文件。

主要介绍系统相关API函数,包括系统版本信息,获取设备IMEI ,读取SIM卡IMEI、ICCID,查询设备信 值,驻 状态等。

3.2 时间相关API

OpenCPU模块提供时间相关API,包括设置本地时间,获取本地时间,将日历时间转换为秒数或者将秒数转换为日历时间等。

日历时间计算是从1970年1月1日:00这个基准时间点到现在的秒数。

3.3 定时器API

OpenCPU提供了普通定时器的API,方便用户根据需要创建。

在使用定时器前,首先要通过ZYF_CreateTimer创建一个定时器实例,然后通过ZYF_StartTimer既可以启动定时器。

3.4 电源管理API

电源管理包括电源相关的操作,例如关机,重启,电源控制和低功耗使能/禁止。

3.5 线程API

OpenCPU多线程API是基于FreeRTOS上开发,支持客户根据需要创建任务,并提供一系列多任务系统下的常用的API,如:创建线程、消息队列、信 量,互斥等。

每种类型的API,对应有create和delete操作,每create一个实例后,如果不再使用,则需要释放资源。

3.6 文件系统API

OpenCPU支持用户文件系统,提供了一套完整的API函数来创建、访问、删除文件和目录。这里描述API和用法。

存储只支持FLASH存储,想要创建或者打开一个文件或者目录时,必须使用绝对路径。例如,想要创建一个文件,可以这样设置“/”。

3.7 硬件接口API

在OpenCPU中,串口包括物理串口和虚拟串口。物理串口可以连接外部设备,虚拟串口用于应用程序和底层操作系统之间进行通信。其中有一个物理串口有硬件握手功能,其他的为三线接口。

OpenCPU支持2个虚拟串口用于App和Core之间的通信。这些串口设计根据物理串口的特点,具有RI和DCD信息。DCD电平可以指示虚拟串口处于数据模式还是AT命令模式。

3.8 GPRS API

API函数定义在“zyf_gprs.h”文件中。

模块仅仅支持定义和激活1路PDP context,而且这个PDP context最多支持6路socket链接,包括EPO使用的socket在内。

3.9 Socket API

在OpenCPU方案中,开发者可使用Socket API接口函数实现TCP/UDP编程,最多可建立8路Socket连接,这些API接口函数定义在zyf_socket.h文件中。

3.10 短信API

在OpenCPU方案中,开发者可调用SMS API接口函数进行短信收发处理。这些API接口函数定义在zyf_sms.h文件中。

调用ZYF_SmsRegister注册新短信通知回调函数,收到短信后在回调函数中有通知。如果需要发送短信,则调用ZYF_SmsSend接口函数进行发送,可以发送英文(TEXT)短信和中文(UCS2)格式短信。

3.11 电话API

在OpenCPU方案中,开发者可以调用电话相关API接口函数进行拨打,接听和挂断电话。这些API接口函数定义在zyf_call.h中。

调用ZYF_TelephoneRegister注册来电通知和通话过程中各种状态通知的回调函数。

3.12 软件看门狗

在OpenCPU方案中,默认在库中有启动硬件看门狗,而且会定时去喂狗,开发者不用去处理这块逻辑。另外,本方案想开发者提供了一个软件看门狗。

3.13 音频播放API

在OpenCPU方案中,开发者可以调用音频相关API接口函数进行播放音频文件,可播放mp3,wav和amr等格式的音频文件。这些API接口函数定义在zyf_audio.h文件中。

3.14 蓝牙3.0 API

在OpenCPU方案中,开发者可以调用蓝牙相关API接口函数进行蓝牙扫描、配对,SPP连接和收发数据等。这些API接口函数定义在zyf_bluetooth.h文件中。

调用ZYF_BT_Register注册蓝牙配对和连接过程中各种状态通知的回调函数。

3.15 SSL/TLS API

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security, TLS)是为 络通信提供安全及数据完整性的一种安全协议。SSL/TLS在传输层对 络连接进行加密。可支持版本包括:TLS V1.0,TLS V1.1,TLS V1.2。在OpenCPU方案中,提供相应API接口函数 用于实现SSL/TLS功能,这些API接口函数定义在zyf_tls.h文件中。

在初始化调用ZYF_MbedTlsRegister注册各种状态通知的回调函数。须先使用Socket API中的接口创建socket连接,再使用ZYF_MbedTlsConnect进行握手,之后就可以进行数据收发了。

注意:这套接口支持同时建立最多3路SSL/TLS连接。

3.16 TTS API

在OpenCPU方案中,开发者可以通过调用TTS相关接口函数进行字符播 ,最多可播放63个中文字符。(使用unicode格式)

四 例程列表

example文件夹里面装的是M601的二次开发例程。例程明细如下:

BSP:

1 GPIO的使用

2 UART通信/RS485通信

3 IIC的使用

4 SPI的使用

5 ADC的使用

6 PWM的使用

基本功能 :

7 RTC的使用

8 定时器的使用

9 NTP 络时间的使用

10 FS文件系统的使用

络:

11 获取SIM卡信息

12 TCP/UDP基本 络连接

13 HTTP的使用

14 SSL的使用

15 标准MQTT连接

16 阿里云MQTT连接三元组和SSL方式

17 FTP/HTTP下载与上传文件

18 FOTA远程升级

OS:

19 多任务建立与任务调度

20 信 量与邮箱的使用

21 消息队列与互斥锁的使用

POWER:

22 模块进入深度休眠模式(关机模式)

23 长连接下保持低功耗状态

24 多任务下如何保持低功耗

25 不能进入低功耗的问题和原因

综合例程:

26 综合例程(多任务+MQTT+低功耗+FOTA)

QQ交流群:657996991

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月2日
下一篇 2020年5月2日

相关推荐