domingo, 8 de febrero de 2015

FONA, comunicación GPRS con Arduino


Hablaremos de como usar el módulo de comunicación GPRS de Adafruit llamado FONA .

Con este módulo le damos la capacidad a nuestro Arduino o RaspberryPi de enviar datos a traves de Internet, en este caso 2G.

Como se puede observar en la foto necesita de una bateria de Lithium de 3.7v ademas de la conexión de 5v desde el Arduino o RaspberryPi.

Adafruit nos proporciona una libreria para facilitarnos su uso, además de un ejemplo donde se reunen todas las caracteristicas de este interesante módulo

Características

  • Quad-band 850/900/1800/1900MHz
  • Hace y recibe llamadas utilizando headset o un parlante externo de 8Ω  + microfono.
  • Envia y recibe SMS
  • Envia y recibe datos por GPRS (TCP/IP, HTTP, etc.)
  • PWM/Buzzer para conectar vibrador.
  • Interfaz de comandos AT.
Para utilizar este módulo con Arduino UNO lo podemos hacer con la librería SoftwareSerial.h, y con Arduino Mega 2560 lo podemos hacer directamente a travez de uno de los puertos seriales físicos que posee.
 

PINOUTS

  • Vio connects to 5V (or, with a 3V logic Arduino, 3V)
  • GND connects to GND
  • Key connects to GND (always on)
  • RX connects to digital 2
  • TX connects to digital 3 (9 on Leo/Micro, 10 on Mega)
  • RST connects to digital 4
Una vez tengamos instaladas las librerías y correspondientes podemos descargar el código de ejemplo de aquí.

En el caso de Arduino MEGA 2560, conectamos los pines de comunicación del FONA Tx -> Serial 2 Rx Arduino, FONA Rx -> Tx Serial 2 Arduino, el pin RST al pin 22 del Arduino.

Debemos configurar los pines de Arduino el código de ejemplo de esta manera:

Cambiamos la definición del pin RST en el Arduino y la colocamos en 22:

#define FONA_RST 22

Como en el Arduio Mega 2560 no utilizaremos la líbreria SoftwareSerial.h, comentaremos esta línea:

//SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);

Para indicarle al Arduino en que puerto esta conectado el FONA cambiamos la siguiente línea:

if (! fona.begin(fonaSS)) {







Quedando asi:

if (! fona.begin(Serial2)) {

Ahora podemos subir nuestro programa al Arduino y debería funcionar correctamente.

En mi caso e realizado pruebas conun chip de Tigo y no e tenido ningun problema.

Hasta la PROXYma.

lunes, 2 de febrero de 2015

[Arduino] Capturar imágen y subirla a un servidor FTP


Desde hace días que habia dejado a un lado la publicación de articulos, y en especial los relaiconados con Arduino, por falta de tiempo principalmente y de limitaciones en cuanto a hardware, vuelvo a escribir árticulos sobre Arduino gracias a la colaboración de Sytec , empresa dedicada entre otras cosas a la automatización industrial y son distribuidores oficiales de Arduino para Honduras.

Hardware a utilizar

  • Cámara TTL Serial VC0706 este modelo que utilizaremos es a prueba de agua.
  • Arduino Mega 2560
  • Ethernet Shield
  • microSD


Este código esta basado en el ejemplo de transferencia de archivos usando el Ethernet Shield por FTP, en donde se incluyo la toma de la foto con la cámara VC0706, en el cual se utiliza el modo de tranferencia ASCI que solamente es para transferencia de archivos de texto (7 bit), en este caso utilizamos el tipo de transferencia Binario (8bit).

La camara tomará una foto y la guarda en la microSD, luego el programa pedira introducir la letra f y presionamos Enter, esto enviará la imagen que acaba de tomar la cámara al servidor FTP.

 Utilizaremos el siguiente esquema de conexión




El código lo pueden descargar aquí: https://drive.google.com/file/d/0B4yVk8iE3E-FeFdESVBOQ3JRMFU/view?usp=sharing

Cambios a considerar en el código

  • Línea 16, cambiar por su IP local.
  • Línea 17 cambiar por su máscara de red.
  • Línea 18 cambiar por su puerta de enlace.
  • Línea 21, la ip de su servidor FTP.
  • Línea 182, Su usuario FTP.
  • Línea 186, el password de el usuario.

En el código podrán observar en la línea 231 la siguiente instrucción :

  •  client.println(F("TYPE I"));

Que es la que pone en tipo de archivo binario el modo de transferencia, en el cual se peuden enviar archivos de tipo multimedia, como ser imágenes, videos, mp3 etc...


Cabe destacar que se utiliza unos de los puertos seriales  que posee el Arduino Mega 2560 para la comunicación con la cámara, para ser especificos el Serial3, tal y como se muestra en el esquema de conexión, el cable TX de la cámara va conectado a el pin RX del Arduino, en este caso como utilizamos el Ethernet Shield que trae incluido un lector de microSD el pin de verificación de la memoria es el 4.

En el siguiente artículo aprenderemos sobre la cuminicación GPRS con el módulo FONA interactuando con bases de datos en un servidor web.




Todo lo utilizado en este tutorial puede ser adquirido en Sytec.

Hasta la PROXYma.


 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Host