行空定位

2023-06-041.9万
精华项目
AI 快速预览详细 收起
该项目使用行空板、北斗定位模块和语音识别模块,通过Mind+的Python模式编程,实现了骑行轨迹的采集与显示。硬件安装包括将语音识别模块与北斗定位模块接行空板IIC引脚,并使用充电宝供电。数据采集部分通过行空板图形化编程获取骑行轨迹经纬度坐标,并保存在Mind+.txt文件中。轨迹显示部分编写了map.py类文件,使用folium库进行地图可视化,并通过PyQt5.QtWebEngineWidgets进行显示。整个项目不仅能够记录骑行轨迹,还能将实际获取的经纬坐标与地图经纬坐标进行校正,非常适合STEM教育场景,帮助孩子掌握地理信息与编程技能。
行空定位图3
【项目背景】
平时出行基本上是骑行,行驶轨迹可以用手机定位显示。前几天在DF商城上看到“GNSS北斗定位模块”,所以设计了行空板加北斗定位模块及语音识别模块采集骑行轨迹,并利用Mind+的python模式编程进行显示。
【项目设计】
数据采集、轨迹显示均使用Mind+的python模式进行编程。轨迹显示使用folium库。是一个用于完成地图可视化的Python扩展库。folium库把标识好的地图生成html,然后用“PyQt5.QtWebEngineWidgets”进行显示。
【硬件安装】行空定位图11


行空定位图12

行空定位图5
语音识别模块与北斗定位模块接行空板IIC引脚。行空板使用充电宝供电。
【坐标采集】
行空板图形化编程,获取骑行轨迹经纬度坐标,保存在Mind+.txt文件中。行空定位图6

【骑行记录】
行空定位图2
行空定位图1
行空定位图4

行空定位图7
【轨迹显示】
编写类文件map.py
  1. class Browser(QMainWindow):
  2.    def __init__(self):
  3.        super().__init__()
  4.        self.setWindowTitle('云天GPS轨迹')
  5.        self.setGeometry(10, 30, 1400, 800)
  6.        self.browser = QWebEngineView()
  7.        self.show()
  8.    def draw_gps(self,locations,color):
  9.       Mymap=folium.Map(locations[0],
  10.           tiles= 'https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7',
  11.           attr='高德-常规图',
  12.           zoom_start=15,
  13.          )
  14.       folium.Marker(
  15.           location=locations[0],
  16.           popup='Home',
  17.           icon=folium.Icon(color='green')).add_to(Mymap)
  18.       folium.PolyLine(  # polyline方法为将坐标用线段形式连接起来
  19.        locations,  # 将坐标点连接起来
  20.        weight=10,  # 线的大小为3
  21.        color=color,  # 线的颜色为
  22.        opacity=0.9  # 线的透明度
  23.    ).add_to(Mymap)  # 将这条线添加到刚才的区域m内
  24.       Mymap.save('map.html')
  25.    def myshow(self,locations,path):
  26.      #locations.append([x,y])
  27.      self.draw_gps(locations,'red')
  28.      self.Mybrowse(path)
  29.    def Mybrowse(self,url):
  30.        self.browser.load(QUrl(url))
  31.        self.setCentralWidget(self.browser)
复制代码
图形化编程,显示轨迹,同时将实际获取经纬坐标与地图经纬坐标进行校正。
行空定位图8

行空定位图10

行空定位图9
【演示视频】


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(8)
shzrzxlee
shzrzxlee
行空板没有显卡,不能在行空板上显示定位,在电脑上
岳勇
岳勇
老师你好,为什么我的北斗定位模块报这个错误TypeError: 'NoneType' object is not subscriptable。我的连接方式和你的一样的啊。忘老师能在百忙之中回复。谢谢。
岳勇
岳勇
为什么我的北斗定位模块一运行就报TypeError:NoneType object is not subscriptable。这个错误是什么原因造成的啊?
easy猿
easy猿
老师你的pyqt5版本是哪个
easy猿
easy猿
ModuleNotFoundError: No module named 'pywebio.platform.qt'老师我按您的教程出来这报错
shzrzxlee
shzrzxlee
云天老师,您用的是mind+什么版本,用最新mind+1.8.0 RC2.0 无法打开高德地图界面?什么原因的,轨迹显示使用folium,PyQt5库都加载了
木子哦
木子哦
太酷了
rzegkly
rzegkly
云天老师的文章精彩
- 没有更多了 -