WsinGithub / ChemECar_web

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ChemECar_web

该项目是为华东理工大学Chem-E-Car竞赛车队编写的网站。

目前,内置一个应用供控制组使用,其当前(目标)功能为:

  • 提供一个API接口,供后续写入实验数据;
  • 使用移动设备,操控实验数据记录的启动与停止;
  • 从服务器上下载历史实验数据;
  • ...

目录

安装

项目使用Python原生虚拟环境venv打包好(大部分)所需库,安装Python即可使用。

如Python版本过低(早于Python 3.3)没有内置venv库,或需在虚拟环境中安装新的库,请参阅Installing packages using pip and virtual environments获取帮助。

使用说明

运行服务器

Win10的文件目录结构用\(backslash, 反斜线), 而在类Linux系统,如树莓派中所用Raspberry Pi OS(Debian)中文件目录结构/(slash, 正斜线)。 请注意区分!

打开命令行(Win10为在开始菜单中键入cmd),切换目录到项目父文件夹ChemECar_web,形如

...\> d:
...\> cd D:\ChemECar_web

激活虚拟环境

...\ChemECar_web\> min_django_env\Scripts\activate.bat

在Raspberry Pi OS终端使用的“激活”方法略有不同,请先运行如下代码以提供可执行权限

chmod +x min_django_env/Scripts/activate

接着“激活”该环境

source min_django_env/Scripts/activate

运行服务器

(min_django_env) ...\ChemECar_web\> python oe_site\manage.py runserver

如果出现类似ImportError报错,请尝试安装或升级django,参考

pip install --upgrade django

至此,即可进入网页 http://127.0.0.1:8000/app, 亦即http://localhost:8000/app

实验记录

数据生成与获取

目前使用record.py生成虚拟数据,提供接口供后续读取真实实验数据。

新开一个命令行窗口,进入ChemECar_web,运行oe_site\app中的record.py

...\ChemECar_web\> python oe_site\app\record.py

如需停止数据生成,请新开一个命令行窗口,进入ChemECar_web,运行oe_site\app中的testclient.py

...\ChemECar_web\> python oe_site\app\testclient.py

实验记录与展示

文本框中输入数据备注(可选),点击开始按钮,数据开始记录并实时展示数据曲线;点击停止按钮,记录停止。

其他人也可观看,不过无法控制数据记录开始与停止。

数据下载

下载

排序

傻瓜式操作,不再赘述。

参数设置

$$$ chart refresh interval $$$ oe_site\templates\index.html 浏览器端画图的更新间隔(ms) $$$ chart update duration $$$ oe_site\static\js\setChart.js 浏览器端画图的速度(ms) $$$ detect time $$$ oe_sit\app\record.py 检测的间隔时间长度 $$$ display data size $$$ oe_site\app\views.py 传输到浏览器端的用于画图的数据大小 $$$ display time $$$ oe_site\app\record.py 浏览器端显示的时间长度 $$$ internal port $$$ oe_site\app\record.py(1) oe_site\app\record.py(3) 数据记录程序与django后端通信使用的端口 $$$ process interval $$$ oe_site\app\record.py 数据记录程序根据信号执行所有操作后的不响应时间(用于节约性能) $$$ signal receive interval $$$ oe_site\app\record.py 数据记录程序接收指令后的不响应时间(用于节约性能)

参考文档

Python

来自Python官方文档——Python 教程

前端(HTML+CSS+JavaScripts)

MDN Web Docs——Web 入门(来自@王世强的强烈安利!MDN本土化团队tql!)

无需搭建本地环境的在线web调试工具——JS Bin

Django

采用Django3.2作为框架——官方文档

网络通信

Socket(套接字是什么辣鸡翻译?)——套接字编程指南Socket原理讲解

涉及到的其他相关标准库

time,时间的访问和转换——time

...

维护者

@蒋天诚

@王世强

如何贡献

About

License:MIT License


Languages

Language:Python 81.5%Language:JavaScript 17.1%Language:HTML 0.8%Language:CSS 0.6%Language:Shell 0.0%Language:PowerShell 0.0%Language:Batchfile 0.0%Language:Xonsh 0.0%