java下发命令nbiot,NB物联网之天翼物联(3)——编解码插件上传规则细解(java开发物联网)...

前言

电信的编解码插件本意上是可以让我们的开发更加灵活,但是你好歹把文档写明白啊。。。同时在正常的生产中我们的产品不可能只使用电信的模块,有时甚至是客户要求使用移动还是电信的模块,所以兼容性给我们的体验非常直观!我们先不考虑兼容性问题,先把流程走通吧还是!

编解码插件的两种形式

1、线上编辑

当大家刚看到线上编辑的时候内心一定非常激动,想咋改咋改,而且看上去非常直观,但是当你真正看到这个页面时估计会懵逼,@#%#%¥#%,在定义profile的时候相信你已经发现了,字段类型只有int 和string类型,而且string类型是用ascii码传递的,而在线编解码工具规定,profile中字段是什么类型编解码就必须使用什么类型去接受!总之,非常难用~~,不推荐大家使用!!

2、离线编解码插件

离线编解码插件活动空间就比较大了,首先这个东西是一个jar包,当设备有上传信息的时候会调用你这个jar包中的一个接口,在接口内部你可以任意操作(死循环除外 - -||),然后根据不同的上传类型(根据解析16进制码流得出)传到不同的profile 中的对应的 service 中去(根据serviceId);下发也是同样的道理!但是捏,电信不可能什么东西都让你往他的服务器上传的,所以需要人工审核!

总结:华为官方的文档是不推荐使用离线编解码插件的,我们最开始也不太想用,太麻烦了,而且一旦修改就要现申请,但是最后大家都没研究透怎么使用在线编辑的方式,有能够吃透的大神欢迎留言!

下载离线编解码插件包包

如果你想在电信的文档中找到这个编解码插件的样例估计会很难,首先它没有一个明确的位置,其次电信网站非常卡点一下半天不动,所以我们是作者去华为的物联网平台文档去找,果然他就在 这里!

AAffA0nNPuCLAAAAAElFTkSuQmCC

AAffA0nNPuCLAAAAAElFTkSuQmCC

这是一个java 的 maven项目,下载完成之后我们来一起看下它的结构!

包包里有什么

如图所示:

AAffA0nNPuCLAAAAAElFTkSuQmCC

codeDemo里面有两个文件夹,第一个文件夹是编解码插件上传格式,这里暂且不叙,等我们走到上传的时候在详细了解!

第二个文件夹中是项目,没错就是它!直接导入!

AAffA0nNPuCLAAAAAElFTkSuQmCC

正常的maven项目导入过程,不多说了。

导入完成,项目结构如下图所示

AAffA0nNPuCLAAAAAElFTkSuQmCC

这个地方乍看上去是个普通的项目,其实很有讲究哟!

没想到,你是这么不正经的包包

到了看项目结构就要先了解一下编解码插件包了,以下是上传的编解码插件包的要求:

1、产品已定义profile

2、插件包中应存在package-info.json文件

3、package-info.json文件中bundles.bundleName的值应为:‘设备类型-厂商Id-模型’

4、package-info.json文件中model的值与产品profile中的应保持一致

5、package-info.json文件中deviceType的值与产品profile中的应保持一致

6、package-info.json文件中manufacturerName的值与产品profile中的应保持一致

7、package-info.json文件中packageType的值应为’CIGPlugin’

8、package-info.json文件中version和bundleVersion的值应保持一致

9、package-info.json文件中platform的值应为’linux’

10、package-info.json文件中specVersion的值应为’1.0’

11、package-info.json文件中应有bundles字段值

12、package-info.json文件bundles.fileName的值应为编解码插件jar包中的./META-INF/MANIFEST.MF文件中[Bundle-Name的值]-[Bundle-Version的值].jar

13、package-info.json文件bundles.bundleVersion的值与编解码插件jar包./META-INF/MANIFEST.MF文件Bundle-Version的值应保持一致

14、package-info.json文件bundles.bundleName的值与编解码插件jar包./META-INF/MANIFEST.MF文件Bundle-Name的值应保持一致

15、插件jar包中的./META-INF/MANIFEST.MF文件中Bundle-Name与Bundle-SymbolicName的值应保持一致

16、插件jar包中应存在./META-INF/MANIFEST.MF文件

17、插件jar包中的./META-INF/MANIFEST.MF文件不应包含Export_Package属性

18、插件jar包中的./META-INF/MANIFEST.MF文件应包含Bundle-Name

19、插件jar包中的./META-INF/MANIFEST.MF文件应包含Bundle-Version

20、插件jar包中的./META-INF/MANIFEST.MF文件应包含Bundle-SymbolicName

21、插件jar包中./OSGI-INF目录下有且只有一个xml文件

22、在插件jar包中./OSGI-INF目录下的xml文件中,scr标签应包含name属性,implementation标签应包含class属性,provide标签应包含interface属性

23插件jar包中./OSGI-INF目录下的xml文件implementation标签的class属性值应与scr标签下的name属性值保持一致

没错足足有23条,那么我们怎样去满足这23条要求呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

netcat使用

前言 最近在做渗透测试的时候遇到了端口监听和shell的反弹问题,在这个过程中自己对Netcat这一款神器有了新的认识,现将一些Netcat的用法做一个小总结,希望对各位有帮助! Netcat简介 Netcat是一款非常出名的网络工具,简…

重磅:国家正式出台学术不端行为界定

来源:科研大匠大家都在反对学术不端,何为学术不端?如何界定学术不端行为?其实,此前并没有一个明确的标准。2019年5月29日,国家新闻出版署才正式发布我国首个针对学术不端行为的行业标准——《学术出版规范—…

Gartner:解开关于人工智能的六个迷思

来源:Gartner“人工智能将自动执行所有工作并让人类失业。”“人工智能只是一种虚构的技术。”“机器人将占领整个世界。”围绕人工智能的炒作给主流媒体、董事会议和各企业机构留下了许多迷思。有人担心“万能”的人工智能将占领全世界,有人则认为人工智…

java搭建线程池框架,JAVA线程池管理及分布式HADOOP调度框架搭建

大家看到了线程的好处了吧!单线程需要10S,10个线程只需要1S。充分利用了系统资源实现并行计算。也许这里会产生一个误解,是不是增加的线程个数越多效率越高。线程越多处理性能越高这个是错误的,范式都要合适,过了就不好…

IBM将收购Instana公司,持续推进其混合云和人工智能战略

来源:IBM中国收购 Instana 后,IBM 将帮助企业在多团队和多云(平均 2到 15个)环境下更好地管理他们的应用性能。[1]这也是 IBM 持续完善其由人工智能所驱动的自动化能力的又一例证,IBM 的其他相关举措还包括&#xff1a…

[原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明

由于所创建的应用项目或类库项目较多,于是将这些类库放到一个文件夹下。在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系。如下图所示: 但打开“我的电脑”,看到的只有类库,并未看到维护层次关系的文件夹。如下图所…

java进阶(二)-java小干货

java一些精干知识点分享 2. java小干货2.1循环遍历2.2可变参数2.3 list和数组转化2.3.1 数组转list2.3.2 list转数组 2.4 值传递和地址传递2.4.1值传递2.4.2 地址传递2.4.3易错点总结 2.5 数组数组帮助类Arrays 2.5 基本数据类型和包装类2.5集合2.6文件流2.7java代码块、内部类…

机器直觉

来源:专知当前以深度学习代表的人工智能技术所能解决的问题往往需要具有大量可以借鉴学习的训练 集, 同时要求所获取的信息是完备的. 但在复杂时变的真实应用环境中, 采集到的数据往往包含大量 噪声与不确定性, 且仅包含环境的局部信息, 导致了基于深度学习的人工智…

vb.net读取excel并写入dgv_读取PDF中的表格写入EXCEL?30行代码搞定

办公自动化系列1现在,各类数据分析的书籍,都可以在网上找到PDF版本;同时,百度文库、各类数据统计文库、行业研究等众多论文报告,是通过PDF的形式去展示输出的;但是,令人都头疼的是,各…

英媒:人工智能终于接近人类智能了吗?

文章来源:金融时报作者:John Thornhill图片来源:网络编辑:江上波摘要:GPT-3被誉为人工智能领域的重大突破,有人认为它甚至显示出初步意识迹象,另一些人则指出GPT-3存在可笑的缺陷。它可以大量炮…

大创中期报告怎么写_课题研究中期报告怎么写?这篇范文很说的很详细

中期报告一般要求1.课题简介:课题由来、课题界定、研究目标、课题研究内容。2.研究情况:按时间顺序或内容板块有条理地说明研究工作的开展情况;有详有略、有主有次地陈述研究过程中做了什么、怎么做的。3.阶段成果:客观地阐明本课…

vba九九乘法表代码_VBA代码模块化--数据透视表

本周工作中,用到了数据透视表的操作,这里汇总一下,学习途径来自网络,学习成果我也乐于分享一二~,代码整理为模块,供大家举一反三,可以套用。① 创建数据透视表,及基本设置先展示数据…

IoT 、5G与边缘计算将会擦出怎样的火花?

来源:半导体行业观察边缘计算是数字世界中最令人兴奋的新概念之一。利用占用空间很少的微型数据中心网络,边缘计算使系统能够实时收集并分析重要数据,而不会增加现有基础设施的负担。在物联网系统中,通常以端到端的方式&#xff0…

“嫦娥上月球挖土”!打破尘封44年的人类历史,中国航天实现“五个首次”...

资料来源:人民网、中国新闻网、智东西等物联网智库 整理发布转载请注明来源和出处3!2!1!点火!随着一声声振奋人心的倒计时,北京时间11月24日4时30分,搭载嫦娥五号月球探测器的长征五号遥五运载火…

就php干活,php可以做什么?,懂得这些技巧就够了

PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。工具/材料电脑PHP操作方法011、运行在服务器端&…

世界上有没有无法破解的密码?揭秘量子通信 | 图图是道

来源:文章2020年11月23日发表于《中国日报》的微信公众号 图图是道科学顾问 / 中国科学技术大学副教授 袁岚峰监制 / 柯荣谊 联合监制 / 邢志刚 统筹 / 张若琼总策划 / 王晓莹 主笔 / 张周项 绘制 / 吴洋未来智能实验室的主要工作包括:建立AI智能…

从源码的角度再看 React JS 中的 setState

在这一篇文章中,我们从源码的角度再次理解下 setState 的更新机制,供深入研究学习之用。 在上一篇手记「深入理解 React JS 中的 setState」中,我们简单地理解了 React 中 setState “诡异”表现的原因。 源码的部分为了保证格式显示正常就截…

科普|深度解析5G与未来天线技术

来源:电子万花筒过去二十年,我们见证了移动通信从1G到4G LTE的转变。在这期间,通信的关键技术在发生变化,处理的信息量成倍增长。而天线,是实现这一跨越式提升不可或缺的组件。按照业界的定义,天线是一种变…

平行进化论再添证据 牙形刺远隔千里却发育模式相同

来源:科技日报记者:聂翠蓉平行进化观点认为,具有共同祖先的有机体即使彼此被分隔在相距千里的不同地域,也会以同样的方式进化。据物理学家组织网11月23日报道,德国爱尔兰根-纽伦堡大学和加拿大卡尔加里大学的古生物学家…

word光标一直闪动_6个一分钟就能学会的Word实用小技巧,你会几个?【Word教程】...

点击图片 1元抢购 Excel、Word、PPT全套课程你用word有几年了?一年、两年、三年......甚至更久?我相信你应该也是曾受到Word折磨的人吧!为什么?因为曾有很多人都不知道Word的一些小技巧,因此工作上浪费了不少时间。于…