无GPS模块,IoT 设备如何解决地理定位问题?

由于IoT 物联网设备分布在全球各地,设备地理位置追踪成为每个物联网企业必须面对的问题。阿里云IoT企业物联网平台为企业提供了基于GPS坐标,移动基站、WiFi热点3种地理位置解析服务,满足不同场景下设备地理定位的诉求。

定位服务的物模型定义

使用IoT 物联网平台的地理位置解析服务,需要为产品创建物模型,添加属性GeoLocation事件LocationInfo,如下图:

GPS 定位方案

内置GPS硬件模块的IoT设备,可以直接同步采集到的经纬度坐标信息到云端,存储在物模型的GeoLocation属性中。

物模型GeoLocation属性定义如下:

通信示例如下:

Topic:
/sys/{productKey}/{deviceName}/thing/event/property/post

Payload:
{
    "id":1619329267488,
    "params":{
        "GeoLocation":{
            "Altitude":100,
            "CoordinateSystem":1,
            "Longitude":116.423367,
            "Latitude":39.908227
        }
    },
    "version":"1.0",
    "method":"thing.event.property.post"
}


设备详情物模型数据>运行状态可以查看当前设备的地理位置信息,如下图:

WiFi 热点定位方案

设备无GPS模块,或者设备处于室内,可以上报WiFi热点信息,IoT物联网平台会在云端自动解析出设备经纬度信息,为业务系统提供设备定位结果。

物模型LocationInfo事件定义如下:

通信示例如下:

Topic:
/sys/{productKey}/{deviceName}/thing/event/LocationInfo/post

Payload:
{
    "id":1619330564988,
    "version":"1.0",
    "params":{
        "mmac":"4c:48:da:26:ea:d9,-56,iot",
        "macs":"4c:48:da:26:ea:d8,-56,iot|e6:a4:71:6e:45:83,-58,TPLink-LV4mshO"
    },
    "method":"thing.event.LocationInfo.post"
}

设备详情物模型数据>运行状态可以查看当前设备的地理位置信息,如下图:

蜂窝基站定位方案

设备无GPS,采用运营商蜂窝基站接入网络时,可以主动上报蜂窝基站信息,IoT物联网平台会在云端自动解析出设备经纬度信息,为业务系统提供设备定位结果。

物模型LocationInfo事件定义如下:

通信示例如下:

Topic:
/sys/{productKey}/{deviceName}/thing/event/LocationInfo/post

Payload:
{
    "id":1619330349204,
    "version":"1.0",
    "params":{
        "cdma":"0",
        "bts":"460,0,6257,27781423,45",
        "nearbts":"460,0,6257,7807116,41|460,0,6257,7806997,53|460,0,6257,27781413,38|460,0,6257,27781433,57"
    },
    "method":"thing.event.LocationInfo.post"
}

设备详情物模型数据>运行状态可以查看当前设备的地理位置信息,如下图:

云上业务系统获取设备位置

云端业务系统通过调用IoT物联网平台的QueryDevicePropertyData API获取设备最新的位置信息,Java调用示例如下:

CommonRequest request = new CommonRequest();
request.setSysMethod(MethodType.POST);
request.setSysDomain("iot.cn-shanghai.aliyuncs.com");
request.setSysVersion("2018-01-20");
request.setSysAction("QueryDevicePropertyData");
request.putQueryParameter("RegionId", "cn-shanghai");
request.putQueryParameter("StartTime", "1618330349204");
request.putQueryParameter("Identifier", "GeoLocation");
request.putQueryParameter("Asc", "0");
request.putQueryParameter("EndTime", "1629330349204");
request.putQueryParameter("PageSize", "10");
request.putQueryParameter("IotInstanceId", "iot-068a03kg");
request.putQueryParameter("ProductKey", "g7palBDnzmT");
request.putQueryParameter("DeviceName", "dk003");

CommonResponse response = client.getCommonResponse(request);

IoT物联网平台返回设备位置信息示例:

{
  "RequestId": "C56790F8-AC97-497C-BA86-D7F57F090795",
  "Data": {
    "NextValid": false,
    "NextTime": 1619330564810,
    "List": {
      "PropertyInfo": [
        {
          "Value": "{\"altitude\":0,\"CoordinateSystem\":2,\"latitude\":39.9932251,\"longitude\":116.4727718}",
          "Time": 1619330564811
        }
      ]
    }
  },
  "Code": "",
  "Success": true
}

设备地理发布大盘

基于以上多种地理位置解析服务,IoT物联网平台为企业提供了可视化的运维大盘,可以轻松查看设备地理分布。

往期推荐

1、39张传感器工作原理GIF图汇总

2、智能手持测温枪开发实践

3、JMeter压测MQTT服务性能实战

4、IoT物联网平台日志服务详解

5、自建MQTT集群迁移阿里云IoT实践

6、工业Modbus电力104规约接入IoT平台

7、设备免烧录三元组,即时注册解决方案

8、IoT+TSDB+Quick BI 搭建楼宇环境监控

9、JS全栈开发,构建智能家居小程序

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值