Python程式設計 基於serial庫串列埠通訊實戰

2021-10-22 16:37:08 字數 1915 閱讀 9565

在python中進行串列埠的相關應用程式設計,需要借助pyserial這個庫。

安裝串列埠庫:

pip3 install pyserial

如果你使用的是python2.x,那麼你使用pip安裝的方式如下:

pip install pyserial

class

uartinit

(object):

def__init__

(self, serial, baud)

: self.ser = serial.serial(serial, baudrate=baud, timeout=

0.1,

bytesize=

8, parity=

'n', stopbits=

1, xonxoff=

0,rtscts=0)

self.ser.flushinput(

) self.ser.flushoutput(

)

def

datasend

(self, cmd=

'', max_time=def_max_time)

: ser = self.ser

cmd = cmd +

'\n'

cmd = cmd.encode(

"ascii"

) ser.flushinput(

) ser.flushoutput()

ser.write(cmd)

gotstr = self.receive(max_time)

logging.info(

'tx -> '

+ unicode_str)

if gotstr ==

none

orlen

(unicode_str.strip())

==0: self.logging.warning(

'returning empty response for tx -> '

+ cmd)

return

''return unicode_str

def

receive

(self, max_time=def_max_time)

: ser = self.ser

ret =b''

start = prev = time.time(

)while

true

: curr = time.time()if

(curr - start > max_time)

:break

c = ser.read()if

len(c)

: ret += c

prev = curr

gotstr = ret.decode(

"utf-8"

,"ignore"

)return gotstr

:上述的datasend 和 receive都是class uartinit中的方法。

import os

import sys

import time

import logging

import string

import serial

def_max_time =

3if __name__ ==

'__main__'

: usrt1 = uartinit(

'com1'

,230400

) usrt1.datasend(

'hello_world'

)

基於Python的Socket程式設計

socket基礎 socket的英文原義是 孔 或 插座 最初作為bsd unix的程序通訊機制,也被稱作 套接字 用於描述ip位址和埠,是乙個通訊鏈的控制代碼,可用來實現不同虛擬機器或不同計算機之間的通訊。在internet上的主機一般執行了多個服務軟體,同時提供幾種服務。每種服務都開啟乙個soc...

基於python的多執行緒程式設計

由於之前看書的時候,對多執行緒的呼叫不怎麼了解,藉此機會,看了一些資料自己整理了一下 osi七層模型 物理層資料鏈路層 網路層傳輸層 會話層表示層 應用層協議分為tcp ip協議 現在用得最多的是這兩種協議,tcp ip,ip分管各個電腦終端位址,負責發包 包 就是資料 以塊的形式傳送,tcp負責運...

ArcGIS 基於Python的指令碼程式設計 3

這篇文章講述基於python的處理空間資料的一些方法,後續會再補充。2.處理表和欄位名 3.處理文字檔案 arcpy中游標在arcpy.da模中,共有3種游標。使用語法 cursor arcpy.da.searchcursor 輸入表,欄位名稱列表 查詢條件,空間參考 一些地理處理 x 記得要刪除游...