python 직렬 데이터 읽기 예시
최근에 데모, 지그비 직렬로 크랜베리 파이를 연결하고, 크랜베리 파이는 직렬 통신으로 지그비 직렬로 통과한 값을 받아들인다.그중에 제가 쓰는 라즈베리파이는 3세대 B+입니다.zigbee는 3초마다 직렬로 데이터를 출력합니다.
다음은python 직렬 통신이지만linux가 아닌 것은 제가 윈도우즈에 쓴 테스트 데모입니다.python 버전은 3입니다.
python 직렬 읽기 데이터
# TODO
# Auther wjw
import serial #
import time #
ser = serial.Serial("COM3",115200,timeout = 5) # com3 , 115200, 5
ser.flushInput() #
def main():
while True:
count = ser.inWaiting() #
if count !=0 :
recv = ser.read(ser.in_waiting).decode("gbk") # , gbk
print(time.time()," --- recv --> ", recv) #
time.sleep(0.1) # 0.1 , CPU
if __name__ == '__main__':
main()
위의 코드는 이미python 직렬 읽기를 실현했지만, 대부분은 아직 써야 한다.직렬 쓰기 데이터
사실은 바로 write 방법이다. 나는 라인을 하나 켜서 라인에서 직렬로 나온 데이터를 얻은 다음에 하나의 사순환은 1초마다 1, 1초마다 0을 보낸다.
import serial
import time
import _thread #
data_ser = serial.Serial("COM3",115200,timeout = 5)
data_ser.flushInput()
def get_data():
while True:
data_count = data_ser.inWaiting()
if data_count !=0 :
recv = data_ser.read(data_ser.in_waiting).decode("gbk")
print(time.time()," --- data_recv --> ", recv)
time.sleep(0.1)
if __name__ == '__main__':
_thread.start_new_thread(get_data,()) # , get_data
while 1:
time.sleep(20)
data_ser.write(b'1') # 1
time.sleep(20)
data_ser.write(b'0') # 0
완성했으니 얼마 안 남았을 거야!라즈베리 파이는python을 가지고 있지만, 기본은python2입니다. 두 줄로 기본python3를 수정할 수 있습니다.
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.4 /usr/bin/python
이상은python이 직렬 데이터를 읽는 예시의 상세한 내용입니다. 더 많은python이 직렬 데이터를 읽는 것에 관한 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.