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.

[参考译文] LAUNCHCC3220MODASF:在 CC3220MODAF 上通过 GSM 调制解调器实现 PPP 所需的帮助

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1364919/launchcc3220modasf-assistance-needed-to-implement-ppp-via-gsm-modem-on-cc3220modaf

器件型号:LAUNCHCC3220MODASF

您好!

LAUNCHCC3220MODASF:使用 CC3220 Launchpad 实现 GSM 通信- Wi-Fi 论坛- Wi-Fi - TI E2E 支持论坛

这是我之前对 GSM 集成的讨论

我想使用 GSM 调制解调器通过 PPP 建立次要互联网连接。 这可以通过使用网络服务上的 Tcpecho 示例代码来实现吗?

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

    您好!

    是的、可以。 但目前 TI 不提供直接支持。 具体实现将由您决定。

    1月

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

    您好!

    我正在尝试通过使用 AT 命令"ATD*99#\r\n"调用某些函数、在 CC3220上实现 PPP。 能否请您验证我对 PPP 实施的方法是否正确?


       void pppInit()
    {
        SlNetCfgIpV4Args_t ipV4;
        uint16_t len = sizeof(ipV4);
        uint16_t dhcpIsOn;
        int32_t status;
    
    
        // Initialize Network interface
        status = SlNetIf_init(SLNETIF_ID_1);
        if (status != 0) {
            Display_printf(NULL, 0, 0, "PPP interface initialization failed\n");
            return;
        }
    
        status = SlNetSock_init(0);
        if (status != 0) {
            Display_printf(NULL, 0, 0, "Socket initialization failed\n");
            return;
        }
        status = SlNetIf_add(SLNETIF_ID_1, "PPP",&pppConfig, 5);
           if (status != 0) {
               Display_printf(NULL, 0, 0, "Adding PPP interface failed\n");
               return;
           }
    
        // Start PPP
        if (sl_Start(NULL, NULL, NULL) < 0) {
            Display_printf(NULL, 0, 0, "PPP start failed\n");
            return;
        }
    
        Display_printf(NULL, 0, 0, "PPP started successfully\n");
    
        sleep(3);
        // Get IP address
        if (sl_NetCfgGet(SL_NETCFG_IPV4_STA_ADDR_MODE, &dhcpIsOn, &len, (unsigned char *)&ipV4) == 0) {
            Display_printf(display, 0, 0, "CC32XX has connected to AP and acquired an IP address.\n");
            Display_printf(display, 0, 0, "IP Address: %ld.%ld.%ld.%ld\n",
                           SL_IPV4_BYTE(ipV4.Ip, 3), SL_IPV4_BYTE(ipV4.Ip, 2),
                           SL_IPV4_BYTE(ipV4.Ip, 1), SL_IPV4_BYTE(ipV4.Ip, 0));
        }
    
    }

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

    您好!

    否 这是不正确的。 NWP 确实支持点对点连接。 这意味着您不能调用与 PPP 连接相关的任何 sl_ API 调用。

    您需要选择支持 PPP 的第三方 TCP/IP 堆栈(例如 LwIP、NETX 等)并自行将其集成到应用处理器中。

    1月

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

    您好!

    您能否帮助我选择具有 PPP 的第三方 LWIP、而不是串行堆栈? 我在下面提供了一条建议、请检查它是否是最佳选择。

    lwip/doc/ ppp.txt at master lwip-tcpip/lwip··gitHub

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

    您好!

    很抱歉、我不是 LwIP 协议栈 PPP 实施的专家。 许多年前、我创建了自己的 PPP 协议实施。 这意味着我知道 PPP 和其他支持协议(PAP/CAP、IPCP)是如何工作的、但没有关于如何与 LwIP 配合使用的专业知识。

    您过去说过您在 ESP 中使用了 PPP。 这意味着您已经在 ESP 中使用了带有 PPP 的 lwIP。

    1月

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

    您好!

    ESP-IDF 使用开源 lwIP 轻量级 TCP/IP 堆栈。 在 lwIP (esp-lwip)的 ESP-IDF 版本中、包括了一些修改、如用于 ESP 硬件特定用途的 spesignif 组件、这有助于 PPP 的实施。 使用 CC3220、我们是否使用 lwIP 轻量级 TCP/IP 堆栈?

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

    您好!

    否 CC3220在 NWP (网络协处理器)上有自己的 TCP/IP 堆栈。 与此 TCP/IP 的接口是 SL_ API 调用。 该 NWP 实施不支持 PPP。 但没有什么能阻止您在应用程序处理器上运行自己的 TCP/IP 堆栈、而不支持 PPP。 可以使用 IwIP、NETX 或其他 TCP/IP 堆栈。 选择由您决定...

    1月

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

    您好!

    "SimpleLink MSP432E4 SDK (适用于 MSP432E4 MCU)附带了 lwIP TCP/IP 协议栈(./source/third_party/lwip)和示例(./examples/nortos/MSP_EXP432E401Y/lwip)。"

    我可以将此 LWIP 用于我的应用吗?

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

    您好!

    也许吧。 我没有这种方法的经验。

    1月

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

    您好!

    是否有其他专家了解这种方法?

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

    您好!

    我们过去使用的是 LwIP、而不是内部网络协议栈、但尚未使用 PPP (不确定 LwIP 是否有 PPP)。

    但是、TI 不支持外部网络栈的移植和集成。

    此致、

    Shlomi

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

    您好!

    我自己集成了第三方 LWIP、在构建以下项目时遇到一些链接错误。

    l"ti/devices/cc32xx/driverlib/ccs/Release/driverlib.a" -llibc.a 
    <Linking>
     
     undefined     first referenced   
      symbol           in file        
     ---------     ----------------   
     dns_getserver ./pppos_example.obj
     ip4addr_ntoa  ./pppos_example.obj
     ppp_connect   ./pppos_example.obj
     pppos_create  ./pppos_example.obj
     sio_open      ./pppos_example.obj
     sio_write     ./pppos_example.obj
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "power_measurement_CC3220SF_LAUNCHXL_freertos_ccs.out" not built
     
    >> Compilation failure
    makefile:153: recipe for target 'power_measurement_CC3220SF_LAUNCHXL_freertos_ccs.out' failed
    gmake[1]: *** [power_measurement_CC3220SF_LAUNCHXL_freertos_ccs.out] Error 1
    makefile:146: recipe for target 'all' failed
    gmake: *** [all] Error 2



    我将在 Project Properties→Build→Compiler→Include Options and Project Properties→Build→Linker→File Search Path 中添加文件路径、但仍然收到错误。 有人知道如何解决此问题吗?


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

    您好!  
    今天是否有更新?

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

    您好!

    您遇到链接问题。 它可能与包含文件、路径或其他内容有关。 谁知道...

    这将由您来决定发生了什么。 第一步、您需要了解第三方 TCP/IP 堆栈的结构。 之后即可开始解决所有问题。

    过去、我将 SNMP (v1、v2、v3)代码从 LwIP 移植到 CC3220。 这不是一项艰苦的工作,但你肯定需要知道你在做什么。

    BTW ...您使用的是什么型号的 GSM 调制解调器?

    1月

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

    您好!

    我们正在将 SIM7600G-H 用于 GSM 调制解调器应用。
    我正在将 MSP432E4 MCU SDK 中的 LWIP 库作为第三方 LWIP 集成到 CC3220 SDK 中。 我的目标是通过添加与`/examples/nortos/MSP_EXP432E401Y/lwip/ethernet-based_io_control`项目完全相同的项目路径位置来开发 PPPOS 示例代码、但是我遇到了前面提到的一些链接错误。

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

    您好!

    我不明白你的方法。 选择更难的实施方式的要点是什么? SIMCom 调制解调器支持 TCP/IP over AT 命令。 与将采用 PPP 的 TCP/IP 堆栈移植到 CC32xx 相比、利用此功能将容易得多。

    1月

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

    您好!
    我们的云平台是 Azure 物联网集线器、我们正在利用 azure_cc32xx_4_10_01_01 SDK 进行云连接和器件消息传递。 因此、在这种情况下基于 AT 命令的 TCP/IP 是不可行的、我们应继续在 CC3220上集成 PPP。

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

    您好!

    你真的确定吗? 真的吗? 我看不出有什么原因会阻止您使用 TCP/IP over AT 命令与物联网集线器进行通信。 SIM7600甚至支持 TLS 1.2、HTTPS 和 MQTT。 物联网集线器确实支持 MQTT 和 HTTPS。 通过 HTTPS 将数据发送至物联网集线器大约需要几行 AT 命令。

    1月

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


    您好!

    为困惑道歉。 我们的工程几乎完成、使用了 Azure MQTT 示例代码(Azure SDK)、HTTP_GET (CC32XX SDK)和具有 WiFi 连接的 CLOUD_OTA (CC32XX SDK)。 GSM 调制解调器用作远程区域的备用互联网连接。 在 AT 上采用 TCP/IP 时、我会移植所有代码、从而使 PPP 实现成为最简单的方法。 我是对吗?

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

    您好!

    这取决于您的确切需求。 如果您需要通过 GSM 使用多个套接字、我会说使用 PPP。 但如果您只需要使用 GSM 与物联网集线器连接、我预计在 AT 上使用 TCP/IP 会更简单。 问题将是 WiFi 和 GSM 将连接在一起的位置。 它可以连接到 TI MQTT 库上方或 slNet 层(例如 MSP432通过以太网和 WiFi 实现的)。

    1月

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

    您好!

    在我们的项目中、GSM 连接仅在偏远地区使用、而 Wi-Fi 则在其他地区更受欢迎。 该项目不支持 Wi-Fi 和 GSM 连接、需要为 MQTT、HTTPS 和 OTA 更新提供多个套接字连接;因此、PPP 会是更好的选择、对吗?

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

    您好!

    使用 TCP/IP over AT 命令同时使用多个套接字可能会有点棘手。

    我不能说哪一种方式会更适合你。 这将取决于你的经验和喜好。

    1月

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

    尊敬的
    您之前提到将 SNMP 代码从 LWIP 移植到 cc3220。 请与我分享一下吗? 我目前在编写 sys_arch 源文件以进行第三方 LWIP 集成方面面临挑战。 非常感谢您的帮助。

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

    您好!

    很抱歉、我无法分享我的代码。 但如果你描述你的问题,我会尽力帮助你。

    将 SNMP 协议栈从 LwIP 移植到 CC3220时的主要问题是重写 pbuf 包装器(snmp_pbuf_stream.c/.h)以与 CC3220兼容。 另一个挑战是 SNMP 表在 LwIP 下工作、针对 SNMPv3的硬件加速器集成。

    1月

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

    您好!
    好的、我明白了。 您能否至少分享您使用的 LWIP 版本? 我正在利用此 LWIP 库进行 PPP 集成、目前遇到 sys_arch 中的块。

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

    您好!

    我只移植了 SNMP、这允许我从其他 LwIP 代码中删除深层依赖关系。 这主要是通过 pbuf 层实现的(从 LwIP 插座的圆形缓冲器更改为 CC3220的线性插座缓冲器)。 这使我不会陷入 LwIP 依赖的陷阱。 在我的项目中、我使用 LwIP 中的 SNMP、而不是整个 LwIP 协议栈。

    我从 LwIP 版本2.1.3开始、但我已经移植了 LwIP bugtrack 中的所有更改。 因此、我的 SNMP 代码与2.2.0完全相同。

    1月

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

    您好!

    感谢您的答复。 我已在 cc3220上有效禁用第三方 LWIP 集成。 当前是否有任何讨论或线程可解决该方法问题?

    谢谢你。

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

    您好!

    我不明白您的问题。 但是、如果您需要的线程讨论了如何将 CC32xx 与第三方 TCP/IP 堆栈集成、我记得以前的几个类似线程。 但我现在无法找到它们。

    1月