2.10 haas506 2.0开发教程-高级组件库-aliyunIoT(2.2版本接口有更新)

本教程详细介绍了如何使用HaaS506开发板连接阿里云物联网平台,实现设备动态注册、OTA升级等功能。首先在物联网平台创建产品和设备,开启动态注册,然后通过IMEI号添加设备。接着,代码中展示了如何使用动态注册获取deviceSecret,以及设备连接物联网平台的步骤。同时,教程还涵盖了设备的OTA升级流程,包括接收、下载、校验和升级固件的回调函数。整个过程涉及网络连接、设备注册、属性上报以及错误处理等关键环节。

最新案例教程点击下方链接跳转,优快云已停止更新

点击跳转HaaS506官方最新案例







案例说明

案例说明:
案例实现设备与物联网平台的连接(并进行OTA升级)。
阿里云物联网连接方式之一。
注意 :目前仅华东2(上海)地域支持设备进行一型一密免预注册认证。

关于动态注册

  • 在物联网平台为产品开启动态注册功能后,直连设备可使用一型一密安全认证方式完成动态注册,通过MQTT通信协议连接物联网平台。设备先基于TLS建立与物联网平台的连接,获取MQTT连接所需的设备密钥,再断开连接,然后重新建立MQTT连接进行通信。

  • 动态注册流程,基于MQTT通道的设备动态注册

在这里插入图片描述

关于创建产品

  • 使用物联网平台接入设备前,您需在物联网平台控制台创建产品和对应设备,获取设备证书(ProductKey、DeviceName和DeviceSecret)。
  • 产品相当于一类设备的集合,同一产品下的设备具有相同的功能。您可以根据产品批量管理设备,如定义物模型、自定义Topic等。
  • 您的每个实际设备需对应一个物联网平台设备。将物联网平台颁发的设备证书(ProductKey、DeviceName和DeviceSecret)烧录到设备上,用于设备连接物联网平台的身份验证。

阿里云平台连接

1、平台产品创建

第一次使用物联网平台的读者,需要开通实例后使用物联网平台功能。也可以使用免费的公共实例进行开发,在阿里云物联网平台中,左上角选择‘华东2-上海’,点击‘公共实例’,即可开通。

① 登录物联网平台控制台
请添加图片描述
② 在实例概览页面,找到对应的实例,单击实例进入实例详情页面。

  • 注意 在中国地域,目前仅华东2(上海)地域开通了公共实例服务。

  • 在左侧导航栏,选择设备管理 > 产品,单击创建产品。
    请添加图片描述

  • 输入产品信息
    请添加图片描述

2、添加设备

请添加图片描述

使用IMEI号添加设备

注意:设备名称需要输入IMEI号,代码需要使用设备名称IMEI进行动态注册

请添加图片描述

  • 点击确定
    请添加图片描述

3、开启动态注册

要连接云平台必须打开动态注册按钮。在这个界面也可以查看需要复制的产品信息。

请添加图片描述

4、代码复制

  • 注意更改productKey和productSecret(176行)
  • 2.2版本获取IMEI号接口有更新,需要更改以下内容(Ctrl+F 查找modem)
# 获取设备的IMEI 作为deviceName 进行动态注册
deviceName = modem.info.getDevImei()
...

main.py

# coding=utf-8

from driver import GPIO
import network
import ujson
import utime as time
import modem
from  aliyunIoT import Device
import ota
import kv


 # ota 消息推送的接受函数
def on_trigger(data):
     global info
 # 保存服务端推送的ota信息
     info['url'] = data['url']
     info['length'] = data['length']
     info['module_name'] = data['module_name']
     info['version'] = data['version']
     info['hash'] = data['hash']
     info['hash_type'] = data['hash_type']
    # 开始ota 包下载
     dl_data = {
   
   }
     dl_data['url'] = info['url']
     dl_data['store_path'] = info['store_path']
     ota.download(dl_data)



 # ota 升级包下载结果回调函数
def on_download(data):
     global info
     if data >= 0:
         print('Ota download succeed')
     # 开始ota包校验
         param = {
   
   }
         param['length'] = info['length']
         param['store_path'] = info['store_path']
         param['hash_type'] = info['hash_type']
         param['hash'] = info['hash']
         ota.verify(param)

 # ota 升级包校验结果回调函数
def on_verify(data):
      global info
      print(data)
      if data >= 0 :
          print('Ota verify succeed')
          print('Start Upgrade')
     # 开始ota升级
          param = {
   
   }
          param['length'] = info['length']
          param['store_path'] = info['store_path']
          param['install_path'] = info['install_path']
          ota.upgrade(param)

 # ota 升级包结果回调函数
def on_upgrade(data
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值