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:00: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

猜你喜欢

转载自blog.csdn.net/w_hizyf_m/article/details/106574986
1.2