使用Pytrack跟踪您的汽车

电子说

1.3w人已加入

描述

这个简单的设备可以跟踪您孩子的微型车或您配偶的汽车的位置。这涉及通过GPS 定位使用信号。Pytrack 使得创建用于控制对象和车辆的设备变得非常简单。

快速浏览 Pytrack

这是一个通过 GPS 接收器和三轴加速度计丰富 Pycom 系统的设备(参见图 1)。结果,它允许我们定位我们的位置并确定它的方向。以大型集成威廉希尔官方网站 为代表的 GPS 接收器、12 位三轴加速度计、带串行访问的USB 端口和 LiPo 电池充电器都在板上。还有一个用于存储数据的 SD 卡插槽。即使在“睡眠”模式下,系统消耗的功率也非常少,仅消耗 8 uA。该卡尺寸仅为 55mm x 35mm x 10mm,重 11 克。它可以在 -40 到 +85 摄氏度的温度范围内运行。

卫星系统

图 1:Pytrack 的部分(核心电子)

全球定位系统或全球导航卫星系统? 

Pytrack能够检测到整个GNSS卫星网络。这些是属于不同国家的全球导航卫星系统 (GNSS),而 GPS 仅提供美国卫星。因此,Pytrak 支持俄罗斯的 GLONASS 系统、欧盟的伽利略系统和欧洲航天局 ESA。还支持仅限日本的 QZSS 系统。Pytrack 有一个 GPS(带有 GLONASS),可以输出经度、纬度、速度和其他有关当前位置的信息。让我们看看如何使用 Pytrack 的集成 GPS 模块来确定用户在地球上的位置。很可能,必须更新卡固件,并且必须安装库。事实上,Pytrack 确实有一个“固件更新模式”,它要求您在按住集成按钮的同时连接到系统。模式:

  • 在“正常”模式下,该卡被操作系统视为串行端口,并由 Windows 自动安装在设备管理端口(COM 和 LPT)中;
  • 在“固件更新”模式下,设备无法自动安装。您必须通过手动过程安装设备驱动程序才能将固件更新发送到卡。

程序员可以使用 Pytrack API 与开发板通信。现在让我们看看 Pytrack 的每个传感器可用的各种方法和类的详细信息。对于三轴加速度计(LIS2HH12)的管理,系统使用以下厂商:

LIS2HH12 类(pytrack = 无,sda = 'P22',scl = 'P21')

它创建一个 LIS2HH12 对象并返回与围绕 3 个轴的加速度和振荡相关的值。必须将 Pytrack 或 I2C 对象传递给制造商才能正确执行操作。可用的方法如下:

LIS2HH12.acceleration()

此方法从 LIS2HH12 模块读取加速度并返回一个包含 3 个加速度值 (G) 的元组。

LIS2HH12.roll()

此方法读取 LIS2HH12 模块的当前旋转并返回其在 -180 和 180 之间的度数,以浮点值表示。

LIS2HH12.pitch()

此方法读取 LIS2HH12 模块的当前倾斜度并返回以度数表示的浮点值,范围从 -90 到 90。当卡片倾斜度超出此范围时,值会再次重复(取模值)。该系统采用以下制造商进行 GPS(带 GLONASS)管理,以及接收经度、纬度、速度和其他信息:

L76GNSS 类(pytrack = 无,sda = 'P22',scl = 'P21',超时 = 无)

它创建一个 L76GNSS 对象,该对象返回经度和纬度值。必须向构造函数传递 Pytrack 或 I2C 对象才能正确执行操作。超时必须设置以秒为单位的时间段,在此期间系统搜索 GPS 信号。如果在超时到期之前没有找到连接,该方法将返回值“none”。可用的方法如下:

L76GNSS.坐标(调试 = 假)

该方法从 L76GNSS 读取经度和纬度,并返回一个包含经度和纬度的元组。将 debug 设置为True,GPS 输出更加详细。请注意,每周都会向库中添加新功能。使用 Pytrack,您可以接收有关设备位置的数据。在以下示例中,我们将了解系统如何将数据保存到 SD 卡。

记住位置

