java对接移动物联网onenet平台实现接收设备上报数据命令下发

java对接移动物联网onenet平台实现接收设备上报数据命令下发。

最近由于工作需要,公司设备集成了物联网卡,需要实现数据上报命令下发等(目前集成了电信,移动,联通三个平台)。电信和移动都有自己的开放平台可以对接,联通直接用透传模式实现。

电信平台对接请看我之前的这篇文章:https://blog.csdn.net/love468092550/article/details/85342238

移动onenet物联网平台流程:

首先注册一个平台账号:https://open.iot.10086.cn/

注册完成后添加一个产品

java对接移动物联网onenet平台实现接收设备上报数据命令下发_第1张图片

然后填入指定信息

java对接移动物联网onenet平台实现接收设备上报数据命令下发_第2张图片 

然后添加一个设备

java对接移动物联网onenet平台实现接收设备上报数据命令下发_第3张图片 

填入真实的IMEI号码

java对接移动物联网onenet平台实现接收设备上报数据命令下发_第4张图片 

设置 数据接收接口(设置接口是为了移动平台吧数据推送到我们后台,我们后台再对数据进行处理)

java对接移动物联网onenet平台实现接收设备上报数据命令下发_第5张图片

这时设备可以上报数据

下面是java版本接收设备上报数据接口

/**
	 * 移动消息订阅接口
	 * @since
	 * //{"msg":{"at":1556504219767,"imei":"867726030xxxxxx","type":1,"ds_id":"3311_0_5706",
	   //"value":"5A0xxx0D3DxxxxC50DB62C37164C0xxx005CC6CF1900004BFFFFxxx01802","dev_id":524552229}
	   //,"msg_signature":"Db+kYcaCTjYBcCW04naOpA==","nonce":"O9JpI(1o"}
	 * @param request
	 * @param response
	 */
	@RequestMapping("/msgSubscription")
	public void msgSubscription(HttpServletRequest request, HttpServletResponse response) {
		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();
			logger.info("callbackUrl data >> "+result);
			String msg = JSONUtils.getJosnValue(result, "msg"); //数据内容
			String imei = JSONUtils.getJosnValue(msg, "imei"); //IMEI
			String value = JSONUtils.getJosnValue(msg, "value"); //内容
			String ds_id = JSONUtils.getJosnValue(msg, "ds_id"); //标识 体脂称设备固定值 3311_0_5706
			String dev_id = JSONUtils.getJosnValue(msg, "ds_id"); //设备ID
			String type = JSONUtils.getJosnValue(msg, "type"); //1:设备上传数据点消息 ,2:设备上下线消息 	7:缓存命令下发后结果上报(仅支持NB设备)
			logger.info(" imei  <<< ===="+imei);
			logger.info("value  <<< ===="+value);
			logger.info("dev_id <<< ===="+dev_id);
		
			
//	        response.getOutputStream().write(msg.getBytes());  
	        Map map = new HashMap();
			map.put("status", 0);
			JSONObject jsonArray = JSONObject.fromObject(map);
			response.setContentType("application/json;charset=UTF-8");
			response.setCharacterEncoding("UTF-8");
			response.getWriter().print(jsonArray.toString());
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	

 具体下发命令接口移动有提供的sdk直接下载调试就行了

下载地址:https://open.iot.10086.cn/doc/book/application-develop/api/sdk.html

基本流程就是这样,如果还有不清楚或者不明白的可以直接加我 wx ,联系方式博客左边有。

你可能感兴趣的:(物联网,物联网开发)