LED显示屏网络直连的设计

引言
在led显示屏工程应用中,显示屏一般在出厂前要做好参数配置、调试、点亮,并做节目测试,否则由于现场条件限制,这些工作很难开展。在做调试和节目测试时,可通过串口和网口进行通信,而随着网络普及和速度的提升,网络通信方式被更多的用户采用,即用户通过集线器或网络直连的方式与显示屏通信。其中通过集线器,pc 机和显示屏ip 可不在同一个网段;而网络直连时,pc 机和显示屏的ip 地址必须在同一个网段。不管采用哪一种方法,都必须知道两者的ip 地址才能进行通信。但在调试过程中,由于led 控制卡太多、放置时间太长或由不同的人进行配置,有时用户可能不知道显示屏的ip 地址,这样就很难开展工作了。另外,出厂配置的ip 地址和现场安装的ip 地址可能不一样,并且现场安装的显示屏ip 地址由于用户千差万别,其ip 地址段也不一样。这样一来,在调试过程中,需要反复修改显示屏或pc 机的ip 地址,带来很大的工作量。因此,基于应用中的这些问题,有用户提出能否采用网络直连的方式,无需知道led 显示屏的ip 地址,也不用修改pc 机的ip 就可实现pc 机与led 显示屏网络通信,让用户更方便地调试led 显示屏。通过市场调研,有些软件声称实现了led 显示屏网络直连的方式,但在具体实现上并不能令人满意,例如稳定性、可靠性和时效性等方面并不如意。经过研究,本文提出一种新的网络直连的方法,可以很好地解决这些问题,让用户方便、可靠、高效地调试显示屏。
1 主要功能需求分析和模型构建
对于网络直连,硬件如图1 所示,用网络直连线将pc 机和显示屏连接起来,然后手动设置它们的ip 地址在同一个网段,即可进行通信了。
但采用这种方式,如果事先不知道显示屏的ip地址,将很难进行通信。为了达到不知道显示屏ip地址也能实现pc 机与显示屏直连通信的目的,可借助dhcp 服务原理来解决:即设置led 显示屏为某固定ip 地址的dhcp 服务器,设置pc 机网卡为自动获取ip 地址的方式,通过dhcp 服务功能,自动配置pc 机的网卡ip 地址,这样网络连接通道就建立了。有些开发商就采用这种方式实现了网络直连,但这种方法存在一些问题:其一,由于udp 通信为不连接通信,其通信可靠性要差一些,容易失败;其二,只能通过操作系统自带的系统完成,没有干预,用户不能设置超时,有时等待时间太长,最长为60 秒;其三,dhcp 为固定ip 方式,在实际应用中显然不太好;其四,退出系统时,不能恢复pc 机原有的网卡配置信息。
基于此,经过研究,本文提出一种新的网络直连方法,可以实现网络直连、自动获取ip 地址以及实现pc 机网卡配置信息保存和恢复等功能,克服当前实现方法的不足,提高可靠性、稳定性和时效性等各方面性能,其系统模型如图2 所示,主要功能和工作流程如下:
(1)启动系统时,检索、访问pc 机的所有网卡,并保存其网卡配置信息,供退出系统时恢复;(2)启动网络直连进程;(3)广播ip 地址请求数据包;(4)返回ip 地址数据包;(5)解包,获取pc 机和led 显示屏的ip 地址,设置pc 机的ip 地址;(6)返回led 显示屏的ip 地址,关闭网络直连,完成通信通道的建立;(7)建立pc 机和led 显示屏的通信通道后,即可对显示屏进行读/ 写参数、发送节目、开关屏等通信控制操作;(8)退出系统时,根据(1)保存的网卡配置信息,恢复pc 机网卡的原始状态。
在以上流程中,(2)~(6) 是核心过程,它模拟dhcp 服务,实现pc 机广播请求ip 地址,获取pc机ip 地址并设置,上传led 显示屏ip 地址,完成网络直连通道的建立,是进行网络直连操作时必做的步骤;(1)和(8)是启动和退出系统时所做的保存pc机网卡配置信息和恢复网卡配置信息操作;(7)是在完成网络直连通道后进行的显示屏控制的一般操作。本文重点介绍前两者。
2 关键功能的设计和实现
2.1 保存pc 机网卡配置信息
用来调试显示屏的pc 机,一般是一机多用,在调试显示屏的同时,还用来办公、上网,其网卡ip 地址可能是固定的或自动获取的。在做网络直连时,可能会改变其ip 地址,为了不影响用户的工作,退出时需要自动恢复其ip 地址。而要做到这一点,可在启动led 控制软件时,读取当前网卡配置信息,如ip 地址、网卡名、mac 地址、网卡类型、是否是自动配置ip 地址等等,将这些信息放入一个链表中保存,同时设置一个标识,记录用户在调试显示屏的过程中,是否使用过网络直连操作,待退出系统时使用。
在windows 操作系统中,可使用ip helper 接口来读取网卡信息,它是一套用于管理本地网络设置的api,通过它使用ip_adapter_info 结构,可以方便地提取上述网卡配置信息,保存到链表中。
2.2 借鉴dhcp 服务原理,构建网络直连通道
要实现pc 机和led 显示屏网络直连通信,必须解决两个关键问题:其一,让pc 机和led 显示屏在同一个网段;其二,知道led 显示屏的ip 地址。
除此之外,还要解决多网卡、无线网卡对网络直连的干扰等现象。借鉴dhcp 原理,主要解决思路如下:
(1)在pc 机端设计一个网络直连控制进程;(2) 需要网络直连时, 启动该进程, 通过windows 相关网络api 函数和注册表信息,确定与led 显示屏连接的非无线网卡,将其mac 地址放入构建请求ip 地址的udp 数据包中,然后广播出去,同时启动内部udp 包捕获子进程;(3)led 显示屏收到请求ip 地址的udp 包后,根据本身ip 地址,构造一个pc 机的ip 地址,将其广播出去,为了不引起混乱,这里构建的是伪dhcp 包,正常的windows 客户端收到该udp 包时,并不会自动改变其ip 地址;(4)网络直连控制进程的udp 包捕获子进程接收到分配的ip 地址的udp 包后,解包得到pc机的ip 地址和led 显示屏的ip 地址;(5)设置pc 机网卡ip 地址,上传led 显示屏的ip 地址给控制软件,成功后,关闭网络直连控制进程,完成网络直连通道的建立。
这个网络直连的过程涉及三个系统:(1)网络直连控制进程,它构建请求ip 地址udp 数据包并广播出去,同时监控目标网卡的68 端口,捕获返回的udp 数据包,解析出pc 机的ip 地址和led 显示屏的ip 地址,然后设置pc 机的ip 地址,将led显示屏的ip 地址提交给主进程,完成网络直连的任务;(2)led 显示屏dhcp 服务子进程,它接收pc机的ip 地址请求,构建并设置自身ip 地址,并返回pc 机的ip 地址的伪dhcp 包;(3)led 控制软件,当用户选择网络直连方式时,启动网络直连控制子进程,实现网络直接通道的建立,完成后,关闭该进程。
2.3 恢复pc 机网卡的配置信息
退出系统时,根据2.1 保存的是否使用过网络直连的标识进行判断,如果没有使用过网络直连方式,则无需执行网络ip 恢复功能;否则将执行恢复功能,还原2.1 保存的网卡配置,恢复网卡ip 地址可使用netsh interface ip set 命令。同时,为了加快处理速度并提高成功率,可按禁用网卡、设置网卡ip地址、再启用网卡的步骤实施:
(1)使用windows 的setupapi 相关接口api函数禁用目标网卡;(2)恢复目标网卡ip 设置,根据静态ip 地址和动态ip 地址,分别用不同的命令:
a. 恢复静态ip 地址命令。
a. 恢复静态ip 地址命令
netsh interface ip set address name=“本地连接”
source=static addr=192.168.1.19 mask=255.
255.255.0 gateway=none
b. 恢复动态ip 地址命令。
netsh interface ip set address“本地连接”dhcp
(3)使用setupapi 相关接口api 函数启用目标网卡,这样就完成了网卡配置信息的恢复。
3 结论
本文针对led 显示屏调试过程中对网络直连的需求,提出一种网络直连的方法,系统在启动时自动保存网卡配置信息,使用网络直连进程构建网络直连通道,退出系统时自动恢复网卡配置信息,使用户无需知道led 显示屏的ip 地址,也不用修改pc机的ip 地址,便可实现pc 机与led 显示屏的网络通信。该方法在led 导航者软件中使用,其可靠性、稳定性和时效性得到了用户的认可,取得了良好的效果。实践证明,该方法可为类似的应用提供一种可供借鉴的解决方案。

