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

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

3天内不再提示

解决繁琐的云平台开发烦恼?我尝试这样做!

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-09-21 08: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功能等。

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

**二、腾讯云简介 **

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

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

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

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 代码演示

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

图片

5.2 设备日志

图片

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

5.3 云平台效果

图片

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

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

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

    关注

    2903

    文章

    44275

    浏览量

    371266
  • 模组
    +关注

    关注

    6

    文章

    1436

    浏览量

    30291
  • 云平台
    +关注

    关注

    1

    文章

    1281

    浏览量

    38875
收藏 人收藏

    评论

    相关推荐

    计算开发工具包括什么

    计算开发工具种类繁多,包括IDE、虚拟化软件、容器化平台、自动化部署工具和平台等。
    的头像 发表于 11-22 10:11 86次阅读

    低代码开发平台,低成本快速搭建MES系统

    低代码平台是一种可视化的软件高效开发平台,通过抽象和最小化手工编码的方式,为开发和部署定制化应用提速。万界星空科技AI低代码MES系统通过
    的头像 发表于 11-18 15:43 85次阅读
    低代码<b class='flag-5'>开发</b><b class='flag-5'>平台</b>,低成本快速搭建<b class='flag-5'>云</b>MES系统

    告别繁琐平台开发!IoT_CLOUD之 百度

    ​众所周知,市面上有很多云平台,并且每家平台都有自己的协议,工程师要移植不同的SDK代码或基于各家的手册文档对接不同的协议,看着都头大!!! 为解决繁琐
    的头像 发表于 10-31 07:23 143次阅读
    告别<b class='flag-5'>繁琐</b>的<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>开发</b>!IoT_CLOUD之 百度<b class='flag-5'>云</b>

    告别繁琐平台开发!IoT_CLOUD之百度

    文档对接不同的协议,看着都头大!!! 为解决繁琐平台开发困扰, 合宙IoT_CLOUD应运而生,一库打通所有
    的头像 发表于 10-21 07:05 639次阅读
    告别<b class='flag-5'>繁琐</b>的<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>开发</b>!IoT_CLOUD之百度<b class='flag-5'>云</b>

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

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

    计算平台层(PaaS)指的是什么?常见的应用场景盘点

    计算平台层(PaaS),全称PlatformasaService(平台即服务),是计算服务的一种重要模式。为用户提供了一个基于云端的开发
    的头像 发表于 09-25 09:57 237次阅读

    如何理解计算?

    据的安全性。 **高性能计算:**计算平台提供高性能的计算资源,用于处理复杂的科学和工程计算任务。用户可以使用平台来进行高性能计算、模拟和仿真,加速科学研究和工程设计的进程。 **
    发表于 08-16 17:02

    ISCADA平台使用指南

    一:网关方DSA准备设定 二:打开并登录ISCADA 平台(https://iscada.com.cn) 三:添加网关管理配置 四:添加 机型管理 模块 五: 机型管理
    发表于 07-24 08:03

    如何使用服务器刷写自定义固件?

    AT 固件。 我们希望使用我们的自定义固件重新刷新此固件。 我们想这样,因为我们将制造数百个这样的模块,我们希望一切都是自动化的,而无需改变IO引脚。 所以我们不打算用串行端口刷写它,因为它需要改变接线
    发表于 07-15 08:23

    如何通过北向MQTT自定义报文格式对接到物联网平台

    、数据点类型、多层嵌套、数组等,即使通信上了,却不能很好的解析。就像两个国家的人电话拨通了,但是一个讲英语,一个讲中文,无法沟通。要解决这种尴尬局面,要不网关端定制,要不平台端修改。但是
    的头像 发表于 06-03 17:11 349次阅读
    如何通过北向MQTT自定义报文格式对接到物联网<b class='flag-5'>云</b><b class='flag-5'>平台</b>

    高效云端管理的秘诀——华为命令行工具 KooCLI

    运维多年,公司从传统运维改为上。刚一接触时,确实因为要学习很多云知识而烦恼。每次想要执行某个操作时,都要先登录到平台,浏览界面,寻找正
    的头像 发表于 05-10 00:25 680次阅读
    高效云端管理的秘诀——华为<b class='flag-5'>云</b>命令行工具 KooCLI

    ZWS平台应用(2)-设备基于SDK接入

    物联网开发过程中遇到的棘手问题是:如何让设备连接上?设备接入主要是开发者要实现设备与平台进行连接、数据上报/透传、命令控制等过程。接入
    的头像 发表于 03-05 08:24 396次阅读
    ZWS<b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(2)-设备基于SDK接入

    什么是平台?软件被平台拦截了怎么办

    平台是一种基于计算技术的服务平台,它为用户提供了可弹性扩展的计算资源、存储能力和其他服务,以支持用户在环境下进行
    的头像 发表于 02-02 16:37 2142次阅读

    作为一个平台开发工程师,如何使用爱星物联?

    如果你是一位平台开发工程师,需要了解爱星物联作为IoT平台,由 平台、开放
    的头像 发表于 12-18 10:52 349次阅读
    作为一个<b class='flag-5'>平台</b><b class='flag-5'>开发</b>工程师,<b class='flag-5'>我</b>如何使用爱星物联?

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

    MQTT开发——连接腾讯 前文我们基于文档中提供的项目教程,复现ELF 1连接阿里物联网平台,进行了MQTT开发,复现后,笔者就想“为何
    发表于 12-15 23:10