Sim800l

El Modulo SIM800L nos permite comunicarnos a traves de la red GSM Enviar datos via SMS o via GPRS. perfecto para aplicaciones IOT Junto con una tarjeta ThingsMobile es una muy buena opcion para enviar datos IOT a muy bajo coste.

https://www.elecrow.com/wiki/images/2/20/SIM800_Series_AT_Command_Manual_V1.09.pdf

Indice:

1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
Notas
Referencias

Como en una conexion de datos a la red de telefonia movil pueden fallar muchas cosas. Asi que iremos paso a paso. (si hago muchos cambios sin pruebas y algo falla me costara bastante encontrar el problema)

Conexion de la tarjeta a un adaptador serie.

  • Averiguar el puerto USB
    jejo@medion:~$ dmesg | tail
    [795188.266766] usb 1-2: new full-speed USB device number 99 using xhci_hcd
    [795188.416289] usb 1-2: New USB device found, idVendor=1a86, idProduct=7523
    [795188.416297] usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
    [795188.416301] usb 1-2: Product: USB2.0-Serial
    [795188.420594] ch341 1-2:1.0: ch341-uart converter detected
    [795188.421199] usb 1-2: ch341-uart converter now attached to ttyUSB1
    
____
* En mi caso el serie es ttyUSB1 luego puedo hacer `screen /dev/ttyUSB1 9600` ___________

### Prueba comandos AT _____
* **1er** comando 'at' (tecleando **at** + **intro**) el aparato deberia devolver **OK**
    at
    OK
    


  • 2o comando ati Informacion. (tecleando ati + intro) el aparato deberia devolver Con la informacion del modelo.
    ati
    SIM800 R14.18
    
    OK
    


  • 3er comando at+cbc estado bateria (tecleando at+cbc + intro) el aparato nos dara la tension de alimentacion. Ojo que no deberia ser superior a 4v (lo habitual es 3,3v).
    at+cbc
    +CBC: 0,0,3313
    
    OK
    
____
* **4o** comando `at+csq` cobertura (**s**ignal **q**uality)
    at+csq
    +CSQ: 10,0
    
    OK


  • 5o comando at+cops=? operadores. (tarda un poco)
    at+cops=?
    +COPS: (2,"vodafone","voda ES","21401"),(1,"MOVISTAR","MSTAR","21407"),,(0-4),(0-2)
    
    OK
    



Prueba comandos AT (tarjeta SIM)

Hasta aqui es mejor probar sin insertar la SIM.

Apagamos Insertamos la SIM y encendemos.

Nota: Es posible que tengamos que probar un par de veces. Tambien he notado le cuesta mas responder a los comandos. Sobre todo cuando esta cogiendo cobertura.

A veces funciona mejor a 115000bps y tambien funciona pegando el comando en lugar de escribirlo. (cuando lo escribes pasa mucho tiempo entre caracteres. y con los caracteres sueltos “se mosquea” unos segundos



  • 1er comando ‘at’ el aparato deberia devolver OK
    Aqui es donde se nota que con la sim insetada el aparato va mas lento.
    (no siempre responde al at a la primera) Aunque no parece importante afecta mucho a la forma de programar. Poisiblemente sea a que mientras el chip esta atendiento a eventos de radio no puede atender peticiones.
    at
    OK
    
    +CPIN: READY
    Call Ready
    SMS Ready
    

Cuando la SIM esta insertada suelen aparecer de vez en cuando estas lineas +CPIN: READY , Call Ready y SMS Ready



  • 2o comando ‘at+ccid’ Informacion de la SIM Si no detecta o no puede leer la sim devolvera ERROR en caso contrario nos dara los datos de la SIM.
    at+ccid
    1234567812345678123a
    
    OK
    


  • 3er comando ‘at+creg?’ Informacion de registro en la red
    AT+CREG?
    +CREG: 0,2
    OK
    


  • 4o comando ‘at+csq’ Intensidad de señal. deberia ser mayor que 5
    at+csq
    +CSQ: 0,0
    


  • 5o comando ‘at+cpin?’ comprueba si la tarjeta sim esta lista para operar en la red.
    at+cpin?
    +CPIN: READY
    
    OK
    


https://exploreembedded.com/wiki/Setting_up_GPRS_with_SIM800L

AT+CFUN=1
OK
AT+CPIN?
+CPIN: READY

OK
AT+CSTT?
+CSTT: "CMNET","",""

OK
at+cstt="TM","",""
OK
AT+CGATT?
+CGATT: 0

OK

https://github.com/Seeed-Studio/Seeeduino_GPRS/tree/master/example




Recuerda: control+a y luego \ para salir





em50l@jejo.es$ 
jejo@em50l:~$
root@em50l:/# 












(copiar y pegar codigo)

test

codigo Formateado internamente


include jejo.h;
printf("hola");

codigo Formateado highlight.pack.js

include jejo.h;
printf("hola");
include jejo.h;
printf("hola");

Enlace a pagina interna.

test

altText

Notas

Referencias

https://github.com/Seeed-Studio/Seeeduino_GPRS https://github.com/carrascoacd/ArduinoSIM800L/blob/master/examples/WeatherStationExample.ino