Skip to main content

适用于所有 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 兼容。依赖项是最小的:requestsnetifacestyping-extensionspython-dateutilenum-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 上的等效项)。应该会出现一个网络浏览器。这是模拟器服务器和模拟设备的主要用户界面。运行此程序后,您就可以尝试上面的示例了。

初始 OmniSim 显示

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

Wireshark 特权

要查看 Alpaca 流量,请设置这个简单的显示过滤器http and tcp.port == 3232332323作为 OmniSim 的端口,见上文)。你会像这样对羊驼的流量进行很好的分析

Wireshark 特权

下载文件

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

源分布

alpyca-2.0.2.tar.gz (52.0 kB 查看哈希)

已上传 source

内置分布

alpyca-2.0.2-py3-none-any.whl (69.6 kB 查看哈希

已上传 py3