1、智能门锁 Firmware 二次开发 SDK 接口(初稿)一、概述智能门锁 Firmware 二次开发 SDK 接口,指的是在智能门锁生产厂家成熟的产品基础上,产品的 Firmware 中定义出一些软件接口,形成二次开发的软件 SDK 包,供客户做二次开发,以实现客户自定义的功能,或改变原产品的一些具体功能。接口函数分为一般函数和事件函数两种。一般函数接口,函数体是在 SDK 包中定义的,由二次开发的上层应用来调用;事件函数接口,函数体公开,在 SDK 包中调用,二次开发可以修改代码,以实现事件的响应及处理。注:以下,除注明是事件函数接口外,均为一般函数接口。二、接口【函数原型】 1void
2、StateChangeEvent(unsigned char state)【输入参数】state 锁的状态值。状态值指各检测开关,如锁舌检测开关、反锁检测开关等的状态(指对应的检测开关的状态,即开或关)值。按位表示:bit0 锁舌检测开关bit1 反锁检测开关bit2 门开合检测开关【返回值】 无【说明】事件函数,当锁的状态有改变时被调用。二次开发客户可在此函数体中编写代码,实现事件响应。【函数原型】 2unsigned char GetState()【输入参数】 无【返回值】锁的状态值。状态值的定义参考【函数原型】1 的参数 state。【说明】查询锁的当前状态。【函数原型】 3void L
3、ockKeyboard()【输入参数】 无【返回值】 无【说明】锁住键盘。关闭键盘及背光,此时按键无反应。【函数原型】 4void UnlockKeyboard()【输入参数】 无【返回值】 无【说明】键盘解锁。打开键盘及背光功能。查询锁的当前状态。【函数原型】 5void LockRF()【输入参数】 无【返回值】 无【说明】锁住 RF 刷卡响应。关闭射频,使刷卡无反应。【函数原型】 6void UnlockRF()【输入参数】 无【返回值】 无【说明】RF 解锁,刷卡功能正常。【函数原型】 7int Open(unsigned char type)【输入参数】type 开锁类型。1:打开锁
4、舌;2:打开锁舌和反锁闩;【返回值】返回开锁是否成功,0 表示成功,-1 表示失败。【说明】开锁。【函数原型】 8void KeyPressEvent(char keyValue)【输入参数】keyValue 按键值(ASCII 码)【返回值】 无【说明】事件函数,当有按键时被调用。【函数原型】 9void CardOnEventunsigned char *cardID)【输入参数】cardID 卡 ID 数据指针,数据长度为 4 字节。【返回值】 无【说明】事件函数,当选择一张卡时调用。【函数原型】 10int Authentication(unsigned char section, u
5、nsigned char *keyA, unsigned char *keyB)【输入参数】section 操作扇区,0-15。*keyA/*keyB 密钥参数指针,数据长度都为 6 字节。【返回值】 0 表示验证成功,-1 表示验证失败。【说明】对指定的扇区进行密钥认证。【函数原型】 11int Read(unsigned char block, unsigned char *data)【输入参数】block 块,0-3 。*data 数据块指针,数据长度 16 字节。【返回值】 0 表示读取成功,-1 表示失败。【说明】读取当前已认证的扇区的指定块。【函数原型】 12int Write(u
6、nsigned char block, unsigned char *data)【输入参数】block 块,0-3 。*data 数据块指针,数据长度 16 字节。【返回值】 0 表示写入成功,-1 表示失败。【说明】写入当前已认证的扇区的指定块。【函数原型】 13void BLOn()【输入参数】 无【返回值】 无【说明】打开背光。【函数原型】 14void BLOff()【输入参数】 无【返回值】 无【说明】关闭背光。【函数原型】 15void Tick()【输入参数】 无【返回值】 无【说明】事件函数,每 100ms 系统唤醒时调用。【函数原型】 16void Alarm(unsigne
7、d char type)【输入参数】type 类型。1:开锁成功提示2:操作成功提示3:操作失败提示4:门未锁好提示5:门开着提示6:严重警告警报【返回值】 无【说明】声光警示。【函数原型】 17unsigned char* GetDateTime()【输入参数】 无【返回值】 时间数据的指针。时间数据格式:2 字节年值、1 字节月值、1 字节日值、1 字节时值(24 小时制) 、1 字节分值、1 字节秒值,共 7 字节。【说明】返回当前实时时钟的年月日时分秒值。【函数原型】 18int SetDateTime(unsigned char *data)【输入参数】*data 数据块指针,数据长度 7 字节,分别为 2 字节年值、1 字节月值、1 字节日值、1 字节时值(24 小时制) 、1 字节分值、1 字节秒值。【返回值】 0 表示设置成功,-1 表示失败。【说明】设置当前的日期及时间。【函数原型】 19int SetLevel(unsigned char level)【输入参数】level CPU 运行效能级别。1:正常;2:高速运行;【返回值】 无【说明】设置当前的 CPU 运行效能级别。