《Mini UDP OTA Tool》这是一个非常简陋的软件,采用Python写的。在这我想吐槽一下,Python写上位机真心不好写,我用过几种语言写过上位机,Python写上位机是最痛苦的。
摘要 在我之前的文章中,我使用了不同编程语言开发了如下许多上位机。 序号内容语言1《如何定制自己的HID调试助手》C#2《C# 串口上位机开发》C#3《Qt 串口上位机开发》QT4《教你动手写UDP协议栈 - OTA上位机》python5《基于RT-THREAD nano的平衡车--上位机软件》QT6《R-Plan上位机》QT7《BearPi TCP》QT 你会发现很零散,集成度,而且久而久之就没有维护了。今天我又来解锁一种开发工具的神器--VScode插件。 其实vscode现在已经很多大厂先后开发出他们
本文以一个编写串口上位机控制Arduino板载LED的小任务,来完整的展示如何从下位机做到上位机,包含了Arduino、串口、C#编程程,麻雀虽小,可是五脏俱全哦~
学习一个新的东西我们都从最基础地实例开始,比如学习C语言我们会从编写一个hello程序开始、学习嵌入式我们从点灯开始。
问一下就像是上面 假设现在 sum = 255; 然后接着数据是 0x03
很明显的可以看出来,下位机通过串口com7与上位机连接,波特率是9600,不过这是次要的
最近项目要求写上位机软件,需要实现界面功能和串口读写。界面方面用过MFC(早忘记了),网上查阅资料后发现QT在5.1版本后有自带的串口模块,而且用QT实现简单界面功能很容易上手(也就期末设计随便玩过几天,约等于0基础),果断下载QT试试水。
该系列前面的20篇文章,主要以开发环境的搭建、常见外设模块的简单使用为主,从这篇开始计划写一下关于应用编程的话题,之所以要写这一块内容,是因为只要你做产品,就离不开应用程序,自然就需要应用编程相关的技术。有小伙伴咨询过我做Linux应用开发需要会哪些知识,先给大家看看猎聘网上最近两个关于嵌入式Linux工程师的招聘需求:
摘要: 目前关于CAN通讯报文解析使用的编程语言有很多,比如:Labviewer、C#、C语言等。但是很少有人用Python进行开发,使用Python进行开发该上位机可大大节省开发时间。本篇博客主要介绍一下基于Python的周立功CAN上位机。
其中物理离散量输入和输入寄存器只能有I/O系统提供的数据类型,即只能是由I/O系统改变离散量输入和输入寄存器的数值,而上位机程序不能改变的数据类型,在数据读写上表现为只读,而内部比特或者物理线圈和内部寄存器或物理输出寄存器(保持寄存器)则是上位机应用程序可以改变的数据类型,在数据读写上表现为可读可写。
python上位机向单片机发送字符,单片机如果收到的字符为‘1’,则点亮灯1,如果收到的字符为‘2’,则点亮灯2;单片机若接受到字符,读取字符后,向python上位机发送字符(1->X,2->T),若python上位机接受到的字符为‘1’,则print出OK,如果字符是‘0’则print出NG。
背景 关于上位机的文章,作者在之前就分享过好几个上位机的开发流程分享。如下表: 序号内容语言1《如何定制自己的HID调试助手》C#2《C# 串口上位机开发》C#3《Qt 串口上位机开发》QT4《教你动手写UDP协议栈 - OTA上位机》python5《基于RT-THREAD nano的平衡车--上位机软件》QT6《R-Plan上位机》QT 上位机开发不限于语言,找我之前开发中,初衷就是那种方便就使用那种语言开发,如:C#, QT, python, VB等。 本篇文章分享是采用QT开发的TCP上位机,功能:通
说明: 1、为了搭建这个框架,的确是耗费了太多精力,最早是打算制作手持版,USB版和以太网版,三个版本,并且还要写上位机软件,但是发现工作量太大了。之后就改变了策略,开始朝着通吃版研究,即一个APP固件实现所有方式,当前已经做到物联网网关,手持版,USB版和以太网版四合一,并且不再需要设计上位机,直接远程访问即可。 2、贯穿这个全家桶方案的关键是emWin的多屏展示,网络协议栈的多网口实现和CMSIS-Driver。 (1)通过多屏方案实现了手持,USB和网络都可以访问界面。 (2)通过网络协议栈的多网口方式实现了USB和网路都可以访问,无需再单独配套一个应用。 (3)CMSIS-Driver在这次设计中起到了承上启下的作用。 3、几乎每个组件的添加都是一部血泪史,以emWin为例,为了验证最高性能版,为H7-TOOL的240*240分辨率的SPI接口IPS屏制作了六种方案进行性能测试,工作量是何其大。 类似V5和V4的通用移植方案。 (1)硬件SPI方案 (2)软件SPI方案 类似V6的Lin驱动移植方案。 (1)硬件SPI方案 (2)软件SPI方案 (3)SPI DMA方案,需要更新的时候调用更新,整个屏幕刷新,一次18ms (4)SPI DMA方案,不间断实时刷新,类似ADC DMA,一直在传输,每秒55帧的速度 其实工作量更大的还在后面,像网络和USB的调试就更加繁琐了,特别测试多网口供时,坑太多了。 4、RTX5全家桶方案作为H7-TOOL的番外篇,与我们当前已经发布APP固件并不冲突。 5、现在已经开始添加各种应用代码,争取早日发布,并且会制作教程文档。
上位机指的是与处理数据的工业控制设备(称为下位机)连接的计算机或计算机系统。上位机负责管理、控制和监视下位机,同时也负责收集、存储和处理从下位机发来的数据。
说明: 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即可。
这一节演示一下远程升级WIFI模块程序,今天我又把上位机和底层程序优化了下,主要是根据做项目的时候别人提的问题优化的.
在嵌入式项目开发中,无论是单片机项目、嵌入式Linux项目、FPGA项目,上位机始终是一个很重要的部分,主要用于:
说明: 1、这次上位机软件,BOOT,APP和eMMC磁盘文件全部进行了升级,PC软件版本: V1.4.1,STM32_APP固件版本: V1.44 ,STM32_BOOT固件版本: V1.02。 2、经过本次升级后,H7-TOOL上位机软件实现管理一条龙,BOOT升级,APP升级和eMMC磁盘更新全部由上位机接管。 3、上位机全面支持以太网、USB两种通信模式,USB连接也可以支持lua和测试程序烧录,以后大家想用那个用那个。 4、上位机可以无需下载lua文件,直接执行临时窗口的lua程序。 5、 完善上位机模拟量校准界面,支持备份和恢复校准参数。 6、USB虚拟串口功能单独做到扩展功能菜单中,其他状态均为PC USB通信模式。 7、传送脱机烧录的文件增加MD5完整性校验,并解决文件写入不全的BUG。 8、脱机烧录增加苏州国芯的2个M4芯片。 9、脱机烧录增加SPI Flash型号:旺宏的MX25L256, MX25L512和镁光25QL128、25QL256、25QL512等几个大容量芯片。
模拟量模块和上位机的配合使用可以实现对模拟量数据的采集、传输和处理。下面是它们配合使用的一般步骤:
说是使用APP远程升级WIFI模块程序,实际上APP只是告诉模块你要去升级了,剩下的工作其实还是WIFI模块在和上位机之间进行数据传输,
一般是PC/host computer/master computer/upper computer,
首先说明: 如果是单片机、STM32的项目。 你想打开项目源码,编译,就需要自己要安装好keil软件、安装keil5,如果不会安装百度自行找教程安装。 设计文档里都没有写keil软件的安装教程,这是单片机开发最基础的工具。
说明: 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号未做响应处理。
模拟量是指在连续范围内变化的物理量,其数值可以在一定范围内连续变化。常见的模拟量包括电压、电流、温度、湿度等。
关于OPC原理大家可以自行百度,我也不太懂,大概就是一个PLC的服务器吧,可以将PLC中的数据点进行检测,读取等功能,然后还能和OPC客户端连接,客户端可以通过OPC服务器对PLC中的数据进行修改。大概就是下面这个意思。
从长远来说,学习px4绝对是不错的。但是考虑到它的复杂性,硬件的昂贵性。我这里学习无人机就选择了crazy,一是资料齐全,有上位机,app等。更重要的是有一个ESP基于Crazy移植的无人机,成本低到超乎想象,所以就!
一场会议的举办,通常有人员签到、会议流程播报、选举投票、抽奖等环节,每个环节都需投入众多人力物力等资源。基于沁恒无线型RISC-V MCU CH32V208制作的电子胸牌,配合上位机软件,可覆盖大部分的会议环节,实现会议每个环节的智慧进行。
485协议上位机软件做了有一段时间, 之前用python+pyQT5做,主线程特别特别容易闪退,数据重叠等问题,走了很多弯路; 后来用VS的C#做,只能说上手很快,多线程不卡顿,调试效果也不错,而且关键是非常非常简单易读,只希望大家不要像我一样,走这么多弯路 – –
对于单片机开发者,调试工具就必不可少,有时需要显示波形、发送文本、数据和一些复杂的数据包。例如PID参数整定,然而四轴匿名上位都有这些功能。本文就介绍匿名四轴上位机怎么显示波形和调试,以及一些接收发送代码。
之前通过 STC 单片机和 DS18B20 实现了环境温度采集并串口显示,后面进一步想要实现温度的实时监测和数据记录保存,因此编写了 LabVIEW 程序,修改了部分单片机程序代码。经过实验验证,该项目可以实现 LabVIEW 上位机对 MCU 发送指令,MCU 通过 DS18B20 温度传感器获取环境温度,并通过串口将数据反馈给上位机,上位机实时记录数据,并将日期和各个时刻的温度数据保存至文件。
* 完美兼容 WINCC ,IFIX,INTOUCH,PCS7,组态王,Kepware
背景 嵌入式开发工具繁多,特别是在windows,每次开发,各种工具都要打开,比如串口,网络调试助手等,挺烦的。有时打开多个的时候,很难辨别。 为了解决这个问题,所以想着要不就自己写一个上位机大杂烩,把所有自己用的一些上位机集成在一起。所以就就有了下面这个项目,这个项目叫R-Plan,即:米饭计划,每一个功能就是一颗米粒,不断堆叠成一碗饭。 上位机大杂烩是R-Plan的一部分,R-Plan是一个长期的开发的东西,后续会加一些下位机的东西配合上位机完成一些功能性的东西。 R-Plan,上位机部分采用QT来编写
QT是一个跨平台的开发框架,提供了丰富的GUI库和工具,可以用于开发各种类型的应用程序,包括上位机应用。它支持多种编程语言,如C++、Python和QML,具有强大的绘图和图形处理功能,适用于需要跨平台支持和高度定制化的应用开发。另一方面,WinForms和WPF是专为Windows平台设计的框架,提供了简单易用的可视化编辑工具和控件库,适合快速开发传统的Windows桌面应用程序。它们利用.NET平台的强大生态系统和C#编程语言,提供了丰富的第三方库和组件,适用于需要与.NET集成和充分利用其功能的项目。选择QT还是WinForms/WPF取决于具体需求,如跨平台支持、界面定制化、学习曲线和开发团队的技能和经验等因素。
在做单片机开发的时候,我们有时候会用到上位机。上位机就是PC上的一个应用程序,通过这个应用程序,我们可以显示一些来自下位机(如单片机)的数据,可以通过上位机来控制我们的下位机。由于上位机是做成图形化界面的,方便用户使用,所以,做单片机开发也需要掌握上位机的开发。比如我们常用的串口调试助手就是一个简单的上位机。
作为一个工业自动化领域的程序员,不懂点PLC和上位机,貌似有点说不过去。这里我用两篇小文带你快速进入上位机开发领域。后续,我会考虑再出一个系列文章一起玩工控上位机。
所以大家可以设置遗嘱 ,注意哈,发布的主题自己随意哈,假设是aaaaa 假设设置的遗嘱是 {data:state,state:offline} 注意遗嘱的retain 必须设置为1 ,即让服务器保留这个消息
本人就职于一家环境监测公司,上位机软件的主要功能是采集各仪器的数据,然后存储起来,并传送到环保局平台。
ESP8266相信大家再熟悉不过了,这个东西从我大学开始一直用到工作,至今已经有好几个年头了。这是一款无线WIFI模块,专为移动设备,可穿戴电子产品和物联应用设计,可以通过AT指令配置,和单片机上的串口进行通信,利用WIFI进行数据传输。
对于FPGA工程师除了日常的调试工作以外,批量生产时候指导生成人员下载我们生成的固化文件也是我们的工作,所以今天讲一讲FPGA单独下载<固化文件>的几种方式。
我的这个升级篇的代码适用于自己所有的带WIFI模块的开发板,升级功能实质上是通过MQTT把数据发给WIFI模块,然后模块进行保存和运行.
她是工业自动化系统重要组成的一部分,无论是PLC控制系统还是DCS控制系统,都离不开她的支撑,作为人机界面和控制组态的重要支撑,她一直都是工控男们在日常工作中最愿意接触的那个…(上位机/工控机)。
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 为防止视频时间太长,本期视频先发布上篇USB下位机和USB驱动设计安
红外测距是一种非直接接触的测量方式,由于其结构简单、抗干扰性强、成本低等优点,在测量测绘上得到广泛的运用。
在写这边文章时,很纠结,到底要不要写呢?原因主要有3个:第一、VB6.0这么古老的语言现在还有人用吗?现在不是很流行C#、Python、Java……吗?第二、对于预算充足的项目,开发人员看不上。第三、个人水平有限,怕闹了笑话。纠结半天,既然我自己都在应用,网上也有网友提问过类似问题,看来“项目资金不足”的同行也不少,所以还是挤点时间谢谢啦,不足之处还请大家批评指正。同时,非常感谢我在整理资料,实验测试过程中提供帮助的各位朋友。
1、上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。 下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。
1. 控制设备端:RTOS、Android、Linux、iOS、Windows 等主流系统和平台均已支持。这些设备既可以作为控制端的入口,也可作为被控制的 IoT 设备,这里采用音箱作为语音采集控制设备。
数据采集,是指从传感器和其他待测设备的模拟和数字被测单元中自动采集信息的过程。能够实现数据采集功能的系统叫作数据采集系统。
在之前的博文中,介绍了LabVIEW控制Arduino采集LM35温度传感器数值和LabVIEW控制Arduino采集热敏电阻温度数值的方法。本篇博文将基于热电偶搭建一款温度监控系统。
视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 本期视频教程为大家分享串口专题的XYZmodem的文件传输协议实现,
领取专属 10元无门槛券
手把手带您无忧上云