hippasos在接收到预定义的mqtt消息时播放预配置的声音文件。

Hippasos的Python项目详细描述


πηαα_ [1](hippasos)在接收到 预定义的MQTT消息。

Pelops Overview

PELOPS概述

Hippasos是基于mqtt的微服务集合的一部分 pelops。微服务概述 架构和示例可以在 (http://gitlab.com/pelops/pelops)。

对于用户

安装核心功能

核心功能的先决条件是:

sudo apt install python3 python3-pip python3-pygame
sudo pip3 install paho-mqtt pyyaml pygame pelops

通过PIP安装:

sudo pip3 install epidaurus

若要更新到最新版本,请将--upgrade作为前缀添加到 pip3行以上。

通过Gitlab安装(可能需要其他软件包):

git clone git@gitlab.com:pelops/hippasos.git
cd hippasos
sudo python3 setup.py install

这将安装以下shell脚本:*hippasoss

脚本cli参数是:*'-c'/'-config'-config文件 (必需)*'-v'-详细输出(可选)*'-版本'-显示 版本号和退出

yaml配置

一个yaml[2]文件必须包含四个根块:*mqtt- MQTT地址、MQTT端口和凭据文件凭据文件的路径 (包含两个条目的文件:mqtt user、mqtt password)*logger -哪个日志级别和要使用的文件
*声音映射-声音事件列表
mqtt:
    mqtt-address: localhost
    mqtt-port: 1883
    credentials-file: ~/credentials.yaml
    log-level: WARNING

logger:
    log-level: DEBUG
    log-file: hippasos.log

sound-mappings:
    - name: bell_building  # unique name for sound event
      sound-file: ../resources/church_bell.ogg  # uri to sound file. must be ogg or wav.
      topic-sub: /test/button1  # react to published values on this channel
      message-value: PRESSED  # react to this message content
      volume: 0.1  # 0..1 - volume relative to system volume
      active: True  # entry ignored if set to False

系统d

  • 添加systemd示例。

对于开发人员

开始

项目由两个主要模块组成:soundservice-creates, 启动和停止声音事件。*soundevent-订阅主题 并在接收到特定消息时播放声音文件。

待办事项

  • 使可播放声音的最大数量可配置。

其他

代码是为python3编写的(并在 覆盆子皮零与覆盆子伸展)。

Merge requests/ bug reports总是 欢迎。

[1]The icon used for this project is not Hippasos, son of pelops but it depicts Hippasus of Metapontum.
[2]Currently, pyyaml is yaml 1.1 compliant. In pyyaml On/Off and Yes/No are automatically converted to True/False. This is an unwanted behavior and deprecated in yaml 1.2. In copreus this autoconversion is removed. Thus, On/Off and Yes/No are read from the yaml file as strings (see module baseclasses.myconfigtools).

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型和基类   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java应用程序在尝试登录时突然停止   Java:神秘的Java未捕获异常处理程序[带代码]   java JavaFX NumberAxis自动范围无限循环   最新版本和旧版本冲突的java双Maven依赖关系   java如何导入带有部署变量类名的静态函数?   编译器构造不同的JDK更新会产生不同的Java字节码吗?   java无法在struts 1.1中上载任何超过250 MB大小的文件   java调整jcombobox下拉菜单的宽度   java如何在某些情况下忽略@SQLDelete注释   在Eclipse for Java EE developers edition中禁用HTML警告   java HttpUrlConnection重置请求属性   java@Provider资源未在rest应用程序中注册   java TOP N使用JPA连接   java在使用反射调用方法时区分int和Integer参数