具有漂亮实时web用户界面的通用python自动化库
automate的Python项目详细描述
自动化
- github url:http://github.com/tuomas2/automate
- 阅读http://python-automate.readthedocs.org/ 上的完整文档
automate是一个通用的python自动化库。 其目标是提供方便和健壮的面向对象编程 复杂状态机系统的框架。自动化可用于设计 复杂的自动化系统,但它很容易学习和使用的乐趣。是的 最初是考虑到家庭机器人/自动化项目而开发的, 但在性质上是相当普遍的,可以从不同的应用程序中找到 可以利用自动化的领域。自动化可以嵌入 在其他python软件中作为组件运行其操作 它自己的线。
亮点:
- 支持的硬件:
- 覆盆子pi gpio输入/输出端口
- Arduino support 用于模拟和数字输入/输出端口以及VirtualWire无线网络 用AutomateFirmata。
- 易于编写扩展以支持其他硬件
- 通过序列化保存和还原系统状态
- 智能设计:
- rpc和websocket接口,用于连接其他应用程序或其他自动化系统。
- 全面且可定制 Web User Interface
- 可以自动绘制系统的UML图(如示例所示 本文档的)
示例
让我们以一个小型自动化程序为例:
fromautomateimport*classMySystem(System):# HW swtich connected Raspberry Pi GPIO port 1hardware_switch=RpioSensor(port=1)# Switch that is controllable, for example, from WEB interfaceweb_switch=UserBoolSensor()# Lamp relay that switches lamp on/off, connected to GPIO port 2lamp=RpioActuator(port=2)# Program that controls the system behaviourprogram=Program(active_condition=Or('web_switch','hardware_switch'),on_activate=SetStatus('lamp',True))my_system=MySystem()
这个简单的例子有两个传感器hardware_switch,web_switch,执行器(lamp)和一个 包含做什么和什么时候做的逻辑。如果web_switch或hardware_switch有 状态True。
安装automatic
automate可以像普通python包一样安装。我建议安装 在虚拟环境中(请参见virtualenv)。
(可选):创建并开始使用virtualenv:
mkvirtualenv automate workon automate
从pypi安装:
pip install automate
也可以指定一些附加功能,例如web、rpc、raspberrypi、arduino:
pip install automate[web,rpc,raspberrypi,arduino]
或者如果您想要全部:
pip install automate[all]
许可证
自动化是自由软件:您可以重新发布和/或修改它 根据由 自由软件基金会,或者许可证的第3版,或者 (由您选择)任何更高版本。
自动化是分布式的,希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。见 GNU通用公共许可证了解更多详细信息。
你应该收到GNU通用公共许可证的副本 以及自动化。如果没有,请参阅http://www.gnu.org/licenses/。