easyLink
概述
封装了EasyLink SDK
iOS注意
- 您需要打开位置权限才能获取Wi Fi信息。请转到设置->隐私->定位服务以打开[easyLink]定位服务。
- 启动后设备已连接,请确保网络为2.4G,设备仅支持2.4G。
配置包名
在 iOS 平台上使用本功能,需要在 生成包名(bundle id) 的时候,勾选 Access WiFi Information 功能。如下图:
注意:若配置已经在使用中的包名,需重新生成描述文件,打包证书不用动。
配置 entitlement 文件
iOS 上使用本模块前,需要先配置一个 entitlement 文件。配置方法参考论坛帖子 iOS修改entitlements文件
配送参数如下:
<key>com.apple.developer.networking.wifi-info</key>
<true/>
注意:本模块 iOS 平台上最低适配系统版本为 iOS 9.0
接口
init
配置初始化
init(callback(ret))
params
ssid:
- 类型:字符串类型
- 描述:(可选项)wifi广播,iOS为当前手机连接wifi广播(仅android支持)
- 默认值:手机当前连接wifi广播
password:
- 类型:字符串类型
- 描述:无线网络密码
dhcp:
- 类型:布尔类型
- 描述:(可选项)设备是否自动获取IP地址(开启DHCP),@true或者@false, EASYLINK_AWS配网必须用@ true(仅iOS支持)
- 默认值:true
ip:
- 类型:字符串类型
- 描述:(可选项)IP地址,如果开启DHCP,可以不填,EASYLINK_AWS配网不支持(仅iOS支持)
netmask:
- 类型:字符串类型
- 描述:(可选项)子网掩码,如果开启DHCP,可以不填,EASYLINK_AWS配网不支持(仅iOS支持)
gateway:
- 类型:字符串类型
- 描述:(可选项)网关,如果开启DHCP,可以不填,EASYLINK_AWS配网不支持(仅iOS支持)
dns1:
- 类型:字符串类型
- 描述:(可选项)DNS服务器1,如果开启DHCP,可以不填,EASYLINK_AWS配网不支持(仅iOS支持)
dns2:
- 类型:字符串类型
- 描述:(可选项)DNS服务器2,如果开启DHCP,可以不填,EASYLINK_AWS配网不支持(仅iOS支持)
mode:
- 类型:数字类型
- 描述:(可选项)配网模式(仅iOS支持)
取值范围:
- 0: EASYLINK_V1,不再使用
- 1:EASYLINK_V2, 组播配网
- 2:EASYLINK_PLUS, 广播配网
- 3:EASYLINK_V2_PLUS, 组播+广播配网
- 4:EASYLINK_AWS, 最新的广播配网,提供一键配网中最好的兼容性
- 5: EASYLINK_SOFT_AP, 连接到模块开启的热点进行配网
- 6:EASYLINK_MODE_MAX
- 默认:4
isSendIP :
类型:布尔类型
- 描述:(可选项)是否发送IP(仅android支持)
默认值:false
runSecond :
类型:数字类型
- 描述:(可选项)发送持续时间,单位s(仅android支持)
默认值:50
sleeptime :
类型:数字类型
- 描述:(可选项)每包之间间隔时间,单位ms(仅android支持)
默认值:50
extraData :
类型:字符串类型
描述:(可选项)附加数据(仅android支持)
rc4key :
类型:字符串类型
- 描述:(可选项)RC4加密密钥(仅android支持)
示例代码
var easyLink = api.require('easyLink');
easyLink.init({
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
transmitSettings
开始发送配网信息
transmitSettings()
示例代码
var easyLink = api.require('easyLink');
easyLink.transmitSettings();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopTransmitting
停止发送配网信息
stopTransmitting()
示例代码
var easyLink = api.require('easyLink');
easyLink.stopTransmitting();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
unInit
销毁EasyLink实例
unInit()
示例代码
var easyLink = api.require('easyLink');
easyLink.unInit();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
configFTCClient
如果触发了onFoundByFTC回调,就可以使用configFTCClient接口来设置设备参数了。但是这个功能也要和设备上的Config Server功能配合。(仅iOS支持)
configFTCClient(callback(ret))
params
client:
- 类型:数字类型
- 描述:客户端编号
configDict:
- 类型:json对象
- 描述:(可选项)设备在Config Server功能中提供的配置信息
示例代码
var easyLink = api.require('easyLink');
easyLink.configFTCClient({
});
可用性
iOS系统
可提供的1.0.0及更高版本
ssidForConnectedNetwork
获取当前连接WiFi的ssid
ssidForConnectedNetwork(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
ssid: '', //字符串类型;ssid
}
示例代码
var easyLink = api.require('easyLink');
easyLink.ssidForConnectedNetwork(function(ret) {
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addEventListener
监听事件
addEventListener(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType: '', //字符串类型;监听事件回掉;取值范围如下:(仅iOS支持)
//onFound:新设备发现
//onFoundByFTC:新设备发现(FTC)
//onDisconnectFromFTC:disconnected
client:0, //数字类型;客户端编号 (仅iOS支持)
configDict:{}, //json对象;设备在Config Server功能中提供的配置信息,onFound返回 (仅iOS支持)
name:'', //字符串类型;设备名称,就是设备在mDNS服务中提供的实例名称,onFoundByFTC返回(仅iOS支持)
mataDataDict:'', //json对象;元数据,即使设备在mDNS服务中提供的TXT Record,或者UDP广播中提供的JSON数据,onFoundByFTC返回(仅iOS支持)
sucMsg:'', //字符串类型,成功后返回数据(仅android支持)
errMsg:'', //字符串类型,失败后返回数据(仅android支持)
errCode:, //数字类型,失败返回code(仅android支持)
}
示例代码
var easyLink = api.require('easyLink');
easyLink.addEventListener(function(ret) {
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
requestLocation
请求定位权限(iOS 13以后需要先获取用户位置权限才能才能获取设备当前连接的wifi信息)
requestLocation(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:false //布尔类型;如果用户未同意开启定位权限,status会返回值,其他情况下不会返回
}
示例代码
var easyLink = api.require('easyLink');
easyLink.requestLocation( function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统