日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NB物联网之天翼物联(4)——配置编解码插件

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NB物联网之天翼物联(4)——配置编解码插件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

前面為大家介紹了編輯碼插件的大體結構,本篇為大家詳解怎么配置編解碼插件上傳包的參數!
向大家推薦如何做到電信NB與移動NB兼容

第23條“婚約”

編解碼插件上傳位置

上一篇結尾我們說了如果進行插件開發,必須先了解上傳插件包的結構和要求,何為“上傳包”?
首先,這個“上傳包”就在我們下載的demo文件中:


它指的是把我們寫好的編解碼插件打成一個jar包,然后再寫一個配置文件,這個配置文件的內容與這個jar包相關,與你當前所處的電信平臺的產品相關,也就是說配置文件關聯你的jar包和當前需要上傳jar包的項目!

綜上所述,上傳的文件會有各種各樣的限制,直接上圖證明俺不是瞎說的!

前14條主要約束我們的產品信息完整和配置文件內容,只要按照要求填寫就完了!
這里我們不再一條條對了,直接跟大家說需要怎么修改package.zip中的package-info.json文件
首先文件格式如下:

{"specVersion":"1.0","fileName":"codec-demo","version":"0.0.1","deviceType":"WaterMeter","manufacturerName":"bcdyd","model":"WaterMeter","description":"codec","platform":"linux","packageType":"CIGPlugin","date":"2019-11-26 08:16:59","ignoreList":[],"bundles":[{"bundleName": "WaterMeter-廠商ID-WaterMeter","bundleVersion": "0.0.1","priority":5,"fileName": "WaterMeter-廠商ID-WaterMeter-0.0.1.jar","bundleDesc":"","versionDesc":""}] }

specVersion:不需要修改;
fileName:不需要修改;
version:需要和你的jar包中版本對應,即與項目pom.xml 中的

<version>0.0.1</version>

一致;
deviceType:與你平臺上的設備類型一致;
manufacturerName:與你平臺上的廠商名稱一致;
model:與你平臺上的產品型號是一致的;
description:不需要修改;
platform:不需要修改;
packageType:不需要修改;
date:不需要修改;
ignoreList:不需要修改;
bundleName:設備類型-廠商ID-產品型號;
bundleVersion:與version一致;
priority:不需要修改;
fileName:jar包名字;
bundleDesc:不需要修改;
versionDesc:不需要修改;
修改項目中的pom文件:
大體結構:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.thrid.party</groupId><!-- 請修改為你的編解碼插件的名字,命名規范:設備類型-廠商ID-設備型號,例如:WaterMeter-Huawei-NBIoTDevice --><artifactId>WaterMeter-Huawei-NBIoTDevice</artifactId><version>1.0.0</version><!-- 請檢查這里的值為bundle,不能為jar --><packaging>bundle</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><junit.version>4.11</junit.version><fasterxml.jackson.version>2.7.4</fasterxml.jackson.version><felix.maven.plugin.version>2.5.4</felix.maven.plugin.version><json.lib.version>2.4</json.lib.version><m2m.cig.version>1.3.1</m2m.cig.version><slf4j.api.version>1.7.6</slf4j.api.version><basedir>./</basedir></properties><dependencies><!-- 單元測試使用 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version></dependency><!-- 日志使用 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.api.version}</version></dependency><!-- 轉換JSON使用,必須 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${fasterxml.jackson.version}</version></dependency><!-- Huawei提供的編解碼接口,必須 --><!-- systemPath請替換成你本地的目錄 \codecDemo\lib\com.huawei.m2m.cig.tup-1.3.1.jar --><dependency><groupId>com.huawei</groupId><artifactId>protocal-jar</artifactId><version>1.3.1</version><scope>system</scope><systemPath>${basedir}/lib/com.huawei.m2m.cig.tup-1.3.1.jar</systemPath></dependency></dependencies><build><plugins><!-- 編碼需要使用JDK1.8版本 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin><!-- OSGI規范打包配置 --><plugin><groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId><version>${felix.maven.plugin.version}</version><extensions>true</extensions><configuration><buildDirectory>./target</buildDirectory><archive><addMavenDescriptor>false</addMavenDescriptor></archive><instructions><Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment><Bundle-Activator></Bundle-Activator><Service-Component>OSGI-INF/*</Service-Component><!-- 請修改為你的編解碼插件的名字,命名規范:設備類型-廠商ID-設備型號,例如:WaterMeter-Huawei-NBIoTDevice --><Bundle-SymbolicName>WaterMeter-Huawei-NBIoTDevice</Bundle-SymbolicName><Export-Package></Export-Package><Import-Package>org.slf4j,org.slf4j.spi,org.apache.log4j.spi,com.huawei.m2m.cig.tup.modules.protocol_adapter,com.fasterxml.jackson.databind,com.fasterxml.jackson.databind.node</Import-Package><!-- 除junit,slf4j-api,jackson-databind,protocal-jar, 其他所有的依賴包,必須把包對應的artifactId填入Embed-Dependency。artifactId之間以逗號分隔。 --><Embed-Dependency><!-- json-lib --></Embed-Dependency></instructions></configuration><executions><execution><id>generate-resource</id><goals><goal>manifest</goal></goals></execution></executions></plugin></plugins></build> </project>

按照注釋修改完成就ok了~!
修改maven配置文件:

在如圖所示的位置:

<?xml version="1.0" encoding="UTF-8"?> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="com.Huawei.NBIoTDevice.WaterMeter.ProtocolAdapterImpl"><implementation class="com.Huawei.NBIoTDevice.WaterMeter.ProtocolAdapterImpl"/><service><provide interface="com.huawei.m2m.cig.tup.modules.protocol_adapter.IProtocolAdapter" /></service> </scr:component>

這里需要重點注意一下,第21條22條23條就是說的這個文件!

上面說的name也好class也好都是項目中ProtocolAdapterImpl.java文件的訪問路徑,這里還有一點需要注意,就是本項目的包名:

如上題所示我們的包名不是隨便取的,必須是com.廠商名稱.產品型號.設備類型
完成以上工作,就完成了編解碼項目的所有配置工作,下一步就是找到程序被調用的入口及編寫竅門了!!
編解碼插件編寫入口!

總結

以上是生活随笔為你收集整理的NB物联网之天翼物联(4)——配置编解码插件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。