- LoRa P2P 데이터를 수신하기 위한 작업
- LoRa 통신을 하는 장비들끼리 주파수가 맞아야 한다.
- 현재 장비는 ARTIK 710에 stm32가 연결 되어 UART 통신을 한다.
- LoRa 설정 파라미터를 수정하기 위해서는 stm32에 직접 접근 해야 함.
- 기능 수행 전 stm32 칩을 활성화 해주는 코드를 실행 해야 함.
Python으로 시리얼포트 데이터 수신 |
- ARTIK 710 - stm32가 시리얼 포트로 연결돼 있어야 한다.
pyserial 설치 |
- python 외부 라이브러리인 pyserial을 설치해야한다. python2 , python3 두 버전 모두 지원
$ pip3 install pyserial
pyserial 코드 |
1 2 3 4 | import serial ser = serial.Serial(port='포트번호', baudrate=115200, timeout=None) data = ser.readline() | cs |
- pyserial을 설치했지만 serial로 import 한다.
- 시리얼 포트 번호를 설정하고 baudrate를 맞춰 객체 생성.
- 그리고 한줄씩 읽는다.
- python3에서는 전송되는 데이터가 binary형태더라 그래서 뒤에 decode('utf8') 옵션추가가 필요함.
전체 코드 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import time import serial from random import * def loar_receiver(): # UART 세팅 ser = serial.Serial(port='/dev/ttySAC4', baudrate=115200, timeout=None) while True: try: data = ser.readline().decode('utf8').replace(' ', '').replace('\n', '') #필요 옵션 추가 data = data.upper() if not data : #수신되는 데이터가 없다면 계속 첫 수신 상태로 continue except Exception as e: pass if __name__ == '__main__': loar_receiver() | cs |
'PROGRAMMING > PYTHON' 카테고리의 다른 글
pip upgrade 후 main import 에러 해결 (1) | 2018.09.13 |
---|---|
[Python3] requests로 웹서버에 데이터 전달하기 (0) | 2018.08.23 |
C에서 보내는 HTTP-POST 데이터 python flask로 받기 (0) | 2018.08.16 |
pip3 install on Ubuntu 16.04.4 LTS (0) | 2018.07.19 |
[MQTT] Python subscribe, publish (0) | 2018.06.27 |