CZ_OpenSpice/README.md

90 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# CZ_OpenSpice
## 项目简介
本项目旨在搭建一个web版本的spice电路仿真平台。当前项目仍处于不断更新中。
## 项目框架
### Schematic
能够绘制电路原理图的web前端代码主要采用mxGraph代码构建。
#### 运行方法
进入`./Schematic`路径下
执行`python server.py`
在浏览器中打开`localhost:8000`进入文件服务器,在文件服务器中打开`./template/schematic.html`文件即可
### Server
整个项目的后端服务器代码主要基于Tornado、Bokeh框架开发。
## 环境配置
### Python环境
需要使用`python>=3.6`同时需要安装如下几个python包可以通过`pip install pkg-name`的方法进行安装,例如 `pip install tornado`
* `tornado`
* `datetime`
* `pycket`
* `pymongo`
* `pymysql`
### 数据库
需要安装如下几个数据库,并进行配置,配置的信息在`./Server/handler/MongoDB.py`和
`./Server/handler/MysqlDB.py`中均有记录
* `redis`
* `mysql`
* `mongodb`
## 项目启动
进入`./Server/`路径,执行`python app.py`
## 更新日志
* 2021年1月31日前端更新
* 增加了元件属性修改功能,增加了对属性的解析
* 更新了几个元件的icon可以在这个网站上绘制相应的像素图表http://www.xiconeditor.com/
* 发现了一些bug例如当进行FlipH和FlipV时端口无法跟着进行翻转
* 当前的功能界面如下图所示
* ![avatar](./Schematic/schematic.png)
* 2021年1月28日前端更新
* 增加了一些功能控件,完成基本雏形
* 将元件的属性暂时全部写在元件的value中之后可以尝试使用userobject进行存储。
* 增加了修改元件属性的windos窗口但是value的parse函数仍在搭建
* 2021年1月26日重大更新增加了前端电路绘制功能demo
* 改变技术方案放弃采用MIT的Jade电路绘制前端改为使用mxGraph设计电路绘制功能
* 当前已经可以实现绘制简单的电路原理图并将拓扑关系提取到xml格式文件中后续可设计程序将xml转换为spice文件
* 当前已经增加了几个简单的N_Mosfet P_Mosfet Vdd Gnd Resistor等元件的图表
* 但是,还有很多细节需要继续填充
* 2021年1月26日修复了一些小bug增加了一些配置信息
* 增加了README的内容
* 再次测试代码修复一些bug例如注册时未往数据库中写入email等
* 把部分js代码单独提取出来到一个文件夹下面
* 2021年1月22日进一步完善服务器基本框架。
* 基本尝试使用了BokehJS库的使用计划用JS替代Python版本的Bokeh功能控件。
* 尝试Plotly的使用计划作为Bokeh的备选。
* 尝试使用Javascript的Jquery库利用ajax向服务器发送post请求传递信息。
* 发现Python版本的Bokeh功能控件部署在服务器上存在的一些问题包括后台终端无后台信息等暂时将该功能控件禁用。
* 新增Mongo数据库的使用计划用来记录用户的行为数据该数据库的部署已经完成该数据库的python封装已完成雏形但尚不完善需要后续根据采集节点的设计进一步完善。
* 后续需要在项目管理方面进行梳理,当前代码库已经存在一定的混乱。
* 将代码库中的`font-awesome`css库从本地删去改为线上CDN加载。
* 2021年1月20日完成了服务器基本框架的搭建。实现的功能有
* 用户登录、认证、退出系统,新用户注册新账户
* 在mysql数据库中存储、更新用户基本信息
* 一个基本的仿真的app功能为spice语言描述的电路传入后台后台调用ngspice或xyce进行仿真暂未对仿真结果进行处理仅返回是否仿真成功