17628| 5
|
[案例教程] [更新教程]【NB-IoT 物联网开发板 TinkerNode】GPS追踪器 |
通过之前的项目学习,相信大家已经对TinkerNode NB-IoT物联网开发板(以下简称TinkerNode)有了一定的了解。这次项目我们将用TinkerNode制作一个车载GPS跟踪器,学习和使用TinkerNode的GPS功能,并使用NB-IoT技术将GPS信息上传至阿里云平台,通过云端查询实时路径。 项目的主要目的: 项目视频 为了方便大家进行学习,我们为大家提供了视频版本的项目教程. 元器件清单 TinkerNode NB-IoT物联网开发板-TinkerNode系列-DFRobot创客商城 1.项目相关功能介绍 首先,我们先来了解一下本次项目中使用到TinkerNode的功能。 GPS 在使用GPS功能前,需要按照产品wiki将GNSS的陶瓷天线安装在TinkerNode的GNSS天线接口上,如下图所示。 PS:在使用GNSS定位功能时,天线要朝向天空,且无遮挡。 2.阿里云平台配置 了解完GNSS功能后,我们开始项目的制作。和之前的项目相同,我们首先需要进行阿里云平台的配置,然后为项目创建产品和设备,配置产品自定义功能(物模型)。 打开阿里云-上云就上阿里云 (aliyun.com),选择产品->物联网IOT->物联网应用开发。 在物联网平台的页面左侧,选择IoT Studio -> 项目管理,点击新建项目,新建一个空白项目,项目名称为“GPSTracker”,如下图所示。 创建完成后,我们会进入“GPSTracker”项目的管理页面,如下图所示。 新建产品 在项目管理页面左侧的功能栏点击产品,在弹出的产品页面中选择新建产品,如下图所示。 产品的名称填写“GPS跟踪器”,所属品类选择“自定义品类”,其他选项默认,如下图所示。 完成后点击保存,此时已经在项目下创建了一个名为“GPS跟踪器”的新产品。 功能定义 接下来,我们需要为产品添加功能,也叫作定义产品的“物模型”,物模型创建的过程就是通过协议描述产品的功能,定义产品有几组传感器数据,有什么控制功能,数据的类型是什么。 在这里我们要对产品进行功能定义,与之前的项目不同的是,除了自定义功能的方式外,本次项目还可以使用阿里云平台已经内置的标准功能,接下来我将会为大家分别介绍这两种方法。 ①标准功能 阿里云平台为了方便客户的使用,内置了多种可以直接使用的标准功能,省去了繁杂的配置过程,节省了客户的开发时间。 选择功能定义,编辑草稿,添加标准功能 ,如下图所示。 在窗口的搜索栏中,输入“地理位置”,选择任意一个标识符为“GeoLocation”的标准功能,选择后该功能会出现在右侧的已选功能栏,然后点击确定,如下图所示。 添加完成后,可以看到对应的产品功能已经出现在了产品的功能定义中,如下图所示。 ②自定义功能 如果需要后续自行开发其他功能,想要了解向阿里云平台上传信息时的JSON协议格式,大家也可以进行自定义的功能配置。 在“车载GPS跟踪器”这个项目中,我们需要向云端上传GNSS定位信息中的,经度、纬度和高度,并选择相应的坐标类型,共四个数据。由于TinkerNode与阿里云之间使用的是JSON进行通讯,所以在配置自定义功能时,数据类型要选择“struct(结构体)”。 在编辑草稿中,点击添加自定义功能,如下图所示。 在弹出的窗口中填写相关信息,功能名称填写为“地理位置”,标识符填写为“GeoLocation”,数据类型选择“struct(结构体)”,如下图所示。 接下来,让我们为结构体添加JSON对象的参数信息。前面我们已经说过,我们需要上传四个GPS的信息,分别是经度、纬度、高度和坐标类型。
②纬度
③高度
④坐标系统 按照下列信息,填写相关信息。
接下来我们需要为坐标系统增加两个枚举项,信息如下表所示。
新增设备 完成了产品的功能定义之后,接下来我们需要为产品建立一个设备,这样就可以将TinkerNode连接到阿里云平台,并上传GPS信息了。 弹出的窗口中,产品选择“GPS跟踪器”,设置DeviceName为device1,点击提交,如下图所示。 3.硬件相关配置 代码调试 在附件中下载项目代码。 ①上传数据格式 在Arduino代码中,我们需要添加一些转义字符,并将相应的变量名填写到相应位置,最终效果如下列代码所示。
在实际使用中,我们通过TinkerNode的NB-IoT功能向阿里云上传数据时,需要在代码中调用函数"myBC20.publish()"向指定的设备上传数据,实际使用时需要删除换行,代码如下所示。
②阿里云相关配置 在设备页面查看设备证书信息,填写在代码中对应位置。
在产品页面查看产品的功能标识符,填写在代码中对应位置。
在设备管理页面,查看物模型Topic信息,填写在代码中对应位置。物模型Topic是阿里云平台自动生成的,服务端和设备端通过Topic来实现消息通信。
注意替换Topic信息中的device 全部配置完成后,将代码上传至TinkerNode主控板。待代码上传完成后,就可以在阿里云平台上看到设备上传的位置信息了。 查看云平台信息 进入设备页面后,点击物模型数据,点击查看数据,可以看到TinkerNode上传的GPS信息,如下图所示。 至此,我们已经将GPS信息上传到了云平台。接下来我们将会使用阿里云平台的IoT Studio中的可视化页面功能,将上传的GPS信息展示在地图上。 4.可视化页面制作 点击主页,新建一个Web应用。 名称填写“GPS地图”,点击确认,进入可视化开发界面。 点击地图组件,点击右侧的“编辑设备地图”,选择地图组件上显示的设备,如下图所示。 进入设备地图编辑器后,点击选择产品,在弹出的窗口中,选择“GPS跟踪器”产品,点击确定。 回到可视化开发界面,点击右上角的预览。在弹出的窗口,选择对应的设备,就可以在地图上查看定位信息了。 PS:GPS定位信息同步至地图时,并不完全准确。这是由于地图信息被加密导致的,这是保证国土信息安全的重要手段之一。 阿里云平台还可以对上传的GPS数据进行数据分析。包括了历史轨迹、热力图和电子围栏等功能。 在物联网平台界面中,点击数据分析。 进入到数据分析的页面,在上方的菜单栏中选择“实验室”,可以在页面中看到“空间数据可视化”的功能,如下图所示。 在弹出的页面中,点击创建场景,数据来源选择“物联网平台”,完成后点击下一步,如下图所示。 接下来,场景名称填写为“车载GPS”,目标产品选择之前创建的“GPS追踪器”产品,如下图所示。 点击确定后,会自动进入空间数据可视化界面。在做左上角选择对应的设备,既可以看到实时的GPS定位信息,如下图所示。 为了测试阿里云平台的历史轨迹信息,我将GPS追踪器安装在了汽车上。在出去跑了一圈之后,再打开可视化页面。点击右上角的历史轨迹,选择对应的时间段和设备,选择“平滑轨迹线”,云平台会将轨迹点同步到对应的道路上。 配置完成后就可以看到选择时间段的历史轨迹,点击右上角的播放箭头,即可观看轨迹动图。 |
2.18 KB, 下载次数: 3410
代码
老苏 发表于 2022-8-24 14:03 先创建产品,再创建设备,调试数据正常后,再建立网页,添加gps数据 |
XiaoLio 发表于 2023-4-4 15:46 你登录这个看看能不能登上去 https://studio.iot.aliyun.com/?s ... .0.0.3a186fb6JYJyNy |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed