适用于所有 ASCOM Alpaca 设备、管理和发现的 API 库
项目描述
alpyca (2.0.1rc1)
适用于所有ASCOM Alpaca通用接口的 Python 3.7+ API 库
由ASCOM Initiative制作,源自 Ethan Chappel 的 Alpyca 1.0.0。Ethan 向 ASCOM Initiative 发布了Alpyca的名称,因此这个扩展包以 2.0 版开始。
要求
此包在 Python 3.7 或更高版本下运行。它与大多数 Linux 发行版、Windows 和 MacOS 兼容。依赖项是最小的:requests、 netifaces、 typing-extensions、 python-dateutil和 enum-tools。
安装
该软件包从 PyPi 安装为
pip install alpyca
或者如果您在 tar 文件中有源代码,请将其解压缩并运行
python3 setup.py install
上面列出的依赖项会自动与 alpyca 一起安装。
当前状态和文档
此版本 2.0.1rc1 是 2.0.1 的第一个候选版本。该文档内容广泛,可在线获取,如Alpyca:Alpaca API 库以及 此处的 PDF 文档。有关更改日志,请参阅 CHANGES.rst。
反馈和讨论
可以在 ASCOM 驱动程序和应用程序开发支持论坛上提供反馈。请注意,这些协议是通用的且经过严格管理。这个库是协议的 实现,而不是协议本身。有关背景信息,请访问 关于 Alpaca 和 ASCOM,以及 ASCOM 接口原则、 标准流程和一般要求。
例子
首先下载、安装并运行跨平台的
Alpaca Omni Simulator
,它将为您提供适用于所有Alpaca设备的全功能模拟器,以及 Alpaca RESTful 端点的实时
OpenAPI/Swagger 接口(请参阅下面的详细信息)。此示例将使用 Telescope 模拟器。假设您在本地主机的默认端口 32323 上运行 Omni Simulator,则其地址为localhost:32323. 这是一个使用 alpaca 的示例程序:
import time
from alpaca.telescope import * # Multiple Classes including Enumerations
from alpaca.exceptions import * # Or just the exceptions you want to catch
T = Telescope('localhost:32323', 0) # Local Omni Simulator
try:
T.Connected = True
print(f'Connected to {T.Name}')
print(T.Description)
T.Tracking = True # Needed for slewing (see below)
print('Starting slew...')
T.SlewToCoordinatesAsync(T.SiderealTime + 2, 50) # 2 hrs east of meridian
while(T.Slewing):
time.sleep(5) # What do a few seconds matter?
print('... slew completed successfully.')
print(f'RA={T.RightAscension} DE={T.Declination}')
print('Turning off tracking then attempting to slew...')
T.Tracking = False
T.SlewToCoordinatesAsync(T.SiderealTime + 2, 55) # 5 deg slew N
# This will fail for tracking being off
print("... you won't get here!")
except Exception as e: # Should catch specific InvalidOperationException
print(f'Slew failed: {str(e)}')
finally: # Assure that you disconnect
print("Disconnecting...")
T.Connected = False
结果
Connected to Alpaca Telescope Sim
Software Telescope Simulator for ASCOM
Starting slew...
... slew completed successfully.
RA=10.939969572854931 DE=50
Turning off tracking then attempting to slew...
Slew failed: SlewToCoordinatesAsync is not allowed when tracking is False
Disconnecting...
done
羊驼 Omni 模拟器
ASCOM 羊驼模拟器可在此处通过 GitHub 获得。使用 [ Latest ] 链接,向下滚动 Assets 部分并选择适合您的操作系统和 CPU 类型的包。将所有文件提取到一个目录并通过以下方式启动
./ascom-alpaca.simulators
(或 Windows 或 MacOS 上的等效项)。应该会出现一个网络浏览器。这是模拟器服务器和模拟设备的主要用户界面。运行此程序后,您就可以尝试上面的示例了。
ASCOM 远程
任何当前托管在 Windows 系统上的 ASCOM COM 设备都可以通过 ASCOM Remote Windows 应用程序添加 Alpaca 接口。此应用程序允许您将任何 Windows 托管的天文设备暴露给 Alpaca 世界,使它们可以从使用 alpyca 的程序中访问。
线鲨
如果您对监控 alpyca 创建并与 Alpaca 设备交换的 HTTP/REST 流量感兴趣,您可以安装Wireshark 网络协议分析器。使人们绊倒的一件事是进行安装,以便 Wireshark 可以访问所有网络接口,而无需 root privs (linux) 或在 Windows 上以“管理员身份”运行。密切注意这上面的安装步骤。在 Windows 上,捕获驱动程序安装需要提升,因为它是一个特权模块。例如 installinn on Linux (eg Debian/Raspberry Pi) 你会看到这个,并且一定要回答 Yes。
要查看 Alpaca 流量,请设置这个简单的显示过滤器http and tcp.port == 32323
(32323作为 OmniSim 的端口,见上文)。你会像这样对羊驼的流量进行很好的分析
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。