项目简介
本项目是用于远程管理和收集设备信息,并实现自动化控制的系统。它由 DasClient(负责自动化)、DasServer(集中管理)、DasWebApi(提供 Web 接口)、DasTelegramBot(通知和简单控制)、DasModern(GUI 客户端)、DasEmulator(测试和调试)等多个部分,以及多个支持库和前后端组件构成。各部分协同工作,可实现设备数据的收集、处理、存储和远程控制。
项目的主要特性和功能
- 自动化控制:DasClient 内置 JS 引擎,能依据预设脚本实现设备自动化控制。
- 远程管理:借助 DTLS 协议实现客户端与服务器的安全通信,支持远程管理与集中分析信息。
- 多类型日志记录:涵盖值日志、事件日志、参数日志、状态日志和模式日志,便于监控和分析系统运行情况。
- Web 接口:提供 WebSocket 服务器、RestfulApi 服务器和 Stream 服务器,方便用户通过网页实时查看和控制设备。
- Telegram 通知与控制:DasTelegramBot 可发送事件通知,且支持简单的设备控制操作。
- 模拟测试:DasEmulator 可模拟 Modbus 设备工作,利于测试和调试。
安装使用步骤
假设用户已经下载了本项目的源码文件。
安装依赖
对于 Django 部分,需要安装 MySQL 连接器:
bash
pip3 install mysqlclient sqlparse
数据库配置
- 创建 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;
- 生成 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】