0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一库打通所有云平台!合宙IoT_CLOUD之【腾讯云】

Air700ECQ资料 来源:Air700ECQ资料 2024-10-15 16:08 次阅读

​ 众所周知,市面上有很多云平台,阿里云、腾讯云、中移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源码下载

https://gitee.com/openLuat/LuatOS/blob/master/demo/iotcloud/main.lua

二、**腾讯云简介 **

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

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

腾讯云官网:

https://cloud.tencent.com/

**三、前期准备工作 **

3.1 云平台准备

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

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

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

3.2 硬件准备

  • 合宙Air780E开发板
  • USB数据线
  • 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)

参数:

传入值类型解释
string/table主题
numbertopic为string时生效0/1/2 默认0

返回值:无

2)云平台取消订阅

cloudc:unsubscribe(topic)

参数:

传入值类型解释
string/table主题

返回值:无

4.4 发布数据

数据的发布也同MQTT一样。

云平台发布

cloudc:publish(topic,data,qos,retain)

参数:

传入值类型解释
string/table主题
string消息,必填,但长度可以是0
number消息级别,0/1,默认0
number是否存档,0/1,默认0

返回值:无

4.5 接收数据

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

图片

编辑

4.6 云平台关闭

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

云平台关闭

cloudc:close()

参数:无

返回值:无

例子:

iotcloudc:close()

4.7 云平台OTA

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

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

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

**五、效果演示 **

5.1 代码演示

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

最新demo源码下载:

https://gitee.com/openLuat/LuatOS/blob/master/demo/iotcloud/main.lua

图片

编辑

5.2 设备日志

图片

编辑

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

5.3 云平台效果

图片

编辑

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

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

编辑

编辑

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5051

    文章

    18879

    浏览量

    300316
  • 物联网
    +关注

    关注

    2898

    文章

    43706

    浏览量

    368629
  • 代码
    +关注

    关注

    30

    文章

    4687

    浏览量

    68036
收藏 人收藏

    评论

    相关推荐

    干货分享:Air780E怎么连接华为

    文档对接不同的协议,看着都头大!!! 为解决繁琐的平台开发困扰, IoT_CLOUD应运而生,
    的头像 发表于 10-15 07:30 109次阅读
    干货分享:Air780E怎么连接华为<b class='flag-5'>云</b>?

    轻松上怎么操作?IoT_CLOUD之中移OneNET

    连接中移OneNET物联网平台IoT_CLOUD简 1.1 IoT_CLOUD特色简介 Io
    的头像 发表于 10-08 07:00 158次阅读
    轻松上<b class='flag-5'>云</b>怎么操作?<b class='flag-5'>IoT_CLOUD</b>之中移OneNET

    4G模组如何轻松上IoT_CLOUD之中移OneNET

    OneNET物联网平台、**IoT_CLOUD简介 ** 1.1 IoT_CLOUD特色简介 I
    的头像 发表于 10-07 20:41 167次阅读
    4G模组如何轻松上<b class='flag-5'>云</b>?<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>IoT_CLOUD</b>之中移OneNET

    腾讯手动下发远程升级指令到设备_OTA升级方案详解

    1.打开腾讯API Explorer,Publish Msg https://console.cloud.tencent.com/api/explorer?Product
    的头像 发表于 09-30 15:27 170次阅读
    <b class='flag-5'>腾讯</b><b class='flag-5'>云</b>手动下发远程升级指令到设备_OTA升级方案详解

    腾讯手动下发指令到设备_云端与设备联调方案

    1.打开腾讯API Explorer,Publish Msg https://console.cloud.tencent.com/api/explorer?Product
    的头像 发表于 09-30 15:25 161次阅读
    <b class='flag-5'>腾讯</b><b class='flag-5'>云</b>手动下发指令到设备_云端与设备联调方案

    智慧农业IOT平台有什么功能

    随着科技的飞速发展,智慧农业已成为现代农业的重要发展方向。智慧农业IOT平台,作为集数据采集、分析、处理、存储、展示于体的云端服务平台
    的头像 发表于 09-20 14:44 180次阅读

    工业物联网(IOT平台是什么

    随着信息技术的飞速发展,工业互联网(IoT平台已成为推动制造业数字化转型的重要力量。这平台基于
    的头像 发表于 09-19 14:16 187次阅读

    如何使用的DTU+业务平台,做个温湿度传感器数据采集项目?

    使用的DTU+业务平台,做个温湿度传感器数据采集项目,超详细教程。
    的头像 发表于 09-18 11:11 243次阅读
    如何使用<b class='flag-5'>合</b><b class='flag-5'>宙</b>的DTU+业务<b class='flag-5'>云</b><b class='flag-5'>平台</b>,做<b class='flag-5'>一</b>个温湿度传感器数据采集项目?

    面向全体用户的封求助信

    现面向所有的用户正式求助!!!希望有意愿帮助的用户,提出您的宝贵意见!
    的头像 发表于 09-05 16:11 206次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>面向全体用户的<b class='flag-5'>一</b>封求助信

    Air780EP模块Lua开发阿里应用指南

    Air780EP模块Lua开发阿里超详细教学!看完包学会!
    的头像 发表于 08-08 09:00 781次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780EP模块Lua开发阿里<b class='flag-5'>云</b>应用指南

    【ELF 1开发板试用】+ 8.2 MQTT开发——连接腾讯【原创】

    是可以顺利编译的,有的就不行,这个项目编译就会报错 腾讯 平台部署 没有腾讯账号的可以进行
    发表于 12-15 23:10

    Commvault发布首款真正平台Commvault Cloud

    网络弹性的新标准 中国北京,2023年11月10日——混合企业数据保护和网络弹性解决方案领先提供商Commvault(纳斯达克代码:CVLT)今日发布首款真正平台Commvault Clo
    的头像 发表于 11-11 10:28 687次阅读

    华为应用中间件系列,Redis 实现(电商游戏应用)排行榜示例

     Toolkit),作为华为围绕其产品能力向开发者桌面上的延伸,帮助开发者快速在本地连接华为打通华为到开发者的最后公里。Huawe
    的头像 发表于 10-26 09:23 397次阅读
    华为<b class='flag-5'>云</b>应用中间件系列,Redis 实现(电商游戏应用)排行榜示例

    华为应用中间件 DCS 系列 | Redis 实现(视频直播)消息弹幕

     Toolkit),作为华为围绕其产品能力向开发者桌面上的延伸,帮助开发者快速在本地连接华为打通华为到开发者的最后公里。Huawe
    的头像 发表于 10-26 09:19 317次阅读
    华为<b class='flag-5'>云</b>应用中间件 DCS 系列 | Redis 实现(视频直播)消息弹幕

    华为应用中间件 DCS 系列 | Redis 实现(电商网站)秒杀抢购示例

     Toolkit),作为华为围绕其产品能力向开发者桌面上的延伸,帮助开发者快速在本地连接华为打通华为到开发者的最后公里。Huawe
    的头像 发表于 10-25 22:42 428次阅读
    华为<b class='flag-5'>云</b>应用中间件 DCS 系列 | Redis 实现(电商网站)秒杀抢购示例