mqtt.fx调试onenet地图显示教程

1. 新建项目

打开onenet的官网OneNET - 中国移动物联网开放平台 (10086.cn)

注册登录后,进入 开发者中心

image-20240504223733850

创建产品,选择定位器

image-20240504223817078

新建项目,选择设备接入

image-20240504223923920

点产品开发

image-20240504224009977

点—->设置物模型

image-20240504224216617

点—>>复制

image-20240504224244762

这里为什么复制这个,因为经纬度坐标默认的只有小数点2位,我想改为小数点后6位。

按照这个 填写

image-20240504224400974

然后选择经纬度的编辑,都修改为小数点后6位

image-20240504224447331

image-20240504224500798

点新增

image-20240504224535348

点保存

image-20240504224746587

这时候获取了第一个参数,设备ID,这里记住!!!

image-20240504225158338

2. 新建设备

image-20240504224856274

点右侧—>添加设备

image-20240504225018922

这里获得了第二个参数,产品ID,就是自己输入的 d001

点右侧的详情

可以看到第三个参数,设备秘钥

image-20240504225312352

3. 获取了三个重要参数

设备ID

d001

产品ID

ojU36n17w4

设备密钥

ZUpReWRoRkNhWXhYUkFzd09rUW8zNjRiMWVEVTFlS0I=

4. 使用token工具换算token

获取了token工具的几个参数

res:这里替换为自己的产品id和设备id

products/ojU36n17w4/devices/d001

et: 这个是一个未来的时间戳,如果不会就复制我这个100年后的时间戳

4828176000

key:这个就是设备秘钥

ZUpReWRoRkNhWXhYUkFzd09rUW8zNjRiMWVEVTFlS0I=

image-20240504225517178

点Generate生成TOKEN

version=2018-10-31&res=products%2FojU36n17w4%2Fdevices%2Fd001&et=4828176000&method=md5&sign=jF%2Foeq3UAa5n1xrw8R6gnA%3D%3D

获得了MQTT的三要素

项目ID:ojU36n17w4
设备ID:d001
token:version=2018-10-31&res=products%2FojU36n17w4%2Fdevices%2Fd001&et=4828176000&method=md5&sign=jF%2Foeq3UAa5n1xrw8R6gnA%3D%3D

5. mqtt.fx测试

把这些参数输入mqtt.fx,

Broker Address 固定输入mqtts.heclouds.com

Broker Port 写 1883

Client ID就是自己的设备ID

选User Credentials

User Name就是自己的项目ID

Password就是自己的token

image-20240504225701020

切换到SSL/TLS这个要勾选掉

image-20240503234524480

能connect就成功了,显示绿色就连接成功了

image-20240503234549860

订阅,这里记得修改自己的项目ID和设备ID,

$sys/ojU36n17w4/d001/thing/property/post/reply

image-20240504230021701

订阅成功!

发送数据

$sys/ojU36n17w4/d001/thing/property/post

内容,这里的经纬度数据可以替换为自己的GPS的数据,GPS的数据记得自己/60换算为度为单位的

度分秒 格式转换为 度 格式,后就是WGS84坐标系

这里为纬度lat 34° 38.1633′为例,如下换算

38.1633/60=0.636055

34+0.636055 = 34.636055 度

经度lon: 112°24.4992′

24.4992/60=0.40832

纬度为112.40832

{
            "id": "1714827077913",
            "version": "1.0",
            "params": {
                "GPS_POINT": {
                    "value": {
                        "Longitude": 112.40832,
                        "Latitude": 34.636055,
                        "Altitude": 106,
                        "CoordinateSystem": 1
                    }
                }
            }
        }

发送成功

image-20240504230524390

切换到Subscribe可以看到返回信息成功

image-20240504230551634

这时候就可以去平台设备详情看数据了

image-20240504230646565

6. 数据可视化地图显示

点击数据可视化

image-20240504230726290

新建个项目,编辑,拖拽个地图

image-20240504230848593

选中基础地图,点右侧数据,管理数据源

image-20240504230936235

添加数据源

image-20240504231040247

名称随意

userid和accessKey这里非常重要是从这里获取的,别找错地方

image-20240504231202236

image-20240504231214156

数据流记得勾选,我的定位,而不是原来的地理位置!!!!!!!!

image-20240504231320081

然后数据流就可以选择gpsdemo这个了

image-20240504231346118

接下来修改过滤器,过滤器内容为

var jsonObject = JSON.parse(data[0].value);
return [
    {
        dev1: {
            lon: jsonObject.Longitude,
            lat: jsonObject.Latitude
        }

    }

]

然后点击 未保存

image-20240504231426725

切换到样式,坐标转换切换为BD-09

image-20240504231518048

点右上角 保存–> 预览,就可以看地图效果了

image-20240504231602934

完工!!!!!整个ONENET的MQTT的GPS地图环境搭建好了