赞
踩
OpenCPU是一种M2M产品应用的嵌入式开发解决方案,可使用LTE模块作为主处理器。这种设计可以帮助客户快速设计和开发应用。OpenCPU使得客户实现创新应用成为可能,并且可以直接嵌入到M601 LTE模块中运行,而不用外部增加MCU作为处理器。
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工具。
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。