野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8580|回复: 1

基于4G网卡的Telnet远程登录RT-Thread的Finsh/MSH Shell

[复制链接]
发表于 2020-4-7 22:52:20 | 显示全部楼层 |阅读模式

准备工作:
         硬件:
1.     imx-rt1021野火开发板;
2.     野火EC20模块;
3.     云服务器ECS(具有公网IP,我这里用阿里云服务器)。
软件:
1.     RT-Thread操作系统在开发板上移植完成;
2.     EC20 USB驱动移植完成;
3.     PPP和LwIP移植完成;
4.     开发板上telnet驱动移植完成(跟RT-Thread软件包netutils源码略有不同);
5.     无线网卡设备远程登录Telnet专用上位机(我自己移植编写的)。
步骤一:
启动开发板,连接好EC20模块和调试串口。

开发板与4G网卡

开发板与4G网卡

步骤二:
在开发板上进行PPP拨号,如果获取到IP则认为拨号成功:

PPP拨号

PPP拨号
步骤三:
在阿里云服务器打开Telnet工具(实际上是一个TCP服务器):

telnet工具

telnet工具
步骤四:
在开发板进行请求与服务器进行telnet连接,输入telnet_server,可以已经进入telnet状态。

打开开发板telnet

打开开发板telnet
步骤五:
在服务器上可以看到以下熟悉的欢迎界面,后面服务器上就可进行开发板的命令交互了。

成功远程登录

成功远程登录
比如输入help

命令测试

命令测试
比如输入pingifconfig命令,有没有一种爽的感觉。它确实香。

命令测试1

命令测试1
移植部分的简略说明:
         RT-Thread系统:没什么可说。
         EC20 USB驱动:
-       参考NXP官方SDK在imx-rt1052/1021 USB CDC Host驱动进行移植;
-       参考《Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8》进行移植。
LwIP没什么好说的;
PPP部分:
-       参考linux PPP拨号流程进行文件式配置拨号优化,以更加方便地支持不同厂商的网卡。
开发板Telnet-TCP客户端:(这样称它以免与熟悉的Telnet客户端进行概念混淆):
-       参考RT-Thread官方的IoT软件包netutils中telnet
-       因为官方是telnet以TCP服务器形式进行连接的,但是如果使用4G网卡上网一般来说在外网是无法连接它的。(我试过不行,行的话可以告诉我哈)。
-       因此要讲telnet TCP服务器形式改成TCP客户端形式;
云服务器Telnet-TCP服务端:
-       我这里的Telnet代码参考:linux中的busybox的telnet代码;
-       当然telnet的连接将原本的TCP客户端连接改为TCP服务器连接;
-       目前我这个工具仅支持windows,实现socket和命令行数据监听时,我还参考了dengyejing的代码https://blog.csdn.net/dengyejing/article/details/678444.
整体感觉:效果还算不错,细节还需要继续优化。移植细节这里先不说了,已经很久没有写帖子了。

回复

使用道具 举报

发表于 2020-4-10 19:46:09 | 显示全部楼层
顶,工程可以分享下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-26 03:47 , Processed in 0.032227 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表