Raspberry Pi (Python): Send SMS using SIM800L
Did you disconnect the uart from the internal bluetooth and kernel console?
If you don't you will have a problem accessing the device. You need to disable the service that use it:
sudo systemctl disable hciuart
also disable kernel console on that uart eliminating
console=serial0,115200
from kernel command line (/boot/cmdline.txt).And you need to enable two overlays on the device tree (/boot/config.txt) Maybe this can help you:
dtoverlay=pi3-disable-bt
dtoverlay=pi3-miniuart-bt
Complet solution by rasberrypi.org: https://www.raspberrypi.org/documentation/configuration/uart.md
IyaSheep
Updated on June 04, 2022Comments
-
IyaSheep almost 2 years
- Raspberry Pi 3
- Python 2.7
- Sim800L
Hi! I am getting errors connecting to the gsm module
Here's the code I got from rhydolabz
import serial import RPi.GPIO as GPIO import os, time GPIO.setmode(GPIO.BOARD) # Enable Serial Communication port = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=1) # Transmitting AT Commands to the Modem # '\r\n' indicates the Enter key port.write('AT'+'\r\n') rcv = port.read(10) print rcv time.sleep(1) port.write('ATE0'+'\r\n') # Disable the Echo rcv = port.read(10) print rcv time.sleep(1) port.write('AT+CMGF=1'+'\r\n') # Select Message format as Text mode rcv = port.read(10) print rcv time.sleep(1) port.write('AT+CNMI=2,1,0,0,0'+'\r\n') # New SMS Message Indications rcv = port.read(10) print rcv time.sleep(1) # Sending a message to a particular Number port.write('AT+CMGS="+6xxxxxxxxx68"'+'\r\n') rcv = port.read(10) print rcv time.sleep(1) port.write('Hello User'+'\r\n') # Message rcv = port.read(10) print rcv port.write("\x1A") # Enable to send SMS for i in range(10): rcv = port.read(10) print rcv
Here are the errors:
OSError: [Errno 11] Resource temporarily unavailable raise SerialException('device reports readiness to read but returned no data (device disconnected?)') serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected?) raise SerialException('write failed: %s' % (v,)) serial.serialutil.SerialException: write failed: [Errno 5] Input/output error
Sometimes It sends
Hello User Login incorrect raspberrypi login:
Sometimes
> > > (100+ more '>') Hello User
but almost always it doesn't connect and it gives Error 11
Have you experience this too? Is there a way I can wait for the gsm to connect before I proceed on sending a message?
-
Joaquin de Andres over 5 yearsDid you disconnect the uart from the internal bluetooth and kernel console? Maybe this can help you: raspberrypi.org/documentation/configuration/uart.md