除了修改作为Echo Server的PC的IP地址时,修改的是WLAN而非Ethernet的IP地址,其余操作都和文档一致。按照文档在cmd中转移目录后运行> python echoserver.py,按键后无反应,python脚本并未退出,只是在tool\py3文件夹中生成了一个文件。
请问工程师,这个可能是因为什么原因?
作为echo server的电脑修改的是WLAN的IP地址(只有一个RJ45),Python安装正确,防火墙设置正确,在cmd中用cd/d转换目录后运行> python echoserver.py。运行样例程序后在HOST PC的端口助手上显示如下图。
第一次尝试显示了很多,但是和文档给出的并不一致,没有截图,之后的尝试的显示都如上图所示。
需要修改有线接口的防火墙,也就是连接板子的这个网口的防火墙
非常感谢工程师,让我发现之前对修改IP地址的理解有偏差。
再次运行样例程序,HOST PC上显示的内容如文件所示。看内容感觉防火墙的设置应该没有问题,但是一直连接失败。烦请工程师不吝赐教。
个人感觉还是python脚本那里存在问题,因为运行后并没有像文档说的那样自动退出。想知道这个python脚本的作用是什么。
140 33162 [Echo0] Echo demo failed to connect to echo server 192.168.128.1. 141 33162 [IP-task] FreeRTOS_closesocket[58032 to c0a88001ip:50000]: buffers 8 socks 0 142 33312 [Echo0] Connecting to echo server 143 33312 [Echo0] FreeRTOS_connect: 58043 to c0a88001ip:50000 144 33312 [Echo0] Socket 58043 -> c0a88001ip:50000 State eCLOSED->eCONNECT_SYN 145 33312 [IP-task] prvSocketSetMSS: 1460 bytes for c0a88001ip:50000 146 33312 [IP-task] prvWinScaleFactor: uxRxWinSize 4 MSS 1460 Factor 0 147 33312 [IP-task] Connect[c0a88001ip:50000]: next timeout 1: 3000 ms 0 0 [IP-task] prvIPTask started 1 511 [Tmr Svc] recover retry count = 4. 2 511 [Tmr Svc] EEPROM(main) hash check... 3 512 [Tmr Svc] OK 4 512 [Tmr Svc] EEPROM(mirror) hash check... 5 513 [Tmr Svc] OK 6 513 [Tmr Svc] EEPROM(main) hash check... 7 514 [Tmr Svc] OK 8 514 [Tmr Svc] EEPROM(mirror) hash check... 9 515 [Tmr Svc] OK 10 517 [Tmr Svc] Write code signing certificate... 11 517 [Tmr Svc] Key provisioning done... 12 3108 [IP-task] IP Address: 192.168.128.2 13 3108 [IP-task] Subnet Mask: 255.255.255.0 14 3108 [IP-task] Gateway Address: 192.168.128.100 15 3108 [IP-task] DNS Server Address: 192.168.128.200 17 3208 [IP-task] recover retry count = 4. 18 3208 [IP-task] EEPROM(main) hash check... 19 3208 [IP-task] OK 20 3208 [IP-task] EEPROM(mirror) hash check... 21 3208 [IP-task] OK 22 3208 [IP-task] EEPROM(main) hash check... 23 3208 [IP-task] OK 24 3208 [IP-task] EEPROM(mirror) hash check... 25 3208 [IP-task] OK 26 3209 [Echo0] FreeRTOS_connect: 42484 to c0a88001ip:50000 27 3209 [Echo0] Socket 42484 -> c0a88001ip:50000 State eCLOSED->eCONNECT_SYN 30 3710 [IP-task] ARP for c0a88001ip (using c0a88001ip): rc=0 00:00:00 00:00:00 31 3710 [IP-task] Connect[c0a88001ip:50000]: next timeout 2: 500 ms 32 4210 [IP-task] ARP for c0a88001ip (using c0a88001ip): rc=0 00:00:00 00:00:00 33 4210 [IP-task] Connect[c0a88001ip:50000]: next timeout 3: 500 ms 34 4710 [IP-task] Connect: giving up c0a88001ip:50000 35 4710 [IP-task] Socket 42484 -> c0a88001ip:50000 State eCONNECT_SYN->eCLOSE_WAIT 36 5210 [Echo0] Echo demo failed to connect to echo server 192.168.128.1. 37 5210 [IP-task] FreeRTOS_closesocket[42484 to c0a88001ip:50000]: buffers 8 socks 0 38 5360 [Echo0] Connecting to echo server 39 5360 [Echo0] FreeRTOS_connect: 39179 to c0a88001ip:50000 40 5360 [Echo0] Socket 39179 -> c0a88001ip:50000 State eCLOSED->eCONNECT_SYN 41 5360 [IP-task] prvSocketSetMSS: 1460 bytes for c0a88001ip:50000 42 5360 [IP-task] prvWinScaleFactor: uxRxWinSize 4 MSS 1460 Factor 0 43 5360 [IP-task] Connect[c0a88001ip:50000]: next timeout 1: 3000 ms 44 7360 [Echo0] Echo demo failed to connect to echo server 192.168.128.1. 45 7360 [IP-task] FreeRTOS_closesocket[39179 to c0a88001ip:50000]: buffers 8 socks 0 46 7510 [Echo0] Connecting to echo server 47 7510 [Echo0] FreeRTOS_connect: 24810 to c0a88001ip:50000 48 7510 [Echo0] Socket 24810 -> c0a88001ip:50000 State eCLOSED->eCONNECT_SYN 49 7510 [IP-task] prvSocketSetMSS: 1460 bytes for c0a88001ip:50000 50 7510 [IP-task] prvWinScaleFactor: uxRxWinSize 4 MSS 1460 Factor 0 51 7510 [IP-task] Connect[c0a88001ip:50000]: next timeout 1: 3000 ms 52 9510 [Echo0] Echo demo failed to connect to echo server 192.168.128.1. 53 9510 [IP-task] FreeRTOS_closesocket[24810 to c0a88001ip:50000]: buffers 8 socks 0 54 9660 [Echo0] Connecting to echo server 55 9660 [Echo0] FreeRTOS_connect: 25740 to c0a88001ip:50000 56 9660 [Echo0] Socket 25740 -> c0a88001ip:50000 State eCLOSED->eCONNECT_SYN 57 9660 [IP-task] prvSocketSetMSS: 1460 bytes for c0a88001ip:50000 58 9660 [IP-task] prvWinScaleFactor: uxRxWinSize 4 MSS 1460 Factor 0 59 9660 [IP-task] Connect[c0a88001ip:50000]: next timeout 1: 3000 ms 60 11660 [Echo0] Echo demo failed to connect to echo server 192.168.128.1. 61 11660 [IP-task] FreeRTOS_closesocket[25740 to c0a88001ip:50000]: buffers 8 socks 0 62 11810 [Echo0] Connecting to echo server 63 11810 [Echo0] FreeRTOS_connect: 41617 to c0a88001ip:50000 64 11810 [Echo0] Socket 41617 -> c0a88001ip:50000 State eCLOSED->eCONNECT_SYN 65 11810 [IP-task] prvSocketSetMSS: 1460 bytes for c0a88001ip:50000 66 11810 [IP-task] prvWinScaleFactor: uxRxWinSize 4 MSS 1460 Factor 0 67 11810 [IP-task] Connect[c0a88001ip:50000]: next timeout 1: 3000 ms 68 13810 [Echo0] Echo demo failed to connect to echo server 192.168.128.1. 69 13810 [IP-task] FreeRTOS_closesocket[41617 to c0a88001ip:50000]: buffers 8 socks 0 70 13960 [Echo0] Connecting to echo server 71 13960 [Echo0] FreeRTOS_connect: 25731 to c0a88001ip:50000 72 13960 [Echo0] Socket 25731 -> c0a88001ip:50000 State eCLOSED->eCONNECT_SYN 73 13960 [IP-task] prvSocketSetMSS: 1460 bytes for c0a88001ip:50000 74 13960 [IP-task] prvWinScaleFactor: uxRxWinSize 4 MSS 1460 Factor 0 75 13960 [IP-task] Connect[c0a88001ip:50000]: next timeout 1: 3000 ms
感谢工程师的指点。在查看样例程序中包含的文档时,发现了一个疑点:
设置防火墙,一开始写的是python脚本使用的是TCP端口7。
但是在新建入站和出站规则时,本地端口却是50000。
而在rza2m_ethernet_sample_freertos_gcc/src/config_files/FreeRTOSConfig.h中,configTCP_ECHO_CLIENT_PORT又是50000。
产生这个疑问是因为看到WiFi样例程序中包含的文档中使用的TCP端口是50000。所以我在想会不会是这里的问题。
继续看连接到AWS的MQTTEcho样例程序,又遇到了问题……
1.之前设置的IP地址是192.168.128.1,
但是后面设置的IP地址变成了192.168.128.1。请问是因为子网掩码的原因吗?
2.运行MQTTEcho样例程序,在串口助手打印出的调试信息如下:
----------------------------- R : Show each value of the customizable registers. D : All Default Settings. >>0 0 [IP-task] prvIPTask started 1 511 [Tmr Svc] recover retry count = 4. 2 511 [Tmr Svc] EEPROM(main) hash check... 3 512 [Tmr Svc] NG 4 512 [Tmr Svc] EEPROM(mirror) hash check... 5 513 [Tmr Svc] OK 6 513 [Tmr Svc] recover main from mirror. 7 513 [Tmr Svc] write EEPROM(main)... 8 1448 [Tmr Svc] OK 9 1448 [Tmr Svc] recover retry count = 5. 10 1448 [Tmr Svc] EEPROM(main) hash check... 11 1449 [Tmr Svc] OK 12 1449 [Tmr Svc] EEPROM(mirror) hash check... 13 1450 [Tmr Svc] OK 14 1450 [Tmr Svc] EEPROM(main) hash check... 15 1451 [Tmr Svc] OK 54 8532 [MQTTEcho] MQTT echo attempting to connect to a3gquk4t6kvvy2-ats.iot.us-east-2.amazonaws.com. 55 8633 [MQTT] recover retry count = 4. 56 8633 [MQTT] EEPROM(main) hash check... 57 8633 [MQTT] OK 58 8633 [MQTT] EEPROM(mirror) hash check... 59 8633 [MQTT] OK 60 8633 [MQTT] EEPROM(main) hash check... 61 8633 [MQTT] OK 62 8633 [MQTT] EEPROM(mirror) hash check... 63 8633 [MQTT] OK 64 28635 [MQTT] FreeRTOS_connect: 44794 to 0ip:8883 65 28635 [MQTT] Socket 44794 -> 0ip:8883 State eCLOSED->eCONNECT_SYN 66 28635 [IP-task] ARP for 0ip (using c0a88064ip): rc=0 00:00:00 00:00:00 67 28635 [IP-task] Connect[0ip:8883]: next timeout 1: 500 ms 68 29135 [IP-task] ARP for 0ip (using c0a88064ip): rc=0 00:00:00 00:00:00 69 29135 [IP-task] Connect[0ip:8883]: next timeout 2: 500 ms 70 29635 [IP-task] ARP for 0ip (using c0a88064ip): rc=0 00:00:00 00:00:00 71 29635 [IP-task] Connect[0ip:8883]: next timeout 3: 500 ms 72 30135 [IP-task] Connect: giving up 0ip:8883 73 30135 [IP-task] Socket 44794 -> 0ip:8883 State eCONNECT_SYN->eCLOSE_WAIT 74 38635 [IP-task] FreeRTOS_closesocket[44794 to 0ip:8883]: buffers 8 socks 0 75 38635 [MQTTEcho] ERROR: MQTT echo failed to connect with error 1. 76 38635 [MQTTEcho] MQTT echo test could not connect to broker. 77 38635 [MQTTEcho] MQTT echo demo finished. 78 38635 [MQTTEcho] ----Demo finished----
显示出现了错误1。尝试跟踪了一下,还是没找到原因……
烦请工程师指点。