百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

01:为什么要获取本机网卡IP地址

haoteby 2024-11-26 03:27 33 浏览

《嵌入式系统综合实战》系列专栏介绍

??《嵌入式系统综合实践》系列专栏将在《嵌入式系统综合开发》专栏的基础上,以实战的形式系统的介绍嵌入式系统开发的知识、技能、技巧以及升华后的设计思想。

??作者力求该系列专栏下的每一个小专栏都自成体系,完成一个真正的项目实践,解决一个现实应用中的实际需求。本专栏涉及到的选题,均源于作者多年的项目实践。

??本系列专栏涉及以下知识体系:Ubuntu、Python、STM32、C++、VSCode、CPLD、FPGA、Verilog HDL、 Altium Designer

??本系列专栏所涉及的知识体系的硬件部分均会提供原理图,软件部分将提供源代码,以供读者参考使用。

??欢迎大家对本系列专栏提出宝贵意见,我一定会虚心接纳,也欢迎大家对本专栏所涉及的内容提出问题,我会在我力所能及的范围内予以解答。

??最后,需要和大家说明的是本系列文章提供的原理图和程序源代码大家都可以自由(free)使用,没有任何限制。但专栏所涉及的所有文章均属snmplink原创,请遵循Creative Commons版权协议,未经博主许可,不得转载,不得用于任何商业目的(包括但不限于图书出版等)

前言

本编文章是《获取本机网卡IP地址》专栏的第1篇文章,我将在本篇文章中讲述“为什么要获取本机网卡IP地址”,以及“获取本机网卡IP地址”的基本设计思路,在此基础上给出本专栏的具体知识安排,读者在阅读本专栏后,可以根据个人实际需求进行进一步的系统学习。

一、演示效果

??项目完成后,可以达到如下图所示的效果,应用程序启动后,会提示“请选择通信网卡”对话框,用户选择相应的与设备进行通信的网卡,正确选择后,进入应用程序的主界面。

二、所需基础知识

??阅读本栏目需掌握的知识如下:

Python

PyQt

三、为什么要获取本机网卡IP地址

1、如何获得设备IP地址?

??选题来源于实际的项目需求,在局域网下,我们如何能够快速获得设备的IP地址。比如说,你是一个设备维护人员到达设备安装的现场,需要使用笔记本或手机对设备进行设置,但是你此时忘记了设备的IP地址,你应该如何操作?

??一般情况下,我们可以采取3种方法,获得设备的IP地址:

??(1)通过USB、串口、485口等方式获得IP地址

??这种方式采用不需要设备IP地址就可以和设备进行通信,但是需要额外的接口与接线,使用起来比较麻烦。

??(2)对设备进行复位操作

??这种方式首先对设备进行复位操作,恢复其默认的IP地址,然后应用默认的IP地址,对设备进行设置。这种看似简单,只使用网线即可,但设置后,还需恢复原先设置,除非已对原有设置进行了备份,否则使用起来,也极不方便。

??(3)设备自动报送IP地址

??这种方式是直接使用以太网对设备操作,也不需给设备复位,而让设备将自身的IP地址报送上来,主要用到的是IPV4的广播技术。这种方式最为简单,应用起来也最为广泛。

2、如何获得本机网卡IP地址

??如前所述,通过IPV4的广播技术,可以让设备自动报送自身的IP地址,但是我们首要做到的是需要在局域网内广播“上传IP地址”命令,如果本机只有一个网络设备(例如网卡),那么直接项这个设备发送广播命令即可。

??但是,很多计算机自身拥有多个网络设备,例如,我的计算机自身就有很多网络设备,如下图所示。所以,如何确认从哪个网络设备向外发送广播命令就是一个亟待解决的问题。

??为了解决这个问题,我们就需在程序启动时,搜索到本机的所有网络设备的IP地址,并将其提供给用户,让其进行选择,确认与设备相连的网络设备。

四、本专栏讲解的内容

??本专栏将讲解如何使用Python语言搜索到本机的所有网络设备,实际上,搜索本机网络设备的核心代码非常简单,但本专栏会以一个完整的实例方式进行讲解实现该应用的所有技术细节问题,包括以下内容:

1、应用Qt Designer进行主界面设计

??可获得的设计技能:

在VS Code中启动Qt Designer

使用Qt Designer进行主界面设计

运行主界面的基本代码

设置标题栏

设置图标

主界面在屏幕居中显示

2、使用Dialog组件设计提示对话框

??可获得的设计技能

在Qt Designer中建立Dialog对话框

在Qt Designer中给组件建立信号和槽

在应用程序中引用Dialog对话框

在主窗体中调用并显示Dialog对话框

模态对话框

窗体大小不能改变

3、取得本机所有网络设备的IP地址

4、窗口之间进行通信

相关推荐

如何为MySQL服务器和客户机启用SSL?

用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSLwrapper)。这每一种方法各有其...

OpenVPN客户端配置_openvpn客户端配置文件解析

...

k8s 证书问题排查_k8s dashboard 证书

从去年开始一些老项目上陆陆续续出现一些列的证书问题,(证书原理这里就不说了,官方文档一堆)多数刚开始的表现就是节点的kubelet服务起不来,节点状态NotReady表现日志如下failed...

企业级网络互通方案:云端OpenVPN+爱快路由器+Win11互联实战

企业级网络互通方案:OpenVPN搭建公有云+爱快路由器+Win11三地互联实战指南「安全高效」三地局域网秒变局域网实施环境说明...

OpenV** Server/Client配置文件详解

Server配置详解...

接口基础认知:关键信息与合规前提

1.核心技术参数(必记)...

S交换机通过SSH登录设备配置示例(RADIUS认证+本地认证独立)

说明:●本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。●通过不同的管理域来实现RADIUS认证与本地认证两种方式同时使用,两...

SSL证书如何去除私钥密码保护_ssl证书怎么取消

有时候我们在生成证书的时候可以加入了密码保护。然后申请到证书安装到了web服务器。但是这样可能会带来麻烦。每次重启apache或者nginx的时候,都需要输入密码。那么SSL证书如何去除私钥密码保护。...

SSL证书基础知识与自签名证书生成指南

一、证书文件类型解析...

S交换机通过SSH登录设备配置示例(RADIUS认证)

说明:本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。假设已在RADIUS服务器上创建了用户名yc123,密码test#123。对...

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

秘钥的产生过程非对称加密...

HTTPS TLS握手流程_进行tls握手

1.客户端向服务器发送`ClientHello`消息,包括支持的TLS版本、加密套件、随机数等信息。2.服务器收到`ClientHello`消息后,解析其中的信息,并根据配置选择一个加密套件。3....

Spring Boot 单点登录(SSO)实现_spring boot 单点登录jwt

SpringBoot单点登录(SSO)实现全指南单点登录(SingleSign-On,SSO)是一种身份验证机制,允许用户使用一组凭证登录多个相关但独立的系统。在微服务架构和企业级系统中,SS...

源码分享:在pdf上加盖电子签章_pdf如何加盖电子公章

在pdf上加盖电子签章,并不是只是加个印章图片,。而是要使用一对密钥中的私钥对文件进行签字。为啥要用私钥呢?很简单,因为公钥是公开的,其他人才可以用公钥为你证明,这个文件是你签的。这就是我们常说的:私...

微信支付商户API证书到期 怎么更换

微信支付商户API证书到期更换是一个非常重要的操作,需要仔细按照流程进行。如果证书过期,所有通过API的支付、退款等操作都会失败,将直接影响您的业务。请按照以下详细步骤进行操作:重要前提:分清...