上位机

2019-12-15 stm32项目

我是研究僧i 提交于 2019-12-15 12:06:01
stm32项目: 硬件平台: 华清远见stm32开发板,pc电脑,jlink调试 软件 : keil5 ,c语言 时间: 2019年12月19-12月23日 基本功能: 1.下位机完成温湿度采集,led灯控制,蜂鸣器控制 2.下位机能上报(给上位机)当前温度值,湿度值 3.(上位机)能设置温度阈值(上限和下限),湿度阈值(上限和下限),led灯亮度(0-100),蜂鸣器响和关闭 4.下位机能根据阈值自动做出相关的灯光报警(温湿度使用不同的灯光或声音) 可选扩展功能: 5.能记忆温湿度阈值(掉电数据不丢失),下次上电重启之后能按该阈值进行自动警报。 6.温度上报功能,可以设置为单次上报(上位机请求一次,上报一次),定时汇报(定时时间可设置,最小单位1s,即每1s自动上报一次数据)开启或关闭 7.双机通信,两个开发板之间相互传递数据(温度值,湿度值)。(uart或者wifi) 8.双机通信,开发板A的上位机可以发送指令控制B开发板的温度阈值和湿度阈值,反之B的上位机也可以控制A开发板(基本功能必须正常有效) 9.上位机图形界面开发。 注: 上位机指的是pc电脑,pc电脑的控制可以是命令行,或者图形界面(qt) 下位机指的是stm32开发板 基本功能:必须完成 可选功能:部分能力较强的同学完成。 请大家根据项目的要求,做好项目进度计划(18号下午8点30之前提交)

嵌入式判断题

五迷三道 提交于 2019-12-03 07:03:38
嵌入式判断题 问题 1.数字电视机、机顶盒、数码摄像机属于嵌入式系统在信息家电领域的应用。 对 问题 2 .嵌入式技术在我国应用最早的就是工业控制领域。 对 问题 3 .嵌入式系统中的软、硬件是固定好了的,不可裁剪。 错 问题 4 .嵌入式系统是一个纯硬件装置,不包括任何软件。 错 问题 5 .以32位RISC嵌入式处理器加嵌入式操作系统为标志的嵌入式系统为其发展的第三个阶段。 对 问题 6 .一个嵌入式系统往往是一个软硬件的综合体,而且多数软件和硬件绑定在一起出售。 对 问题 7 .产品发而是嵌入式系统开发流程中的最后一个环节。 对 问题 8 .上位机一般用于编辑、编译、链接、运行程序等工作。 错 问题 9 .通常情况下,嵌入式交叉开发环境由上位机、调试通道和下位机三部分组成。 错 问题 10 .嵌入式系统的硬件一般包括嵌入式微处理器、外围电路和嵌入式外围设备等组成。 对 问题 11 .若要称某个系统为嵌入式系统,则它必须满足三个基本的要素,即嵌入性、专用性和计算机系统。 对 问题 12 .嵌入式系统本身具备自举开发能力,用户可以直接在嵌入式设备上做开发。 错 问题 13 .嵌入式系统一般具有实时约束,有时限要求,因此,嵌入式系统一般都采用分时操作系统。 错 问题 14 .运行在智能手机或平板电脑中的Android系统是一种嵌入式操作系统。 对 问题 15

基于XCP协议分析和理解

匿名 (未验证) 提交于 2019-12-03 00:43:02
本篇文章主要从以下几个方面进行对XCP模块的讲解 1.XCP用来做什么; 2.XCP的工具简介; 3.XCP的工作流程; 4.XCP地址映射分析(软件与硬件方式); 5.XCP的命令简介; 6.XCP中的A2L文件简介; 1.XCP用来做什么? 在汽车电子软件开发中,经常会遇到需要在整车调试或者台架调试时才能确定的一些变量,这个时候就会用到XCP,例如电机控制器的PID参数,可能根据汽车的负载不一样需要调整,这个时候就可通过XCP来标定。 那么XCP主要的用处以下总结为四点: a.标定 b.测量(反馈一些变量的值供上位机或测试系统查看,如转速等) c.编程和刷新(例如更新一部分地址的数据值,甚至重编程等,这部分用的较少一般用UDS) d.对ECU功能进行旁路,简单来说就是模拟ECU的数据 其中主要用a,b两点,其他两点用的比较少。 2.XCP的工具简介 3.XCP的一般工作流程 首先XCP是主从的工作结构,主节点(Master)即一个上位机,我们定义它为测试系统,当然你也可以理解为我们使用的XCP工具,一个主节点可以连接多个从节点(Slave),以XCPOnCAN为例,可以通过CAN ID的方式来识别不同的从节点,一般从节点需要两个CANID,一个源地址,一个目标地址。那么硬件连接如下所示: Master(带上位机的笔记本)<-->CAN工具<-->Slave(ECU 可多个) a

STM32系列 CAN 升级/IAP 自定义CAN命令(上位机部分)

匿名 (未验证) 提交于 2019-12-03 00:34:01
1、每款产品可以使用不同的波特率,CAN命令,所有的参数均可以通过配置文件定义 2、升级命令就类似于密码,不知道命令的人是无法更急程序的, 有一定的安全保密性质 3、只要所有的升级程序流程保持一致,就可以是通用版。 4、该升级程序不仅仅可以用于全部STM32系列, 也可以用于其他厂家的MCU。 5、使用的时候按照按钮上面的定义1、2、3、4即可完成产品的程序更新,非常方便 下面是配置文件的内容 配置ini文件所有的数字均用十进制表示,具体内容如下: 名称 注释 主节点 Code = 335721文件标志,不可更改 Version 默认1 Name 名字,仅作为显示 [CmdConfig] 主节点 ID_IAPCmd 发送给App的升级CANID IAPData0 可以设置任意值,和程序匹配即可,类似于程序升级密码 IAPData1 IAPData2 IAPData3 IAPData4 IAPData5 IAPData6 IAPData7 ID_PingCmd 上位机发送Ping命令 ID_AddrCmd 上位机发送起始地址命令 ID_DataCmd 上位机发送数据命令 ID_RunCmd 上位机发送run命令 ID_PingAck 下位机相应Ping命令 ID_AddrAck 下位机相应起始地址命令 ID_DataAck 下位机相应数据命令 ID_RunAck 下位机相应run命令

agvs系统简介

匿名 (未验证) 提交于 2019-12-03 00:22:01
一:agvs介绍 agvs系统大致包含单车agv监控调度系统 自动充电系统, 定位和通信系统等外围设备。 (1)单车agv 单车agv主要包括以下几个方面。 1.机械结构(车身) 2.导航定位系统 用于运动过程中的定位 常见的导航方式有电磁感应和激光导航等,其中激光导引在运行区域的周围放置一定数量的反光镜,agv通过安装的激光扫描和接收器接收反射回来的激光信号,根据反射光的夹角和时差计算出agv的当前位置,并与计算机上的坐标地图数据比较实现导引。 3.运动系统 运动系统包括减速器、驱动与转向电机等组成。 4.ͨѶϵͳ 通讯系统用于agv和调度系统导航系统收发信息等,一般采用建立无线局域网形式。agv只与调度系统双向通信,单车之间一般不相互通信,通信协议一般基于TCP/IP协议。 5.防碰撞体统 Agv安全措施分为软件和硬件部分 软件包括故障检测和处理 硬件使用各类传感器如接触式碰撞传感器 声波 激光等非接触式传感器。 6.电源系统 一般为蓄电池 24v48v等,种类有铅酸 镍镉电池 锂电池等 电池系统需具备检测电池使用状态 充电状态 并把状态报告发送给控制中心。 7.车载系统 常见的控制器有基于单片机,基于plc 和基于工业计算机的控制系统。实现导航计算、导引实现、车辆行走、货物装载等功能。车载软件大致包含以下几个模块: 导航仪测试模块、软件界面模块、初始化模块、运动控制模块

SCADA开源项目lite版本

匿名 (未验证) 提交于 2019-12-02 23:32:01
一、 引子    自从看了老坏猫(江湖人称猫总)的SharpSCADA项目后,让我感觉耳目一新同时也对自动化数据采集有了更深入的认识,我相信有不少做上位机的朋友和我一样对这个项目非常好奇。我们做上位机的应用场景相比SCADA系统还是有很大差别的,比如我们再跟plc通讯的时候,每一次通讯数据很少存入数据库,还有报警、历史归档等功能很少体现在上位机里面。利用五一假期,我将猫总的代码进行了简化,做了一个SCADA的lite版本。 下面是SCADA系统的应用架构,在猫总的程序中,有个DAService的文件就是图中的网关服务器,同时也包含实时数据服务器和归档的功能,在我的简化版本中,没有了实时数据服务器,不再归档,数据不存数据库而是使用json解析定义的组与标签。 二、配置与运行 1.在GitHub上下载源码,地址 https://github.com/qwe7922142/SharpSCADALite 。 2.安装modbus模拟器程序。 3.导入附件中一个叫TcpBool的文件,再导入一个SerialBool的文件,具体如下配置: 4.安装串口模拟器,将com1和com2做成链接。 5.vs2015以上进行编译,然后你就可以看到下面的界面,enjoy yourself!!! 三、最后总结 猫总的程序有很多值得我们借鉴的地方,比如实现多组轮询plc寄存器,plc读写驱动与上层应用脱离耦合

用C#实现CAN上位机开发(一)

匿名 (未验证) 提交于 2019-12-02 22:59:29
1.背景 毕业到现在已有一年多时间了,回想起这一年在网上get各种技术,心得,总有一些膜拜的感触。每次遇到问题总会在博客,论坛里找到想要的答案,就这样慢慢的对博客有了兴趣,每当看到别人写的博客可以有那么多的关注度,那么多的人参与讨论,心里就洋洋的,然后就想自己写点啥,但是认真一想,好像除了会上网找,上网看就一点也写不出啥子了。我想主要还是自己没有在一个方向上有过过深的了解吧。后来有机会私下做了这个上位机,虽说技术也没多少,但是是自己完成的,还是有一些感悟吧。然后就尝试着去开始自己的第一篇博客?。该项目的背景是因为我这一年来是从事汽车电子的开发,对CAN通信接触的比较多,对基于CAN的协议也有些了解,然后就有了自己想写个上位机的想法,至于为什么选择C#来开发,主要是简单嘛。 2.实现的功能 基于CAN的上位机,网上一搜还是能找到很多的。有开源的,有付费的,有简单的,亦有复杂的。但他们都能实现常规的收发报文,有些有周期帧,事件帧等高级发送方式,还有些带有能解析CAN的高级协议。而我要实现以及想要实现的有这么些功能: 1.常规报文的收发-已实现 2.周期帧,事件帧-待实现 3.CAN报文数据解析,主要是DBC文件解析-待实现 4.数据标定的支持CCP协议-待实现 5.UDS协议的解析-已实现 6.UDS服务的自动化测试-已实现 7.基于UDS协议的ECU编程下载-已实现

十个超赞的两轮平衡小车设计,小白最爱!

匿名 (未验证) 提交于 2019-12-02 22:56:40
1 、【全部开源】两轮平衡小车(原理图、PCB 、程序源码、BOM 等) 同网上一般网友制作的平衡小车不一样,这个平衡小车最大的特点就是它的整体很小,PCB面积只有2.5cm*5.0cm,这个可能还没有网友制作的平衡小车的一个电机驱动板大,但是却已经实现了相同的功能。我在器件选型时尽可能用了小的元件,这样使得PCB面积大大减少。亮点概括为两个:1 PCB 面积非常小(2.5cm*5.0cm);2 器件可以拆卸,方便开发调试和学习。 http://www.cirmall.com/circuit/4889/details?1 2 、基于新塘的M451 两轮自平衡小车设计 项目采用NuTiny-SDK-M451 开发板为核心,利用外加的MPU6050姿态传感器、L298N电机控制器、两轮电机和航模电池等核心模块构建两轮自平衡小车,利用M451的强大计算能力实时处理算法中的浮点数据运算,提高运算速度和精度,实现两轮小车的自动行走、加速、减速、转弯、静止等功能。 http://www.cirmall.com/circuit/4667/details?1 3 、【电赛作品、全套资料】基于STM32 的两轮平衡小车资料 分享的是一个电赛作品,刚无意在淘宝上看到还有人拿出来卖钱,而我们这免费开源出来。该两轮平衡小车附件内容超全,唯一遗憾的就是一篇设计论文了。要是有爱心的网友分享出来,那就更完美了。

上位机配置管理一体化软件说明【持续更新】

风流意气都作罢 提交于 2019-12-01 23:33:17
  为了更好地进行上位机开发,特意开发了一款上位机配置管理一体化软件,该软件集成配置、通信及上层接口为一体,统一进行多线程通信及数据解析,可以快速进行上位机开发,已实际运用在多个项目,并稳定运行超过1年时间。   功能如下:   【1】上位机配置      【2】上位机通信    【3】上层接口      软件截图: 来源: https://www.cnblogs.com/xiketangedu/p/11721322.html

wpf上位机中串口和usb通信

社会主义新天地 提交于 2019-12-01 01:38:51
串口通信 主要是端口,遍历端口进行,波特率 string[] portNames = SerialPort.GetPortNames(); int i = 0; for (i = 0; i < portNames.Length; i++) { if (GlobalVariable.isSet == false) { if(Query(portNames[i])==true) { GlobalVariable.portName = portNames[i]; break; } } else { break; } 每一次通信都得进行连接 usb通信 记录vid,pid再打开,usb通信在下行的时候还得注意写的时候协议里是不是需要添加长度。读的时候注意VALID_DATA_LENGTH长度,是不是能够读取字节数。 来源: https://www.cnblogs.com/xiehaha123/p/11646165.html