級工程師都在用的usb轉rs232串口線,到底有什么不一樣?
① 帝特usb轉rs232串口線應用各行各業超過20年,產品經過20多年的更新迭代以及市場的考驗,品質值得信賴。
② 強悍雙芯,高效傳輸。搭載英國進口FTDI-FT232RL+美國SP213專業級雙芯片,兼容性強,高速穩定,數據傳輸安全不丟失,耐用十年。
③ 抗干擾,信號更穩定。內部選用24WG加粗80編加粗鍍錫銅芯,內外緊密屏蔽,全方位加強抗電磁干擾,外加多層屏蔽,工業級標準環保用料,用料足,明明白白看得見的品質,信號傳輸更穩定。
④ 高速波特率,快人一步。數據通訊波特率范圍300bps-460800bps,不用擔心傳輸速率不夠。
⑤ 內置三種數據指示燈。接上電腦時,紅色電源燈常亮,當通訊正常時,綠色指示燈閃爍代表發送數據,黃色指示燈閃爍代表接收數據,方便工程師檢查工作狀態。
⑥ 支持多系統兼容。Win8/10/Linux系統免驅,支持Win11,即插即用提供掃碼卡驅動和安裝說明書,一鍵安裝,省心省事。(Ps:win8/win10有網自動更新驅動、Linux4.0以上免驅,因電腦和系統版本有一定差異,在沒有自動更新驅動的情況下,需要手動安裝驅動使用,其它系統需要安裝驅動。)
⑦ 帶指示燈方便檢修調試,工程師極力推薦產品。兼容三菱、西門子、臺達、歐姆龍等PLC編碼,傳輸穩定不亂碼,即時通,不適時,不丟包。
⑧ 計量稱重,高效收銀。電腦連接收銀機或電子秤,讀取迅速不卡頓,結賬不等待。
⑨ 多設備適用,滿足不同需求。適用于電腦連接各種RS232串口設備。(如:收銀機、數控機床、PLC(三調...….)、電子秤、門禁系統、外置modem、稅控機、掃描儀、溫濕度傳感器、收費站、編程機、工業控制機、水電表、觸摸屏、LED顯示屏等)
⑩ 強悍性能,更多技術支持:全自動握手協議、10000次搖擺測試、電源管理、遠程喚醒、72小時老化測試、30KG拉力測試。
? 雙重認證品質保證。通過CMA/CNAS/CE認證,經過嚴格質量檢測,看得見的專業。
Node-Red是一個流行的基于Node的JavaScript工具庫,可以使用圖形化的方法快速進行JavaScript項目開發,用于網站、物聯網項目等不同場景。對于習慣LabVIEW一類圖形化編程語言的用戶,或者并非軟件專業的工程師與愛好者而言,是一個唄用于項目開發的非常方便的工具。Node-Red的開發需要依賴Node環境,因此,無論在Windows下還是Linux系統中,都需要安裝Node作為基礎。
Arduino是應用非常廣泛的開源物聯網開發平臺之一, 在Node-red中可以通過幾個不同的發行包來連接Arduino,直接以圖形化的方式進行物聯網項目開發。
目前大部分公開資料中關于Windows下安裝Docker的說明都是過期的,舊版Docker的安裝需要啟用HyperV虛擬機,而新版的Docker對Windows的支持已經要友好許多,Windows 10專業版和企業版可以直接安裝桌面版的Docker,家庭版的Windows則需要啟用WSL2功能來進行安裝。Windows10專業版和企業版安裝Docker的步驟可參見,Windows家庭版安裝步驟同樣在Docker官網的 中可以看到。
一般來說,在國內由于網絡環境的原因,需要配置Docker倉庫鏡像為國內鏡像,以提高鏡像下載速度。提供了基于Docker安裝與使用Node-Red的方法。電腦中安裝Docker后,可在終端運行以下命令來運行Node-Red。為了實現運行數據的持久化,在硬盤中新建文件夾(此處為D:\dockerdata\node_red_data)用于存儲Docker數據。也可以使用docker create volume node_red_data在Docker默認的存儲路徑中創建卷node_red_data來存儲數據。
docker run -it -p 1880:1880 -v D:\dockerdata\node_red_data:/data --name mynodered nodered/node-red
以上命令各參數含義如下:
docker run //新建并運行一個Docker容器
-it //給容器附著一個終端,用以監視容器的運行狀況
-p 1880:1880 //將宿主機的1880端口(前一個)映射到容器內部的1880端口
-v D:\dockerdata\node_red_data:/data //將外部存儲數據卷映射為內部/data。以實現數據存儲持久化
--name mynodered //為容器命名
nodered/node-red //用于建立容器的鏡像(image) ,如果本地沒有該鏡像,則從Docker倉庫下載一個
--device=/dev/ttyS0 //將外部串口ttyS0映射給Docker鏡像,該命令在Windows版Docker下不可用
在創建完容器后,以后可以用以下命令管理容器:
docker start mynodered //啟動mynodered容器
docker stop mynodered //停止mynodered容器
docker attach mynodered //為mynodered容器附著一個終端
docker rm mynodered //刪除mynodered容器
docker pull nodered/node-red //拉去一個node-red鏡像。如果要升級容器鏡像,可以執行本命令拉取并重新生成容器
nodered啟動后,打開瀏覽器輸入localhost:1880即可打開nodered編輯界面開始程序設計。
在windows下直接安裝node-red,需要先安裝nodejs。在windows下可以通過下載官網安裝包或通過nvm-windows安裝。安裝完nodejs后,可以通過運行以下命令安裝node-red:
npm install -g --unsafe-perm node-red
注意: 上述命令中的--unsafe-perm參數,是為了保證npm的運行權限。出于安全考慮,npm默認不支持以 root 用戶(或windows管理員)運行,即使你用 root 用戶身份運行了,npm 也會自動轉成一個叫 nobody 的用戶來運行,而這個用戶幾乎沒有任何權限。這樣的話如果你腳本里有一些需要權限的操作,比如寫文件(尤其是寫 /root/.node-gyp),就無法執行。為了避免這種情況,要么需要專門建一個用于運行 npm 的高權限用戶;要么加 --unsafe-perm 參數,保證運行時的用戶和npm用戶一致,而不會切換到 nobody 上。
安裝完成后,打開終端,運行node-red即可啟動nodered。nodered啟動后,打開瀏覽器輸入localhost:1880即可打開nodered編輯界面開始程序設計。
注意:如果node是使用nvm-windows進行安裝的,可能在運行node-red時會由于缺少settings.js文件而無法啟動的錯誤。這是由于系統未下載安裝該文件造成的。需要下載settings.js文件,并復制到C:\Users\<用戶名>\.node-red文件夾下。
Windows10提供了功能非常強大的WSL功能,可以兼容各種主要發行版本的Linux,以Ubuntu18.04為例,在使用nvm安裝了node之后,可以通過以下命令來安裝并運行node-red。
npm install -g --unsafe-perm node-red
node-red
nodered啟動后,打開瀏覽器輸入localhost:1880即可打開nodered編輯界面開始程序設計。
Windows版本的Docker不支持訪問串口,這在Docker官方項目的Issue中以及Docker官方論壇多個主題下已經經過反復討論,截止目前,Docker的Windows版本也暫時并沒有支持串口和USB等外部設備的計劃,因此,對于在Windows下通過Docker安裝的Node-Red,目前是沒有辦法訪問串口的。如果是Linux下運行Docker,則可能通過前節的--device參數將串口提供給Docker容器進行操作。
在Windows或者WSL(或者Ubuntu系統)下,要使用Node-Red通過串口連接Arduino,需要先安裝相應的包,在Node-red下安裝附加包,一種方式是通過編輯界面菜單選擇節點管理,然后在安裝界面搜索需要的包(如下圖)。另外一種則是在在nodered的安裝目錄下運行安裝命令npm install <安裝包名稱>來進行軟件包安裝。
連接Arduino常用的包有兩個,一個是node-red-node-arduino,另一個是基于流行的johnny-five包的npm install node-red-contrib-gpio。在WSL或者Ubuntu等linux發行版中,按照上述兩種方式中的任一種進行安裝即可。
在windows下,需要先安裝windows-build-tools,否則可能出現node-gyp rebuild error編譯錯誤導致軟件包安裝無法完成。windows-build-toos的安裝,需要在windows下以管理員權限運行PowerShell,并在PowerShell中輸入以下命令:npm install --global --production windows-build-tools@4.0.0,等待系統下載并安裝python,jvm等編譯器即可。這里指定windows-build-tools版本為4.0.0是因為該版本是目前測試可用的,其他版本可能造成一些不穩定。
除了該命令外,github上也有手動進行編譯環境搭建的方法(沒有測試):
1.輸入python --version檢查系統路徑中是否有安裝python,以及python的版本
2.下載并安裝python2.7 并進行安裝,將python2的路徑添加的環境變量中
3.檢查并安裝 .NET 4.5.1+
4.下載并安裝Visual C++ Build Tools 2015 ,安裝Window 8.1或Windows 10 SDK。
5. 配置npm 參數 msvs_version 為2015: npm config -g set msvs_version 2015
要使用Node-red通過串口操作Arduino,首先需要通過Arduino官方IDE下載Firmate固件到Arduino中。在Arduino官方IDE中打開示例,Firmate中的StandardFirmate并上傳到Arduino班子中。這樣Arduino即具備了通過串口遠程操作的條件。
安裝完node-red-node-arduino包后,可導入官方的節點示例文件:
[{"id":"d7663aaf.47194","type":"arduino-board","device":""},{"id":"dae8234f.2517e","type":"inject","name":"0.5s tick","topic":"","payload":"","payloadType":"date","repeat":"0.5","crontab":"","once":false,"x":150,"y":100,"z":"359a4b52.ca65b4","wires":[["56a6f8f2.a95908"]]},{"id":"2db61802.d249e8","type":"arduino out","name":"","pin":"13","state":"OUTPUT","arduino":"d7663aaf.47194","x":570.5,"y":100,"z":"359a4b52.ca65b4","wires":[]},{"id":"56a6f8f2.a95908","type":"function","name":"Toggle output on input","func":"\n// If it does exist make it the inverse of what it was or else initialise it to false\n// (context variables persist between calls to the function)\ncontext.level=!context.level || false;\n\n// set the payload to the level and return\nmsg.payload=context.level;\nreturn msg;","outputs":1,"noerr":0,"x":358,"y":100,"z":"359a4b52.ca65b4","wires":[["2db61802.d249e8"]]}]
導入后節點示意如下圖,雙擊Pin13節點打開編輯界面,編輯Arduino節點,配置串口為當前連接的串口。在Windows系統下,可以通過控制面板-設備管理器看到Arduino對應的串口編號,如果該串口為COM5,則需要將端口號相應配置為COM5,在Ubuntu等Linux子系統下,一般為類似/dev/ttyUSB1或者/dev/ttyS5的形式。
注意:在Windows10內置的WSL子系統中,linux系統的串口號與Windows下一一對應,如果在Windows下看到Arduino的串口為COM5,則相應的在WSL中的地址為/dev/ttyS5。
。
在Linux或者WSL系統中,由于串口權限默認僅賦予dialout用戶組,因此,需要將當前用戶添加到dialout用戶組中,才具備操作串口的權限。使用以下命令將當前用戶添加到dialout用戶組中。adduser $(whoami) dialout。
在WSL下,可能需要修改串口文件的操作權限,如果windows下串口為COM5,則相應地:sudo chmod 666 /dev/ttyS5。
修改完成后,即可通過終端命令操作串口,或者使用node-red等軟件通過串口來操作Arduino了。