Calypso UP10 风速计的 Python 驱动程序
项目描述
Calypso UP10 风速计的 Python 驱动程序
关于
硬件设备
Calypso 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 接收器”数据连接。
<图>端口 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接收数据,请创建相应的数据连接,如这些屏幕截图中所述。
<图>在端口 10110 上添加 NMEA-0183 UDP 接收器。
</figcaption> </figure> <figure>在端口 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 超时。
致谢
感谢 Henrik Blidh、David Lechner和贡献者构思和维护出色的Bleak库。
项目信息
贡献
非常欢迎各种贡献、反馈或补丁。如果您认为我们应该包含新功能,或者报告或修复错误,请创建问题或提交补丁。
发展
为了在您的工作站上设置开发环境,请前往开发沙箱文档。当你看到软件测试成功时,你应该准备好开始黑客攻击了。
资源
执照
该项目根据 GNU AGPL 许可条款获得许可。
项目详情
calypso_anemometer -0.5.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 68679a500e4fef5b45e3515ede7d985c416f1784df4dbf4514db120e155ce54f |
|
| MD5 | 841067cf1074f90d43728e1af2f07eca |
|
| 布莱克2-256 | 630cccfa04c7bd9f49b9960fc3d9c70234eea0dedf3b871b39ef4aa1dd62281c |