乐趣区

关于人工智能:NUC980开发板DIY项目大挑战串口服务器

本文由 RT-Thread 论坛用户 @SINE_9692 原创公布:https://club.rt-thread.org/as…

一,我的项目形容

有一些设施。不具备联网性能。对外进油一个串口。为了让设施可能接入互联网,串口服务器是一个不错的抉择。也有称之为 dtu 的。nuc980 反对网口,并且反对 10 个串口。是做串口服务器的绝佳抉择。打算参考市场上的一些 dtu,做出一个性能相似的串口服务器。

二,DIY 过程

1. 工程创立

开发工具应用 rtthread stdio(2.2.3),基于开发板,抉择 NK-980IOt。新装置的须要在 RT-Thread SDK 管理器中装置板卡的 bsp

装置实现后抉择基于开发板创立工程。如下图所示

点击实现。即可创立。

2. 工程设置以及所需软件包增加

  • 双击 RT_Thread Setting。并点击下图中蓝圈地位
  • 在软件包中找到 webnet 软件包进行如下设置

    因为咱们的 html 页面将放在 sd 卡上。所以 Server root directory 须要设置为
    /mnt/sd1/webnet
  • 点击硬件如下图所示

    板子引出了串口 1,串口 4 和串口 5. 这里咱们把串口 1 和串口 4 使能。应用串口 1 和串口 4 来作为串口服务器的多串口。致辞设置结束。保留。编译。
  • 在内存卡根目录下创立 webnet 目录。在 webnet 目录下创立 admin,upload,download 三个目录。并把 index.html 的文件放在 webnet 目录下。如下图所示

3. 模块阐明

  • 代码地址
    串口服务器
  • 串口模块
    负责接管串口数据,并转发给与本人绑定的 socket
  • 配置模块
    基于 cjson 编写。保留串口与网络的相干参数
  • 网络模块
    负责接管网络数据,并转发给与本人绑定的串口
  • web 模块
    提供一个可视化的配置前端

4. 两头遇到问题以及解决办法

  • thread pri status sp stack size max used left tick error

这个问题是在编写 tcp server 过程中遇到到。次要是因为 select 进行操作时,socket 数值超过了设置的 select 最大的 socket 嵌套字导致的。只有留神在 select 函数第一个参数比所有须要监听的 scoket 都大就行了。

  • 文件操作失败
    文件寄存在 sd 卡上,这个问题是 main 函数执行时。sd 卡还没挂载导致的。在 main 函数后面减少一个 500ms 的延时就能够了。可能更短也行。没试。

5. 前端页面操作阐明

因为我的前端程度不高。所以做的很 low,只用到了超链接,文本框和按钮。操作很简略。看一眼就明确。贴图如下。

三,心得体会

首先感激 rtthread 这次流动。这次在做这个小东西的过程中,粗浅体验到的 rtthread 的便当。好多软件包开箱即用,大大缩短了开发工夫。这次这个小我的项目做的也很仓促,可能有很多不太欠缺的中央,前面看大家的反馈在欠缺吧。

四,拍个小视频

9daa05b276a7e6af781d135d5fc76ff7.mp4

退出移动版