发布时间:2026-03-26 已被浏览 26 次
前言:外婆年纪大了,有些阿尔兹海默症的症状,老是丢钥匙,前段时间给她买了华为TAG,但是外婆家处于比较偏僻的地方,老人居多,使用华为手机的人不太多,位置经常性好久才更新。后来准备给她买个定位产品,在网上看了好多产品,性价比不高。无意间看到了大夏龙雀的GNSS+4G的模块DX-CT511N-B,由于我大学学过单片机,现在又主要从事前端软件开发,所以准备自己来制作一个上报位置的小玩意。
解决方案构想:
一、服务端
使用EMQX搭建一个MQTT服务,开箱即用。个人使用的话,建议使用开源版本。

二、前端页面
使用VUE框架进行搭建,通过MQTT订阅通知,在拿到硬件通知时,将GPS地理位置通过地图API转换之后即可在前端页面上进行展示。
三、硬件
大夏龙雀DX-CT511N-B,虽然是4G+GNSS一体的模块,但是不能实现直接将GNSS信息直接通过4G进行发送通知。要实现GPS信号的发送,需要一个单片机通过串口获取到GPS信号后,再通过调用MQTT相关的AT指令给DX-CT511N-B,让其通过4G,将通知发布出去。
由于家中有闲置的ESP8266,所以我这边使用的ESP8266,当然也可以使用其他的单片机。
四、相关代码
这边先写一下大夏龙雀DX-CT511N-B的相关AT指令。后续再补充前端、服务端的代码。

这里我就不写自己的服务器地址和端口了,写的是官方给的文档里的

串口工具提示连接服务器成功,我们登录服务器上看看。

也是提示成功了。
下面,我们就开始调试是否能正常通信吧。我们在电脑上可以下载一个MQTT的测试工具,用来测试模块是否能正常发送通知。我这边使用的是MQTTX。


我们先订阅一个主题叫phone

同时在 MQTTX上也订阅一下。


通过大夏龙雀的模块发送通知。

MQTTX上成功收到了通知。

我们在MQTTX上发布个通知试一下,看看大夏龙雀能不能收到。




发送:AT+GPSST 返回:AT+GPSST
+GPSST: 1, 1, 113.xxxxxx, 23.xxxxxx, 32.xxxxxx; 0, 119; 0, 77; 0, 76; 0, 37; 0, 72; 0, 71;
OK
数据解析:
定位状态: 1,cn: 1,经度值: 113.xxxxxx,高度值: 23.xxxxxx,纬度值: 22.xxxxxx,其余参数为卫星相关参数
至此,我们能拿到关键的GPS信息了。
https://jingweidu.bmcx.com/可以通过这个网站查询一下获得的经纬度是否正确。
13、信息整合发布
通过ESP8266,将获取到的GPS信息,整理一下,再通过MQTT消息发布的AT指令将信息发送出去。
14、前端页面订阅主题
前端页面订阅主题,将获取到的GPS信息通过地图API转换后,展示在前端页面上。