https://noodb.com/blog/1452283122107486209

Led显示屏设备自发现技术实现

目的:

实现一个设备管理中心,可以配置Led设备的IP地址和MASK地址等

语言:

C#

设备:

上海灵信视觉X4系列

技术过程:

该设备官方文档上没有说,通过什么协议或技术可以实现设备的自发现(该公司自己开发的LedPlay又支持设置的自发现),但是提供了修改设备的IP地址DLL,必须借助它公司开发的软件LedPlay,通过配置好IP地址,才调用设备的DLL。但是作为开发上位机的人来说,你还要安装好别人公司开发好得工具来配置一下IP地址,然后在切换到自己的上位机,用户体验很不好。于是打电话询问给上海灵信技术客服,技术人员指导说可以用抓包工具,可以知道LedPlay软件发出的包,解析出它是使用UDP协议,通过反复配置才知道各个数据位对应什么含义。

技术实现

搜索所有设备

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Threading;
using System.Net;
using System.Text;
using System.Threading.Tasks;namespace ledTest
{class MyLedDll : LedDll{//搜索所有的led设备public  List<string> getAllDevices(string ip, int port){Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);client.Bind(new IPEndPoint(IPAddress.Parse("192.168.11.100"), 3333));EndPoint des = (EndPoint)new IPEndPoint(IPAddress.Parse("255.255.255.255"), 9999);client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);client.SendTo(HexStrTobyte("55 aa 00 00 01 01 00 a3 00 00 00 00 00 00 08 00 00 00 08 00 bf 03  00 00 03 00 00 00 00 00 0d 0a"), des);Thread.Sleep(100);string A = "";string ipstr = "";string tenStr = "";try{for (int j = 0; j < 255; j++){//Thread.Sleep(100);client.ReceiveTimeout = 10;byte[] result = new byte[1024];int len = client.ReceiveFrom(result, ref des);if (len <= 0){break;}StringBuilder strBuider = new StringBuilder();for (int index = 0; index < len; index++){strBuider.Append(((int)result[index]).ToString("X2"));}tenStr += HexStr2Ten(strBuider.ToString()) + "\n";A = A + strBuider.ToString() + "\n";ipstr += des.ToString() + "\n";}}catch{Console.WriteLine("出现网络异常");}client.Close();Console.WriteLine(A);Console.WriteLine(ipstr);Console.WriteLine(tenStr);return null;}//每两位16进制转化为10进制,如0a 0a 转为为10-10public static string HexStr2Ten(string hexString){string result = "";if (hexString.Length < 2)return "";for (int i = 0; i < hexString.Length; ){string temp = hexString[i] + "" + hexString[i + 1] + "";result += Convert.ToInt32(temp, 16) + "-";i += 2;}return result;}//16进制转化为byte[]public static byte[] HexStrTobyte(string hexString){hexString = hexString.Replace(" ", "");if ((hexString.Length % 2) != 0)hexString += " ";byte[] returnBytes = new byte[hexString.Length / 2];for (int i = 0; i < returnBytes.Length; i++)returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2).Trim(), 16);return returnBytes;}}
}

剩下代码,请点击 https://noodb.com/blog/1452283122107486209

项目地址

资料上传中,请稍等

Led显示屏设备自发现技术实现-上海灵信相关推荐

  1. 上海灵信视觉A4控制板

    资料准备: 1.LED Player上位机控制: http://www.168led.com/AjaxFile/DownLoadFileNew.aspx?FilePath=/UpLoadFile/20 ...

  2. LED显示屏技术基本知识

    http://www.cnledw.com/inter/show-11-136102.htm 几十年前大型的电子显示屏是用灯泡或照明灯构成,发展到后来的显像管(CRT),主要用在运 动场所转播比赛,如 ...

  3. LED显示屏将增长 六大细分领域趋势浅谈

    LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素单元组成在面积显示屏幕,以可靠性高.使用寿命长.环境适应能力强.价格性能比高.使用成本低等特点,在短 ...

  4. LED显示屏基础知识

    一.              LED显示屏概述 什么是LED? 在某些半导体材料的 PN 结中, 注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能. PN ...

  5. 深度解析LED显示屏SMD封装

    LED器件占LED显示屏成本约40%-70%,LED显示屏成本的大幅下降得益于LED器件的成本降低.5分钟带你了解SMD LED.LED封装质量的好坏对LED显示屏的质量影响较大.封装可靠性的关键包括 ...

  6. LED液晶显示屏自动扫描测试软件特点,led显示屏控制软件自动校正是什么作用?...

    大家对于led显示屏都是不陌生的,不过很多人对于led显示屏控制软件不是很了解.其实它是有自动校正功能的,能够把数据进行存储,存储在模组上,而且还可以对模组进行更换,接受和发送,功能是很强大的.只需要 ...

  7. 透明LED显示屏:透明世界中的无限可能

    随着科技的不断进步,透明LED显示屏作为一种创新的显示技术,正逐步改变我们对显示屏的认识和使用方式.与传统的显示器不同,透明LED显示器配备透明性,使得图像可以在其表面上显示的同时,依然能够透过屏幕看 ...

  8. LED显示屏常见术语

    序号 名词术语 释义 1 LCD 液晶显示器(Liquid Crystal Display ) 2 TFT 薄膜晶体管(Thin Film Transistor ) 3 LED 发光二极管(Light ...

  9. 万物互联时代,LED显示屏行业机遇与挑战并存

    5G时代的到来给各行各业带来了机遇和调整.led显示屏行业也会随着5G时代的发展带来更大的机遇和挑战.面对持续升级的消费需求.多变的经济和商业环境.以及难以捉摸的未来趋势,新商机.新出路的重要性不言而 ...

最新文章

  1. 第二章 向量(a)接口与实现
  2. python必须连网开发吗_Python开发,请避开这些坑!
  3. LeetCode题组:第836题-矩形叠加
  4. RDP(远程桌面)优化
  5. OpenCV脸部美化FaceBeautificator的实例(附完整代码)
  6. php static 访问,使用PHP访问Static方法的最佳方法
  7. leetcode 485. 最大连续1的个数
  8. 中国兽医牙科X射线发生器市场趋势报告、技术动态创新及市场预测
  9. python 字符串_Python中常用的8种字符串操作方法
  10. 考研高数——书本资料选择复习规划
  11. JAVA常用算法手册 第3版 pdf
  12. dnf mysql密码多少_CentOS7 使用 dnf 安装 mysql
  13. matlab求极限分布,中心极限定理的Matlab演示
  14. 计算机之父童年的故事ppt,24计算机之父童年的故事
  15. 常用面试问题50问(转载)及回答技巧
  16. nginx -rtmp多码率,动态码率二级m3u8适应
  17. Kong 优雅实现微服务网关鉴权,登录场景落地实战篇
  18. 科学探索奖名单揭晓:北大数学「黄金一代」袁新意上榜,首现90后获奖人
  19. 安卓和IOS推广技巧汇总,app安卓推广、ios推广aso优化
  20. Air202入坑指南3---MQTT

热门文章

  1. ArrayList类线程不安全的解决方法
  2. Problem : [usaco2007 Feb]Lilypad Pond
  3. 耳朵(一)Linux简述
  4. outguess 使用方法
  5. 计算机图灵,什么叫做图灵计算机?
  6. OSChina 周日乱弹 —— 给我两个公主我也抱的起来
  7. 一个人如果不结婚也无儿无女无兄弟姐妹,虽然可以自由自在一辈子,但老了怎么办?
  8. 在线视频编辑 剪辑系统源码 支持AE所有特效
  9. 硬件设计开发全套软件
  10. 利用jTessBoxEditor工具进行Tesseract3.02.02样本训练