littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于C++和Python的远程设备管理与自动化系统

项目简介

本项目是用于远程管理和收集设备信息,并实现自动化控制的系统。它由 DasClient(负责自动化)、DasServer(集中管理)、DasWebApi(提供 Web 接口)、DasTelegramBot(通知和简单控制)、DasModern(GUI 客户端)、DasEmulator(测试和调试)等多个部分,以及多个支持库和前后端组件构成。各部分协同工作,可实现设备数据的收集、处理、存储和远程控制。

项目的主要特性和功能

  1. 自动化控制:DasClient 内置 JS 引擎,能依据预设脚本实现设备自动化控制。
  2. 远程管理:借助 DTLS 协议实现客户端与服务器的安全通信,支持远程管理与集中分析信息。
  3. 多类型日志记录:涵盖值日志、事件日志、参数日志、状态日志和模式日志,便于监控和分析系统运行情况。
  4. Web 接口:提供 WebSocket 服务器、RestfulApi 服务器和 Stream 服务器,方便用户通过网页实时查看和控制设备。
  5. Telegram 通知与控制:DasTelegramBot 可发送事件通知,且支持简单的设备控制操作。
  6. 模拟测试:DasEmulator 可模拟 Modbus 设备工作,利于测试和调试。

安装使用步骤

假设用户已经下载了本项目的源码文件。

安装依赖

对于 Django 部分,需要安装 MySQL 连接器: bash pip3 install mysqlclient sqlparse

数据库配置

  1. 创建 MySQL 用户并授予权限: sql CREATE USER 'DasUser'@'localhost' IDENTIFIED BY '???????'; GRANT ALL PRIVILEGES ON das_django.* TO 'DasUser'@'localhost'; GRANT ALL PRIVILEGES ON das_django_%.* TO 'DasUser'@'localhost'; GRANT CREATE ON *.* TO 'DasUser'@'localhost'; FLUSH PRIVILEGES;
  2. 生成 Django 数据: bash python3 manage.py dumpdata auth.User auth.Group das.Das --indent=2 > das/fixtures/initial_data.json python3 manage.py dumpdata gh_item.Device_Item_Type gh_item.LayoutType gh_item.SignType --indent=2 > gh_item/fixtures/initial_data.json python3 manage.py loaddata das/fixtures/initial_data.json

生成服务器密钥

bash ./botan keygen > dtls.key ./botan gen_self_signed dtls.key deviceaccess.ru > dtls.pem

配置 DasClient

在配置文件 /opt/das/DasClient.conf 中设置数据库连接信息和服务器授权信息(登录名、密码和模式名称)。

启动服务

启动 dasclient 服务,系统将开始运行。用户可以通过网页或 Telegram Bot 进行设备管理和控制。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】