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.

[参考译文] CC3220MOD:FOTA over MQTT

Guru**** 2568585 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/838320/cc3220mod-fota-over-mqtt

器件型号:CC3220MOD
主题中讨论的其他器件:UNIFLASH

大家好、

我正在构建使用 MQTT 而不是 HTTP 执行远程固件升级的机制。

我的固件二进制大小为- 250 KB

由于以下原因、我认为 MQTT 可能是执行 OTA 的更好选择、如果我错了、请更正

1. MQTT 是在不稳定的网络 场景中执行文件传输的重量非常轻的协议。

2.固件升级期间功耗更低,节能。

3.支持 QoS - 0、1、2 (在通过 MQTT 进行通信时非常有用)。

4.响应时间比 HTTP 响应快。

与 HTTP 相比、可以处理更小的数据包大小、但没关系。  

 

任何人都有使用 MQTT 与 HTTP 进行远程固件升级的任何建议。 ?

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

    您好!

    我使用自己的方式进行固件更新、但有一些意见(正如我看到的这个主题):

    1. MQTT 是在不稳定的网络 场景中执行文件传输的重量非常轻的协议。 -不 我不同意。 我没有想到会有任何显著的差异。 我希望 MQTT 的数据消耗比 HTTP 更高。 MQTT 的唯一优势是、如果您已经集成了 MQTT、则无需实施其他数据传输方式。

    2.固件升级期间功耗更低,节能。 我不这么认为。

    3.支持 QoS - 0、1、2 (在通过 MQTT 进行通信时非常有用)。 我认为这在这种情况下并不重要。

    4.响应时间比 HTTP 响应快。  -不 这取决于使用的基础设施。

    与 HTTP 相比、可以处理更小的数据包大小、但没关系。  -在您的案例中不重要。

    1月

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

    您好、Jan、

    感谢您的快速响应、

    我使用自己的方式进行固件更新

    您能详细说明一下吗?

    2.固件升级期间功耗更低,节能。 我不这么认为。

    为什么-您能详细说明一下这一点吗、

    Vikas

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

    大家好、Vikas、

    我们使用自己的复杂通信协议。 此协议的一项功能是固件更新。

    -最大数量的数据是固件本身的二进制数据。 HTTP 仅添加少量的 http 标头字节(假设不超过400B)。 但 MQTT 可能会为整个二进制传输增加更大的开销(取决于实际实现)。

    1月

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

    大家好、Vikas、

    我同意1月

    HTTP 可能是文件传输(例如 OTA)的更好选择。  

    但是、使用 MQTT 不应有任何限制(请注意、目前我们没有提供此类示例的计划)。

    BR、

    Kobi

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

    你(们)好

    我对你的回答并不完全信服、我正在对此进行更多探讨、

    我认为查看此 URL 是一个很好的选择

    cloud.google.com/.../http-vs-mqtt-a-tale-of-two-iot-protocols

    @kobi -请查看随附的 TI 通过 MQTT 实现 OTA 的文档。

    e2e.ti.com/.../SecureOTA_5F00_TI.pdf

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

    您好!

    在标记的器件中、仅当您已经实现 MQTT 时、使用 MQTT 进行 OTA 也更有效。 这句话和我之前说过的一样。

    如果您将从头开始实施代码、则简单 HTTP 客户端的实施将比 MQTT 的实施更容易。 如果您仔细查看 MQTT 实施、您会发现这是一个非常复杂的简单 HTTP 客户端。

    1月

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

    您好、Jan、

    我忘记在这里告诉您、我已经在我的器件中实现了 MQTT、我们将使用 MQTT 进行数据流处理、大约每0.5秒。

    Vikas

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

    大家好、Vikas、

    在这种情况下、没有任何因素会阻止您针对使用 MQTT 作为传输层的 OTA 实施您自己的解决方案。 但开发您自己的解决方案所需的开发时间比使用 TI OTA 解决方案所需的开发时间要长。 如果您的项目没有严格的截止日期、只需进入 OTA 的 MQTT 传输即可。 您肯定会在 CC3220中节省一些内存资源。

    1月

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

    大家好、Vikas、

    如果您没有用于 OTA 的现成基础设施、我建议您仍然考虑使用 SDK 中所示的 OTA。

    我们提供了2个用于执行 OTA 的示例、其中器件用作 HTTP 客户端(在"cloud OTA"示例中、SimpleLink 器件从云服务器轮询更新)或用作 HTTP 服务器(在 local-OTA 中、 其中移动设备将 OTA 内容注入 SimpleLink 器件)。

    OTA 框架(uniflash+SDK)可处理映像的创建和接收过程中的动态处理、而不会停止其他网络活动。

    它还使用 CC322xx 加密引擎验证接收到的图像的真实性、并演示如何以假安全的方式执行更新。

    在下一个 SDK (预计将在月底发布)中、OTA 库将支持用于直接下载的 API、因此您可以提供用于激活下载的直接 HTTP 服务器 URL。

    当然、在将底层协议从 HTTP 替换为 MQTT 时、您仍可以使用其中的大部分协议、但我不确定是否有必要。

    BR、

    Kobi