Skip to main content

Calypso UP10 风速计的 Python 驱动程序

项目描述

https://github.com/maritime-labs/calypso-anemometer/workflows/Tests/badge.svg 测试套件代码覆盖率 https://pepy.tech/badge/calypso-anemometer/month https://img.shields.io/pypi/v/calypso-anemometer.svg https://img.shields.io/pypi/status/calypso-anemometer.svg https://img.shields.io/pypi/pyversions/calypso-anemometer.svg https://img.shields.io/pypi/l/calypso-anemometer.svg

Calypso UP10 风速计的 Python 驱动程序

关于

硬件设备

Calypso UP10超声波便携式太阳能风速计是一款蓝牙、太阳能供电、袖珍型超声波风速计。无需电源线或数据线。

图片:

<图> 卡里普索 UP10 <图说明>

卡里普索 UP10。

</figcaption> </figure>

资源:

软件库

设备驱动程序库是用 Python 编写的,基于Bleak库。经验证,它可以在 Raspberry Pi 上的 OpenPlotter 安装以及 macOS 工作站上运行良好。

特征

  • 运行设备发现

  • 获取设备状态和读数(一次)

  • 连续获取设备读数(订阅/通知)

  • 设置设备数据速率

  • 通过 UDP 使用 NMEA-0183 和 SignalK 进行遥测

设置

pip install --upgrade calypso-anemometer

要从存储库安装最新的开发版本,请调用:

pip install --upgrade git+https://github.com/maritime-labs/calypso-anemometer

飞行前检查

我们有一些关于调查和配置蓝牙/BLE 堆栈以及模拟遥测消息的文档。在这个问题上,您可能希望在投入生产之前进行一系列预检检查

用法

命令行

发现ULTRASONIC BLE 设备并在其上进行对话。默认情况下,将使用蓝牙适配器hci0

# Get device information with discovery.
calypso-anemometer info

# Get device reading.
calypso-anemometer read

# Get device readings, continuously at 4 Hz (default).
calypso-anemometer read --subscribe

# Get device readings, continuously at 1 Hz.
calypso-anemometer read --subscribe --rate=hz_1

# Generate fake device readings, continuously at 8 Hz.
pip install --upgrade calypso-anemometer[fake]
calypso-anemometer fake --subscribe --rate=hz_8

如果您已经发现了您的设备,知道它的地址,并且想在不自动发现设备的情况下直接连接,请参阅跳过发现

同样,当您的系统有多个蓝牙适配器时,您可能需要选择一个特定的,请参阅选择蓝牙适配器

# Get device information w/o discovery.
calypso-anemometer info --ble-address=F8:C7:2C:EC:13:D0

# Get device information w/o discovery, using a specific Bluetooth adapter.
calypso-anemometer info --ble-adapter=hci1 --ble-address=F8:C7:2C:EC:13:D0

图书馆

要使用库 API,请查阅 示例文件夹中的程序。

概要:

from calypso_anemometer.core import CalypsoDeviceApi

async with CalypsoDeviceApi() as calypso:
    reading = await calypso.get_reading()
    reading.print()

遥测设置

该程序可以选择以不同格式提交遥测消息。

SignalK遥测

连续接收设备读数并通过 UDP 以 SignalK Delta 格式提交:

calypso-anemometer read --subscribe --rate=hz_1 --target=udp+signalk+delta://openplotter.local:4123

要让SignalK 服务器接收数据,请在OpenPlotter实例的服务器 » 数据连接对话框中创建“UDP 接收器”数据连接。

<图> https://user-images.githubusercontent.com/453543/178626096-04fcc1b6-dbfc-4317-815d-4f733fee4b67.png <图说明>

端口 4123 上的 SignalK UDP 接收器。

</figcaption> </figure>

NMEA-0183 遥测

持续接收设备读数并通过 UDP 广播以 NMEA-0183 格式提交:

calypso-anemometer read --subscribe --rate=hz_1 --target=udp+broadcast+nmea0183://255.255.255.255:10110

要让OpenCPN接收数据,请创建相应的数据连接,如这些屏幕截图中所述。

<图> https://user-images.githubusercontent.com/453543/179416658-abb831b8-8e5a-46e1-8f82-4eb5655c7e0b.png <图说明>

在端口 10110 上添加 NMEA-0183 UDP 接收器。

</figcaption> </figure> <figure> https://user-images.githubusercontent.com/453543/179367303-14e1b958-16ae-4bf8-b077-4f96d929e8b0.png <figcaption>

在端口 10110 上配置了 NMEA-0183 UDP 接收器。

</figcaption> </figure>

发出的示例 NMEA-0183 句子是:

$IIVWR,154.0,L,11.06,N,5.69,M,20.48,K*65

其他的项目

  • signalk-calypso-ultrasonic是用于 Calypso 超声波无线风速计的 Signal K 服务器插件,用 JavaScript 编写。

  • CalypsoUltrasonicAPI是 Calypso 超声波风速计的库,用 Visual Basic .NET 和 Java 编写,(也)用于 Android。

故障排除

为了帮助您找到已知问题的解决方案,我们维护了一个专门的故障排除页面。主题范围从权限错误到 BLE 超时。

致谢

项目信息

贡献

非常欢迎各种贡献、反馈或补丁。如果您认为我们应该包含新功能,或者报告或修复错误,请创建问题或提交补丁。

发展

为了在您的工作站上设置开发环境,请前往开发沙箱文档。当你看到软件测试成功时,你应该准备好开始黑客攻击了。

资源

执照

该项目根据 GNU AGPL 许可条款获得许可。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

calypso-anemometer-0.5.1.tar.gz (37.5 kB 查看哈希

已上传 source

内置分布

calypso_anemometer-0.5.1-py3-none-any.whl (33.2 kB 查看哈希

已上传 py3