说明:该插件适用于电信IoT平台其他平台未必可用,另外本章仅介绍插件的开发,profile的编辑请看上篇
1 准备工具
1.1 任意编辑器
这里建议使用VSCode,为什么就不多说了,用了都说香,谁用谁知道。
1.2 打包工具-maven
注意:当然在使用这个工具前要保证JAVA相关配置已经到位
使用方式很简单,只需要添加到系统环境变量即可。像这样:
然后到
path
里增加以下这行:具体打包的过程我们到下面编辑完了工程再说。
2 编辑工程
2.1 获取示例代码
示例代码已上传至GitHub,可通过GitHub下载。https://github.com/DefLin/PassThrough_Plugins
2.2 简单修改插件
许多客户使用的都是简单的透传功能,因此该工程的业务逻辑不需要修改,只需要根据自己的厂家需求修改对应的名称即可。
具体操作如下:
1.首先打开VSCode,点击文件
,选择打开文件夹
,打开我们的示例代码。
2.编辑pom.xml
文件,代码跳转到第7行和第88行,将属性名称修改至与profile
文件夹中devicetype-capability.json
对应属性一致。譬如下面这个profile:
{
"devices": [
{
"manufacturerId": "TestPlug",
"manufacturerName": "TestPlug",
"model": "T001",
"protocolType": "CoAP",
"deviceType": "TEST",
"omCapability":
{
"upgradeCapability":{
"supportUpgrade":false
},
"fwUpgradeCapability":{
"supportUpgrade":true,
"upgradeProtocolType":"LWM2M",
"downloadProtocolType":"CoAP"
}
},
"serviceTypeCapabilities": [
{
"serviceId": "Connectivity",
"serviceType": "Connectivity",
"option": "Mandatory"
},
{
"serviceId": "SystemCmdRawData",
"serviceType": "SystemCmdRawData",
"option": "Master"
}
]
}
]
}
对应的pom.xml
第7行和第88行应修改成TEST-TestPlug-T001
,对应关系为deviceType-manufacturerId-model
。
另外,再找到以下文件PassThrough_Plugins\src\main\java\com\thrid\party\codec\demo\ProtocolAdapterImpl.java
修改第13行代码
private static final String MANU_FACTURERID = "TestPlug";
以及第15行代码
private static final String MODEL = "T001";
同样与上文属性对应。
2.3 生成新插件
编辑完毕之后,可以开始使用一开始安装的maven
打包了。
到工程的根目录下按住shift
鼠标点击右键,在此处打开powershell窗口
,输入命令mvn package
过程中无ERROR
即是打包成功。到target
文件夹下即可看见生成的jar包,如:TEST-TestPlug-T001-1.0.0.jar
。
然后,新建一个文件夹命名为preload
将jar包放入,在该文件夹外新建一个文件命名为package-info.json
,编辑内容为:
{
"specVersion":"1.0",
"fileName":"package",
"version":"1.0.0",
"deviceType":"TEST",
"manufacturerName":"TestPlug",
"model":"T001",
"description":"codec",
"platform":"linux",
"packageType":"CIGPlugin",
"date":"2017-09-22 12:16:59",
"ignoreList":[],
"bundles":[
{
"bundleName": "TEST-TestPlug-T001",
"bundleVersion": "1.0.0",
"priority":5,
"fileName": "TEST-TestPlug-T001-1.0.0.jar",
"bundleDesc":"demo",
"versionDesc":"demo"
}]
}
同样与上文提到的属性相对应,注意bundleName
和fileName
也是,不要忘记。
最后,将preload文件夹
和package-info.json
添加到压缩包,压缩包命名为package
,格式为.zip
。至此,插件生成完毕,到平台选择对应的上传即可。