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()직렬 쓰기 데이터
사실은 바로 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이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.