本文分享自华为云社区《【华为云IoTEdge开发实战】Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发-云社区-华为云》,作者: 华为IoT云服务。
为解决用户自定义处理设备数据以及自定义协议设备快速接入IOT平台的诉求,华为IoT边缘提供ModuleSDK,用户可通过集成SDK让设备以及设备数据快速上云。IoT边缘平台应用功能有自定义处理设备数据(即数据处理),自定义协议设备快速接入(即协议解析),IT子系统接入(即IT应用),并且支持容器化部署和安装包部署的方式。
使用ModuleSDK开发插件应用,并以进程方式跑在服务器上。
代码解析样例:
注册节点,请参照注册边缘节点。
请参照设备建模&发放。
将集成ModuleSDK进行项目打包。
根据您的需求进行相关代码的开发,并将项目打包,以编辑器IDEA为例:
1.选中项目->右键open Module setting
2.Artifacts->单击+号>JAR->From modules with dependencies->模块选择monitor-app,选择monitorapp的Main入口类,注意MANIFEST.MF位置选择模块根目录->单击apply。
3.单击上方build选项->选择build Artifacts->monitor-app:jar->build
4.打包完成得到monitor-app.jar文件。(如遇到错误(Invalid signature file digest for Manifest main attributes)请使用压缩文件进入metf目录删除.rsa和.mf文件)
1.插件包制作。
a.插件包格式要求如下:
插件包仅支持.tar.gz 、.tar或者 .zip格式。
插件包结构如下:
app.zip
****.jar //可执行jar文件,必须
start.sh //启动脚本 必须文件 当前不提供参数方式启动
stop.sh //停止脚本 非必须
b.构建插件包。
以monitor-app为例,在项目打包后得到monitor-app.jar
在monitor-app.jar文件的同目录下创建start.sh,内容如下:
function log(){
echo "`date "+%Y-%m-%d %T"`: $1"
}
log "[INFO] start execut process."
#调试时可打开,确认sdk需要的环境能被获取
#echo "${device_id}" > test_enviroment.file
pwd
#更新环境变量,防止找不到java命令。
source /etc/profile
#运行文件在/var/IoTEdge/downloaded-job/run下面
java -jar ./monitor-app.jar > monitor_running.log 2>&1
将monitor-app.jar和start.sh一起压缩得到monitor-app.zip。
注意:
说明:
2.插件包上传。
a.开通对象存储服务OBS。
进程包上传方式需要开通对象存储服务OBS,请参考对象存储服务 OBS_快速入门。
b.上传进程包。
上传方式,请参照对象存储服务(OBS)。
注意:
请设置桶策略为【公开读】,如未设置请前往“OBS首页 > 单击桶ID > 访问权限控制 > 桶策略中设置”。
以安装包部署方式为例,将应用程序打包成安装包文件,并上传到 对象存储服务(OBS)。
1.在IoT边缘单击创建应用,进入软件部署配置、运行配置,并确认发布。
2.在左侧导航栏,单击“应用管理”,选择“应用名称”进入页面,查看应用为“已发布”状态。
在边缘节点安装成功后可部署边缘应用。
操作步骤
1.访问IoT边缘,单击“立即使用”进入IoT边缘控制台。
2.选择左侧导航栏“IoT边缘 > 边缘节点”进入页面。
3.选择您的边缘节点,单击“节点名称”进入节点详情页。
4.在左侧导航栏选择“应用模块 > 模块管理”页签,单击“部署应用”。
5.根据页面提示填写参数信息后,单击“确认”。
表1 部署应用 | |
参数名称 | 说明 |
功能用途 | 您可以根据实际情况选择: 数据处理:提供设备数据处理能力。 协议解析:提供设备接入能力。 本地子系统集成:提供IT子系统集成能力。 网关管理:扩展边缘节点的协议接入能力,当前支持Modbus,OPC-UA协议接入。 混合应用:包含数据处理、协议转换、子系统接入、网关管理、数据采集其中两个及以上功能的应用。 数据采集:提供OT数采能力。 |
边缘应用 | 在应用管理中创建的应用名称。 |
选择版本 | 在应用管理中创建并发布的应用版本。 |
模块名称 | 自定义。 |
6.弹出“操作成功”对话框,再单击“确认”返回部署边缘应用列表。
7.单击“刷新”,当应用的实例状态由“部署中”转为“运行中”表示部署成功。
只有应用版本是多部署的时候,且运行配置的网络类型是端口映射后,可在部署应用时,或应用后添加端口映射。
运行配置,请参考端点和部署配置。
注意:
点击下方,第一时间了解华为云新鲜技术~
华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云
页面更新:2024-03-01
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号