氦氪HEKR嵌入式API文档

v1.0.12 by fwj@hekr.me 2015/11/25 19:08:05

Hangzhou District Nine Technology Co., Ltd. © 2015. All Rights Reserved.

关键词

文档说明

本文档内容基于v3.0.0的固件版本编写,低于该版本的固件部分接口表现可能不一致。

E1 UART接口说明

UART默认参数为9600-8-N-1,通常情况下UART口数据会直接透传到终端(见E1-3),透传相关协议参考Hekr V1.1模块数据透传说明文档。

E1-1 dev-test 出厂测试指令

API格式

(dev-test)

API功能
出厂测试说明
  1. 模块重启进入出厂测试模式
  2. 连接SSID为hekr-test 密码HEKR12345678的Wi-Fi热点
  3. 连接出厂测试服务器factorytest.hekr.me
  4. 等待服务器发送测试命令

E1-2 getall 获取模块信息

API格式

(getall)

API功能

获取模块信息,例如设备状态,型号id,厂家id,分类id,软AP密码,固件版本,固件版本类型等

返回值示例:

(quote ((state) (detail "mname" "UNIVERSAL_FW_M01" "tid" "ESP_2M_18FE3498A9DD" "mid" 93 "pid" 56 "cid" 75 "host" "device.hekr.me" "testflag" 0 "softapkey" "" "binver" "3.0.61.2" "bintype" "A" "rebootreason" 6)))

返回值说明:

E1-3 数据透传

透传数据格式参考 透传协议

当模块正常连接到云端时,数据通过云端以onmessage透传至终端格式如下:

(onmessage "907c0e62f1736eb318c4185e12747fc6" "ESP_2M_1AFE349C3D1F" "state" "uartdata" "480E02010201000000000000005C" )

当模块连接到路由器但无法连接到云端时,除特殊别说明的消息帧外,数据通过局域网UDP端口10000广播,格式如下:

(lanmsg "tid" "uartdata" "480E02010201000000000000005C")

E2 UDP接口说明

UDP端口为10000,通信内容格式采用S表达式。APP接收模块返回消息也同样采用UDP端口10000

E2-1 discover 发现设备

发送(discover "tid")

返回(device "tid" "mid" "mac")

E2-2 ak 设备授权

该接口与E4-1 ak一致,用于局域网配置设备ak,因为支持局域网直接调用(非通过lancall),特此重新说明。

发送(ak "device_token" "tid")

返回(deviceACK "tid" "mid" "mac" "device_token" "result")

通过局域网发送ak指令仅当设备未被授权或处于配置模式时有效。若设备已被授权,需先取消授权,否则不响应该指令。

E2-3 lancall 局域网控制

API格式

(lancall "tid" (quote (lispSEXP)) "lock key" "return ip")

API功能

局域网广播调用Lisp通用接口,除了特殊声明指令外,均支持通过该方式调用。

API参数
API示例
(lancall "RT5350F_8F_ccd29be70139" 
(quote (uartdata "EF6E6F")) "lock key" "192.168.1.102")
API返回
(lanmsg "dev-tid" result)

E3 WEB接口说明

E3接口主要用于Wi-Fi模块SoftAP模式下配置模块相关信息,在终端连接到Hekr_xxxxxx无线信号后使用。

E3接口对应APP SDK中M1-6、M1-7、M1-8等接口,可以直接通过APP SDK调用。

E3-1 设置Device token(ak)

GET http://192.168.10.1/t/set_ak?ak=device_token

请求参数

返回值

E3-2 扫描无线网络

GET http://192.168.10.1/t/get_aplist

请求参数

返回内容

[
    {
        "auth_suites":"AUTH_WPA_WPA2_PSK",
        "ssid":"hekr-test",
        "signal":-82,
        "channel":13,
        "bssid": "6C:59:40:73:4A:16"
    },
    {
        ...
    }
]

E3-3 设置AP信息

GET http://192.168.10.1/t/set_bridge?ssid=v_ssid&bssid=v_bssid&encryption=v_encryption&channel=v_channel&key=v_key

请求参数

返回值

E4 Lisp通用接口

Lisp相关信息参考IoTSS

API调用方中以D(Device)、C(Cloud)、U(User)标示,例如:

E4-1 ak

API格式

(ak "accesskey" "tid")
API功能

设置产品access key(授权用户识别)

API调用方

C-D链路、U-C-D链路、U-D链路(参考E2-2)

API使用说明
API调用示例
(ak "azArbWZMQ215NHJ3MzhXL3RwUllmazZzMENkQ2tVQmJTZzlYai84MzI0b05xSnNhZGpqbGRra3A2Z0ZY00000000" "ESP_2M_1AFE00000000")
参数说明
API返回

(deviceACK "tid" mid "accesskey" result) ,result为0表示成功,同时向调用方以及云端返回

若tid不匹配则返回#f

E4-2 setParam

API格式
(setParam "mid" xxx "cid" xxx "pid" xxx "host" "xxx")
API功能

设置通用固件出厂时相关信息修改。

API调用方

C-D链路

API使用说明

参数需成对,key-value形式

API调用示例
(setParam "mid" 2 "cid" 1 "pid" 1 "host" "device.hekr.me")
参数说明
API返回

E4-3 setTimer 设置预约任务

API格式
(setTimer taskid code delaytime count looptime )
API功能

设置定时任务

API调用方

C-D链路

API使用说明

一个下发周期内最多设置10条taskid

API调用示例
(setTimer 1 (quote (uartdata "48xxxxxx"))   400  1  0)
参数说明
API返回

E4-4 delTimer 删除预约任务

API格式
(delTimer taskid )
API功能

删除预约任务

参数说明
API返回

E4-5 dev.upgrade

API格式
(dev.upgrade tid URL MD5 type)
API功能

设备升级

API使用说明
参数说明
API返回
API调用示例
指定下载固件http://update.hekr.me/firmware/xxxx.bin
(dev.upgrade "ESP_2M_1AFE349C3DF2" "http://update.hekr.me/firmware/xxxx.bin" "ab6469e59ba1d11c037d67b8d0a67930" "A")
向HEKR SOC服务器获取最新固件:
(dev.upgrade "ESP_2M_1AFE349C3DF2" "" "" "")

E4-6 setExtParam

API格式

(setExtParam "ExtParamString" )
API功能

设置产品出厂信息

API调用方

C-D链路 (仅在出厂测试时生产测试服务器使用)

API调用示例
(setExtParam " \"mk\" \"swGi3o2v0CYjDui15OTHKJ/XmyffSF6B\"")
参数说明
API返回

成功返回#t 失败则返回#f

E4-7 getTimerList

API格式
(getTimerList taskid )
API功能

获取预约列表

API调用方

C-D链路

API使用说明

taskid可选参数,不带则返回当前所有预约

API调用示例
(getTimerList 1 )
API返回
(quote (timerList (taskid code delaytime count looptime) (taskid code delaytime count looptime)))
返回参数说明

接口更新历史

v1.0.12

v1.0.11

v1.0.9

v1.0.9

v1.0.8

v1.0.7

v1.0.6

v1.0.5

v1.0.4

v1.0.3

v1.0.2

v1.0.1

v1.0.0

最新版文档请访问 在线文档 http://docs.hekr.me