您好!
LAUNCHCC3220MODASF:使用 CC3220 Launchpad 实现 GSM 通信- Wi-Fi 论坛- Wi-Fi - TI E2E 支持论坛
这是我之前对 GSM 集成的讨论
我想使用 GSM 调制解调器通过 PPP 建立次要互联网连接。 这可以通过使用网络服务上的 Tcpecho 示例代码来实现吗?
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:使用 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
您好!
今天是否有更新?
您好!
您遇到链接问题。 它可能与包含文件、路径或其他内容有关。 谁知道...
这将由您来决定发生了什么。 第一步、您需要了解第三方 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月
尊敬的 Jan D:
您之前提到将 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月