首页 > 其他分享 >实战教学——IoT_CLOUD连接腾讯云

实战教学——IoT_CLOUD连接腾讯云

时间:2024-09-29 09:23:24浏览次数:11  
标签:IoT 平台 校验 注册 腾讯 CLOUD 设备

众所周知,市面上有很多云平台,阿里云、腾讯云、中移OneNET、华为云、百度云、TLink云等等......并且每家云平台都有自己的协议,工程师要移植不同的SDK代码或基于各家的手册文档对接不同的协议,看着都头大!!!

为解决繁琐的云平台开发困扰,
合宙IoT_CLOUD应运而生,一库打通所有云平台!

本文将以Air780E+LuatOS作为示例,教你使用IoT_CLOUD连接腾讯云平台。

注意:此库为网络通用库不限制型号,即【所有LuatOS支持的蜂窝模组都可使用】。

本文同样适用于:
Air780EX/Air780EG/Air780EP/Air780EPS…

一、合宙IoT_CLOUD简介

1.1 IoT_CLOUD特色简介

IoT_CLOUD——是合宙专门为了合并IoT平台而制作的LuatOS通用库,意在使用统一且极简的代码接入各个云平台,轻松实现云功能。

用户无需为那么多云平台的接入而头疼,只需要极简的通用API即可轻松上云!并且因为通用,所以云平台之间的迁移也十分方便。

1.2 IoT_CLOUD功能实现

IoT_CLOUD库本质就是上层设计一套通用的API,用库来实现每个平台功能的对接。

目前已经实现了各个平台的所有注册方式,其中自动注册会将相关验证信息保存KV,随后使用此验证信息进行连接,通知针对每个平台添加了特有系统实现,比如:设备上线通知、设备版本号上传、OTA功能等。

用户无需管理这些信息,只需要注意相关下发消息做应用逻辑即可。

最新demo源码下载

二、腾讯云简介

腾讯云物联网开发平台(IoT Explorer)——是面向智慧生活与产业互联应用的物联网PaaS平台,为基于物联网的各行业设备制造商、方案商及应用开发商提供一站式设备智能化服务。

平台提供海量设备连接与管理能力及基于腾讯连连的小程序应用开发能力,并打通腾讯云基础产品及AI能力,聚合腾讯生态内容能力。从而提升传统行业设备智能化的效率,降低用户的开发运维成本。

腾讯云官网

三、前期准备工作

3.1 云平台准备

注册/登录腾讯云账号,新建公共实例并且新建一个项目,后面我们会在此项目中进行演示。

注意:腾讯新出了个V2版本开发平台,本库也支持但是不推荐使用。

至笔者编写此文章为止,V2较V1版本去掉了证书校验,去掉了自动注册中自动创建设备功能,并且已经和腾讯云确认此改动。是的,自动注册的自动创建设备改没了,自动注册要手动一个一个创建设备,呵呵。。。

3.2 硬件准备

  1. 合宙Air780E开发板
  2. USB数据线
  3. Win10以上PC电脑

四、实战教学

接下来,我们就不按部就班的介绍每个API,这样很枯燥。我们直接实战,跟着文档从0一步一步进行下去,每一步介绍涉及到的API,流程结束也就学会IoT_CLOUD库的使用。

4.1 设备注册

1)设备注册API

注册的API只有一个,但是支持了所有的注册方式,使用也很简单。

创建云平台对象

iotcloud.new(cloud,iot_config,connect_config)

参数:

返回值:

2)设备注册分类

腾讯云支持密钥校验、证书校验、动态注册三种注册方式(实际是四种,其中动态注册里分两种,但是对用户无感所以这里不进行拆分)。

  • 密钥校验(手动注册)

密钥校验即使用密钥作为校验凭据,首先新建产品:

按照要求填写,认证方式选择密钥认证,之后我们点进去新建个设备,设备名称我们可以直接填写模组的imei。

这样我们就创建好了设备,我们点进去看下设备信息。

