插件窝 干货文章 配置Linux系统以支持智能建筑和智慧能源管理开发

配置Linux系统以支持智能建筑和智慧能源管理开发

sudo install InfluxDB 安装 993    来源:    2025-04-16

Linux系统配置指南:智能建筑与智慧能源管理开发环境

1. 系统基础配置

1.1 推荐Linux发行版

  • Ubuntu LTS (20.04/22.04):长期支持版本,社区支持完善
  • Debian Stable:稳定性高,适合生产环境
  • RHEL/CentOS Stream:企业级支持,适合大规模部署

1.2 基本系统要求

# 更新系统
sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
sudo dnf update -y  # RHEL/CentOS/Fedora

# 安装基础开发工具
sudo apt install -y build-essential git curl wget python3-pip

2. 物联网与智能建筑相关组件

2.1 MQTT消息代理 (Mosquitto)

# 安装Mosquitto MQTT broker
sudo apt install -y mosquitto mosquitto-clients

# 启用服务
sudo systemctl enable mosquitto
sudo systemctl start mosquitto

# 测试订阅/发布
mosquitto_sub -h localhost -t "test/topic" &
mosquitto_pub -h localhost -t "test/topic" -m "Hello MQTT"

2.2 时序数据库 (InfluxDB/TimescaleDB)

# InfluxDB安装
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt update && sudo apt install -y influxdb2
sudo systemctl start influxdb

# TimescaleDB安装 (基于PostgreSQL)
sudo apt install -y postgresql postgresql-contrib
sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/timescale.keyring] https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main' > /etc/apt/sources.list.d/timescaledb.list"
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/timescale.keyring
sudo apt update
sudo apt install -y timescaledb-2-postgresql-14
sudo timescaledb-tune
sudo systemctl restart postgresql

3. 开发工具与环境

3.1 Python环境配置

# 安装Python虚拟环境
sudo apt install -y python3-venv python3-dev

# 创建虚拟环境
python3 -m venv smartbuilding-env
source smartbuilding-env/bin/activate

# 安装常用库
pip install paho-mqtt pandas numpy matplotlib influxdb-client 
pip install django flask fastapi  # 根据web框架需求选择

3.2 Node.js环境 (可选)

# 使用nvm安装Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install --lts
npm install -g nodemon pm2

4. 智能建筑专用工具

4.1 BACnet协议栈

# 安装BACnet-stack
sudo apt install -y cmake
git clone https://github.com/bacnet-stack/bacnet-stack
cd bacnet-stack
make
sudo make install

4.2 KNX开发工具

# 安装KNXd (KNX守护进程)
sudo apt install -y knxd knxd-tools

# 配置KNX接口
sudo knxd -e 1.1.128 -E 1.1.129 -f 9 -u /var/run/knx -D -T -R -S -b tpuarts:/dev/ttyUSB0

5. 能源管理工具

5.1 OpenEMS (开源能源管理系统)

# 安装依赖
sudo apt install -y openjdk-11-jdk maven

# 克隆并构建OpenEMS
git clone https://github.com/OpenEMS/openems.git
cd openems
mvn clean install

5.2 能源数据分析工具

# 安装Jupyter Notebook
pip install jupyterlab

# 安装能源分析库
pip install energydatamodel pyenergyplus

6. 容器化与编排 (可选)

6.1 Docker安装

# 安装Docker
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

# 测试安装
docker run hello-world

6.2 示例Docker Compose文件 (MQTT + InfluxDB + Grafana)

version: '3'

services:
  mqtt:
    image: eclipse-mosquitto
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - ./mosquitto.conf:/mosquitto/config/mosquitto.conf

  influxdb:
    image: influxdb:2.0
    ports:
      - "8086:8086"
    volumes:
      - influxdb-data:/var/lib/influxdb2
    environment:
      - DOCKER_INFLUXDB_INIT_MODE=setup
      - DOCKER_INFLUXDB_INIT_USERNAME=admin
      - DOCKER_INFLUXDB_INIT_PASSWORD=smartbuilding123
      - DOCKER_INFLUXDB_INIT_ORG=smartbuilding
      - DOCKER_INFLUXDB_INIT_BUCKET=energy_data

  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"
    volumes:
      - grafana-data:/var/lib/grafana
    depends_on:
      - influxdb

volumes:
  influxdb-data:
  grafana-data:

7. 安全配置

7.1 防火墙设置

# 安装UFW
sudo apt install -y ufw

# 基本配置
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 1883/tcp  # MQTT
sudo ufw allow 8086/tcp  # InfluxDB
sudo ufw enable

7.2 安全加固

# 安装fail2ban防止暴力破解
sudo apt install -y fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# 自动安全更新
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

8. 监控与日志

8.1 系统监控

# 安装Prometheus和Node Exporter
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xvfz prometheus-*.tar.gz
cd prometheus-*

# 配置Prometheus (编辑prometheus.yml)

8.2 日志管理

# 安装ELK Stack (Elasticsearch, Logstash, Kibana)
# 或轻量级替代方案:
sudo apt install -y loki promtail grafana

# 配置日志收集

9. 开发建议工具链

  1. 代码编辑器/IDE:

    • VS Code with PlatformIO, Docker, MQTT扩展
    • PyCharm Professional (Python开发)
  2. 版本控制:

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"
    git config --global core.editor nano
    
  3. API测试工具:

    • Postman
    • Insomnia
    • curl/wget命令行工具
  4. 文档工具:

    • Sphinx (Python文档)
    • MkDocs (Markdown文档)

通过以上配置,您的Linux系统将具备开发智能建筑和智慧能源管理应用所需的核心组件和环境。根据具体项目需求,您可能需要进一步安装特定协议栈或SDK。