这个简单的设备可以跟踪您孩子的微型车或您配偶的汽车的位置。这涉及通过GPS 定位使用信号。Pytrack 使得创建用于控制对象和车辆的设备变得非常简单。
快速浏览 Pytrack
这是一个通过 GPS 接收器和三轴加速度计丰富 Pycom 系统的设备(参见图 1)。结果,它允许我们定位我们的位置并确定它的方向。以大型集成电路为代表的 GPS 接收器、12 位三轴加速度计、带串行访问的USB 端口和 LiPo 电池充电器都在板上。还有一个用于存储数据的 SD 卡插槽。即使在“睡眠”模式下,系统消耗的功率也非常少,仅消耗 8 uA。该卡尺寸仅为 55mm x 35mm x 10mm,重 11 克。它可以在 -40 到 +85 摄氏度的温度范围内运行。
全球定位系统或全球导航卫星系统?
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 模块读取加速度并返回一个包含 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。请记住,距离的计算单位是度,而不是公里。
如何使用日志文件
要注册当前位置,您必须先等待几分钟,让 Pytrack 与卫星正确同步。因此,最好在开放区域而不是在房屋或建筑物内进行测量。因此,日志文件会按照软件设置指定的时间间隔创建。最终地图的分辨率越高,间隔时间越短。有许多方法可以分析旅行期间收集的数据。最有效的方法之一是使用免费的 GpsPrune 软件,该软件接受包含旅程坐标的日志文件作为输入,并在交互式地图上显示相关信息,如图 3所示. 您可以执行任何数据查询操作,并通过位置记录文件获取您需要的所有信息。
以下是管理 GPX 文件并允许您分析 PC 上走过的道路的免费桌面软件的简短列表:
- 全球定位系统;
- GPX_编辑器;
- GpsTrackEditor;
结论
Pytrack返回的经纬度可以直接复制粘贴到谷歌地图搜索框中,在地图上显示一个占位符,表示当前位置。
审核编辑:汤梓红
-
gps
+关注
关注
22文章
2883浏览量
166031 -
定位系统
+关注
关注
10文章
576浏览量
36449 -
卫星系统
+关注
关注
0文章
73浏览量
17404
发布评论请先 登录
相关推荐
评论