Hola,
En este post, lo que vamos a ver es como realizar una comunicación GPRS utilizando el modem de Telit el GL865 quad, utilizando un microcontrolador LPC1114 que utiliza como procesador un ARM CORTEX M0, en esta instancia sea creado una librería necesaria para manipular el modem GL865.
Características del Modem:
Soporta protocolos GSM\GPRS stack 3GPP
Soporta frecuencias GSM\GPRS 850/900/1800/1900 Mhz
En el PCB contiene un Conector para antena de 3.5 mm
En el PCB contiene ya un socket para la SIM
Principal Idea de Comunicación GPRS:
Como se ve en la imagen de arriba, el procedimiento para recibir datos de nuestro modulo al PC, se requiere los siguientes pasos:
Haber Configurado el GL865 con el APN, USER y PASSWORD.
Haber Configurado el GL865 con la IP y PORT del HOST (en este caso la IP es la publica de nuestro Modem y el PUERTO)
Realizar un Nateo de nuestra IP local (la computadora que va a recibir los datos) en el Modem o Router.
Realizar el Algoritmo en algún lenguaje que se encarge de recibir los datos en IP y PORT asignado en el modem GL865.
El APN es el acceso a la red que es necesaria para la conexion a la internet, algunas APN requieren usuario y contraseña.
La librería que se ha realizado para manejar el Modem GL865 en el Microcontrolador es la que se muestra en la imagen siguiente:
Nosotros solo requerimos introducir los parametros Socket, APN, USER, PASS, HOST(IP y PORT),
para después llamar la función 'Connect' para que realice una rutina de envío de comandos AT.
Si el Modem se ha conectado a la red y al HOST entonces solo es cuestión de estar revisando la conexión antes de enviar los datos.
El diagrama en general de como es la conexión es el siguiente:
Python:
http://www.mediafire.com/download/f2e9ddcr1ixted6/GL865_GPRS_RFID.zip
Saludos!
En este post, lo que vamos a ver es como realizar una comunicación GPRS utilizando el modem de Telit el GL865 quad, utilizando un microcontrolador LPC1114 que utiliza como procesador un ARM CORTEX M0, en esta instancia sea creado una librería necesaria para manipular el modem GL865.
Características del Modem:
Soporta protocolos GSM\GPRS stack 3GPP
Soporta frecuencias GSM\GPRS 850/900/1800/1900 Mhz
En el PCB contiene un Conector para antena de 3.5 mm
En el PCB contiene ya un socket para la SIM
Principal Idea de Comunicación GPRS:
Como se ve en la imagen de arriba, el procedimiento para recibir datos de nuestro modulo al PC, se requiere los siguientes pasos:
Haber Configurado el GL865 con el APN, USER y PASSWORD.
Haber Configurado el GL865 con la IP y PORT del HOST (en este caso la IP es la publica de nuestro Modem y el PUERTO)
Realizar un Nateo de nuestra IP local (la computadora que va a recibir los datos) en el Modem o Router.
Realizar el Algoritmo en algún lenguaje que se encarge de recibir los datos en IP y PORT asignado en el modem GL865.
El APN es el acceso a la red que es necesaria para la conexion a la internet, algunas APN requieren usuario y contraseña.
La librería que se ha realizado para manejar el Modem GL865 en el Microcontrolador es la que se muestra en la imagen siguiente:
Nosotros solo requerimos introducir los parametros Socket, APN, USER, PASS, HOST(IP y PORT),
para después llamar la función 'Connect' para que realice una rutina de envío de comandos AT.
Si el Modem se ha conectado a la red y al HOST entonces solo es cuestión de estar revisando la conexión antes de enviar los datos.
El diagrama en general de como es la conexión es el siguiente:
Código:
#include <lpc11xx.h>
#include "GL865.h"
#include "SetClock48Mhz.h"
/*Variables*/
uint8_t timeout=0;
/* Struct for the New Nework */
GL865Nework Mynework;
/*Main Function*/
int main(void){
/*Set to 48Mhz*/
SetClockTo48Mhz();
/*Set Serial by Software to Debug*/
SetSoftUART(SoftUARTBaudRate);
/*Set Serial by Hardware to GL865*/
SetUartTo(HardUARTBaudRate);
/*Set Nework & Host & Init Pin of Reset*/
Mynework.Socket=1;
Mynework.APN="MYAPN";
Mynework.USER="MYUSER";
Mynework.PASS="MYPASS";
Mynework.HOST="MyIP";
Mynework.PORT="MyPort";
GL865_Reset_Init;
/*Can it connect?*/
soft_write_string_rom("ModemGL865 is Connecting...\r");
if(!ModemGL865_Connect(Mynework)){
soft_write_string_rom("ModemGL865 was not Connected to Red!!\r");
while(1);
}
soft_write_string_rom("ModemGL865 Connected to the Host\r");
while(1){
/*Connection is OK?*/
if(!ModemGL865IsConnected(Mynework)){
for(timeout=0;timeout<10;timeout++){
delay_ms(200);
}
ModemGL865_write("HOLA MUNDO",10);
soft_write_string_rom("Data sent = HOLA MUNDO\r");
}else{
soft_write_string_rom("ModemGL865 Reconnect to the Host\r");
while(!ModemGL865_Connect(Mynework))
continue;
soft_write_string_rom("ModemGL865 Connected to the Host\r");
}
}
}
Python:
Código:
@author: jorge
'''
import socket
ip="192.168.1.95"
port=7777
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.bind((ip,port))
print("Connect...",ip,",",port)
while True:
print("Waiting for data...",ip,",",port)
data,addr = sock.recvfrom(1024)
print("Data -> ",data)
http://www.mediafire.com/download/f2e9ddcr1ixted6/GL865_GPRS_RFID.zip
Saludos!
Adjuntos
Última edición por un moderador: