氦氪HEKRMobile Android API文档

关键词

源码下载地址

SDK(android):https://github.com/HEKR-Cloud/HEKR-ANDROID-SDK

APP样例(andorid):https://github.com/HEKR-Cloud/HEKR-ANDROID-APP

流程说明

1. 首先通过webview形式实现登录,参考云端api C1-1,并获取cookie

2. 通过云端api来获取列表数据,通过socket或者websocket形式来控制设备,获取实时状态数据

3. LambdaTM sdk来解析sexp数据

M1 Android SDK接口说明

M1-1 HekrConfig(Wi-Fi 一键配置)

import com.hekr.android.app.util.HekrConfig;
HekrConfig.hekrconfig( ssid , password , mtime );

WIFI 一键配置

参数

返回参数

M1-2 等待设备连接路由器后发送数据(参考E2 UDP接口说明)

import com.hekr.android.app.util.UDPConfig;
import java.net.DatagramPacket;
DatagramPacket dp = UDPConfig.waitDevice ( mtime );

参数

返回参数

M1-3 局域网内对设备设置accesskey(参考E2-2 设备授权)

import com.hekr.android.app.util.UDPConfig;
import java.net.DatagramPacket;
DatagramPacket dp = UDPConfig.setAccessKey (  ip , ak , tid , mtime ) ;

请求参数

返回参数

M1-4 内网发现设备(参考 E2-1 发现设备)

import com.hekr.android.app.util.UDPConfig;
import java.net.DatagramPacket;

DatagramPacket dp = UDPConfig.discover( tid,option,timeout );

请求参数

返回参数

M1-5 内网控制设备

通过内网发现设备后,往设备ip的10000端口发送lisp控制指令即可控制; 或者通过发送

(uartdata "串口透传数据")

可控制设备; 串口透传数据请参考[氦氪HEKR模块透传协议]

M1-6 软ap 连接路由

参考E3-3 接口api

boolean ret = HekrConfig.softapSetBridge( ssid , password );

请求参数

返回参数

M1-7 软ap 设置accesskey

参考E3-1 接口api

boolean ret = HekrConfig.softapSetAccessKey( accesskey );

请求参数

返回参数

M1-8 软ap 扫描路由列表

参考E3-2 接口api

List lst = HekrConfig.softapList( );

返回参数

工具类介绍

M1-10 Wi-Fi 一键配置工具类

HekrConfig hc = new HekrConfig( device_accesskey );
Object ret = hc.config(ssid,password); //一键配置Wi-Fi,此方法调用会进入循环,代码会阻塞状态
hc.stop();//停止发送配置

M1-11 Hekr 用户工具类

通过登录获得云端授权 cookie后,可以使用以下流程

HekrUser user = new HekrUser(cookie);
boolean getKey = user.generateAccessKey();//获取用户和设备的accesskey,C1-2 API
List devlist = user.list();//获取设备列表,必须要获取accesskey成功后调用,C1-3 API
String ukey = user.getUserAccessKey();//用户的accesskey
String dkey = user.getDeviceAccessKey();//设备的accesskey

boolean ret = user.deviceRename(tid,"测试名字");//通过tid修改设备名字,C1-5 API
ret = user.deviceDelete( tid );//删除设备,C1-4 API
ret = user.deviceActivate(key,"1.0",time);//无属住激活设备,C1-7 API