设备接入 IoTDA-Python Demo使用说明:建立连接

时间:2025-02-12 15:01:01

建立连接

设备或网关在接入 物联网平台 时首先需要和平台建立连接,从而将设备或网关与平台进行关联。开发者通过传入设备信息,将设备或网关连接到物联网平台。

  1. IoTClientConfig类主要提供配置客户端相关信息的功能,在建立连接之前,先修改以下参数。
    1234
    # 客户端配置client_cfg = IoTClientConfig(server_ip='iot-mqtts.cn-north-4.myhuaweicloud.com', device_id='5e85a55f60b7b804c51ce15c_py123', secret='******', is_ssl=True)# 创建设备 iot_client = IotClient(client_cfg)
    • server_ip物联网平台的设备对接地址,可参考平台对接信息获取(获取的是 域名 信息,可通过在cmd命令框中执行“ping 域名”,获取IP地址);
    • device_idsecret在成功注册设备后获取;
    • is_ssl设置为True 时建立MQ TTS 连接,False时建立MQTT连接。
  2. 调用 connect 方法进行连接。
    iot_client.connect()

    如果连接成功会打印:

     -----------------Connection successful !!!

    注:如果连接失败,在retreat_reconnection函数中已实现退避重连,代码样例如下:

    # 退避重连def retreat_reconnection(self):print("---- 退避重连")global retryTimesminBackoff = 1maxBackoff = 30defaultBackoff = 1low_bound = (int)(defaultBackoff * 0.8)high_bound = (int)(defaultBackoff * 1.2)random_backoff = random.randint(0, high_bound - low_bound)backoff_with_jitter = math.pow(2.0, retryTimes) * (random_backoff + low_bound)wait_time_until_next_retry = min(minBackoff + backoff_with_jitter, maxBackoff)print("the next retry time is ", wait_time_until_next_retry, " seconds")retryTimes += 1time.sleep(wait_time_until_next_retry)self.connect()
support.huaweicloud.com/devg-iothub/iot_02_2129.html