配网类(TIoTCoreUtil)用于为设备配置上网环境,目前支持以下三种配网方式:
-
扫码配网
-
AP 配网
-
有线配网
扫码配网流程如下:
1、使用 物联网平台 API 获取配网 Token。
2、SDK 根据 Token,WIFI 的 ssid、bssid、密码生成二维码。
3、设备扫描二维码。
4、设备端根据扫描二维码获取的信息联网。
调用 TIoTCoreUtil 类的 generateQrCodeWithConfig 进行二维码配网,调用示例如下:
var tIoTCoreUtil = TIoTCoreUtil()
var qrcodeConfig = QrcodeConfig()
qrcodeConfig.ssid = "WIFI ssid"
qrcodeConfig.wifiPwd = "WIFI 密码"
qrcodeConfig.token = "配网 token"
qrcodeConfig.bssid = "WIFI bssid"
var bitmap = tIoTCoreUtil.generateQrCodeWithConfig(qrcodeConfig) // 同步方法
AP 配网流程如下:
1、使用 物联网平台 API 获取配网 Token。
2、SDK 根据 Token,WIFI 的 ssid、bssid、密码,以及端口,生成配网信息。
3、连接设备热点,并发送配网信息。
4、设备端根据收到的配网信息联网。
调用 TIoTCoreUtil 类的 configNetBySoftAp 进行 AP 配网,调用示例如下:
var tIoTCoreUtil = TIoTCoreUtil()
tIoTCoreUtil.port = 0 //端口号,默认 8266
var task = LinkTask()
task.mSsid = "WIFI ssid"
task.mBssid = "WIFI bssid"
task.mPassword = "WIFI 密码"
task.mAccessToken = "配网 token"
tIoTCoreUtil.configNetBySoftAp("上下文 context", task, listener) // SoftAPConfigNetListener 类型的 listener
configNetBySoftAp 函数是异步方法,需要关注 SoftAPConfigNetListener 回调
interface SoftAPConfigNetListener {
fun onSuccess() // 配网成功
fun onFail(code: String, msg: String) // 配网失败
fun reconnectedSuccess() //切换网络成功,sdk 连接设备热点进行配网,配网信息发送成功以后,sdk 成功切换回原来的网络
fun reconnectedFail() //切换网络失败,sdk 连接设备热点进行配网,配网信息发送成功以后,sdk 切换回原来的网络失败
}
有线配网流程如下:
1、为设备插入能连接外网的网线。
2、手机连接与设备同一网络的 WIFI。
3、SDK 配置的本地端口、设备端口、组播 IP,须与设备端设置的本地端口、组播监听端口、组播 IP 相匹配。
4、使用 物联网平台 API 获取配网 Token。
5、发送配网信息。
6、设备端根据收到的配网信息联网。
调用 TIoTCoreUtil 类的 configNetByWired 进行有线配网,调用示例如下:
var tIoTCoreUtil = TIoTCoreUtil()
tIoTCoreUtil.groupAddress = "组播 ip"
tIoTCoreUtil.destHostPort = 0 // 设备监听的端口,有线配网设备监听的端口,默认 7838
tIoTCoreUtil.localHostPort = 0 // 本地端口,有线配网 sdk 监听的端口,默认 7838
tIoTCoreUtil.configNetByWired("配网 token", listener) // WiredConfigListener 类型的 listener
configNetByWired 函数是异步方法,需要关注 WiredConfigListener
interface WiredConfigListener {
fun onStartConfigNet() // 开始配网
fun onSuccess(productId: String, deviceName: String) // 配网成功
fun onFail() //配网失败
fun onConfiging() //正在配网
}