可以看到我们需要的数据已经被贴心的加了一键复制,我们要记录下【设备名称、产品ID、设备密钥】这三个数据,使用这三个数据我们就可以上云了。

接下来,我们看下代码具体怎么用:

第一个参数表示我们使用的是腾讯云,第二个参数我们将上面得到的三个参数填写到table中即可,so easy~

  • 证书校验(手动注册)

证书校验即使用证书作为校验凭据,注意选择证书认证。

注意:V2版本腾讯云不支持新建此校验方式。

之后和上面密钥校验一样的创建设备流程,创建之后我们再来看看设备信息。

大家应该猜到了,还是三个参数:
产品名称、产品ID,最后一个变成了设备证书。

接下来,我们再来看下代码具体怎么用:

第一个参数表示我们使用的是腾讯云,第二个参数我们将上面得到的产品名称 产品ID,第三个参数写上我们的证书,同样很简单~

  • 动态注册(推荐)

上面两种方式都需要我们手动在云平台上创建设备,但是我们的产品会有很多设备,手动创建太麻烦。

动态注册就解决了这些问题:
可以实现统一代码使用时动态进行设备注册,无需手动创建。

注意:V2版本腾讯云不支持自动创建设备

这样我们就简单了很多,上面两种方式创建的产品详情中都有动态注册开关,我们只需要打开动态注册开关和自动创建设备开关即可支持两种方式的动态注册。

随后会生成动态注册上方的产品密钥,我们复制产品ID和产品密钥即可。

接下来,我们再来看下代码具体怎么用:

第一个参数表示我们使用的是腾讯云,第二个参数我们将上面得到的产品ID和产品密钥,非常的简单!

4.2 连接/断开云平台

注册完成了,我们开始上云了~ 非常简单,iotcloud库的api基本和mqtt库一样,所以连接只需要一个API。

1)云平台连接
cloudc:connect()

参数:无

返回值:无

例子:iotcloudc:connect()

连接说了,我们也说一下断开连接,也只需要一个API。

2)云平台断开
cloudc:disconnect()

参数:无

返回值:无

例子:iotcloudc:disconnect()

4.3 订阅/取消订阅主题

同上,订阅和取消订阅也很简单。

1)云平台订阅
cloudc:subscribe(topic, qos)

参数:

返回值:无

2)云平台取消订阅
cloudc:unsubscribe(topic)

参数:

返回值:无

4.4 发布数据

数据的发布也同MQTT一样。

云平台发布
cloudc:publish(topic,data,qos,retain)

参数:

返回值:无

4.5 接收数据

接收统一使用了"iotcloud"消息进行通知,所以我们只需要订阅此系统消息即可。

4.6 云平台关闭

云平台关闭会释放掉内存,之后不能再进行重接,只能重新新建再连接。

云平台关闭
cloudc:close()

参数:无

返回值:无

例子:iotcloudc:close()

4.7 云平台OTA

仅仅如此了么?当然不只!

IoT_CLOUD还支持了腾讯云平台的OTA功能,可以直接进行OTA,且所有流程iotcloud库都进行了支持,做到了用户无感。

用户在订阅"iotcloud"消息中会有iotcloud.OTA事件,此事件即为OTA完成的通知,我们选择时间进行设备重启即可。

五、效果演示

5.1 代码演示

好了,接下来我们看下完整代码和效果,这里以动态注册为例。

最新demo源码下载

5.2 设备日志

可以看到我们的设备打印了连接成功,证明自动注册+连接流程已经完成。

5.3 云平台效果

可以看到,设备已经自动注册并且在线。

至此,云平台已经连接成功。剩下的就是要根据自己的产品需求,使用自己的模型上报/下发数据就可以了。

更多详细资料获取请点击:合宙文档资料中心

标签:IoT,平台,校验,注册,腾讯,CLOUD,设备
From: https://blog.csdn.net/m0_57476762/article/details/142623349

