该内容需要权限查看
解锁内容
适合人群:
在校大学生、电气自动化转上位机开发者、自学软件开发者、程序员等,希望对自身技能有更高的突破,以及转行做软件架构工程师的从业者。
你将会学到:
学习C#与WPF上位机模块化开发,全面了解并掌握软件架构,熟悉反应式编程,学会串口编程、网络编程
课程简介:
本课程是重庆教主从业软件开发十年的经验集成,侧重于软件架构,利用Prism、ReactiveUI等框构,打造模块化与反应式编程项目,让上位机开发从此没有秘密。以下是本程课所讲解到的模块内容:
上位机开发模块:
Shell模块(程序入口)、核心模块(对话框、枚举、扩展类型、帮助类型、IOC容器、语言管理、接口),UI通用模块(模板样式、转换器、字体库、图片、语言资源),系统配置模块、缓存模块、日志模块、硬件模块(PLC,控制卡,相机(搜海康机器人),光机,平板探测器,X射线管,扫码枪,串口),业务模块(共享接口、登录、主界面、菜单、其它业务模块)、数据库模块(数据库接口、仓储层)
课程目录:
第1章初出茅庐(5小时22分钟20节)
1-1001-开篇前言及创建C#新项目[11:29]
1-2002-安装Prism框架和ReactiveUI框架[08:16]
1-3003-使用Prism框架的应用程序和绑定ViewModel[16:52]
1-4004-使用Prism框架的模块功能[24:09]
1-5005-配置Prism框架的模块目录[12:19]
1-6006-代码提交及Gitee操作演示[07:38]
1-7007-安装MahApps主题及应用演示[21:37]
1-8008-创建登录模块并实现按需加载[24:15]
1-9009-引用Font字体库并使用字体[15:12]
1-10010-上位机通用架构设计分析[13:31]
1-11011-自定义特性的写法[06:27]
1-12012-扩展Prism框架功能-利用特性和反射向IOC容器中[22:51]
1-13013-创建核心模块,使用Prism框架的依赖注入功能[16:18]
1-14014-MVVM知识-窗体Loaded事件转Command命[09:55]
1-15015-用户登录-使用Prism事件聚合器和区域导航[20:54]
1-16016-开发对话框-自定义控件UserControl[26:00]
1-17017-断言类[03:53]
1-18018-语言管理模块之资源字典开发(ResourceDict[17:32]
1-19019-语言管理模块之简体、翻译、英语的切换应用[20:30]
1-20020-主模块的布局(Grid控件)[23:05]
第2章 拨云见雾 (5小时4分钟 20节)
2-1021-菜单模块开发(学习模块间的依赖关系)[22:47]
2-2022-创建Image图像模块[11:36]
2-3023-创建相机模块及编写相机抽象类[19:26]
2-4024-非托管内存数组的管理(父类写法)[17:43]
2-5025-非托管内存数组的管理(子类写法)[06:09]
2-6026-BGRA图像结构体的封装[09:41]
2-7027-仿真相机子类的设计与实现[28:26]
2-8028-FPD平板探测器接口的设计[09:32]
2-9029-FPD平板探测器父类设计[08:09]
2-10030-FPD平板探测器仿真子类的设计[18:40]
2-11031-加载本地Tiff图像数据[28:18]
2-12032-创建硬件初始化模块[10:35]
2-13033-硬件加载及生命周期管理器开发(异步及Task[15:52]
2-14034-硬件初始化模块-加载所有硬件[29:46]
2-15035-解决无法加载位图的问题[05:32]
2-16036-创建NLog日志模块,捕捉应用程序全局异常[18:35]
2-17037-创建prism对话框viewmdoel基类[07:46]
2-18038-创建系统配置模块[16:51]
2-19039-Json文件的序列化和反序列化帮助类[07:14]
2-20040-系统配置管器器(ConfigManager)[12:19]
第3章 见山见水 (6小时48分钟 20节)
3-1041-各个模块的配置参数的读取与写入[34:14]
3-2042-系统配置界面设计及业务编写[24:43]
3-3043-WPF中调用WinForm控件Propert[29:07]
3-4044-缓存服务的管理器的开发(Dictionary[19:32]
3-5045-登录模块的记住密码和自动登录功能开发[16:26]
3-6046-下载海康工业相机SDK和开发文档[07:57]
3-7047-HIK海康相机的SDK动态库dll导入及相机[33:03]
3-8048-HIK海康相机的软触发采集图像与卸载相机[19:50]
3-9049-控制卡接口开发[18:31]
3-10050-控制卡抽象父类开发(初始化及配置参数)[28:16]
3-11051-控制卡抽象父类开发(运动轴回零和移动轴)[12:22]
3-12052-控制卡仿真类的开发[14:46]
3-13053-众为兴控制卡的SDK包下载安装及模块开发[18:29]
3-14054-众为兴控制卡初始化及开始[20:44]
3-15055-众为兴控制卡的正负限位、原点、编程模式、脉冲[24:00]
3-16056-众为兴控制卡的轴运动操作与关闭[32:47]
3-17057-增加相机、运动轴和主要操作区域[06:58]
3-18058-增加图像操作区域布局,安装MahApps主题[13:52]
3-19059-增加快捷菜单,学习按钮的Style样式[13:13]
3-20060-CheckBox控件样式及控件之间的属性绑定[19:33]
第4章 千山万水 (5小时51分钟 20节)
4-1061-创建非托管数组的双缓冲内存管理器[20:45]
4-2062-创建图像处理模块[06:57]
4-3063-采集相机图像数据至双缓冲内存区域[21:46]
4-4064-采集平板探测器图像数据至双缓冲内存区域[23:10]
4-5065-16位灰色图源绑定到Image控件[25:50]
4-6066-ComboBox控件扩展功能(绑定枚举元素)[34:14]
4-7067-关闭软件时卸载所有硬件[13:52]
4-8068-触发采集仿真相机和仿真探测器的图像数据[07:50]
4-9069-增加鼠标操作模式(MouseWorkMode[13:21]
4-10070-在控件中实时获取鼠标移动位置[21:49]
4-11071-初始化图像显示时的缩放和平移状态[30:13]
4-12072-模块间以接口通讯及反应式编程讲解(观察者模式[15:06]
4-13073-ScaleTransform缩放Grid控件[16:32]
4-14074-观察Combobox的值变化进行图像快捷缩放[29:13]
4-15075-下载opencv图像处理库[09:02]
4-16076-导入opencv图像处理库到C++项目中[11:24]
4-17077-C++模板应用讲解-Opencv的Mat图像[14:18]
4-18078-C#调用C++生成的动态链接库dll函数[13:47]
4-19079-定义图像的结构体(struct)[06:04]
4-20080-C#的结构体与C++的结构体进行通讯及ope[16:36]
第5章 深度学习 (6小时11分钟 20节)
5-1081-修改探测器图像尺寸[12:43]
5-2082-创建图像滤波算法处理流程模块[26:29]
5-3083-创建滤波算法模型的接口[14:53]
5-4084-创建一个Test滤波算法对应C++的一个函数[28:13]
5-5085-利用反射和特性实例化滤波算法模型(重点知识)[14:46]
5-6086-导入Png图标以BitmapImage显示[12:27]
5-7087-添加索贝尔算法,演示opencv中的函数调用[23:00]
5-8088-反应式编程实战讲解观察者模式用法[26:32]
5-9089-反应式编程-合并多个观察者对象[17:52]
5-10090-反应式编程-调用opencv函数并显示图像[47:01]
5-11091-调用opencv中值滤波器函数[10:34]
5-12092-处理过滤器界面不切换的Bug[15:46]
5-13093-添加opencv高斯滤波算法[19:27]
5-14094-添加运动轴控制模块[09:44]
5-15095-增加运动轴的开始移动和停止移动功能[22:38]
5-16096-控制其它轴并显示运动轴的运动状态[12:16]
5-17097-利用Path开发扇形Button样式[18:00]
5-18098-读取与写入程序中的缓存数据[14:44]
5-19099-创建相机预览模块项目[09:13]
5-20100-编写相机预览模块的UI界面[15:14]
第6章 绘图工具 (6小时49分钟 22节)
6-1101-编写相机显示图像到前端XAML的实体类[11:55]
6-2102-将Bitmap写入到WriteableBit[16:10]
6-3103-相机预览图像的缩放与平移操作[18:49]
6-4104-创建绘图工具模块[05:50]
6-5105-设计绘图工具界面及CheckBox样式开发[22:45]
6-6106-设计文字输入界面[14:14]
6-7107-设计画笔的粗细按钮和颜色按钮[19:22]
6-8108-编写画笔粗细枚举类型并绑定到RadioBut[24:48]
6-9109-编写鼠标操作类型及业务接口绑定到CheckB[21:21]
6-10110-编写椭圆、矩形和箭头的绘制实体[20:01]
6-11111-编写线段和文字的绘制实体[09:46]
6-12112-编写鼠标操作基类及缩放移动实体类[14:26]
6-13113-编写鼠标绘制操作的子类业务,实现鼠标绘制核心[36:41]
6-14114-编写鼠标操作的业务实体[14:45]
6-15115-编写生成绘制元素的鼠标操作类型工厂[28:29]
6-16116-在Image模块中编写鼠标左键绘制图形的业务[18:51]
6-17117-绘制鼠标画出来的所有图形元素[23:24]
6-18118-选择文字输入工具时显示文本输入框[09:29]
6-19119-编写绘制文字的业务逻辑[31:57]
6-20120-扩展方法-将Bitmap转成BitmapSo[12:42]
6-21121-利用SaveFileDialog对话框保存1[09:42]
6-22122-将16位灰度图像转成8位灰度图像并保存[23:49]
第7章 通讯编程 (3小时35分钟 14节)
7-1123-创建温度采集器的参数配置[13:43]
7-2124-将温度采集硬件抽象成接口[08:54]
7-3125-TCP网络编程-初始化硬件和收发byte指令[22:18]
7-4126-TCP网络编程-解析Modbus协议[21:04]
7-5127-TCP网络编程-加载Modbus协议的温度采[18:59]
7-6128-TCP网络编程-显示温度采集值并调试通讯[19:26]
7-7129-串口编程-分析二维码扫描仪的通讯协议[15:04]
7-8130-串口编程-设计二维码扫描仪的接口[10:07]
7-9131-串口编程-初始化微光二维码扫描仪[22:26]
7-10132-串口编程-串口写入指令并接收数据[18:23]
7-11133-串口编程-虚拟串口安装与通讯测试[08:24]
7-12134-串口编程-串口发送数据和接收数据[20:51]
7-13135-串口编程-串口发送指令并等待接收字节[15:38]
7-14课后练习[练习]
第8章 数据库开发 (2小时36分钟 12节)
8-1136-数据库开发-创建一个数据库[06:11]
8-2137-数据库开发-创建数据库模块项目和业务接口[10:45]
8-3138-数据库开发-EF框架生成数据库映射实体[09:24]
8-4139-数据库开发-用户表的删除改查业务[13:19]
8-5140-数据库开发-用户登录[12:15]
8-6141-数据库开发-用户登录的Session保存和显[16:34]
8-7142-数据库开发-创建温度数据表并重新映射实体类[17:13]
8-8143-数据库开发-采集温度数据写入数据库[15:53]
8-9144-数据库开发-切换温度历史数据界面[19:03]
8-10145-数据库开发-查询数据库记录并绑定到DataG[18:34]
8-11146-数据库开发-数据导出到本地csv文件(大结局[17:04]
8-12课后作业[练习]

评论(0)