大家好、
客户使用 simplelink_msp432e4_sdk_4_20_00_12 SDK、并希望启用 telnet 功能。 如何配置 IP、端口等 ?
您能帮助检查这个问题吗?
谢谢。此致、
本
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.
大家好、
客户使用 simplelink_msp432e4_sdk_4_20_00_12 SDK、并希望启用 telnet 功能。 如何配置 IP、端口等 ?
您能帮助检查这个问题吗?
谢谢。此致、
本
您好!
我们尚未准备好使用 telnet 示例、但我发现该线程对如何为 NDK 设置 telnet 很有帮助。 https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/726448/ccs-msp432e401y-configure-telnet-services-using-udpecho-sample-code-with-static-ip
您好!
添加 Telnet 非常简单、但有几个技巧!
我从用于 TI RTOS 的"可移植"示例项目开始、然后在 http 演示项目中添加了网络堆栈。 更容易从一个使用网络的示例项目开始、并去除您不需要的位。 然后、只需点击 syscfg GUI 工具中的 Telnet 以添加整个实现。
为 Telnet 添加服务报告回调函数-来自 httpsrvBasicHooks.c 的实现也与 HTTP 演示相吻合。 您可能需要在服务报告功能中编辑名称表,因为它可能不知道 Telnet。
此时,它应该会编译并运行,但 Telnet 服务无法启动。 您需要交换库。 默认情况下、大多数样本使用 netctrl_min_ipv4.aem4f。 该最低版本的库具有许多高级功能-例如 Telnet -已被去除。 只需从名称中删除_min。 我发现在 CCS 项目窗口中编辑库名称把库移到了库的长列表的末尾,之后它不会链接! 只需关闭 CCS、使用文本编辑器编辑项目文件并重新启动。
它现在应该会构建并运行并报告
服务状态:Telnet:已启用::000
我使用配置了连接类型为"其他"- Telnet、端口23的 Putty。
键入 A "?" 并出现 Telnet 菜单。
希望这对您有所帮助。
吉姆
如果您是指服务报告回调、我只需调整一下其他 TCP 演示中的那个:
/**@简短的服务报告回调。
*
*可以设置为 GUI 中定义的各种网络配置操作的回调。
*/
void serviceReport (uint32_t item、uint32_t status、uint32_t report、void *h)
{
Static char * TASKNAME[]={"Telnet"、""、"NAT"、"DHCPS"、"DHCP"、 "DNS"};
Static char * reportStr[]={""、"running "、"updated"、"complete"、"Fault"};
Static char * statusStr[]={"Disabled"、"Waiting "、"IPTerm"、"failed"、"Enabled"};
Display_printf (DISPLAY、0、0、"服务状态:%-9s:%-9s:%-9s:%03d\n"、
TASKNAME[item - 1]、statusStr[status]、reportStr[report /256]、
报告和0xFF);
/*报告常见系统问题*/
如果((Item === CFGITEM_SERVICE_DHCPLIENT)&&
(STATUS = CIS_SRV_STATUS_ENABLED)&&
(REPORT & NETTOOLS_STAT_FAULT){
display_printf (display、0、0、"DHCP Client 初始化失败;check your network。\n");
while (1);
}
}
您好、Jim、
PC 似乎可以成功链接到器件、但器件无法启用 Telnet 服务。 我在 Wndows 终端中输入"telnet 192.168.1.100 1000",如 picture_1。

按 Enter 键后、它将如 PICTURE_2中所示。

在整个过程中、我使用 Wireshark 工具捕获数据包、结果显示为 PICTURE_3。 请帮助检查它。
![]()
我的 PC IP 为192.168.1.20、器件 IP 为192.168.1.100。 Telnet 端口号为1000。
谢谢~
啊、我可以明白您可能希望它起作用的原因、但是:
在首次分配 IP 地址时,许多示例项目都使用 netIPAddrHook ()以硬编码端口号启动网络任务。
Telnet 是一种服务、因此启动方式有所不同。 当您在 syscfg GUI 中检查 Telnet 时、会将以下代码添加到生成的代码文件 ti_ndk_config.c 中 此处、端口号(telnet.param.Port = 23;)根据 GUI Telnet 设置中的端口参数生成。
/*
*=========== TI_NDK_CONFIG_Telnet_init ===
配置并初始化 Telnet 服务器
*/
extern socket ConsoleOpen (struct sockaddr *pSinClient);静态 void ti_ndk_config_telnet_init (void *hCfg)
{
CI_SERVICE_Telnet 远程登录;/*为 Telnet 实例指定 Telnet 服务:CONFIG_telnetes_0 */
/*注意! 应用程序必须提供与该原型相匹配的服务报告功能! */extern void serviceReport (uint32_t item、uint32_t status、
uint32_t report、void *h);memset (&telnet、0、sizeof (telnet));
Telnet.cisargs.Mode = CIS_FLG_CALLBYIP;
telnet.cisargs.ipaddr = inet_addr ("0.0.0.0");
Telnet.cisargs.pCbSrv = serviceReport;
Telnet.param.MaxCon = 8;
Telnet.param.Port = 23;
Telnet.param.Callback =&ConsoleOpen;CfgAddEntry (hCfg、CFGTAG_SERVICE、CFGITEM_SERVICE_Telnet、0、sizeof (telnet)、 (unsigned char *)&telnet、0);
}
如果你编辑这个,它会被覆盖,但我建议坚持23 ,至少直到你得到一些工作.
如果您已将服务报告功能添加到 Telnet 设置中(如我昨天发布的示例)、您应该会看到有关 Telnet 的一些消息(启用或失败)。 在报告"已启用"之前、您将无法连接。
此致
吉姆
我看不到任何文档!
该示例在 C:\ti\simplelink_msp432e4_sdk_4_20_00_12\source\ti\ndk\tools\console\controlL.c 中使用库函数
该函数的顶部只有一个基本注释:
/*------------------ */
/* ConsoleOpen()*/
/*启动与指定客户端的控制台连接*/
/*出错时返回本地套接字或 INVALID_SOCKET */
/*------------------ */
Socket ConsoleOpen( struct sockaddr *pClient )
我想就是这样!