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

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

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

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

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

比如输入help:

比如输入ping和ifconfig命令,有没有一种爽的感觉。它确实香。

移植部分的简略说明:
RT-Thread系统:没什么可说。
EC20 USB驱动:
- 参考NXP官方SDK在imxrt1052/1021 USB CDC Host驱动进行移植;
- 参考《Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8》进行移植。
LwIP:没什么好说的;
PPP部分:
- 参考linux PPP拨号流程进行文件式配置拨号优化,以更加方便地支持不同厂商的网卡。
开发板Telnet-TCP客户端:(这样称它以免与熟悉的Telnet客户端进行概念混淆):
- 参考RTThread官方的IoT软件包netutils中telnet
- 因为官方是telnet以TCP服务器形式进行连接的,但是如果使用4G网卡上网一般来说在外网是无法连接它的。(我试过不行,行的话可以告诉我哈)。
- 因此要讲telnet TCP服务器形式改成TCP客户端形式;
云服务器Telnet-TCP服务端:
整体感觉:效果还算不错,细节还需要继续优化。移植细节这里先不说了,已经很久没有写帖子了。
服务端代码:https://download.csdn.net/download/sdewenking/13683530 |