当前位置: 首页 > news >正文

ssc网站建设品牌创意型网站建设

ssc网站建设,品牌创意型网站建设,国外客户的网站电话,iis网站找不到网页目录 前言 1.下载官方协议包 2.解压 3.自定义主题 4.重写解码方法 5.以下是我解析后接收到的数据 前言 最近这段时间,一直在用开源的Jetlinks物联网平台在学习,偶尔有一次机会接触到物联网设备对接,在协议对接的时候,遇到了…

目录

前言

1.下载官方协议包

2.解压

3.自定义主题

4.重写解码方法

5.以下是我解析后接收到的数据



前言

        最近这段时间,一直在用开源的Jetlinks物联网平台在学习,偶尔有一次机会接触到物联网设备对接,在协议对接的时候,遇到了各种各样的问题,最近遇到协议包解析的问题,所以想总结一下。

1.下载官方协议包

        官方协议包下载地址:JetLinks物联网基础平台/jetlinks-official-protocol

2.解压

        解压到指定目录,并且用IDEA打开。

3.自定义主题

       3.1 找到TopicMessageCodec,自定义主题,如下图所示

        3.2  自定义主题相关代码

 jingkongtopicdata("xxx/xxx/*/**",ReportPropertyMessage.class,route -> route.upstream(true).downstream(false).group("属性上报").description("上报xxx数据").example("{\"properties\":{\"属性ID\":\"属性值\"}}")),

        3.3 改完之后需要添加到路由

        找到JetLinksProtocolSupportProvider类,按照下面的方式添加路由即可

4.重写解码方法

  找到 JetLinksMqttDeviceMessageCodec类,添加以下代码,按照自己的方式进行数据解析,这样就能拿到自己想要的mqtt数据了。

   /*** * @param context* @return*/@Nonnull@Overridepublic Flux<DeviceMessage> decode(@Nonnull MessageDecodeContext context) {MqttMessage message = (MqttMessage) context.getMessage();ReportPropertyMessage deviceMessage = new ReportPropertyMessage();String topic =  message.getTopic();if (topic.contains("Login")){String replyTopic = topic.replace("Post","PostRsp");}String topics[] = topic.split("/");deviceMessage.setDeviceId(topics[2]);deviceMessage.setMessageId(String.valueOf(System.currentTimeMillis()));byte[] payload = message.payloadAsBytes();String encoding ="UTF-8";String msg =null;Map<String,Object>jingkongTmp  = null;try {msg = new String(payload,encoding);Map<String, Object> map = new HashMap<>();if (null!=msg&& !msg.equals("")){map.putAll(JSON.parseObject(msg, new TypeReference<Map<String, Object>>(){}));}JSONObject jsonObject =  JSONObject.parseObject(msg);JSONArray jsonArray  = jsonObject.getJSONArray("data");int len = jsonArray.size();if (len == 5){jingkongTmp = new HashMap<>();Map mapString = JSONObject.parseObject(msg,Map.class);jingkongTmp.put("dataReport1",mapString);deviceMessage.setProperties(jingkongTmp);System.out.println("json =="+ JSONObject.toJSONString(deviceMessage));}else {jingkongTmp = new HashMap<>();Map mapString = JSONObject.parseObject(msg,Map.class);jingkongTmp.put("dataReport2",mapString);deviceMessage.setProperties(jingkongTmp);System.out.println("json =="+ JSONObject.toJSONString(deviceMessage));}}catch (Exception e){e.getMessage();}return Flux.just(deviceMessage);}

5.以下是我解析后接收到的数据

http://www.yayakq.cn/news/9919/

相关文章:

  • 查询网站ftp地址求跳转代码来自百度等搜索引擎访问跳转到另一个网站直接输入域名
  • 兰州网站建设公海拉尔做网站
  • 安徽网站设计方案做网站的规划和设想
  • 定制网站开发接私活好的html5网站模板
  • 深圳网站设计公司yx成都柚米科技15住建网查询
  • 化妆品网站建设推广方案智慧团手机网上登录入口
  • 免费做背景调查的网站wordpress自建搜索
  • 天气预报网站怎么做qq浏览器在线网页
  • 网站建设视频教程下载大连专业推广平台
  • 网站项目进度服务器租用网站模版
  • 科郑州网站建设创网网站后台管理系统
  • 网站推广码怎么做百度竞价排名机制
  • 制作网站的公司办什么营业执照没有做icp备案的网站
  • 域名备案网站购买vs做网站mvc
  • 番禺网站建设品牌好lol网站模板
  • 深圳建站公司外围济南官网
  • 自己可以建网站吗虚拟主机网站建设的几个步骤
  • 网站建设算什么服务类型聊天代理分销系统
  • 免费1级做爰片免费网站wordpress 顶部分类
  • 丰泰建设集团有限公司网站廊坊网络公司网站
  • 电子商务网站建设的好处有哪些宁夏网站开发设计说明书
  • 网站底部模板源码网站建设岗位的认知
  • 兰州企业网站优化梁山网站建设哪家便宜
  • 怎么才能成功做网站本地wordpress500
  • 网站流量如何突破电子商务商城网站建设
  • 找人做网站 网站定制开发泉州网站建设公司
  • 网站设计的导航栏怎么做济南建设网建筑市场信用信息管理平台
  • 金融网站建设报价方案济南做网站
  • 网站制作职业个人网站建设方案策划书
  • nas做网站服务器手机网站建设套餐内容