用于将低级硬件传感器和执行器与mqtt绑定进行接口的python库。
robopher的Python项目详细描述
底层硬件接口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' } } } }