This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3100:MQTT [TCP 伪重传],发布消息

Guru**** 2387830 points
Other Parts Discussed in Thread: CC3100, CC3100SDK
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/657319/cc3100-mqtt-tcp-spurious-retransmission-publish-message

器件型号:CC3100

您好!

我使用 cc3100在 azure 上将数据传输到 MQTT 服务器。

我有许多 来自 cc3100的 TCP 伪重传。 我还有一个带 ESP8266的旧板、无需 任何重传。 这两个设备从同一台路由器向同一台服务器发送相同的数据。

可以帮帮我吗?  

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Maxim:

    您能否更深入地解释一下问题所在? 您使用的是来自 CC3100 SDK 的示例还是基于示例的内置示例?

    您会说、会发生很多重新传输。 发生这种情况时、您是否注意到任何错误?

    解释您想要做什么以及看到什么、以便我可以更好地帮助解决您的问题。

    最棒的
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我从  CC3100SDK_1.2.0 "MQTT_CLIENT"示例开始。

     您可以看到虚假重传时、我会从服务器上附加 Wireshark 日志的打印屏幕

    调试打印

     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 646]
     0> logger:debug:eb08d3b155f8、80、2、3965、a81b6a80ba12、665193
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(56字节)[@ 646]
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 647]
     0> logger:debug:00e1461b62df、68、5、3745、a81b6a80ba12、666495
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(56字节)[@ 647]
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 647]
     0> logger:debug:0366177fc8e1,89,1、3590、a81b6a80ba12,6645
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(56字节)[@ 647]
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 648]
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 649]
     0> logger:debug:00e1461b62df、79、5、3745、a81b6a80ba12、668722
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(56字节)[@ 650]
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 650]
     0> logger:debug:d9cb55df25ea、49、1、4007、a81b6a80ba12、668871
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(56字节)[@ 650]
     0> logger:debug:0366177fc8e1,77,1、3590、a81b6a80ba12,668892
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(56字节)[@ 650]
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 650]
     0> logger:debug:eb08d3b155f8、88、2、3965、a81b6a80ba12、669898
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(56字节)[@ 650]
     0>记录器:调试:C:FH-B1 0x30到网络16、发送(51字节)[@ 651]

    我使用 QOS0每秒至少将数据发布到主题一次。 而且,重新传输的次数很多,有时数据包丢失 ,当我使用 QOS1时,情况有所改善 ,但这不是我想要使用的方式(网络流量过多)。

    P.S.在没有 CC3100但条件相同的情况下、我的另一个主板不会出现此问题(我使用 ESP)。

    看起来 CC3100上的 ACK 窗口无效(很小,所以它在 ACK 从服务器到达之前发送数据包)。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您的 CC3100中包含什么服务包? 此外、您的 Wireshark 日志也不是很有用。 由于应用了筛选器、因此不会显示服务器端的 ACK。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    TI_serviceack_1.0.1.11-2.9.0.0
    2.如果您需要 Wireshark 提供的其他数据、请为我提供一个筛选器、然后我会应用

    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    尽管您的 ServicePack 不是最新版本、但听起来很合理。 您应将筛选器应用于 TCP 客户端的 IP (CC3100的 IP)。 如果没有完整的 TCP 低电平、很难说出可能出现的问题。

    本主题( e2e.ti.com/.../2367059 )讨论了不同的问题,但其中包含有用的信息。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我更新了 ServicePack 并再次运行 Wireshark、它具有相同的图。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Maxim:

    您是否能够解决您的问题? 如果您需要任何其他支持、请告知我们。

    谢谢、
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是的、我需要支持、

    我需要能够在 QOS0中发布数据而无需重新传输、请就此提供帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请按要求提供完整的 Wireshark 日志。

    也许您应该尝试将电源策略设置为 sl_always_ON_policy / sl_WlanPolicySet (sl_policy_PM、sl_always_ON_policy、NULL、0)/。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    sl_always_ON_policy 会占用大量电力
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是的、我知道。 但您可以尝试一下。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Maxim:

    您是否有机会根据 Jan 的建议收集 Wireshark 日志、其中显示有关传输的更多信息。 您是否还尝试设置 sl_always_ON_policy 以查看通信行为是否不同?

    谢谢、
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您还尝试设置 sl_always_ON_policy

    它可以解决问题、但我无法使用此模式、它具有高功率、并将电池电量减少2

    您是否有机会收集 Wireshark 日志  

    是的,它仍然有重新传输。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    现在我们知道您的问题与 NWP 的低功耗模式有关。 我认为问题可能有两个原因:

    -如果您使用自己的硬件,则可能会出现时钟稳定性问题。 确保用于 RTC 的32.768kHz 晶体满足所有要求、且时钟稳定。
    -您可能会遇到与 AP 的兼容性问题。 一些廉价 AP 不能正确支持 WiFi 省电模式。 请使用另一个 AP 型号/品牌进行测试。

    ESP8266问题的原因很简单。 DTIM 与 ESP8266搭配使用、通常不使用。

    1月