代码之家  ›  专栏  ›  技术社区  ›  AngryHacker

如何用4个LED指示灯指示IP地址?

  •  14
  • AngryHacker  · 技术社区  · 14 年前

    我正在用.net微框架开发一个网络管理设备。因为这个想法是在办公室里有一堆设备,所以有时用户需要知道特定设备的IP地址。

    所以对于192.168.0.34这样的地址,我会让LED1闪烁一次,然后暂停,然后闪烁9次,暂停,然后闪烁2次。然后,操作将转移到LED2,LED2将以类似的方式闪烁,以此类推。数字0将通过快速闪烁半秒钟来表示。

    还有其他想法吗?

    14 回复  |  直到 14 年前
        1
  •  18
  •   NullUserException Mark Roddy    14 年前

    对每个数字同时使用所有4个显示器,以二进制显示。闪烁所有4真的很快为0,光所有4更长的时间来表示一个点。

    [ ] [ ] [ ] [x] # 1
    [x] [ ] [ ] [x] # 9
    [ ] [ ] [x] [ ] # 2
    [x] [x] [x] [x] # . (long)
    [ ] [ ] [ ] [x] # 1
    [ ] [x] [x] [ ] # 6
    [x] [ ] [ ] [ ] # 8
    [x] [x] [x] [x] # . (long)
    [x] [x] [x] [x] # 0 (short)
    

    或者,您可以使用未使用的数字(即:10)来表示0

    [ ] [ ] [ ] [x] # 1
    [x] [ ] [ ] [x] # 9
    [ ] [ ] [x] [ ] # 2
    [x] [x] [x] [x] # . 
    [ ] [ ] [ ] [x] # 1
    [ ] [x] [x] [ ] # 6
    [x] [ ] [ ] [ ] # 8
    [x] [x] [x] [x] # . 
    [x] [ ] [x] [ ] # 0 
    

    对于那些不懂二进制的人来说,在设备上准备好一个查找表就足够了。

        2
  •  7
  •   user1228 user1228    14 年前

    我倒过来。从控制站,我会把我的设备使用的所有IP列表。然后我会选择一个开始闪烁的模式,将很容易识别(如1 2 3 4反复),直到关闭。这样我就可以问每个人谁的LED灯闪烁这样,并知道什么设备拥有该IP。

        4
  •  5
  •   JYelton Melchior Blausand    14 年前

    您还可以考虑二进制,一次显示一个数字。但是这需要用户知道(或者参加一个关于二进制的速成课程)。

    9: 1 0 0 1
    8: 1 0 0 0
    7: 0 1 1 1
    6: 0 1 1 0
    5: 0 1 0 1
    4: 0 1 0 0
    3: 0 0 1 1
    2: 0 0 1 0
    1: 0 0 0 1
    0: 0 0 0 0
    

    1 1 1 1 . 如果您有一个按钮或某种形式的用户交互,这样您就可以遍历这些数字,这将是理想的。

        5
  •  3
  •   Joel Etherton    14 年前

    您可以将数字转换为十六进制,并以二进制打印十六进制表示。

    F: 1 1 1 1
    E: 1 1 1 0
    D: 1 1 0 1 
    C: 1 1 0 0
    B: 1 0 1 1
    A: 1 0 1 0
    9: 1 0 0 1 
    8: 1 0 0 0 
    7: 0 1 1 1 
    6: 0 1 1 0 
    5: 0 1 0 1 
    4: 0 1 0 0 
    3: 0 0 1 1 
    2: 0 0 1 0 
    1: 0 0 0 1 
    0: 0 0 0 0 
    

    192.168.0.34变为C0.A8.00.22。与@JYelton提出的解决方案非常相似,只是进一步减少了个人从led读取信息所需的工作量。但仍然需要一些翻译,因为您必须再次从十六进制转换为十进制(标准计算器是一个简单/方便的工具)。

        6
  •  3
  •   itchi    14 年前

    或者,但按照同样的思路,并行端口或usb呢?

        7
  •  2
  •   Matthew Whited    14 年前

    你为什么不买个外置液晶屏。。。没有教学用户二进制和您可以显示更多的信息。如果你给我提供你正在使用的微框架设备,我也许能提供更详细的帮助。

        8
  •  1
  •   Dirk Vollmar    14 年前

    根据用户的极客程度,您还可以使用:

        9
  •  1
  •   Jonathan.    14 年前

    如果是DHCP,他们可以访问计算机上设备MAC地址旁边的设备ip地址列表,你可以在每个设备上写MAC地址,然后他们就可以知道哪个设备有哪个ip。

    更重要的是,您可以编写一个程序,在MAC地址旁边获得ip地址列表,并将其与MAC地址旁边的设备名称表进行匹配。

        10
  •  1
  •   jacknad    14 年前

    如果将其中一个指示灯替换为红外指示灯,则可以为手机红外传感器编写一个应用程序,用于解码和显示IP地址的二进制模式。

        11
  •  1
  •   James    13 年前

    1. 打开正在正确端口上侦听的Windows客户端。
    2. 重置设备或按下设备上的按钮以激活UDP广播。
    3. 可能该装置上的LED会主动闪烁1分钟。

    这样就不用让用户解释LED的二进制闪烁了。

    所以设备1010显示它的LED和在Windows应用程序的输出显示 开、关、开、关=192.168.0.150

    如果你对这个有兴趣的话,使用LED开关的图像会更好。

    我也有类似的情况,还没有测试过这些理论。

        12
  •  0
  •   Steven Barnett    14 年前

    IP地址实际上只是一个32位二进制数。IP 192.168.0.34被路由器视为11000000 10101000 00000000100010(并通过互联网广播)

    开-关, 关了关了, 关-开, 关了关了, 在上, 在上, 关了关了, 在上, 关-开, 关了关了, 等。

    在读取第一位之前,请确保第二位已切换,否则您可能会读取相同的数字两次。

    如果你想用四个LED来显示,那么让LED根据数字闪烁可能会很困难,因为人类很难同时计算4个数字。如果您只需浏览所有数字1、9、2、1、6、8、0、0、0、0、3、4(每个数字有3个数字),然后使用所有四个LED以二进制形式显示这些数字,可能会更容易。

    关上,关上, 断断续续,

    中间有个停顿。

        13
  •  0
  •   Stephen C. Steel    14 年前

        14
  •  0
  •   Noon Silk    14 年前

    这取决于您的环境,但我不会显示整个IP地址,只显示相关的组件,并将其自身映射到单个4位数字。这假设您只需要唯一地标识<2^4个实体。如果你需要更多的,那就使用更多的LED(如果可能的话)。

    这样,您只需要指示一个本地映射,然后就可以通过本地内部网站来查找实际的IP地址。您可以使用本线程中已经描述的典型二进制策略,让LED闪烁出4位数字,这应该很容易培训人员(在设备上使用适当的标签)。

    推荐文章