【NUC980开发板DIY项目大挑战】串口服务器
本文由RT-Thread論壇用戶@SINE_9692原創(chuàng)發(fā)布:https://club.rt-thread.org/ask/article/2476aa2ab99aee50.html
一,項目描述
有一些設(shè)備。不具備聯(lián)網(wǎng)功能。對外進油一個串口。為了讓設(shè)備能夠接入互聯(lián)網(wǎng),串口服務(wù)器是一個不錯的選擇。也有稱之為dtu的。nuc980支持網(wǎng)口,并且支持10個串口。是做串口服務(wù)器的絕佳選擇。計劃參考市場上的一些dtu,做出一個功能類似的串口服務(wù)器。
二,DIY過程
1.工程創(chuàng)建
開發(fā)工具使用rtthread stdio(2.2.3),基于開發(fā)板,選擇NK-980IOt。新安裝的需要在RT-Thread SDK管理器中安裝板卡的bsp
安裝完成后選擇基于開發(fā)板創(chuàng)建工程。如下圖所示
點擊完成。即可創(chuàng)建。
2. 工程設(shè)置以及所需軟件包添加
- 雙擊RT_Thread Setting。并點擊下圖中藍圈位置
- 在軟件包中找到webnet軟件包進行如下設(shè)置
因為我們的html頁面將放在sd卡上。所以Server root directory需要設(shè)置為
/mnt/sd1/webnet - 點擊硬件如下圖所示
板子引出了串口1,串口4和串口5.這里我們把串口1和串口4使能。使用串口1和串口4來作為串口服務(wù)器的多串口。致辭設(shè)置完畢。保存。編譯。 - 在內(nèi)存卡根目錄下創(chuàng)建webnet目錄。在webnet目錄下創(chuàng)建admin,upload,download三個目錄。并把index.html的文件放在webnet目錄下。如下圖所示
3.模塊說明
- 代碼地址
串口服務(wù)器 - 串口模塊
負責(zé)接收串口數(shù)據(jù),并轉(zhuǎn)發(fā)給與自己綁定的socket - 配置模塊
基于cjson編寫。保存串口與網(wǎng)絡(luò)的相關(guān)參數(shù) - 網(wǎng)絡(luò)模塊
負責(zé)接收網(wǎng)絡(luò)數(shù)據(jù),并轉(zhuǎn)發(fā)給與自己綁定的串口 - web模塊
提供一個可視化的配置前端
4.中間遇到問題以及解決辦法
- thread pri status sp stack size max used left tick error
這個問題是在編寫tcp server過程中遇到到。主要是由于select進行操作時,socket數(shù)值超過了設(shè)置的select最大的socket嵌套字導(dǎo)致的。只要注意在select函數(shù)第一個參數(shù)比所有需要監(jiān)聽的scoket都大就行了。
- 文件操作失敗
文件存放在sd卡上,這個問題是main函數(shù)執(zhí)行時。sd卡還沒掛載導(dǎo)致的。在main函數(shù)前面增加一個500ms的延時就可以了。可能更短也行。沒試。
5.前端頁面操作說明
因為我的前端水平不高。所以做的很low,只用到了超鏈接,文本框和按鈕。操作很簡單??匆谎劬兔靼?。貼圖如下。
三,心得體會
首先感謝rtthread這次活動。這次在做這個小東西的過程中,深刻體驗到的rtthread的便利。好多軟件包開箱即用,大大縮短了開發(fā)時間。這次這個小項目做的也很倉促,可能有很多不太完善的地方,后面看大家的反饋在完善吧。
四,拍個小視頻
9daa05b276a7e6af781d135d5fc76ff7.mp4
總結(jié)
以上是生活随笔為你收集整理的【NUC980开发板DIY项目大挑战】串口服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电信运营商移动互联网发展分析
- 下一篇: Unity webGl 鼠标手指触屏控制