Java开发如何通过IoT边缘ModuleSDK进行进程应用
本文分享自华为云社区《【华为云IoTEdge开发实战】Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发云社区华为云》,作者:华为IoT云服务。
为解决用户自定义处理设备数据以及自定义协议设备快速接入IOT平台的诉求,华为IoT边缘提供ModuleSDK,用户可通过集成SDK让设备以及设备数据快速上云。IoT边缘平台应用功能有自定义处理设备数据(即数据处理),自定义协议设备快速接入(即协议解析),IT子系统接入(即IT应用),并且支持容器化部署和安装包部署的方式。1、操作场景
使用ModuleSDK开发插件应用,并以进程方式跑在服务器上。2、代码解析
代码解析样例:数据处理代码解析工业子系统接入代码解析协议转换代码解析OT数采代码解析3、注册节点
注册节点,请参照注册边缘节点。4、设备建模发放
请参照设备建模发放。5、项目打包
将集成ModuleSDK进行项目打包。
根据您的需求进行相关代码的开发,并将项目打包,以编辑器IDEA为例:
1。选中项目右键openModulesetting
2。Artifacts单击号JARFrommoduleswithdependencies模块选择monitorapp,选择monitorapp的Main入口类,注意MANIFEST。MF位置选择模块根目录单击apply。
3。单击上方build选项选择buildArtifactsmonitorapp:jarbuild
4。打包完成得到monitorapp。jar文件。(如遇到错误(InvalidsignaturefiledigestforManifestmainattributes)请使用压缩文件进入metf目录删除。rsa和。mf文件)
6、制作插件包
1。插件包制作。
a。插件包格式要求如下:
插件包仅支持。tar。gz、。tar或者。zip格式。
插件包结构如下:
app。zip
。jar可执行jar文件,必须
start。sh启动脚本必须文件当前不提供参数方式启动
stop。sh停止脚本非必须
b。构建插件包。
以monitorapp为例,在项目打包后得到monitorapp。jar
在monitorapp。jar文件的同目录下创建start。sh,内容如下:
functionlog(){
echodateYmdT:1
}
log〔INFO〕startexecutprocess。
调试时可打开,确认sdk需要的环境能被获取
echo{deviceid}testenviroment。file
pwd
更新环境变量,防止找不到java命令。
sourceetcprofile
运行文件在varIoTEdgedownloadedjobrun下面
javajar。monitorapp。jarmonitorrunning。log21
将monitorapp。jar和start。sh一起压缩得到monitorapp。zip。
注意:插件包升级时,会删除运行目录的所有文件,注意持久化文件的存储。插件包的运行路径为{installerdir}IoTEdgedownloadedjobrun{moduleId}{appVersion}。当前插件包的大小限制为最大500M。程序内对于文件的访问使用相对目录访问(因为程序的安装目录是不确定的)。程序不允许包含后台运行的程序,可以包含多级进程,所有程序均为sh的子进程。进程压缩包命名规范:英文字母或者数字或者,。,长度不超过64,不允许出现空格。
说明:插件包为一层压缩结构,即插件包的压缩包解压之后直接为sh脚本所在目录的结构形式,不能多一层目录。sh脚本为必须脚本,启动时默认调用该脚本进行启动,当前支持root用户以及非root用户(固定为1000用户,非root需要确定是否能够成功依赖系统库)启动,用户可以在start。sh脚本中自由修改自己的启动方式以及环境变量的修改等。sh为非必须的脚本,但是用户如果需要优雅停止的话,需要在改脚本中书写自己进程的停止方式(文件监控、接口调用等)。如果没有该脚本的话,默认对进程组先发送SIGTERM信号,如果进程组对该信号没有处理,达到最大等待时间则发送SIGKILL信号强制停止。整个停止的最大周期为10s。
2。插件包上传。
a。开通对象存储服务OBS。
进程包上传方式需要开通对象存储服务OBS,请参考对象存储服务OBS快速入门。
b。上传进程包。
上传方式,请参照对象存储服务(OBS)。
注意:
请设置桶策略为【公开读】,如未设置请前往OBS首页单击桶ID访问权限控制桶策略中设置。7、添加应用
以安装包部署方式为例,将应用程序打包成安装包文件,并上传到对象存储服务(OBS)。
1。在IoT边缘单击创建应用,进入软件部署配置、运行配置,并确认发布。
2。在左侧导航栏,单击应用管理,选择应用名称进入页面,查看应用为已发布状态。
8、部署应用
在边缘节点安装成功后可部署边缘应用。
操作步骤
1。访问IoT边缘,单击立即使用进入IoT边缘控制台。
2。选择左侧导航栏IoT边缘边缘节点进入页面。
3。选择您的边缘节点,单击节点名称进入节点详情页。
4。在左侧导航栏选择应用模块模块管理页签,单击部署应用。
图1部署边缘应用
5。根据页面提示填写参数信息后,单击确认。
图2部署应用
表1部署应用
参数名称
说明
功能用途您可以根据实际情况选择:
数据处理:提供设备数据处理能力。
协议解析:提供设备接入能力。
本地子系统集成:提供IT子系统集成能力。
网关管理:扩展边缘节点的协议接入能力,当前支持Modbus,OPCUA协议接入。
混合应用:包含数据处理、协议转换、子系统接入、网关管理、数据采集其中两个及以上功能的应用。
数据采集:提供OT数采能力。
边缘应用
在应用管理中创建的应用名称。
选择版本
在应用管理中创建并发布的应用版本。
模块名称
自定义。
6。弹出操作成功对话框,再单击确认返回部署边缘应用列表。
图3确认
7。单击刷新,当应用的实例状态由部署中转为运行中表示部署成功。
只有应用版本是多部署的时候,且运行配置的网络类型是端口映射后,可在部署应用时,或应用后添加端口映射。
运行配置,请参考端点和部署配置。
注意:标准版默认部署sysedgehub和sysedgeagent,高级版默认部署sysedgehub。标准版和轻量版默认部署edgeomagent,在注册节点过程中可选择是否自动部署。只有已发布的应用版本允许被部署。如果应用添加时配置了支持多模块部署同一个节点下是允许部署多次的。应用支持的架构和边缘节点架构相同才能够部署成功。如果应用需要AI加速卡,边缘节点没有AI加速卡将部署失败。部署应用模块支持升级操作,可选择高版本也可选择低版本,目前只有Agent应用升级失败会回退到原版本。
点击下方,第一时间了解华为云新鲜技术
华为云博客大数据博客AI博客云计算博客开发者中心华为云
十年深耕重组胶原蛋白,聚源生物20吨产线试生产成功36氪专访文海若镜雷珍怡重组胶原蛋白的流行风潮,正吹过医美和妆品原料市场。围绕着透明质酸,诞生了华熙生物爱美客昊海生科等上市公司相比之下,有着更多功效的胶原蛋白也充满了开发想象。如果将两者类
养成无痘肌!内调外护好习惯消除痘痘肌一不熬夜熬夜是万病之源,不仅会加速皮肤老化身体机能下降,还会导致内分泌失调甚至出现脸上爆痘的情况。所以想要皮肤好,一定要保持良好的作息习惯,不要熬夜。每天晚上11点之前睡觉就是一个
离焦眼镜新卷王?思问了解一下如何做好近视管理,控制近视发展,是摆在社会大众面前的一道难题。目前,延缓近视的手段有三种,分别是角膜塑形镜阿托品离焦定制眼镜。用于青少年近视管理的镜片多为离焦镜片,不同品牌根据设计
摩托罗拉放大招?新骁龙82亿像素手机售价新低,等等党又赢了?前言摩托罗拉作为手机界的卷王已为大众所熟知,近些年以高配低价成功上位。然而就在近期摩托罗拉又推出了颠覆认知的motoX30pro,这款手机无论是外观,还是配置以及摄像等,都有了极大
一加11独一无二全新版本特殊材质工艺打造今日,一加中国区总裁李杰表示,一加11即将推出一款特殊的产品。据了解,新机将会再次挑战行业不可能,用前所未有的材质和工艺打造,让每部手机都独一无二,再次引领旗舰质感。博主数码闲聊站
德国一家酿酒厂开发出速溶啤酒除了不含酒精,其他和普通啤酒一模一样德国开发出速溶啤酒,德国酿酒厂开发出啤酒粉据路透社20日报道,德国一家酿酒厂最近开发出一款啤酒粉,用这款啤酒粉冲出的速溶啤酒除了不含酒精,味道外观都和普通啤酒一模一样。这家酿酒厂负
酒过三巡,倒头就睡,为啥一到半夜就渴醒?原因在这3个无酒不成宴席,无论是与朋友小聚还是公司团建,只要有烟火气的地方就一定就会有酒的出现,而喝酒也是很多人选择舒缓压力,释放情绪的一种方式。白酒既能快速推动酒局的进展,还能拉进众人之间的
地瓜和花生油今天给孩子煎了一盘地瓜片,用料都是买的地瓜是买的,花生油是买的。这倒是引起了我小时候对于地瓜和花生油的记忆。作为一个农村的孩子,作为一个家里最大的孩子,作为一个农村女孩子我没有选择
资深酒友如何买酒喝酒与囤酒!人一上百,形形色色,每个人的阅历不尽相同。同一件事物,在不同人眼中也不一样。前几天酒友群建立,群内讨论的大多是关于买酒喝酒与屯酒的事儿。作为一个混迹白酒圈十来年的人,今天聊聊我对这
四个趋势三大举措京东超市助调味品商家高增长健康便捷小包装调味料均增超503月16日,京东超市携手数据调研机构凯度在北京召开调味品行业峰会,超50个头部品牌商出席了峰会。京东超市披露了相关数据,相较去年同期,低盐低卡健康类调味品成交额增长75,便捷的菜谱
和靠谱的人交往,是一生难得的财富很多时候,一个人是否靠谱,比是否有能力,要重要得多。首先,靠谱的人,信守诺言。生活中,我们会发现,那些总是喜欢说包在我身上的人,往往是靠不住的。所谓的承诺,不是简单的一句话,而是需