相关文章

  • 【含文档+PPT+源码】基于SpringCloud微服务的船舶交易平台的设计与实现
    项目背景与意义随着全球经济的快速发展,航运业成为国际贸易中不可或缺的一环。船舶交易平台作为航运业的重要组成部分,为船舶买卖、租赁等交易提供了便利和高效的途径。在传统的船舶交易中,买卖双方往往需要通过中介机构来进行交易,这不仅增加了交易的时间和成本,还存在信息不透明......
  • UIOTOS前端组态跟中控等SCADA、HMI有什么区别?
    UIOTOS不是SCADA,不过可以拿去开发SCADA,在绘图、HMI、交互界面搭建能力上,是uiotos的强项,毕竟定位是一站式IoT应用无代码搭建工具。尤其是嵌套、继承、连线,基本上组态一样搭建,能做到代码定制开发的效果。这点跟一般的前端低代码组态大屏设计器还是有很大不一样。另外,SCADA一般跟协......
  • IIoT
    相关VMwareubuntuNode-redMosquittoMQTTNode-Redwindows安装node.js安装node-redubuntuinsclear清除安装UbuntuServer安装SSHServer要勾选安装如果没有勾选:sudoapt-getinstallopenssh-serversudoaptupdatesudoaptupgrade安装Node.jssudoaptinsta......
  • springcloud的gateway处理跨域问题
    gateway处理跨域问题,有两种方式,一种是配置文件,另外一种是代码配置文件spring:cloud:gateway:globalcors:cors-configurations:'[/**]':allowCredentials:trueallowedMethods:"*"allowedHeaders:......
  • springcloud的gateway使用全局过滤器
    全局过滤器是可以做一些统一的事情,比如认证鉴权、日志处理等@ComponentpublicclassLogFilterimplementsGlobalFilter,Ordered{Loggerlog=LoggerFactory.getLogger(this.getClass());@OverridepublicMono<Void>filter(ServerWebExchangeexchange,G......
  • 中东电商:下一个蓝海,Google Cloud和Google Maps助力企业乘风破浪
    随着“一带一路”倡议的深入推进,中东地区已成为全球瞩目的新兴市场。庞大的年轻消费群体、丰富的石油资源以及不断完善的数字基础设施,为中国企业提供了前所未有的发展机遇。中东电商市场,无疑是下一个蓝海!中东电商市场:数字与机遇庞大市场规模:2023年中东地区的电商市场规模为1065......
  • SpringCloud入门
    SpringCloud原版笔记:狂神说笔记——SpringCloud快速入门23-subeiLY-博客园(cnblogs.com)一.前言 常见面试题什么是微服务?微服务之间是如何独立通讯的?SpringCloud和Dubbo有哪些区别?SpringBoot和SpringCloud,请你谈谈对他们的理解什么是服务熔断?什么是服......
  • ETLCloud携手ClickHouse:高效的数据查询效率
    自从大数据处理技术走进大众视野、开源项目Hadoop的出现,以前受制于数据库处理能力的大数据技术蓬勃发展,传统关系型数据库所构建的数据仓库,被以Hive为代表的大数据技术所取代,随着技术不断发展,Hadoop虽然带来了诸多便利性,但是其臃肿和复杂的体系使得在海量数据和高时效性的压力下有......
  • Spring Cloud全解析:服务调用之OpenFeign日志打印
    OpenFeign日志打印OpenFeign提供了日志打印功能,可以配置不同级别的日志级别publicenumLevel{//默认,不显示任何日志NONE,//仅记录请求方法、url、响应状态码及执行时间BASIC,//除记录BASIC信息外,还记录请求头和响应头HEADERS,//除了HEADERS信息外,还有请......
  • 远程腾讯云服务器cd : file/: Permisson denied
    这是由于权限问题。一般登录服务器后会自己创建一个新的用户,比如叫leung。adduserleung#创建用户acsusermod-aGsudoleung#给用户acs分配sudo权限如果上面出现不允许,那就加上sudo再执行。但是有时候我们cdleung时也会出现不允许的情况,我们可以直接如下操作:chm......