摘要:使用API Arts&API Explorer调用IoT边缘服务接口创建应用,了解边缘计算在物联网行业的应用。
本文分享自华为云社区《使用API Arts&API Explorer调用IoT边缘服务接口创建应用》,作者:华为IoT云服务。
开始体验前需注册华为云账号并完成实名认证,实验过程中请使用Chrome浏览器完成相关操作。
1)引言:API Explorer提供了IoT边缘服务,IoT边缘(IoT Edge)是边缘计算在物联网行业的应用。IoT Edge作为物联网边缘“小脑”,在靠近物或数据源头的边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供计算和智能服务,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。
https://support.huaweicloud.com/productdesc-iotedge/iotedge_01_0001.html
我们先通过API Arts介绍一下如何通过API创建一个loT边缘应用。
2) 进入API Arts并登录
https://console.huaweicloud.com/apiarts/?region=cn-north-4#/home
3)新建一个名为“loT边缘”的项目:
3.1)点击首页右上角的创建项目按钮

3.2)在新建弹窗内输入“loT边缘应用”,点击确定

3.3)新建成功之后,自动跳转到项目详情页面,点击“新建API接口”卡片,我们通过设计API的形式介绍创建边缘应用的接口。

4)介绍:创建边缘应用接口是一个使用POST方法进行请求的接口,新建一个POST接口主要有四个部分:接口基本信息、请求头、请求体和返回响应。


4.1)接口基本信息
接口的名称为“创建应用”,路径为“/v2/{project_id}/edge-apps”。

4.2)请求参数
在路径中输入“/v2/{project_id}/edge-apps”后,请求参数会自动识别路径中的请求参数。

project_id是调用API接口时需要的一个凭证,可以通过以下方式获得:
https://support.huaweicloud.com/api-iotedge/iotedge_api_0032.html

我们可以向project_id参数增加描述信息:
“项目ID:https://support.huaweicloud.com/api-iotedge/iotedge_api_0032.html ”

4.3)请求体
创建项目的配置项在请求体中发送。
主要有5个string类型的参数:
• edge_app_id:应用ID,必填,最小长度4个字符,最大长度为32
• edge_app_name:应用名称,非必填,最小程度4个字符,最大长度为64
• description:应用描述,非必填,最小长度0,最大长度为255
• function_type:功能类型,非必填,分为数据处理(DATA_PROCESSING)、协议解析(PROTOCOL_PARSING)、IT集成(ON_PREMISE_INTEGRATION)和混合应用(COMPOSITE_APPLICATION),数据默认为DATA_PROCESSING,数据处理模块可以传输消息,协议解析为驱动类型,IT集成为部署南向3rdIA使用,混合应用可同时实现数据处理和协议解析。最小长度为0,最大长度为255
• protocol:驱动协议类型OPCUA|Modbus-TCP,非必填,最小长度0,最大长度为64
将这些内容放进请求体中得到:

4.4)返回响应
新建成功时的返回码为201,参数结构如下所示:

4.5)保存
点击保存按钮后,API Arts会根据设计内容生成文档,在日常开发中可以通过文档进行协作。创建应用的接口的文档如下所示:


5)结言:IoT边缘应用创建接口的主要内容已经介绍完了,可以在API Explorer上开通服务体验到API能力。
1、调用诗歌生成服务前,需要开通IOT边缘服务:
https://console.huaweicloud.com/iotedge/?region=cn-north-4#/console/authorizationEdge

注:IoT边缘收费说明(有一定的额度,可以支持应用的创建):
https://support.huaweicloud.com/productdesc-iotedge/iotedge_01_0008.html

2、登录API Explorer IOT边缘服务调试界面(需要华为云账号登录):
1)查询应用列表
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=BatchListEdgeApps

2)创建应用,以创建HarmonyOS应用为例:
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=CreateEdgeApp

3)查询应用
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=ShowEdgeApp

4)删除应用:
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=DeleteEdgeApp

5)创建边缘节点:
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=CreateEdgeNode

6)查询边缘节点列表
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=ListEdgeNodes

7)查询边缘节点详情
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=ShowEdgeNode
注:调试参数中输入第6步查询到的ID

8)删除边缘节点
https://console.huaweicloud.com/apiexplorer/#/openapi/IoTEdge/debug?api=DeleteEdgeNode
注:调试参数中输入第6步查询到的ID

打开CodeArts IDE Online,将刚刚响应体复制到IDE中,启动调试,可以将刚刚生成的诗词合成一段mp3音频,双击音频可以打开播放。

出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r