目录
简介
本文将使用 HMI Board 完成 TCP ECHO 服务器的搭建。得益于 RT - Thread 完善的设备驱动与其强大的软件包生态,此次开发完全做到0代码,并且可以在极短的时间内完成。
开发环境
- RT - Thread Studio
- RT - Thread 5.0.0
- HMI - Board SDK 1.0.3
- PyOCD 0.2.0
准备工作
在开始开发前请确保开发环境中的资源已经安装好,并且能够对 HMI - Board 的模板工程进行编译下载与运行。若编译出现问题请确保各环境版本与上文一致,或向 RT - Thread 社区寻求帮助。
使用到的软件包
- RW007 V2.1.0
- net_server V1.0.2
开始
创建工程
1. 使用 RT-Thread Studio 新建 RT-Thread 项目
2. 选择基于开发板,并且选择 HMI-Board 创建一个模板工程,具体参数如下:
3. 点击完成,此时我们可以获得一个可以编译下载的基础工程,尝试编译工程,成功后即可进行下一步。
软件包配置
基础工程创建成功后,我们需要添加WIFI功能(RW007)及TCP服务器(NET_SERVER)功能。首先进入 RT-Thread Settings 界面:
添加 RW007
1. 点击 RT-Thread Settings 界面右侧的 “详细” 按钮进入 “硬件” 选项卡:
2. 点开 Board extended module Drivers 一栏,勾选 Enable RW007,保持默认设置:
3. 点击左侧返回按钮返回主界面:
此时我们看到主界面已加入 RW007 软件包:
4. 点击 rw007 卡片的 配置项:
选择版本号为v2.1.0,并且在 example driver port 一栏中选择 not use example driver, porting by myself (此处BSP已为我们移植好,无需再自己移植):
至此,RW007所有功能配置完毕,点击 返回 退回到主界面,准备下一个软件包的添加。
添加 NET_SERVER
1. 点击 RT-Thread Settings 主界面的添加软件包,在弹出的页面中搜索 net_server 并点击软件包卡片上的 添加 按钮:
2. 返回主界面进入 net_server 配置项界面(方法同RW007),勾选 Use TCP Server example :
3. 此时该软件包配置完成。按下 CTRL+S 保存软件包设置。此时 RT-Thread Studio 会自动下载刚才选择的软件包并且配置到我们的工程中:
编译下载及运行
1. 配置完软件包后点击编译
等待编译完成
2. 编译完成后连接开发板,点击下载。(注意下载可能有点慢,请耐心等待)
效果演示
1. 下载完成后打开串口终端,输入 wifi join [SSID] [password] 连接上WIFI:
2. 输入 ifconfig 查看当前网络信息:
图中 w0 的 ip 地址就是我们一会需要连接的IP。
3. 输入 tcp_server_init 打开 net_server 的 echo server 例程:
此时我们的服务器就在 3333 端口上启动了。
4. 打开网络调试助手,选择 TCP Client 连接 HMI-Board。在本例中即 192.168.8.199:3333(注意需要确保电脑与开发板连接的是同一个WIFI):
点击连接后可以看到终端输出了连接信息:
此时说明连接已经建立。
5. 此时点击发送,可以看到接收框中会返回我们发送的信息,并且下方的发送计数与接收计数相同,说明 TCP Echo Server 运行正常 :
6. echo server 默认的心跳超时时间为1分钟,一分钟后不发送任何信息我们可以看到终端提示断开连接:
至此所有功能演示完毕。
本章完结。