最近在接触涂鸦智能设备,利用App与设备进行连接进行远程的控制设备,同时对室内的温湿度,烟雾等参数进行监听,实时观察室内的危险参数,然后首先在这里,我们先可以了解一下设备几种入网的方式。
快连入网(EZ)
热点模式入网(AP)
有线入网(wired)
子设备入网(zigbee)
快连入网:
快连入网:Wi-Fi 快连入网又称 快连模式(Easy-Connect)、SmartConfig 或 EZ 配网。用户将手机连接到路由器后,利用路由器广播报文与设备进行通信配对。对用户操作简单,但对手机和路由器有兼容性要求,成功率低于 热点配网。配网流程如图1-1
图1-1 快连配网流程
对于快连模式,虽然有效性稍低于热点配网,但却是最简单的配网方式,现在我们看一下入网流程:
1.首先获取token,利用用户登陆时获取的资产‘Id以及连接方式来请求获取配网令牌
TYActivatorManager.activator.getRegistrationToken
参数:
assetId String true 资产 ID
type String true 配网类型: EZ、AP、Bluetooth
timeZone String true 配网时区
deviceUUID String false 设备UUID
调用:
2.初始化配网参数
ActivatorBuilder builder = new ActivatorBuilder(context, ssid, password, region, token, secret);
参数:
context 需要传入 activity 的 context
ssid 配网之后,设备工作 WiFi 的名称(家庭网络)
password 配网之后,设备工作 WiFi 的密码(家庭网络)
region 获取令牌接口返回值中的 region
token 获取令牌接口返回值中的 token
secret 获取令牌接口返回值中的 secret
调用:
注意: 在这里的ssid与password:需要手动输入局域网的账号密码。
3.实例化配网
IEZActivator mEZActivator = TYActivatorManager.newEZActivator(builder);
参数:
ActivatorBuilder 需要传入初始化对象
调用:
开始配网:
取消配网:
4.获取配网信息:
TYActivatorManager.getActivator().getRegistrationResultToken
参数:
token 配网令牌
listener 配网成功回调
调用:
注意:这里通常调用时添加一个一秒的轮巡,每秒钟调用一次
设备配网属于异步过程。设备配网的耗时取决于网络质量。您必须调用 API 来检查设备配网结果。当系统返回配网设备列表或配网任务超时后,轮询任务停止。
热点模式入网:
热点配网:热点配网又称 热点模式 或 AP(Access Point)配网,是一种通过 Wi-Fi 进行配网的连接能力。将手机连接到配网设备 Wi-Fi 热点后,App 与手机直接通过 Wi-Fi 进行通信配对。成功率高、可靠性好,可适配 2.4G/5G 混频路由器配网,但用户需要手动切换手机的 Wi-Fi 设置。热点配网流程图如图1-2所示
图1-2 热点模式配网流程图
对于热点配网来说,虽比快连模式更稳定但却比快连麻烦一些。现在我们看一下入网流程:
注意:涂鸦对于热点模式与快连模式切换的标准是指示灯的快慢闪,长按为进入配网状态,快闪切换带慢闪即为在快闪状态下再次长按则切换为慢闪
1.首先获取token,利用用户登陆时获取的资产‘Id以及连接方式来请求获取配网令牌
TYActivatorManager.activator.getRegistrationToken
参数:
assetId String true 资产 ID
type String true 配网类型: EZ、AP、Bluetooth
timeZone String true 配网时区
deviceUUID String false 设备UUID
调用:
2.初始化配网参数
ActivatorBuilder builder = new ActivatorBuilder(context, ssid, password, region, token, secret);
参数:
context 需要传入 activity 的 context
ssid 配网之后,设备工作 WiFi 的名称(家庭网络)
password 配网之后,设备工作 WiFi 的密码(家庭网络)
region 获取令牌接口返回值中的 region
token 获取令牌接口返回值中的 token
secret 获取令牌接口返回值中的 secret
调用:
注意: 在这里的ssid与password:需要手动输入局域网的账号密码。
注意: 另外在这里我们需要提前连接设备发出的热点,在连接过程中SDK开始配网后,会不断调用云端接口。如果在热点中设备收到SDK 发的局域网信息,SDK就会切换网络到局域网。
3.实例化配网
IEZActivator mEZActivator = TYActivatorManager.newEZActivator(builder);
参数:
ActivatorBuilder 需要传入初始化对象
调用:
开始配网:
取消配网:
4.获取配网信息:
TYActivatorManager.getActivator().getRegistrationResultToken
参数:
token 配网令牌
listener 配网成功回调
调用:
注意:这里通常调用时添加一个一秒的轮巡,每秒钟调用一次
设备配网属于异步过程。设备配网的耗时取决于网络质量。您必须调用 API 来检查设备配网结果。当系统返回配网设备列表或配网任务超时后,轮询任务停止。
有线入网:
有线设备相比较其他的入网方式更加的简单,只要连上网线。有线设备是指通过有线网络连接路由器,配网过程不用输入路由器的热点名称和密码。有线入网流程如下:
1.首先获取token,利用用户登陆时获取的资产‘Id以及连接方式来请求获取配网令牌
TYActivatorManager.activator.getRegistrationToken
参数:
assetId String true 资产 ID
type String true 配网类型: EZ、AP、Bluetooth
timeZone String true 配网时区
deviceUUID String false 设备UUID
调用:
2.初始化配网参数
ActivatorBuilder builder = new ActivatorBuilder(context, ssid, password, region, token, secret);
参数:
context 需要传入 activity 的 context
ssid 配网之后,设备工作 WiFi 的名称(家庭网络)
password 配网之后,设备工作 WiFi 的密码(家庭网络)
region 获取令牌接口返回值中的 region
token 获取令牌接口返回值中的 token
secret 获取令牌接口返回值中的 secret
调用:
注意: 在这里的ssid与password:需要手动输入局域网的账号密码。
3.实例化配网
IEZActivator mEZActivator = TYActivatorManager.newEZActivator(builder);
参数:
ActivatorBuilder 需要传入初始化对象
调用:
开始配网:
取消配网:
4.获取配网信息:
TYActivatorManager.getActivator().getRegistrationResultToken
参数:
token 配网令牌
listener 配网成功回调
调用:
注意:这里通常调用时添加一个一秒的轮巡,每秒钟调用一次
设备配网属于异步过程。设备配网的耗时取决于网络质量。您必须调用 API 来检查设备配网结果。当系统返回配网设备列表或配网任务超时后,轮询任务停止。
子设备入网:
子设备配网也叫zigbee设备配网,需要网关设备云在线并且子设备在配网状态下才能进行配网。配网流程具体如下:
1.首先获取当前资产列表下的云在线网关设备:
TYActivatorManager.getActivator().queryRegistrationGateways
参数:
asset_id String true 资产 ID
调用:
2.获取到网关我们需要在当前网关下搜寻子设备:
TYActivatorManager.getActivator().discoverSubDevices
参数:
deviceId String true 网关设备 ID
duration Integer false 网关搜寻子设备的时长,取值范围为 0~3600 秒,默认值为 100 秒
调用:
注意:接口返回的是是否将子设备配网成功
3.查看当前网关下,成功添加到设备:
TYActivatorManager.getActivator().querySubDeviceRegistrationResult
参数:
deviceId String true 网关设备 ID
discoveryTime Long true 网关发现子设备时间,精确到秒
调用:
设备配网属于异步过程。设备配网的耗时取决于网络质量。您必须调用 API 来检查设备配网结果。当系统返回配网设备列表或配网任务超时后,轮询任务停止。建议轮询任务设置为每隔 1 秒运行一次。配对任务的超时值建议设置为 100 秒。
注意:不同的设备有他自己不同的配网方式,在配网前要明确好设备支持的配网方式