【NUC980开发板DIY项目大挑战】串口服务器
本文由RT-Thread论坛用户@SINE_9692原创发布:https://club.rt-thread.org/ask/article/2476aa2ab99aee50.html
一,项目描述
有一些设备。不具备联网功能。对外进油一个串口。为了让设备能够接入互联网,串口服务器是一个不错的选择。也有称之为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
【NUC980开发板DIY项目大挑战】串口服务器相关推荐
- NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号
NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号 1. EC20模块连接 2. Linux内核配置 3. 交叉编译PPP 4. 拨号脚本 5. 进行拨号 1. EC20模块连接 在 ...
- proteus仿真micropython_[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
一.准备工作 üTurnipBit 开发板 一块 ü下载数据线 一条 ü微型步进电机(28BYJ-48) 一个 ü步进电机驱动板(ULN2003APG) 一块 ü光敏传感器 一个 üTurnipBit ...
- [MicroPython]TurniBit开发板DIY自动窗帘模拟系统
一.准备工作 üTurnipBit 开发板 一块 ü下载数据线 一条 ü微型步进电机(28BYJ-48) 一个 ü步进电机驱动板(ULN2003APG) 一块 ü光敏传感器 一个 üTurnipBit ...
- MicroPython开发实例之TurniBit开发板DIY自动窗帘模拟系统
2019独角兽企业重金招聘Python工程师标准>>> 一.准备工作 üTurnipBit 开发板 一块 ü下载数据线 一条 ü微型步进电机(28BYJ-48 ...
- 超便利!教你用ESP32开发板DIY掌上网页服务器!
本文作者:默.默是铁熊的创客好友,经常与铁熊分享创意项目. 前段时间有个老师对我说:每到开学季,学校就要印刷学生的录取名单并进行张贴,为此学校每年都要耗费大量的人力物力.学校里面教学活动很多,传统的通 ...
- JAVA窗帘_利用TurniBit开发板DIY一套自动窗帘模拟系统
一.准备工作TurnipBit 开发板 一块 下载数据线 一条 微型步进电机(28BYJ-48) 一个 步进电机驱动板(ULN2003APG) 一块 光敏传感器 一个 TurnipBit 扩展板 一块 ...
- micropython控制板_MicroPython开发实例之TurniBit开发板DIY自动窗帘模拟系统
一.准备工作 üTurnipBit 开发板 一块 ü下载数据线 一条 ü微型步进电机(28BYJ-48) 一个 ü步进电机驱动板(ULN2003APG) 一块 ü光敏传感器 一个 üTurnipBit ...
- micropython stm32f407 以太网_[MicroPython]STM32F407开发板DIY声光控开关
1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习光敏模块的工作原理. 4. 学习声音的工作原理. 5. 学习F40 7Mic ...
- [MicroPython]STM32F407开发板DIY声光控开关
2019独角兽企业重金招聘Python工程师标准>>> 1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法. 2. 进一步学习编制数据输出程序的设计方法. ...
- 在类树莓派的ARM开发板上组建大数据集群
2019独角兽企业重金招聘Python工程师标准>>> 先上效果: 这是由三块pine64+开发板搭建的mini集群,网上有用树莓派搭建Hadoop文章,不过由于树莓派的性能实在太差 ...
最新文章
- 批处理,%~d0 cd %~dp0 代表什么意思
- Redis运行流程源码解析--转载
- 【项目管理】采购管理
- CF735D-Taxes【数学,数论】
- java实现redis客户端_windows下java swt实现操作redis的客户端工具
- exc导入mysql phpcms_PHP如何将EXCEL导入MYSQL,急!!!急!!哪位大师能帮帮忙啊,给个详细代码...
- Learn For Flutter
- 如何成为一名推荐系统工程师
- 搜狗站长平台没有sitemap的接口无法提交sitemap?该怎么提交?【已解决】
- 如何申请微信公众号及使用操作方法说明
- 证明:在N维欧式空间中,两两互成钝角的非零向量不多于N+1个
- 计算机输入法如何显示在桌面快捷方式,电脑桌面输入法图标不见了怎么办
- UG8.5 正式版安装方法
- php mysqli操作数据库
- C语言中free函数如何确定释放的空间大小
- Java培训出身,今获阿里Android岗offer,大专学渣的“登天”之路!
- 简讯:明道云近期荣获的三项荣誉
- 物联网普及率目前第一是韩国
- 解析全国省市区Json数据
- 高级商务办公软件应用【8】