用于将低级硬件传感器和执行器与mqtt绑定进行接口的python库。

robopher的Python项目详细描述


Documentation StatusJoin Chat on Gitter.im

底层硬件接口python库的设计与实现 带有MQTT和TSDB绑定的传感器和执行器。系统架构是 硬件设计简单,支持单板 微控制器,如ESP2866、ESP32模块以及单板计算机 基于ARM或x86架构。处理设备之间的通信 通过标准MQTT消息总线。

安装

virtualenv

安装所需的依赖项

apt-get install python-dev libyaml-dev git python-virtualenv

准备干净的virtualenv

virtualenv /opt/robophery

克隆此存储库

git clone https://github.com/cznewt/robophery.git

安装依赖项和robophery

source /opt/robophery/bin/activate
pip install -r requirements.txt
python setup.py install

服务

如果正在运行启用systemd的分发,请将systemd unit file设置为 自动启动robophery:

cat << EOF >>/etc/systemd/system/robophery.service
[Unit]
Description=robophery manager
Wants=mosquitto.service
After=network.target mosquitto.service

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/robophery
Environment=ROBOPHERY_CONF=/etc/robophery
ExecStart=/opt/robophery/bin/rp_manager
RestartSec=5
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

创建/opt/robophery目录和配置文件 /opt/robophery/robophery_conf.py并启动服务。

systemctl daemon-reload
systemctl start robophery
systemctl enable robophery

要检查服务的状态,请使用systemctl status -l robophery。 要查看日志,可以使用systemd journal(例如journalctl -u robophery -f

配置

您可以使用salt-formula-robophery自动化安装和 或者您可以以任何其他方式提供配置文件。

示例

下面的配置示例将设置在树莓pi上运行的robophery 并将从连接到GPIO引脚3的DHT2传感器收集数据并发布 每60秒发送一次MQTT。

CONF = {
  'name': 'mylittleraspberry',
  'log_level': 'debug',
  'log_handlers': ['console', 'syslog'],
  'read_interval': 10000,
  'publish_interval': 60000,
  'platform': 'raspberrypi',
  'config': {
    'comm': {
      'default_mqtt': {
        'host': 'mymqttserver',
        'port': 1883,
        'class': 'robophery.comm.linux.mqtt.PahoMqttComm'
      },
    },
    'interface': {
      'local_gpio': {
        'engine': 'gpio',
        'class': 'robophery.platform.rpi.gpio.RaspberryPiGpioInterface'
      }
    },
    'module': {
      'dht22': {
        'data': {
          'pin': 3,
        },
        'class': 'robophery.module.gpio.dht22.Dht22Module'
      }
    }
  }
}

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

推荐PyPI第三方库


热门话题
java接口中的每个方法都是抽象的,但在抽象类中,我们也只能使用抽象方法   初始化Java中声明的、未初始化的变量会发生什么情况?   java BouncyCastle openPGP将字节[]数组加密为csv文件   在Java中将类A(和所有子类)映射到类B的实例的字典   RSA公钥编码,在Java和Android中,代码相同,结果不同   java在安卓中实现数字检测语音识别   java取消选择复选框   java如何在其他配置中重用Maven配置XML片段   java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?   spring处理程序调度失败;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/http/client/HttpClient   带有ehcache的java多层缓存   java如何访问chromium(或任何其他浏览器)cookie   java通过将两个集合与spring data mongodb data中的条件合并来获取计数   安卓中R.java的语法错误