电信物联网平台,java后台对接电信北向应用,订阅平台消息

最近由于工作需要,公司新产品血压计需要集成物联网卡,测量血压数据推送到自己的后台,其中踩了很多坑所以吧主要流程记录下来供大家参考:

1,微信公众号搜索"天翼物联产业联盟",关注后底部菜单申请注册,填下个人公司基本资料,第二天就能获得两封邮件,会周到电信测试平台地址,账号和密码。

 2,登录  https://180.101.147.208:8093 后台点击左边菜单  

Profile开发 》》Profile在线开发》》 

右上角点击自定义产品 》》创建新产品

创建产品后点击所创建的产品,添加一些服务,profile文件创建好后可以点击菜单插件开发

3,插件开发》》右上角 点击 添加插件 进入后 》》 新建插件》》选择一个profile

4,然后可以创建插件了,可以新增消息,有一个上行消息一个下行消息

创建编解码插件后可以保存,然后申请上线,申请上线成功后可以点击 》》我的设备

输入一个设备编码(设备的IMEI号码) 添加成功后点击应用订阅》》设备数据变化,提交一个后台接受数据接口

java后台接受订阅数据接口

package com.example.demo;

import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 * @author :Mr.kk(赵宽宽)
 * @E-mail :[email protected]
 * @date: 2018/11/6-10:34
 */
@RestController
public class CallbackController {

    public static Logger logger = LoggerFactory.getLogger(CallbackController.class);

    @RequestMapping(value = "/receive",method = {RequestMethod.POST,RequestMethod.GET})
    private StringBuffer receive(HttpServletRequest request, HttpServletResponse response){
        StringBuffer resultStr = new StringBuffer("");
        try{
            BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
            StringBuffer sb = new StringBuffer("");
            String temp;
            while ((temp = br.readLine()) != null){
                sb.append(temp);
            }
            br.close();
            //真正接收到的数据
            //String result = sb.toString();
            //测试的数据
            String result = "{\"deviceId\":\"xxx\",\"deviceInfo\":{\"swVersion\":\"xxx\",\"name\":\"xxx\",\"description\":\"xxx\",\"model\":\"90\",\"fwVersion\":\"xxx\",\"protocolType\":\"xxx\",\"type\":90,\"mac\":\"xxx\",\"manufacturer\":\"xxx\",\"hwVersion\":\"xxx\"},\"notifyType\":\"deviceInfoChanged\",\"gatewayId\":\"xxx\"}\n";
            JSONObject json = JSONObject.parseObject(result);
            //类型
            String notifyType = json.getString("notifyType");
            //设备id
            String deviceId = json.getString("deviceId");
            //网关id
            String gatewayId = json.getString("gatewayId");
            //deviceInfo信息
            String deviceInfo = json.getString("deviceInfo");
            JSONObject deviceInfoJson = JSONObject.parseObject(result);
            //设备的状态
            String status  = deviceInfoJson.getString("status");
            resultStr.append("订阅类型 notifyType >>" + notifyType+"订阅类型 notifyType >>" + notifyType+" 设备id    deviceId >>" + deviceId+" 网关id   gatewayId >>" + gatewayId+"设备信息 deviceInfo >>" + deviceInfo+"设备状态     status >>"+status);
            logger.info("接收消息==========================================start>>");
            logger.info("订阅类型 notifyType >>" + notifyType);
            logger.info(" 设备id    deviceId >>" + deviceId);
            logger.info(" 网关id   gatewayId >>" + gatewayId);
            logger.info("设备信息 deviceInfo >>" + deviceInfo);
            logger.info("设备状态     status >>"+status);
            logger.info("接收消息==========================================end>>");
        }catch (Exception e){
            e.printStackTrace();
        }
        return resultStr;
    }
}

设置成功后可以正常启动设备开始测量了,如果没有问题数据就可以正常到达服务器后台,后面数据就可以自己处理。

官方文档

https://180.101.147.208:8093/assets/docCenter/helpcenter/helpPortal/Portal/helpcenter.html?manualName=UserGuide_CMCC&docSite=CMCC&page=Overview&lang=zh&fake_Url=zh-cn_topic_0118669796.html

也可以后台全部调用接口订阅平台消息,添加设备信息等等

官方demo下载地址:https://download.csdn.net/download/qq_34309663/10417716 

猜你喜欢

转载自blog.csdn.net/love468092550/article/details/85342238