机器人管理守护程序
pepper2的Python项目详细描述
辣椒2
机器人管理守护程序
依赖关系
pepper2的一些依赖项在PyPI上不可用。在
- D总线
- 于1.12.16+测试
- GLib2.46+
- girepository1.46+
- Python 3.6+
- U盘2
- 2.8.1+测试
- udiskie或类似的使用udisks2的自动安装守护程序。
- 1.7.7测试
这些软件包通常可以在带有桌面界面的系统上找到。在
Instructions for setting up a Debian 10 system包含在本回购中。在
跑步
这个回购中有两个程序,它们之间有共享代码。在
pepperctl
- 通过D-Bus与pepperd通信的CLI工具。在
pepperd
- 位于系统总线上的守护程序
- 从udisk侦听装载和清理事件
- 注册USB。在
- 触发器根据一组条件为USB运行和停止事件。在
为了运行pepperd
,我们需要告诉D-Bus我们有在系统总线上创建服务的权限。
这可以通过在/etc/dbus-1/uk.org.j5.pepper2.conf
中放置一个配置文件来完成。
此存储库中包含一个配置文件示例:uk.org.j5.pepper2.conf。在
使用
pepperd
应该作为后台进程使用systemd在后台运行。在
USB驱动器应该是自动安装的,pepper2将通过UDisk检测新驱动器。在
驱动器上的用户代码main.py
将开始执行,stdout
和{log.txt
。在
- 查看守护进程状态:
pepperctl status
- 查看用户代码状态:
pepperctl usercode status
- 终止用户代码:
pepperctl usercode kill
- 在已插入的驱动器上启动用户代码:
pepperctl usercode start
- 查看用户代码的实时日志:
journalctl -ft pepper2-usercode
未来发展
上图显示了使用pepper2
的典型系统的工作原理。在
核心组件
核心组件对于使用pepper2
是必不可少的。它们都包含在本次回购中。在
pepper2
- 要与
pepper2-daemon
交互的Python库 - 从用户那里抽象出D-Bus。在
- 要与
pepper2-daemon
- 侦听UDisks2事件的守护程序。在
- 根据配置中定义的条件执行操作。
- 管理用户代码进程
- 提供可访问的“元数据”。
- e、 g
USERCODE_DIR
,ARENA
,START_TRIGGER_STATE
- e、 g
pepper2-cli
- 围绕
pepper2
的简单包装 - 允许从CLI控制守护进程以进行调试和bash脚本。在
- 围绕
附加组件
pepper2-usercode
- 可能对用户代码进程与
pepper2
交互有用的通用组件 - 例如,等待启动。在
- 可能对用户代码进程与
pepper2-leds
- 侦听来自
pepper2-daemon
的信号事件,并根据配置操作GPIO管脚。在
- 侦听来自
pepper2-servohack
- 侦听来自
pepper2-daemon
的信号事件并重置USB总线。bug in SR SBv4的解决方法
- 侦听来自
开发资源
这个程序大量使用D-Bus,这不是世界上最容易理解的事情。在
捐款
这个项目是根据麻省理工学院的许可证发布的。有关详细信息,请参阅许可证。在
贡献者文件可以通过执行贡献者.gen。此生成的文件包含对Pepper2作出贡献的人的列表。在
词源学
不,不是第二版。在
拼写是pepper2
,很像j5
。不需要大写字母。在
- 项目
标签: