在嵌入式项目开发中,无论是单片机项目、嵌入式Linux项目、FPGA项目,上位机始终是一个很重要的部分,主要用于:
一般是PC/host computer/master computer/upper computer,
OPC统一架构(OPC Unified Architecture)将各个OPC Classic规范的所有功能集成到一个可扩展的框架中,独立于平台并且面向服务。
说明: 1、如果你会emWin话的,就可以轻松制作上位机。做些通信和控制类上位机,比使用C#之类的方便程度一点不差,而且你仅会C语言就可以。 2、并且成功将emWin人性化,可以做些Windows系统上的小应用了,基本完全看不出是emWin做的,而且生成的软件很小。Win32 API编写的软件,最大的好处就是微软的各个系统版本都兼容,而且发布时软件比较小,仅仅一个exe小软件。 3、无需用户自己编写USB BULK驱动程序,详情见教程中1.4小节说明即可。同时,上位机设计中需要用到的各种文档、软件、驱动等,都在教程中都给出了下载地址。 4、教程中将USB BULK上位机和下位机设计中涉及到细节问题,全部毫无保留的进行了说明,可以防止大家少走很多弯路。 5、早期发布的网络摄像头之TCP上位机软件实现也是基于emWin模拟器的,详情见帖子:https://www.cnblogs.com/armfly/p/9173167.html 注意事项: 1、如果想直接测试上位机的效果,务必优先看教程1.4 小节如何安装驱动。 2、关闭上位机软件的时候,右击页面退出,右上角的X号未做响应处理。 3、上位机是用的VC6.0实现的,测试上位机时,只有打开 USB 连接成功了才可以正常操作其它几个按钮。 4、配套的下位机是基于RTX及其USB中间件实现的,推荐使用 MDK4.74 进行编译。当然,使用最新版的 MDK5.2X 也是没问题的, 在Options -> C/C++ -> Misc Controls选项里面添加--diag_suppress 3731即可。
说明: 1、例子是两年前做的,一直没有顾上整理出来,今天特地整理出来,开源出来给大家玩。 2、上位机是emWin模拟器开发的,大家估计很难猜到,所以你会emWin话的,就可以轻松制作上位机。做些通信和控制类上位机,比使用C#之类的方便程度一点不差,而且你仅会C语言就可以。 3、并且成功将emWin人性化,可以做些Windows系统上的小应用了,基本完全看不出是emWin做的,而且生成的软件很小,因为是WIN32 API实现的,直接调用win socket api,还是非常爽的。Win32 API编写的软件,最大的好处就是微软的各个系统版本都兼容,而且发布时软件比较小,仅仅一个exe小软件。 4、花式玩转网络摄像头之VNC远程摄像头也实现了,后面整理后也开源出来给大家玩。 使用注意事项: 1、配套的下位机是基于RTX4+RL-TCPnet实现,务必使用MDK4.74进行编译,其它MDK版本未做测试。上位机是用的VC6.0实现的。另外当前仅基于V5开发板制作了,后面有精力做了个V6板子的。 2、测试例子时用的DM9161/9162网口,务必接到路由器或者交换器上面测试,因为上位机是采用的NetBIOS Name进行测试的。 3、下载例子后等待LED3和LED4闪烁了再进行连接。 4、关闭的时候,右击页面退出,右上角的X号未做响应处理。
背景 嵌入式开发工具繁多,特别是在windows,每次开发,各种工具都要打开,比如串口,网络调试助手等,挺烦的。有时打开多个的时候,很难辨别。 为了解决这个问题,所以想着要不就自己写一个上位机大杂烩,把所有自己用的一些上位机集成在一起。所以就就有了下面这个项目,这个项目叫R-Plan,即:米饭计划,每一个功能就是一颗米粒,不断堆叠成一碗饭。 上位机大杂烩是R-Plan的一部分,R-Plan是一个长期的开发的东西,后续会加一些下位机的东西配合上位机完成一些功能性的东西。 R-Plan,上位机部分采用QT来编写
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 前两期USB实战视频教程分享了USB BULK的下位机和QT6.4下
1、上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。 下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。
在嵌入式系统中摄像头调试的目的是使摄像头的机械和电气参数在满足系统要求下能产生质量最高的图像数据。一个涉及硬件和软件的成像系统,成像的质量好坏往往受到来自外界干扰和自身限制的很多因素的影响,这些影响会产生噪声和成像不均匀。来自软件层面的因素往往是算法的问题,这个层面的问题可以通过理论分析的数学计算解决,来自硬件层面的因素则而要用仪器进行调试,通过实验测量分析才能解决,由于硬件处理系统底层,所以硬件的质量会直接影响软件的质量,从而影响最终成像质量。对摄像头进行调试就是要从硬件层面上尽量消除干扰。同时,因为视频信号最后交给芯片后的信息就是一些数字量,这些表征图片信息的数字量对于程序的设计者来说是极其不直观的,这样会造成处理上的一些困难。合理利用好调试手段,对帮助用户发现硬件问题和直观再现数字图片以及一些参数的整定是极其有用的。
超声波测距是一种传统而实用的非接触测量方法,与激光、涡流和无线电测距方法相比,具有不受外界光及电磁场等因素影响的优点,在比较恶劣的环境中也具有一定的适应能力,且结构简单、成本低,因此在工业控制、建筑测量、机器人定位方面有广泛的应用。
Hoyllsys在工业自动化领域应用越来越广泛和普及,尤其在化工和电厂,铁路等大面积推广,今天就对MACS5做一些案例分享。
何谓串口?串口就是一个计算机接口,用于数据通信,例如计算机。老一点的PC和笔记本都有串口,工控机一般配置有串口,如果没有可以到淘宝上买USB-串口转换器。
曾经多次在公众号里讲过Modbus通信的下位机驱动,但是一个好的嵌入式工程师不但要写的了下位机,还要写的了上位机,呵呵。所以今天我们就来讲讲用VB来实现Modbus通信的上位机主站驱动。
数据采集,是指从传感器和其他待测设备的模拟和数字被测单元中自动采集信息的过程。能够实现数据采集功能的系统叫作数据采集系统。
很明显的可以看出来,下位机通过串口com7与上位机连接,波特率是9600,不过这是次要的
上位机指的是与处理数据的工业控制设备(称为下位机)连接的计算机或计算机系统。上位机负责管理、控制和监视下位机,同时也负责收集、存储和处理从下位机发来的数据。
我们在平时使用单片机制作项目时,总是希望能够实时显示一些数据,并将这些数据进行处理,从而进行使用。那么上位机就必不可少了。上位机是指可以直接发出操控命令的计算机,一般是PC屏幕上显示各种信号变化。下位机是直接控制设备获取设备状况的计算机,一般是单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统。
http://v.youku.com/v_show/id_XMTU4NjYxNjA1Ng
在之前的博文中,介绍了LabVIEW控制Arduino采集LM35温度传感器数值和LabVIEW控制Arduino采集热敏电阻温度数值的方法。本篇博文将基于热电偶搭建一款温度监控系统。
(1) 空调区域的温度、湿度、压力等的控制,对于舒适空调,温湿度过高过低都影响舒适感,只有自控才能将温湿度自动控制在设计值;对于工艺空调,是生产工艺的必备条件。
本设计的主要功能其实是获取RFID的卡号,并进行鉴别。推而广之,可以用来获取单片机发来的数据,并进行检验是否符合要求。
自动化工程师在设备开发中,可能会碰到一些行业专用仪器仪表,并不支持常用规范接口,没有现成的通讯驱动,这时就需要使用PLC或者其他网关的自由口通讯功能,今天也给大家介绍下McgsPro软件下,自由口通讯如何快捷地实现,上次因为大概讲过使用本人自制驱动实现ascii字符串通讯,所以这次主要讲一下hex数据类型的通讯。
在多数情况下,测量温度的同时需要测量湿度,本篇博文将介绍使用DHT11温湿度传感器、Arduino Uno和LabVIEW组成温湿度测量系统,可用于粮仓等场合的温湿度监控。
产品:T113 软件:tina5.0 其他:使用tiger lcd调试lti参数
对于单片机开发者,调试工具就必不可少,有时需要显示波形、发送文本、数据和一些复杂的数据包。例如PID参数整定,然而四轴匿名上位都有这些功能。本文就介绍匿名四轴上位机怎么显示波形和调试,以及一些接收发送代码。
pdf版下载地址:http://pan.baidu.com/s/1hrKoza8
该毕业设计是使用全志D1-H哪吒开发以及XR806开发板,再辅以外围的各种电路和传感器原件,制作而成的一个名贵植物监控装置。
我们在平时的开发中,Linux可以说是我们非常常用的一种操作系统,但我们往往对其中的软件使用的很复杂。在Windows下我们如果进行数据的收发,是非常容易的,有很多软件可供你使用,比如我们以前就介绍过Xshell,可以使用串口用 ymodem协议发送文件。
DS18B20是美国DALLAS半导体公司的数字化单总线智能温度传感器,与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。从DS18B20读出信息或写入信息仅需要一根线(单总线)读写,总线本身也可以向所挂接的设备供电,而无需额外电源。
问题是这样的,下位机程序往上位机发数据,发的是有符号数,上位机这边用字节流接收之后就按每两个字节转化为一个double类型的数据处理了,没有考虑符号位,也就是直接按无符号数处理了,导致发的和收的数据不一样。
作为一个工业自动化领域的程序员,不懂点PLC和上位机,貌似有点说不过去。这里我用两篇小文带你快速进入上位机开发领域。后续,我会考虑再出一个系列文章一起玩工控上位机。
红外测距是一种非直接接触的测量方式,由于其结构简单、抗干扰性强、成本低等优点,在测量测绘上得到广泛的运用。
一个好用的Klipper 3D打印机,一定离不开一个可以稳定进行无线通信,而且性能足够,最重要是价格亲民的上位机。
看完了,是不是觉得似曾相识呢?这不就是2017年的电赛B题目的升级版吗?17年电赛那个题目,常用的解决方案是把摄像头放在上面,而且小球只在平板上进行二维运动。这个项目是把摄像头放在了透明玻璃的下面,小球的高度和和摄像头采集的小球图像大小成比例关系,在二维运动的基础上升级为了三维立体运动。
在物联网开发中,常常需要通过网页端来控制设备,包括;获取信息、执行操作、启动停止等,就像我们在手机上会控制家里的小米盒子、路由器、电饭煲或者在线养狗等一些设备一样。在这里所有的下层设备都可以通过socket通信链接到服务端,而用户一端在通过http链接或者websocket链接到服务端,通过发送和接收数据来做出相应的行为操作。如下图;
随着现代化工业生产的不断发展,工业机器人得到广泛应用,但受成本和功能限制还不能独立完成所有的物料搬运工作,大量的物料搬运工作仍需要人来完成。如何降低工人的劳动强度,提高工作效率,避免对工人的身体伤害,西方国家在传统的专用工具和助力设备基础上,研发新一代人机工程设备:智能辅助设备IAD (Intelligent Assist Device),是一种可与操作者在同一物理空间实现人机合作作业的特种作业机器人。它主要用于各种装配生产线、物流传送作业等,具有以下几个特点: 轻松搬运:零重力操作,可完成物料的搬运、
背景 R-Plan,实用工具与DIY项目大杂烩开源项目,包括上位机,下位机开发,是一个长期的开源项目,每一个子集都会展示出来。 今天这篇文章介绍一下,R-Plan的下位机的一个子集项目----《Little Box》,该作品是一个体积极小(3.8cm * 4.3cm)的,功能齐全的桌面小盒子。 R-Plan的所有东西,全部是开源的。github链接:https://github.com/RiceChen/R_Plan.git 项目叫R-Plan,即:米饭计划,每一个功能的LOGO就是一颗米粒,不断堆叠成一碗
随着现代化工业生产的不断发展,工业机器人得到广泛应用,但受成本和功能限制还不能独立完成所有的物料搬运工作,大量的物料搬运工作仍需要人来完成。如何降低工人的劳动强度,提高工作效率,避免对工人的身体伤害,西方国家在传统的专用工具和助力设备基础上,研发新一代人机工程设备:智能辅助设备IAD (Intelligent Assist Device),是一种可与操作者在同一物理空间实现人机合作作业的特种作业机器人。它主要用于各种装配生产线、物流传送作业等,具有以下几个特点: 1. 轻松搬运:零重力操作,可完成物料的
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 本期视频教程为大家分享串口专题的XYZmodem的文件传输协议实现,
我们在嵌入式开发中,往往会进行各种各样的通信,我们常用的通信方式有有IIC、SPI、CAN和串口通信等。但如果只是和普通传感器通信,我们可以直接进行收发数据,但如果是上下位机通信,比如上位机给下位机升级等服务我们往往使用一些传输协议,比如有ASCII、Xmodem、Ymodem、Zmodem等。这时候我们使用普通的串口调试助手进行调试,肯定是不行的,往往需要使用一些工具,而Xshell可以说是我们使用最广泛的一个软件,本文就来介绍怎样能免费得进行下载安装,并且如何使用Ymodem协议发送数据。
FunnyPi-T113是一款基于全志T113-S3/D1S处理器的完全开源多功能开发板,设计FunnyPi最初的目的是想满足日常学习,结合T113高效能和低功耗的特点,来满足做语音助手,智能家居屏幕、桌面摆件屏、博客服务器等嵌入式应用的开发需求。
本期视频教程给大家来一期Matlab的WiFi通信实现,含串口的通信实现也都做个说明。本次视频教程后,我们就对Matlab的一些常用玩法基本都熟悉了一轮。 后面就正式开始DSP算法视频教程。 视频: https://www.bilibili.com/video/BV1xY4y1a72P 本次视频分为以下几个部分: 第1部分: Matlab的WiFi通信实现 (1) 实现原理。 (2)TCP通信API。 (3)下位机程序说明 (4)Matlab程序说明,注意乱码问题。
供输水管网无线监控系统适应供水企业实现供水管网的压力、流量等远程在线监控,以科学的方式实现水管网科学调度,并通过压力值变动、夜间最小流量分析、发现管网爆管及漏损等问题。为保证供水工作的科学性,依靠现代计算机通信技术和传感技术,实施对供水管道的远程实时监测,并且能够自动传输到上级主管部门,监测输水管道、供水管道的压力、流量信息;及时发现管网故障,提高维护效率、降低损失,保障输水、供水质量,达到科学预警,减少成本,提高效率的目的;消除了供水管网“跑、冒、滴、漏”及“卡脖管”等问题,进一步降低了管网漏失率,扩大了行业收益。
在线下载的mp3语音芯片ic,通过KT404A的uart直接更换内部的语音文件,从而实现动态的更新语音类容,
上次说到了协议的大致结构,这次我们来说说怎么去实现制动连接串口(当你把设备连上来之后,怎么去让软件自动去识别是否为目标设备,当然这需要上位机与下位机共同完成,这里我们只讨论上位机部分) 先上协议: 帧头(3)+设备号(1)+指令类型(2)+数据长度(2)+载荷+CRC(2) 需要在下位机上实现的部分: 接收到一帧数据(帧头为53 5A 59,设备号01,类型为02,载荷无)53 59 A2 01 02 00 00 00 CRC后,会返回(帧头为53 5A 59,设备号01,类型为02,载荷为"6F 6B")53 5A 59 01 02 00 02 00 6F 6B CRC则表示指令接收成功。 下面说我的思路,在软件界面打开后,开一个自动连接线程处理连接部分。具体步骤是: 获取计算机所有串口。 尝试发送指定数据到每个可用串口。 尝试从串口接收数据并检查是否为约定数据,若是则绑定该端口,完成连接。不是则换到下一个。循环。 好了,让我们简单点,下面直接上代码:
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 本期视频教程为大家展示基于QT6.4的USB BULK上位机开发视频
随着微电子控制技术的发展和人们对出行工具的日益增长的需求,一款简单易操作、容易携带、清洁无污染的两轮自平衡车开始走进大众的视野,但这种小型代步工具仍可能存在一定的不稳定性和安全隐患,本次课题主要通过在实验室制作一款简易的自平衡小车,通过手机蓝牙控制,以此模拟真实的使用者驾驶体验,在模拟实验中提升平衡车的稳定性,解决可能出现的实际问题。最终通过改造自平衡小车系统,实现基本的状态控制,并为以后其用到其它复杂的环境中提供一些实验参考。
领取专属 10元无门槛券
手把手带您无忧上云