
本帖最后由 baiyongbin2009 于 2018-10-23 09:19 编辑 ( p, @* ?+ s. ^, S 9 n8 V) h9 T V. m# {0 I. ~! i: A8 Z3 N0 @ 说明:8 \' q+ P9 e3 ~. g& Y1 x6 x 1、借助于SEGGER的FIND小软件,用户可以快速检索局域网内的所有设备,仅需在设备上插入一小段的UDP代码即可。( a+ y) c! W/ Z, v: y- I 2、实现原理是FIND小软件向网络内发UDP广播消息,接收到消息的设备,返回一条FIND格式的信息即可。通过这种方式可以快速检索所有设备的运行状态,IP,MAC等信息,便于管理。 3、关于协议格式的学习,看SEGGER官网:http://www.segger.com/products/ ... logy/find-protocol/! [4 w# z( {- U- e0 \ ![]() 使用说明:9 D' H0 a6 }) S! C! s2 K% K 1、测试比较省事,多个设备接到路由器/交换机上,然后电脑端开启FIND小软件即可识别出来。( B/ Y4 U. u0 E 2、特别注意,测试多个设备时,设备的MAC配置不可配置成一样的,MAC地址要不同。 3、例子默认是开启了DHCP和NetBIOS Name的,如果需要设置固定IP,看RL-TCPnet教程附件章节C--固定IP设置。 4、关于UDP的使用和相关知识看RL-TCPnet教程的UDP相关章节即可。+ f1 {9 s6 m: ~; I2 [# C3 f! Y 5、RL-TCPnet教程:https://www.stmcu.org.cn/module/forum/thread-613498-1-1.html. `, \) q3 O* r5 K7 ^* I9 \7 ?0 h ![]() 例程下载: 安富莱STM32-V5开发板: ![]() 安富莱STM32-V6开发板: ![]() . B# F; l7 d, o* I, T 软件下载: ![]() ![]() 效果:* j4 r8 f# r# T# D2 ~ FIND软件发送UDP广播消息,接收到消息的板子会串口打印相关信息: ![]() 测试V5和V6板子效果,这样就可以方便的检索局域网内的所有设备。( u$ O- v! W3 G* T2 D ![]() 如果需要小于1ms的相应速度,关闭app_tcpner_lib.c文件开头设置的串口printf条件编译即可。 ![]() - t1 e# o; @4 U; I8 u8 N 默认的扫描的速度是500ms发送一次广播:' d9 B' B$ P: K( G/ ]9 ^# Q: [6 z ![]() 9 D1 f( q$ A C; E% B9 F 抓包: ![]() ; U. P; k* n5 V* }; L- d% S 4 ~2 F9 s, p6 \ |
http://www.segger.com/products/ ... logy/find-protocol/" x' S' h$ w: y& s![]() |
谢谢分享 |
![]() |