1. 程式人生 > >Python3.7 串列埠入門

Python3.7 串列埠入門

Python+PyQt5
python3+PyQt5+Qt designer+pycharm安裝及配置
https://blog.csdn.net/lyzwjaa/article/details/79429901


1. 串列埠操作(pyserial)

安裝庫:pip install pyserial

pyserial庫常用函式:
serial = serial.Serial('COM1', 115200)   #開啟COM1並設定波特率為115200,COM1只適用於Windows
serial = serial.Serial('/dev/ttyS0', 115200)  #開啟/dev/ttyS0並設定波特率為115200, 只適用於Linux
print(serial.portstr)   #能看到第一個串列埠的標識
serial.write("hello")   #往串口裡面寫資料
serial .close()    #關閉serial 表示的串列埠


serial .open()    #開啟串列埠
data = serial .read(num)   # 讀num個字元
data = serial .readline()    #讀一行資料,以/n結束,要是沒有/n就一直讀,阻塞。
serial .baudrate = 9600   # 設定波特率
print serial    #可檢視當前串列埠的狀態資訊
serial.isOpen()    #當前串列埠是否已經開啟
serial.inWaiting()    #判斷當前接收的資料
serial.flushInput()   # 清除輸入緩衝區資料
serial.flushOutput()    #中止當前輸出並清除輸出緩衝區資料

序列介面簡稱串列埠,也稱序列通訊介面或序列通訊介面(通常指COM介面),
是採用序列通訊方式的擴充套件介面。序列介面 (Serial Interface) 是指資料一位一位地順序傳送,
其特點是通訊線路簡單,只要一對傳輸線就可以實現雙向通訊(可以直接利用電話線作為傳輸線),
從而大大降低了成本,特別適用於遠距離通訊,但傳送速度較慢。


物聯網開發開發是時下熱門的行業。Python/PC系統自然也能進行物聯網開發。
除開Python本身自帶的模組還有一類通過外部連結的裝置需要通過串列埠來進行通訊。


2. 關於串列埠

串列埠通訊指串列埠按位(bit)傳送和接收位元組。儘管比按位元組(byte)的並行通訊慢,
但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。

在串列埠通訊中,常用的協議包括RS-232、RS-422和RS-485。

當然具體是哪種協議和你選擇的硬體有關,將你選擇的硬體插入到對應協議的串列埠介面即可。

開發前的準備
1、檢查你的開發板裝置,包括開發板資訊、開發板上面包含的模組資訊。是否有Wifi 模組、藍芽模組
的指定介面等。還有一方面就是關於開發板系統的資訊、開發板的系統版本。如果需要特別定製,
可以和廠商溝通。

關於系統定製
某些特殊的板塊需要隱藏狀態列不能被下拉,否則會被退出應用。
還有一方面就是可以定製取消掉下導航欄。

2、檢查硬體裝備
正確連線你的裝置,向你的硬體提供商索要開發資料。基本的資料包括硬體的通訊命令格式。
當然更好的是如果能要到開發程式資料。比如PC桌面/Android程式或者原始碼那就更好了。

3、正確連線,測試硬體與系統
下載一個串列埠除錯助手,按照資料輸入命令。測試是否能夠成功地啟動裝置。
並且收到對應的返回資料。

開發階段
需要PyQt5+Python多執行緒+Python資料校驗( 資料處理 )+TCP/IP協議+pyserial+串列埠通訊協議 

整體開發流程(Android):
開啟指定串列埠 --> 開啟接收資料執行緒 --> 傳送串列埠資料 --> 
接收資料處理返回資訊 --> 關閉接收資料執行緒 --> 關閉串列埠