本文的目的是實現windows系統和虛擬機上安裝的ubuntu通過串口進行通信。為了直觀觀測串口收發數據的內容,需要在windows系統和ubuntu系統使用串口助手來進行監聽。windows系統端用的監聽工具是串口助手SSCOM,ubuntu系統端使用的串口助手是CuteCom。
ubuntu端CuteCom發送字符"1"和"2",windows端SSCOM可以接收到這兩個字符。再通過windows端SSCOM發送字符串"button_up"和"button_down",ubuntu端的CuteCom同樣可以接收到這兩個字符串。這樣就實現了windows系統和ubuntu系統的串口通信。
本例用到的虛擬機VMware版本為17.5.0,ubuntu版本為22.04.3,虛擬串口vspd版本為7.2,windows系統串口助手SSCOM版本V5.13.1,ubuntu系統串口助手為CuteCom版本為0.30.3。
本文推薦了虛擬機下載安裝、在虛擬機上安裝ubuntu系統教程的博文鏈接。vspd和SSCOM的下載安裝比較簡單,網上資料也比較多,大家可以自行搜索。
目錄
一、什么是虛擬機
二、在windows系統安裝虛擬機
三、在虛擬機上安裝Ubuntu
四、在windows系統安裝虛擬串口vspd
五、在windows系統配置vspd虛擬串口
六、在虛擬機上添加虛擬串口
1、在虛擬機上添加虛擬串口
2、關聯虛擬機和宿主機的串口
3、連接虛擬機上的虛擬串口
七、在ubuntu系統安裝配置串口助手
1、調出終端命令行窗口
2、安裝CuteCom
3、打開CuteCom
4、配置CuteCom
(1)設置串口參數
(2)打開串口使用權限
5、CuteCom功能分區
6、ubuntu串口命名規律
八、windows系統SSCOM和ubuntu系統CuteCom進行通信
九、結論
一、什么是虛擬機
虛擬機(Virtual Machine)指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。在實體計算機中能夠完成的工作在虛擬機中都能夠實現。在計算機中創建虛擬機時,需要將實體機的部分硬盤和內存容量作為虛擬機的硬盤和內存容量。每個虛擬機都有獨立的CMOS、硬盤和操作系統,可以像使用實體機一樣對虛擬機進行操作。
簡單的說,虛擬機就是在windows系統上安裝的一個仿真軟件,這個軟件虛擬仿真出的另外一臺獨立的電腦,windows所在的實體機也叫宿主機,虛擬的這臺電腦叫虛擬機,這臺虛擬機和真實的電腦一樣,可以安裝操作系統,也可以在操作系統里安裝軟件。本文在虛擬機里安裝的操作系統是ubuntu。
二、在windows系統安裝虛擬機
操作步驟可參考以下鏈接博文:
Vmware下載安裝教程(非常詳細)從零基礎入門到精通,看完這一篇就夠了_vmware安裝教程-CSDN博客
三、在虛擬機上安裝Ubuntu
操作步驟可參考以下鏈接博文:
Ubuntu系統下載及安裝教程_ubuntu下載-CSDN博客
注意:如果下載的ubuntu文件為iso格式,那么可以省略此博文的第2、3兩步。
四、在windows系統安裝虛擬串口vspd
操作步驟略。
五、在windows系統配置vspd虛擬串口
操作步驟可參考以下鏈接博文的第一步"配置vspd虛擬串口":
利用proteus實現串口助手和arduino Mega 2560的串口通信-CSDN博客
本例添加的串口號為COM1和COM2。
六、在虛擬機上添加虛擬串口
要想讓宿主機的windows系統和虛擬機的ubuntu系統進行串口通信,就需要在宿主機和虛擬機分別配置虛擬串口,并且需要把兩個虛擬串口關聯起來。
上邊第四步和第五步實現了在宿主機安裝配置虛擬串口,虛擬機上已經帶有虛擬串口,不用另外安裝軟件,只需要添加即可。宿主機配置的虛擬串口在虛擬機上是可以檢測到的,所以可以把虛擬機上的虛擬串口和宿主機的虛擬串口關聯起來。
下邊介紹關聯兩個系統的虛擬串口的步驟:
1、在虛擬機上添加虛擬串口
虛擬機安裝完ubuntu,默認的設備里是沒有虛擬串口的,需要在ubuntu處于關機的狀態下,單擊"編輯虛擬機設置"來進行添加,如下圖所示。
在"虛擬機設置"對話框里選擇"硬件"標簽,然后單擊"添加"按鈕。
在“添加硬件向導”對話框中選擇“串行端口”,然后單擊“完成”按鈕。
2、關聯虛擬機和宿主機的串口
在“虛擬機設置”對話框,可以看到硬件列表里已經成功添加了一個串行端口,在右側“使用物理串行端口”下側的下拉列表框中選擇COM2,然后點擊“確定”按鈕。COM1和COM2是在宿主機windows系統下創建的,見上邊第五步。
此時在ubuntu界面設備列表里,也可以看到一個串行端口,鼠標移動到這里,可以顯示“正在使用端口 COM2”,關聯成功。
3、連接虛擬機上的虛擬串口
單擊“開啟此虛擬機”啟動ubuntu系統,在ubuntu界面右下角有一個任務欄,有虛擬串口的圖標,如下圖所示。
鼠標右鍵點擊這個圖標,在彈出的菜單里有“連接”或者的“斷開連接”的選項,單擊即可完成相應的操作。串口連接后圖標下側會出現一個小綠點,斷開時沒有小綠點。鼠標移動到這個圖標上,會顯示“串行端口:正在使用端口 COM2”
七、在ubuntu系統安裝配置串口助手
本例安裝的串口助手為CuteCom,安裝需要在終端命令窗口來操作。
1、調出終端命令行窗口
打開終端命令行窗口的操作步驟:單擊“顯示應用程序”圖標->單擊“終端”圖標即可。
調出終端命令行窗口,如下圖所示。
2、安裝CuteCom
在命令行輸入:sudo apt-get install cutecom
安裝過程如下圖所示。
安裝完成后,單擊“顯示應用程序”圖標->應用程序最后一項就是CuteCom,單擊“終端”圖標即可打開這個軟件。應用程序圖標比較多,一頁放不下,可以上下滾動滾輪進行翻頁。
3、打開CuteCom
CuteCom打開后的界面如下圖所示。
4、配置CuteCom
(1)設置串口參數
在Device選擇/dev/ttyS0,然后單擊“Settings”按鈕。
在Settings設置界面,設置Baudrate(波特率)為9600,然后單擊“Open”按鈕,連接串口。
(2)打開串口使用權限
如果單擊“Open”后出現下圖所示報錯信息,“Permission denied”意思是ttyS0串口未授權,所以需要在終端命令行進行授權。
授權的操作步驟:
在終端命令行輸入:sudo chmod 777 /dev/ttyS0,然后回車。這行命令的作用是開放串口ttyS0的使用權限。
執行命令前需要輸入用戶登錄密碼,然后回車即可完成設置。注意,此時輸入密碼時不顯示輸入內容,輸完密碼后直接回車即可。
完成串口授權后,再單擊cutecom窗口的"open"按鈕,就可以打開ttyS0串口了。
5、CuteCom功能分區
CuteCom界面如下圖所示,在"Input"后邊的編輯框輸入要發送的內容,然后回車,即可完成發送。發送的內容在"Input"上側的文本框顯示,"Input"下側的文本框用來顯示接收到的內容。
6、ubuntu串口命名規律
本文在設備里只添加了一個虛擬串口,所以Device里只有一個ttyS0,如果添加了多個虛擬串口,那命名有什么樣的規律呢?ubuntu串口的命名規律為:ttyS0,ttyS1,ttyS2......,在設備列表中名稱對應為:串行端口,串行端口2,串行端口3......,如下圖所示。
八、windows系統SSCOM和ubuntu系統CuteCom進行通信
windows系統SSCOM串口助手端口號設置為COM1,波特率也設置為9600,然后單擊“打開串口”按鈕。
在CuteCom的Input輸入框內輸入字符“1”,然后回車,可以看到在SSCOM的接收框內也顯示收到了字符“1”。
在CuteCom的Input輸入框內輸入字符“2”,然后回車,可以看到在SSCOM的接收框內也顯示收到了字符“2”。
在SSCOM的發送框內輸入字符串“button_up”,然后回車,可以看到在CuteCom的接收框內也顯示收到了字符串“button_up”。
在SSCOM的發送框內輸入字符串“button_down”,然后回車,可以看到在CuteCom的接收框內也顯示收到了字符串“button_down”。
九、結論
通過以上操作,可以看到在宿主機系統上安裝的虛擬串口,能夠為宿主機上安裝的虛擬機所共用,因此虛擬機上安裝的ubuntu系統就可以通過這些虛擬串口實現與windows系統的通信。