本文由华为物联网云服务分享自华为云社区《
【华为云IoTEdge开发实战】Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发-云社区-华为云
》华为手机下载更新包 。
华为IoTEdge提供ModuleSDK,满足自定义协议设备对设备数据处理和快速接入物联网平台的自定义需求华为手机下载更新包 。用户可以通过云端集成的SDK快速上传设备和设备信息。物联网边缘平台的应用功能包括设备数据的自定义处理(即数据处理)、自定义协议设备的快速接入(即协议分析)、IT子系统的接入(即IT应用)、支持容器部署和安装包部署方式。
一、操作场景
ModuleSDK允许您开发插件应用程序并以进程模式在服务器上运行它们华为手机下载更新包 。
2.代码分析
代码分析示例:
数据处理代码分析
工业子系统接入码分析
协议转换代码分析
OT数据采集代码分析
3.注册节点
要注册节点,请参阅注册边缘节点华为手机下载更新包 。
展开全文
4.设备建模与分布
请参阅设备建模和分布华为手机下载更新包 。
5.项目打包
集成ModuleSDK打包项目华为手机下载更新包 。
根据自己的需要开发相关代码,打包工程华为手机下载更新包 。下面以编辑器IDEA为例:
1.选择项目->右键打开模块设置
2.Artifacts->点击+号>JAR->Frommoduleswithdependencies->moduleselectmonitorapplication,选择monitorapplication的主要输入类,注意MANIFEST.MF的位置,选择根目录模块->点击应用华为手机下载更新包 。
3.点击上面的build选项->选择buildArtefacts->monitor-app:jar->build
4.打包完成后,会得到monitor-app.jar文件华为手机下载更新包 。
(如果遇到错误(InvalidsignaturefiledigestforManifestheaders),使用压缩文件访问metf目录并删除.rsa和.mf文件华为手机下载更新包 。)
6.制作扩展包
1、插件包的制作华为手机下载更新包 。
a.扩展包的格式要求如下:
插件包仅支持.tar.gz、.tar或.zip格式华为手机下载更新包 。
插件包结构如下:
应用程序.zip
├──****.jar//可执行jar文件华为手机下载更新包 ,必填
├──start.sh//启动脚本需要的文件华为手机下载更新包 ,目前没有提供启动参数
└──stop.sh//不需要停止脚本b.构建扩展包华为手机下载更新包 。
以monitor-app为例华为手机下载更新包 ,工程解压后得到monitor-app.jar
在与monitor-app.jar文件相同的目录中创建一个start.sh华为手机下载更新包 ,其内容如下:
函数日志(){
echo"`date"+%Y-%m-%d%T"`:$1}
log"[INFO]startexecutionprocess.#调试时可以打开华为手机下载更新包 ,确保sdk需要的环境可以获取
#echo"${device_id}">test_enviroment.file
密码
#更新环境变量,防止java命令被发现华为手机下载更新包 。
源/etc/配置文件
#运行文件在/var/IoTEdge/downloaded-job/run
java-jar./monitor-app.jar>monitor_running.log2>&1
将monitor-app.jar和start.sh一起压缩得到monitor-app.zip华为手机下载更新包 。
广告:
更新插件包时,会删除运行目录下的所有文件,注意保存永久文件华为手机下载更新包 。扩展包路径为{installer_dir}/IoTEdge/downloaded-job/run/{moduleId}/{appVersion}/。
当前扩展包的大小限制为最大5亿华为手机下载更新包 。
对程序中包含的文件的访问使用对目录的相对访问(因为程序的安装目录是不安全的)华为手机下载更新包 。
一个程序不能包含后台运行的程序,但可以包含多级进程,所有程序都是sh的子进程华为手机下载更新包 。
工艺打包包命名规范:英文字母或数字或“_”、“.”,长度不超过64,不能有空格华为手机下载更新包 。
可视化:
插件包是单层压缩结构,即插件包的压缩包解压时,直接是sh-script所在目录的结构,不能多出一层目录华为手机下载更新包 。
sh脚本是启动时默认调用的必要脚本华为手机下载更新包 。目前支持root用户和非root用户(固定为1000个用户,非root用户必须指定是否可以信任系统库)。用户可以通过start.sh脚本启动,自由修改自己的启动方式和环境变量编辑。sh是一个可选脚本,但如果用户需要优雅退出,则应在自定义脚本中编写自己停止进程的方法(文件监控、接口调用等)。如果没有这样的脚本,默认先向进程组发送SIGTERM信号。如果进程组不处理该信号,并且达到最大等待时间,则发送一个SIGKILL信号将其停止。整个停止的最长持续时间为10秒。
2.下载扩展包华为手机下载更新包 。
a.开通对象录制服务OBS华为手机下载更新包 。
下载流程包需要开启OBS华为手机下载更新包 。
更多信息,请参见对象存储服务OBS_快速入门华为手机下载更新包 。
b.下载流程包华为手机下载更新包 。
下载方法参见对象存储服务(OBS)华为手机下载更新包 。
广告:
将组策略设置为[公开阅读]华为手机下载更新包 。若未配置,请进入“OBS首页>点击容器ID>访问控制>容器策略设置”。
7.添加应用
作为安装包部署方式的一个例子,应用程序被打包成一个安装包文件并上传到对象存储服务(ObjectStorageService,OBS)华为手机下载更新包 。
1、在IoTEdge点击CreateApplication,进入SoftwareDeploymentConfiguration,RunConfiguration,确认发布华为手机下载更新包 。
2、点击左侧导航栏“应用管理”,选择“应用名称”进入页面,查看应用是否处于“已发布”状态华为手机下载更新包 。
8.激活应用
边缘节点安装成功后,即可部署边缘应用华为手机下载更新包 。
步
1.转到IoTEdge并单击立即应用以访问IoTEdge控制台华为手机下载更新包 。
2.从左侧导航栏选择“IoTEdge>EdgeNode”进入页面华为手机下载更新包 。
3.选择一个边缘节点,点击“节点名称”进入节点信息页面华为手机下载更新包 。
4.从左侧导航栏中,选择“应用程序模块”>“管理模块”选项卡,然后单击“部署应用程序”华为手机下载更新包 。
图1边缘应用的实现
5、根据页面提示填写参数信息后,点击“确定”华为手机下载更新包 。
图2应用程序的实现
表1部署应用
参数名称
可视化
功能用途
您可以根据实际情况选择:
数据处理:提供设备的数据处理能力华为手机下载更新包 。
协议分析:提供设备访问权限华为手机下载更新包 。
本地子系统集成:提供IT子系统集成能力华为手机下载更新包 。
网关管理:扩展了边缘节点的协议使用可能性,目前支持Modbus和OPC-UA协议使用华为手机下载更新包 。
混合应用:包含两种或两种以上功能的应用:数据处理、协议转换、子系统接入、网关管理、数据采集华为手机下载更新包 。
数据收集:提供OT数据收集功能华为手机下载更新包 。
边缘应用
在应用程序管理器中创建的应用程序的名称华为手机下载更新包 。
选择一个版本
在应用程序管理中创建和发布的应用程序版本华为手机下载更新包 。
模块名称
编辑华为手机下载更新包 。
6.当出现“操作成功”对话框时,单击“确定”返回已启用外设列表华为手机下载更新包 。
图3确认7.单击“更新”华为手机下载更新包 。当应用实例的状态由“Deploying”变为“Running”时,部署成功。
只有当应用版本已经部署过多次且运行配置的网络类型为端口映射时,才可以在应用部署时或部署后添加端口映射华为手机下载更新包 。
要完成配置,请参阅端点和部署配置华为手机下载更新包 。
广告:
标准版默认开启sys_edge_hub和sys_edge_agent,高级版默认开启sys_edge_hub华为手机下载更新包 。
standard和light版本默认启用$edge_omagent,您可以选择是否在节点注册过程中自动启用华为手机下载更新包 。
仅允许发布应用程序版本华为手机下载更新包 。
如果添加应用支持多模块部署,则允许在同一个节点上进行多个部署华为手机下载更新包 。
只有当应用程序支持的架构与边缘节点的架构相同时,部署才能成功华为手机下载更新包 。
如果应用需要AI加速卡,如果边缘节点没有AI加速卡,部署会华为手机下载更新包 。
部署应用模块支持升级功能,可选择高版本或低版本华为手机下载更新包 。目前,只有代理应用程序不更新并恢复到原始版本。
戳下方第一时间华为手机下载更新包 了解更多华为云的新鲜技术~
华为云博客_大数据博客_人工智能博客_云计算博客_开发者中心-华为云
标签: 开发 IoTEdgeModuleSDK 流程 应用 使用