物联网设备的数据推送


数据推送:

  • 终端产生的数据通过物联网平台推送给北向的应用的一种服务

数据推送分为HTTP推送MQ推送

1. HTTP消息推送

物联网开放平台将符合订阅条件的设备信息以HTTP方式推送至北向应用。

用户可以通过门户或者调用北向API接口添加北向应用订阅url,平台可以将符合订阅条件的设备消息以HTTP POST方式推送至指定的url。目前支持设备数据变化通知、设备指令响应通知、设备事件上报通知、设备上下线通知等消息类型的订阅,各协议对应消息类型及格式参见订阅推送消息格式。订阅级别分为设备级,产品级和分组级。目前订阅生效时间为1分钟左右。 支持HTTP和HTTPs两种推送方式,HTTPs方式具备数字签名和通讯加密能力,具有较高的安全性。HTTP推送方式采用明文传输,可能造成推送消息被窃听或篡改,具有安全风险,请慎重选择,建议用户采用HTTPs方式来接收推送消息。
在这里插入图片描述

在北向应用创建一个接收数据的接口
配置平台推送地址

  • 设备级订阅
  • 产品级订阅
  • 分组级订阅

平台推荐使用HTTPS安全订阅

1.1 使用设备级订阅上报事件数据

  1. 将推送数据封装为一个java对象
//设备事件上报dto
@Data
public class EventReport {

    private String tenantId;
    private String productId;
    private String deviceSn;
    private String deviceId;
    private String messageType;
    private String IMEI;
    private String IMSI;
    private Long timestamp;
    private Integer eventType;
    private JSONObject eventContent;
    private String serviceId;
    private String protocol;
}
  1. 创建一个接口,用来接收AEP平台推送的数据
@RestController
@RequestMapping("/data")
public class DeviceData {
    /**
     * 设备事件上报
     * @param eventReport
     */
    @PostMapping("/eventReport")
    public void eventReport(@RequestBody EventReport eventReport){
        System.out.println(JSON.toJSONString(eventReport));
    }
}
  1. 项目打包,放在服务器中,并启动服务器
[root@rm rm]# nohup java -jar testapi-0.0.1-SNAPSHOT.jar &
  1. 在平台配置推送地址
  • 选择新建订阅
    在这里插入图片描述
  • 选择对应的消息类别和订阅方url地址
    在这里插入图片描述
  1. 长按按钮,设备发送上报事件
  2. 查看日志输出
# 实时监听日志,只查看后几行
tail nohup.out -f

2021-05-26 09:11:48.105  o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2021-05-26 09:11:48.106  o.s.web.servlet.DispatcherServlet: Completed initialization in 1 ms

# 输出对象信息
{"deviceId":"a03e8a3d6866471d9f6d4151c07fae55","deviceSn":"",
"eventContent":{"wifi_num":0,"wifi_info":"0","latitude":0.0,
"time":1621991497000,"is_sos":0,"longitude":0.0},
"eventType":2,"messageType":"eventReport","productId":"15047914",
"protocol":"lwm2m","serviceId":"1002","tenantId":"2000035543","timestamp":1621991507922}


{"deviceId":"a03e8a3d6866471d9f6d4151c07fae55","deviceSn":"",
"eventContent":{"wifi_num":0,"wifi_info":"0","latitude":0.0,
"time":1621991503000,"is_sos":1,"longitude":0.0},
"eventType":2,"messageType":"eventReport","productId":"15047914",
"protocol":"lwm2m","serviceId":"1002","tenantId":"2000035543","timestamp":1621991507966}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM