API索引表
作者:秦鹏 | 最后修改:2026-04-07
LuatOS 核心库索引
LuatOS 共有 72 个核心库,如下是详细介绍:
1 核心库的分类
1.1 外设驱动(14)
外设驱动有 14 个核心库, adc,can,gpio,ht1621,i2c,i2s,ioqueue, lora2,onewire,pwm,spi,tp,uart,
其中,
(1)adc,can,gpio,i2c, i2s,pwm, spi, uart 这 8 个核心库是针对 8 个常规外设的操作方法;
(2)ht1621 是对 HT16xx 系列的断码屏的操作方法, 也就是说,不仅仅只是驱动 HT1621, 也能驱动 HT16xx 系列的所有断码屏;
(3)ioqueue 是针对 GPIO 的高速输入的识别,以及高速输出的模式设置; 不小于 1 微妙的电平翻转频率都可以支持;
(4)lora2 是对 semetech 系列的 lora 芯片和相关模组的驱动;
(5)onewire 是单总线的核心库,可以驱动 DS18B20 等单总线的传感器或者其他外设;
(6)tp 是指触摸屏芯片的驱动, 支持的触摸屏芯片种类,在 tp.init 方法中设置;
1.2 通信组件(13)
通信组件有 13 个核心库: airlink,ble,ftp,http,httpsrv,libgnss,mqtt,netdrv,socket,sms,
websocket,wlan,ymodem;
(1)ble,ftp,http,mqtt,sms,socket,websocket 提供了对这 7 个通信技术的核心库实现;
(2)airlink: 是 LuatOS 针对和外部主控灵活交换数据,接受外部主控的指令的核心库,
airlink 相比 AT 指令,通信的效率高很多,编程也更加方便, airlink 的详细介绍参见:
[airlink详细介绍](https://docs.openluat.com/protocols/airlink/)
(3)httpsrv: HTTP server 的实现核心库,使得设备能够提供外部设备通过 HTTP 访问自己的能力;
(4)libgnss: 提供了对 GNSS 的 NMEA 协议的解析实现, 以及对 GNSS 常用逻辑的实现,
也推荐使用 egnss 扩展库开发 GNSS 相关的业务逻辑,更加便捷。
(5)netdrv: 对不同的通信网络设备的管理的核心库,实际编程的时候,推荐使用 enetif 扩展库;
(6)wlan: WIFI 相关的操作核心库; 实际编程的时候,推荐使用 enetif 扩展库;
(7)ymodem 是实现 ymodem 协议的核心库。
1.3 存储相关(7)
存储相关有 7 个核心库:fskv,lf(little_flash),fatfs,io,sfud,otp,fs;
其中,
(1)io 核心库是RTOS系统原生的对文件系统的操作的封装,有 exists,fileSize,readFile,writeFile,fill,mkfs,
mkdir,rmdir,Isdir,Ismount 这些方法。
(2)fs 核心库是IO核心库的补充, 提供了 fsstat 和 fsize 两个方法,对文件系统进行数据的统计。
(3)fskv 是一个微型数据库,采用键值对的形式,管理数据, 合宙LuatOS是采用一个固定64K字节的区域管理这些数据。
(4)lf 是外部flash 的驱动库, 支持nor flash 和 nand flash,
使用 lf 核心库驱动外部flash成功之后,LuatOS 会自动挂载 little fs 文件系统,不需要调用其他的任何方法;
(5)sfud 也是外部flash 的驱动库,只支持 nor flash, 不支持 nand flash。
使用 sfud 核心库驱动外部 flash 成功之后,LuatOS 会自动挂载 little fs 文件系统,不需要调用其他的任何方法。;
(6)fatfs 是外部 SD 和 TF 卡的驱动,通过 fatfs 挂载外部SD 和 TF 卡之后,LuatOS 会自动挂载 FAT 文件系统,
不需要调用其他的任何方法。
(7)otp 是操作 flash 的 OTP 区域的核心库, 用来写入一次性并且不允许修改的数据。
需要注意的是,如果是运行在蜂窝(2G,4G,5G)模组的话,OTP 的操作必须在飞行模式下执行。
1.4 多媒体(9)
多媒体相关的有 9 个核心库: airui,audio,camera,cc,codec,eink,hzfont,lcd,u8g2,rtmp;
(1)audio 实现了音频管理的多个功能;
(2)camera 实现了摄像头拍照,录像,预览,扫码等功能;
(3)cc 实现了 2G 和 4G 的语音通话管理的功能;
(4)codec 实现了对 mp3, AMR_NB, AMR_WB,wav,G711 不同格式的编解码的库;
(5)hzfont: 在LuatOS固件中内置矢量字库的核心库, 需要配合使用支持hzfont的LuatOS固件;
(6)lcd: LCD 操作的核心库;
(7)airui: 对 LVGL 实现的核心库;
(8)u8g2: 实现 U8G2 的核心库;
(9)eink: 对墨水瓶实现的核心库。
(10)rtmp: 实现rtmp推流的核心库。
1.5 系统内核(14)
系统内核有 14 个核心库: sys,hmeta,mobile,fota,errDump,iperf,log,mcu,os,pins,pm,rtos,rtc,wdt;
(1)sys 核心库是 LuatOS 的运行框架库,这个库当前是不需要 require 的;
并且当前 sys 库已经合并了之前的 sysplus 库。
(2)hmeta: 获取硬件信息的库;
(3)mobile: 蜂窝通信相关的核心库;
(4)fota: 远程升级的核心库;
(5)errDump: 远程诊断上报的核心库; 用户可以选择上报异常诊断信息到合宙服务器,也可以选择上报自己的服务器。
上报合宙服务器之后,可以登录 iot.openluat.com 点击 调试信息菜单,进行查看。
(6)iperf: 对设备的吞吐量进行统计。
一旦打开吞吐量统计,系统会向上传发送 IPERF_REPORT 类型的消息,并传入字节数,持续时长,带宽 这三个参数。
(7)log: 管理打印日志的核心库;
(8)mcu: MCU 的相关操作的实现库,所谓 MCU, 是指跟通信无关的一些操作的实现。
(9)os: 原生 RTOS 的方法的封装,侧重于时间和文件路径相关的实现。
(10)pins: 对模组 pin 脚复用的管理方法;
(11)pm: 电源,功耗模式的相关操作;
(12)rtos: RTOS 相关的操作方法,比 OS 的库更加丰富。
(13)rtc: 时钟相关的库;
(14)wdt: 看门狗相关的库。
1.6 实用工具(10)
实用工具有 10 个核心库: bit64,fastlz,fft,miniz,iconv,json,pack,protobuf,string,zbuff;
(1)bit64: 在 32 位固件提供 64 位数的操作库;
(2)fastlz: 压缩库,消耗内存比 miniz 小,但是压缩比比如 miniz;
(3)fft: 快速傅里叶变换库。
(4)miniz: 压缩库,消耗内存大,但是压缩比更好;
(5)airtalk:双工对讲核心库,支持一对一对讲,已经群组对讲,需要搭配 airtalk 对讲后台使用;
(6)iconv: 字符编码转换工具, 提供 UTF8, UNICODE,GB2312 之间的互相转换;
(7)json: json 文本的编解码库;
(8)pack: 按照既定格式打包和解包的库,适合用在报文协议组合和解包的场景;
(9)protobuf: google 提出的一种编码格式,常用于报文协议的组包;
(10)string: 对 Lua string 操作库的扩充;
(11)zbuff: LuatOS 独创的 buffer 管理库, 使得 LuatOS 用户能够使用 C 的习惯操作内存。
1.7 加密解密(5)
加密卡有 5 个核心库: crypto,gmssl,rsa,xxtea,iotauth。
2 核心库索引表
| 序号 | 核心库名称 | 简介 | 类别 | 780EPM支持 | 780EHM支持 | 780EHV支持 | 780EGH支持 | 8000支持 | 8101 支持 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | adc | 模数转换 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 2 | airlink | 多网融合协议 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 3 | airui | UI核心库 | 对媒体 | 否 | 是 | 是 | 是 | 是 | 是 |
| 4 | audio | 模数转换 | 外设驱动 | 否 | 是 | 是 | 是 | 是 | 否 |
| 5 | bit64 | 模数转换 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 6 | ble | 蓝牙功能 | 通信组件 | 否 | 否 | 否 | 否 | 是 | 是 |
| 7 | camera | 模数转换 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 8 | can | can操作库 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 否 |
| 9 | cc | VoLTE通话功能 | 通信组件 | 否 | 是 | 是 | 是 | 是 | 否 |
| 10 | codec | 多媒体-编解码 | 多媒体 | 否 | 是 | 是 | 是 | 是 | 否 |
| 11 | crypto | 加解密和hash函数 | 加密解密 | 是 | 是 | 是 | 是 | 是 | 是 |
| 12 | eink | 墨水屏操作库 | 多媒体 | 是 | 是 | 是 | 是 | 是 | 是 |
| 13 | errDump | 错误上报 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 14 | fastlz | FastLZ压缩 | 实用工具 | 否 | 是 | 是 | 是 | 是 | 是 |
| 15 | fatfs | SD卡的接口 | 存储相关 | 否 | 是 | 是 | 是 | 是 | 是 |
| 16 | fft | 快速傅里叶变换 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |
| 17 | fota | 底层固件升级 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 18 | fs | 文件系统操作 | 存储相关 | 是 | 是 | 是 | 是 | 是 | 是 |
| 19 | fskv | kv数据库,掉电不丢数据 | 存储相关 | 是 | 是 | 是 | 是 | 是 | 是 |
| 20 | ftp | ftp 客户端 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 21 | gmssl | 国密算法(SM2/SM3/SM4) | 加密解密 | 是 | 是 | 是 | 是 | 是 | 是 |
| 22 | gpio | GPIO操作 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 23 | hmeta | 硬件元数据 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 24 | ht1621 | 断码屏 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 25 | http | http 客户端 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 26 | httpsrv | http服务端 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 27 | hzfont | 内置矢量字库 | 多媒体 | 否 | 是 | 是 | 是 | 是 | 否 |
| 28 | i2c | I2C操作 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 29 | i2s | 数字音频 | 外设驱动 | 否 | 否 | 否 | 否 | 是 | 否 |
| 30 | iconv | iconv操作 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |
| 31 | io | io操作(扩展) | 存储相关 | 是 | 是 | 是 | 是 | 是 | 是 |
| 32 | ioqueue | io序列操作 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 否 |
| 33 | iotauth | IoT鉴权库, 用于生成各种云平台的参数 | 加密解密 | 是 | 是 | 是 | 是 | 是 | 是 |
| 34 | iperf | 吞吐量测试 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 35 | json | json生成和解析库 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |
| 36 | lcd | lcd驱动模块 | 多媒体 | 是 | 是 | 是 | 是 | 是 | 是 |
| 37 | libgnss | NMEA数据处理 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 38 | little_flash | NAND flash操作 | 存储相关 | 否 | 是 | 是 | 是 | 是 | 是 |
| 39 | log | 日志库 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 40 | lora2 | lora2驱动模块(支持多挂) | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 41 | mcu | 封装mcu一些特殊操作 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 42 | miniz | 简易zlib压缩 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |
| 43 | mobile | 蜂窝网络 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 44 | mqtt | mqtt客户端 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 45 | netdrv | 网络设备管理 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 46 | onewire | 单总线协议驱动 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 否 |
| 47 | os | os操作 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 48 | otp | OTP操作库 | 存储相关 | 否 | 是 | 是 | 是 | 是 | 是 |
| 49 | pack | 打包和解包格式串 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |
| 50 | pins | 管脚复用 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 51 | pm | 电源管理 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 52 | protobuf | ProtoBuffs编解码 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |
| 53 | pwm | PWM模块 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 54 | rsa | RSA加密解密 | 加密解密 | 是 | 是 | 是 | 是 | 是 | 是 |
| 55 | rtc | 实时时钟 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 56 | rtmp | rtmp推流 | 多媒体 | 否 | 否 | 否 | 否 | 否 | 是 |
| 57 | rtos | RTOS底层操作库 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 58 | sfud | 开源sfud软件包,复杂SPI操作 | 存储相关 | 否 | 是 | 是 | 是 | 是 | 是 |
| 59 | sms | 短信 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 否 |
| 60 | socket | 网络接口 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 61 | spi | spi操作库 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 62 | string | 字符串操作函数 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |
| 63 | sys | sys库 | 系统内核 | 是 | 是 | 是 | 是 | 是 | 是 |
| 64 | tp | 触摸库 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 65 | u8g2 | u8g2 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 66 | uart | 串口操作库 | 外设驱动 | 是 | 是 | 是 | 是 | 是 | 是 |
| 67 | wdt | watchdog操作库 | 是 | 是 | 是 | 是 | 是 | 是 | |
| 68 | websocket | websocket客户端 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 69 | wlan | 局域网操作 | 通信组件 | 是 | 是 | 是 | 是 | 是 | 是 |
| 70 | xxtea | xxtea加密解密 | 加密解密 | 是 | 是 | 是 | 是 | 是 | 是 |
| 71 | ymodem | ymodem协议 | 通信组件 | 否 | 是 | 是 | 是 | 是 | 是 |
| 72 | zbuff | c内存数据操作库 | 实用工具 | 是 | 是 | 是 | 是 | 是 | 是 |