用于将低级硬件传感器和执行器与 MQTT 绑定连接的 Python 库。
项目描述
用于将低级硬件传感器和执行器与 MQTT 和 TSDB 绑定连接的 Python 库的设计和实现。系统架构在硬件层面设计得非常简单,以支持单板微控制器,如 ESP2866、ESP32 模块以及基于 ARM 或 x86 架构的单板计算机。设备之间的通信由标准 MQTT 消息总线处理。
安装
虚拟环境
安装所需的依赖项
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 单元文件以自动启动 robophery:
cat <s><< 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</s>
创建/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自动安装和配置,也可以以任何其他方式提供配置文件。
例子
以下示例配置将设置在 Raspberry Pi 上运行的 robophery,并将从连接到 GPIO 引脚 3 的 DHT22 传感器收集数据,并每 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' } } } }