QT上位机开发(网络程序界面开发)

2024-01-06 00:28

本文主要是介绍QT上位机开发(网络程序界面开发),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        传统的上位机对接方式还是以232、485、can为主,随着网络的发展,越来越多的设备都是以网络进行通信的。毕竟相比较之前,网络通信的方式太多了,设备之间仅需要交换机、路由器就可以通信,不需要放在一起。传统消费领域的网络通信,一般是电脑和电脑之间的通信。而工业领域,网络通信更多是设备和设备之间的通信,设备本身除了网络之外,还有其他用途的。比如,这个设备可能是做调度的,另外一个设备做数控的等等。

1、工业生产中的网络有哪几种形式

        这取决于设备本身是移动的机器人、pad设备,还是固定的作业设备。如果是机器人,或者是pad设备,那么在工厂车间内肯定要布置wifi信号,至于2.4g还是5g,可以根据自己的情况决定。当然,如果都是固定的生产设备,使用有线网络也是不错的选择。

2、使用udp还是tcp

        udp比较适合网络较差的作业环境,tcp适合网页较好的作业环境。当然,如果网络真的不算好,作为移动设备来说,自身的安全检测一定要非常到位才行。

3、网络协议如何写

        对于业务人员来说,网络协议越简单越好,最好是xmlrpc这种协议。客户设备如果已经有协议的,尽量让客户提供标准的sdk协议。如果客户自身也没有协议,那就约定一个简单的协议,比如http协议等等,用postman确定没问题了之后再进行写代码验证。

4、网络转换设备是什么情况

        由于上位机软件设备一般自带的接口数量是有限的,比如有限的232、485、can和usb。所以这个时候,如果上位机想扩展一下访问的设备数,但是没有对应的接口,这个时候网络转换设备就发挥作用了。网上有很多的网络转io、网络转232、网络转485设备,它们价格不贵,配置也很简单,使用起来十分方便。用户需要做的,就是把232/485报文转成网络报文,发送出去就好了。此外,接收也是一样。

5、网络sdk的选择

        在c++这一块,要编写c++网络代码,有三种选择。一种是使用windows network api编程;一种是使用boost编程;剩下来一种是使用qt专门的网络api编程。这方面,我倒是建议优先用boost和windows network api编程。前者有跨平台的优势,后者使用比较简单和方便,学会了就算不用qt也能自己写控制台程序。相比较而言,我倒是不建议选择qt网络编程,毕竟学会了只是用在qt平台而已,适用范围远远没有前两者那么广泛。

6、网络调试

        网络中出问题是很正常的,这个时候就要好好准备几个工具了。第一,使用ping命令验证是否在线;第二,使用pinginfoview查看丢包率;第三,使用postman查看http api接口收发是否ok;第四,也是运用最广泛的,那就是wireshark抓包大法,几乎可以解决所有的网络问题。

7、网络界面开发和验证

        如果对网络有兴趣,大家可以自己写一个server、client程序。两个程序用qt和designer把界面画出来,直接用windows network api写程序就可以了。而且,两个程序可以部署在同一台电脑上面,这样也能方便测试。这里先给出了server的参考设计界面,

        接着给出了client的参考设计界面。因为如果是client部分,其实稍微修改下即可,

这篇关于QT上位机开发(网络程序界面开发)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/574629

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二