2017-12-25 19 views
1

의 직렬 통신 Raspberry pi 3 B +와 GSM GPRS A6 사이에서 통신하고 싶습니다. 나는 시도하고 라스베리 파이에서 GPRS 모듈로 데이터를 보낼 수 없습니다.Raspberry pi 3 B +

지금, 나는 GPIO 시리얼 포트 (내 경우 Raspbian 스트레치에) 새로운 운영 체제에서 기본적으로 사용되는 것을 알고, 그래서 나는,이 config.txt 파일에 다음 행을 추가하여 활성화 한

enable_uart=1 

여기 내 코드는 다음과 같습니다.

import serial 
import time 

port = "/dev/ttyS0" 
COMM = serial.Serial(port, baudrate=115200) 

while(1): 
    COMM.write("AT\r") 
    print (COMM.read(5)) 

이 명령은 "OK"를 반환하지만, 아무 것도 인쇄되지 않습니다. 파이썬 2.7 사용하고 있습니다.

어떤 사람들은이 방법을 사용하여 데이터를 전송하는 저를 제안

COMM.write('AT' + '\r') 

나는 시도했지만 도움이되지 않았다.

내 GPRS 모듈에는 문제가 없습니다. 그것은 arduino와 파일을 작동합니다. 그래서, 내가 여기서 뭘 잘못하고 있니?

미리 감사드립니다.

+0

'파이 '사용자는 쓰기 권한이 없으므로'sudo python yourScript.py'를 시도하십시오. 그게 효과가 있다면,'pi' 사용자를'dialout' 그룹에 추가하십시오.'sudo usermod -a -G dialout pi' –

+0

아니요, 작동하지 않았습니다. –

답변

0

, 먼저 직렬을 사용하도록 설정해야합니다.

sudo는 raspi-설정 ->의 인터페이스 옵션 -> 직렬

둘째, sudo는 나노 /boot/cmdline.txt

삭제 "콘솔 = 시리얼, 115200"

그리고 그런 다음 sudo nano /boot/config.txt

끝을 추가

dtoverlay = PI3-비활성화-BT = 250

사용하는 동안 core_freq : 직렬 (는/dev/ttyAMA0, 9600)

0

보내보십시오 :

어쩌면
import serial 

port = "/dev/ttyS0" 
comm = serial.Serial(port, baudrate=115200) 

while True: 
    comm.write('AT' + '\n\r') 
    msg = comm.readline() 
    print(msg)