参数烧录

<p>设备上线前需要对IOT设备进行身份认证,接入平安云物联网平台采用一机一密的方式, 在LPB130-1 FLASH用户参数区上烧写设备的ProductKey、DeviceName、DeviceSecret,然后调用SDK提供的MQTT接口连接云端即可。</p> <p>&nbsp;<img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20191410113235-1ab40c2490db.png" style="height:178px; width:460px" /></p> <p>注意:每个设备需要烧写不同的DeviceName和DeviceSecret。</p> <p>MQTT客户端启动会从flash固定区域获取三元组信息,然后按照平安云的规则生成userName、password、clientID,根据固件烧录的BrokerUrl与云端建立连接;设备关键参数列表如下:</p> <table border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="background-color:#ededed; vertical-align:top"> <p><strong>参数类型</strong></p> </td> <td style="background-color:#ededed; vertical-align:top"> <p><strong>参数说明</strong></p> </td> </tr> <tr> <td style="vertical-align:top"> <p>ProductKey</p> </td> <td style="vertical-align:top"> <p>物联网IOT平台分配的产品编号</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>DeviceName</p> </td> <td style="vertical-align:top"> <p>物联网IOT平台分配的设备名称编号</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>DeviceSecret</p> </td> <td style="vertical-align:top"> <p>物联网IOT平台分配的设备秘钥</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>BrokerUrl</p> </td> <td style="vertical-align:top"> <p>平安云连接域名</p> </td> </tr> </tbody> </table> <p>设备关键参数的烧录有2种方式:</p> <ul> <li>硬编码的方式</li> </ul> <p>具体参考SDK目录下三元组配置示例代码\example\pa_iot_profile,修改头文件宏定义中的关键参数为用户自定义的参数,编译成功后下载到开发板中运行成功,即将关键参数烧录到flash,代码讲解如下;</p> <p>注意:关键参数每次更新,代码都需要重新编译并下载到开发板运行;</p> <ul> <li>串口指令集配置的方式</li> </ul> <p>将profileconfig.bin文件(见附录)下载到开发板中,打开数据串口,分别输入如下2条指令,即可完成参数烧录:</p> <p>CONFIG_Broker ${yourBrokerUrl }</p> <p>CONFIG_Model ${yourProductKey} ${yourDeviceName } ${yourDeviceSecret }</p> <p>注意:bin文件只需要烧录一次,通过输入串口指令可完成多次参数更新。</p> <p>&nbsp;</p> <p>参数烧录示例程序\example\pa_iot_profile讲解</p> <p>1、 宏定义设备关键参数</p> <pre> <code>#define MQTTC_BROKER_URI_UPDATE         "tcp:// xxxxxxx:1883" #define MQTTC_PRODUCT_KEY_UPDATE       "a8cjm15*******" #define MQTTC_DEVICE_NAME_UPDATE       "jucg******" #define MQTTC_DEVICE_SECRET_UPDATE      "ixCR*********"</code></pre> <p>2、调用SDK路径\modules\profile\iot_profile_storage.h相关接口烧录关键参数</p> <pre> <code>int USER_FUNC app_main (void) {     int rs = IOT_ERR_FAILED;     /*iot sdk init based on LPB130*/     iotsdk_platform_init();     /*set device key param*/     rs = iot_mqtt_client_set_broker_url(MQTTC_BROKER_URI_UPDATE);          if(rs != IOT_OK){         printf(“broker url config failed.\n”); return 1; } iot_mqtt_client_set_product_key(MQTTC_PRODUCT_KEY_UPDATE); if(rs != IOT_OK){         printf(“product key config failed.\n”);         return 1; } rs = iot_mqtt_client_set_device_name(MQTTC_DEVICE_NAME_UPDATE); if(rs != IOT_OK){         printf(“device name config failed.\n”);         return 1; } rs = iot_mqtt_client_set_device_secret(MQTTC_DEVICE_SECRET_UPDATE); if(rs != IOT_OK){         printf(“device secret config failed.\n”);         return 1; } printf(“device key param config succeed.\n”); return 1; } </code></pre> <p>至此,设备认证及MQTT客户端连接所需要的固件信息已经成功烧录到开发板Flash用户参数区中,并且掉电不丢失;更多设备关键参数的获取及设置功能详见SDK:\modules\profile\iot_profile_storage.h。</p>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询 - 7x24 小时

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

7x24 小时,急速解答

工单支持

解决云产品相关技术问题