重磅新品!研华EI-52边缘智能系统搭载Intel第11代处理器, 助您开启5G和AI应用时代
黑客Gnosticplayers进行第四轮数据出售,暗网上公开售卖2600万个账户
ONK品牌伺服驱动器在横切系统中的应用
数字资产合约交易平台开发云交易所搭建
如何评判一辆纯电动汽车的好与不好
LED显示屏网络直连的设计
数字化转型趋势行业增长蓄势待发
汾酒与华为签署战略合作协议,共同探索酒业数字化转型发展
8家“优浪AI智谷科技产业联盟”与湘江智谷·人工智能科技城签署了入驻协议
5G与VR技术的应用,对旅游行业有着深刻影响
关于华虹半导体与灵动微电合作开发应用于物联网的IP的介绍
法拉第未来高级副总裁离职 无人驾驶汽车要有道德准则
软性印刷电路板简介
今日传感财经:红外传感器概念报跌;光谱仪概念报跌;气体传感器概念报涨
西门子S7-GRAPH编程语言—顺控器介绍
浩亭连接器方案以最佳性能助力实现智能制造
区块链为什么需要一场祛魅
贯通式、环绕式的LED尾灯该如何降低雾气的产生
大唐移动积极推动5G产业走向成熟,为产业带来无限新机遇
LG希望成为特斯拉的主要电池供应商,寻求扩大南京工厂2170号电池生产线