因此,使用 Pytrack,可以收集有关设备位置的数据,从而跟踪所遵循的路径(参见图 2中的示例)。以下示例将说明在 SD 卡上配置和保存检测到的信息的指南。也可以将项目集成到网络中,以便将结果转发到云端。以下源代码清单通过“sd”对象准备大容量存储器。存档文件包含在“/sd”文件夹中,其名称为“test.txt”。初步但不是强制性的,程序使用 readlines() 方法在控制台上显示此存档的内容。实际代码包含在执行以下操作的无限“while”循环中:

  • L76GNSS使用coordinates()方法从L76GNSS中读取经纬度,返回一个包含当前位置经纬度的元组
  • 它以“追加”模式打开文件“/sd/test.txt”。每条添加的记录都将附加到文件的内容中,允许您创建更大的存档而不会删除以前的信息
  • 经度和纬度坐标物理存储在档案中,在每行末尾添加“ \ ”字符以转到下一行;
  • 它关闭文件。在写入操作结束时必须始终遵循此规则
  • 应用程序设置了 10 秒的等待暂停,显然,用户可以根据应用程序所需的检测分辨率进行修改。

因此,即使在录制操作之后,也可以使用连接到 PC 的 SD 卡读卡器适配器查阅存档文件。

进口机

导入数学

进口网络

导入 操作系统

进口时间

导入 utime

导入gc

导入pycom

从机器导入 RTC

从机器导入 SD

从 L76GNSS 导入 L76GNSS

从 pytrack 导入 Pytrack

从网络导入WLAN

时间.睡眠(2)

gc .enable()

py = Pytrack()

时间.睡眠(1)

l76 = L76GNSS(py,超时=30,缓冲区=512)

# 加载 SD 卡

sd = SD()

os.mount (sd, '/sd')

os.listdir ('/sd')

# 读取 SD 卡

print ('从文件中读取:')

f =打开('/sd/test.txt', 'r')

打印(f.readlines())

f.close()

打印(“从文件中读取。”)

时间.睡眠(1)

而():

   坐标 = l76.coordinates()

   print(“{} – {}”.format (coord, gc.mem_free()))

   f = open('/sd/test.txt' , 'a') # 追加

   f.write(“{}”.format(coord [1]) )

   f.write(' ')

   f.write(“{}”.format(coord [0]) )

   f.write(',\ n')

   f.close ()

   print ('睡眠 10 秒。')

   时间.sleep(10)

当然,可以通过进一步的可能性来丰富源列表,以获取所有类型的统计数据和分析,以使其完美地适应您的需求。例如,可以计算从登记的位置点行驶的道路公里数,记住计算地球表面两点之间距离的公式如下:

卫星系统

通过取两个连续点并应用上述公式来计算行进距离非常简单,该公式使用勾股定理。请记住,由于地球的曲率,结果必须乘以变形系数等于 0.9996。请记住,距离的计算单位是度,而不是公里

卫星系统

图 2:收集并包含在文本文件中的数据有多种用途。

如何使用日志文件

要注册当前位置,您必须先等待几分钟,让 Pytrack 与卫星正确同步。因此,最好在开放区域而不是在房屋或建筑物内进行测量。因此,日志文件会按照软件设置指定的时间间隔创建。最终地图的分辨率越高,间隔时间越短。有许多方法可以分析旅行期间收集的数据。有效的方法之一是使用免费的 GpsPrune 软件,该软件接受包含旅程坐标的日志文件作为输入,并在交互式地图上显示相关信息,如图 3所示. 您可以执行任何数据查询操作,并通过位置记录文件获取您需要的所有信息。

卫星系统

图 3:GpsPrune 软件免费且非常轻便,允许您查看包含齿轮位置的文本文件所采用的路径

以下是管理 GPX 文件并允许您分析 PC 上走过的道路的免费桌面软件的简短列表:

  • 全球定位系统;
  • GPX_编辑器;
  • GpsTrackEditor;

结论

Pytrack返回的经纬度可以直接复制粘贴到谷歌地图搜索框中,在地图上显示一个占位符,表示当前位置。
  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分