¿HAS PERDIDO TUS DETALLES?

CREAR MI CUENTA

Comunicación serial en Raspberry Pi 3

Proximamente Sigma lanzara a la venta un modulo GSM en tecnologia 3G y para ello se ha venido haciendo un exahustivo trabajo y traemos a nuestros clientes la información pertinente para trabajar el modulo desde Raspberry mas especificamente en el lenguaje de Python gracias al amplio soporte que tiene y la facilidad para interpretar el lenguaje.

Este tutorial se debe hacer cuando al instalar las respectivas librerías  como PYSERIAL   desde Python el puerto serie no funciona, algunos síntomas que se presentan es que al enviar algún dato por el puerto se queda congelada la consola de comandos y no se logra ni enviar ni recibir ningún paquete.

Aparentemente sucede más a menudo con las Raspberry pi 3 debido a que se incluyo un bluetooth dedicado pasando de tener una sola UART a tener dos; una para el bluetooth y otra para los GPIO. Ésta modificación implico que los pines GPIO ya no están direccionados en ttyAMA0 como ocurre en las versiones 1 y 2 de Raspberry, ahora pasa la interfaz UART a la dirección ttyS0, por tanto se debe hacer el respectivo cambio en el archivo de configuración del sistema operativo de la raspberry, en este articulo te indicaremos como hacer la respectiva configuración para trabajar desde la UART.

Necesitaremos:

Raspberry Pi3 B o B+ con raspbian precargado

Pantalla HDMI Conectada SIG0121 (Opcional)

Tarjeta FT232

Adaptador 5V @2.5 amperios

Verifiquemos que el púerto serie Funciona:

Por defecto la UART permite accesar por medio del puerto serial a la Raspberry para mediante login acceder a diferentes funciones de la consola de Linux. Es importante que para leer la UART y escribir en ella se necesita un nivelador logico pues la tarjeta trabaja a 3.3VDC para ello usaremos la Tarjeta FT232 conectada a los GPIO14 (TXD), GPIO15 (RXD) y Pin 6 (GND).

Si conectamos la tarjeta FT232 a un monitor serial en un computador para acceder lo configuraremos de la siguiente forma:

  • Speed (baud rate): 115200
  • Bits: 8
  • Parity: None
  • Stop Bits: 1
  • Flow Control: None

Desde un computador  cada que iniciemos la Raspberry podemos mirar la siguiente información:

Esto nos confirmará que la conexion Serial esta correctamente conectada.

Configurar el puerto serie para Python

Lo primero que debemos hacer es encender la Raspberry y ejecutar en la consola de Linux los comandos para verificar los puertos disponibles asi en el terminal digitaremos:

dmesg | grep tty

Ésta instrucción permite ver los puertos seriales conectados.

Una vez verificados los puertos pasemos a configurar la Raspberry  para que el linux no use la UART  para login Shell, para ello en la consola de comandos digitaremos:

sudo raspi-config

Con esta instrucción abriremos el software de configuración general de la tarjeta nos dirigiremos a la opcion 5 de opciones de interfaz, posteriormente inhabilitaremos el login Shell, pero mantendremos habilitado el Hardware de la UART.

Una vez hecho el ajuste, salimos del raspi-config y reiniciaremos la tarjeta para confirmar que se hizo correctamente el cambio mientras inicia la tarjeta no volvera a enviar datos por la UART.

Ahora nuevamente debemos abrir la consola de Linux en la Raspberry Pi y configurar el archivo de inicio para ajustar el reloj de la UART para ello editaremos el archivo digitando:

sudo nano /boot/config.txt

En el archivo debemos adicionar las lineas al final del texto

core_freq=250

enable_uart=1

Salimos digitando CTR+C confirmamos los cambios digitando Yes y guardando el archivo con el mismo nombre. Finalmente reiniciaremos la Tarjeta.

Una vez hechos los cambios en el archivo podemos acceder a el puerto serie mediante Python digitando:

puerto = serial.Serial(“/dev/ttyS0″, baudrate=9600, timeout=1)

Esto lo podemos verificar con la consola de Linux llamando el Python, importando la libreria y enviando algun mensaje por el puerto serie. Al tener la tarjeta FT232 en otro equipo podremos verificar el envio de los datos.

python

import serial  

import os, time

 # Enable Serial Communication

port = serial.Serial(“/dev/ttyS0”, baudrate=9600, timeout=1)

 port.write(‘Inofrmacion serial’+’\n\r’)

rcv = port.read(10)

print rcv

 

Con esto verificamos que desde python este abreindo el puerto y esta en la capacidad de escribir y leer lo que se monta sobre el puerto.

Si todo fue correctamente configurado podremos enviar información de forma bidireccional ya sea para enviar o recibir datos.

 

Con esto termina esta primera parte del turorial para la tarejta GSM para Raspberry pi

para revisar mas detalles de la libreria serial mediante Python puedes consultar:

https://pyserial.readthedocs.io/en/latest/shortintro.html 

Recuerda que todos los elementos aca listados los puedes encontrar en nuestra tienda virtual y fisica. ¿Te parecio util éste articulo? Dejanos tus inquietudes, opiniones y sugerencias en la caja de comentarios.

 

 

Nuevo Lanzamiento Raspberry PI 3 Modelo B+

Raspberry presenta su nueva tarjeta que lleva las capacidades del computador pequeño más económico del mundo a un nuevo nivel nivel, SIGMA ELECTRÓNICA como distribuidor oficial la traerá próximamente a sus clientes  conoce más a fondo sus características en éste articulo.

Pero las imagenes dicen mas que mil palabras revisa este video a continuación y luego pasemos a explicar cada parte del nuevo modelo Pi 3B+:

Si has trabajado con Raspberry PI al revisar este video estarás ansioso de tener esta nueva versión en tus manos. Ya han pasado dos años desde que fue lanzada la tarjeta Raspberry PI 3, la cual fue el primer producto en contar con un procesador de 64 bits de la familia Raspberry PI así como en integrar conectividad inalámbrica integrada. La respuesta de tan magnífico producto ha sido la venta a nivel mundial de más de 9 Millones de tarjetas usadas en el hogar, los colegios, las universidades y hasta en la industria en todos los ámbitos.

Los clientes desde el primer lanzamiento saben que Raspberry ha escuchado sus opiniones y gracias a ello ha liberado sucesivamente mejoras a sus productos como cuando se lanzó la versión mejorada Raspberry Pi 1 Modelo B+ que integraba un par de puertos USB adicionales lo cual introdujo el factor de forma que llevaron las versiones posteriores hasta llegar a la Raspberry Pi3  Modelo B+.

Como siempre Raspberry entrega lo mejor en rendimiento por un precio bajo para este nuevo modelo no es la excepción así que aquí te tenemos estas características que integran en su revisión 2018:

  • Procesador de 1.4GHZ con arquitectura de 64 bits de cuatro núcleos ARM Cortex-A53.
  • Banda inalámbrica dual LAN 802.11ac Wireless y Bluetooth 4.2.
  • Ethernet de mayor velocidad sobre USB2.0.
  • Soporte para Energía sobre Ethernet (con accesorio PoE HAT).
  • Booteo mejorado sobre red PXE y almacenamiento masivo USB.
  • Mejoramiento térmico.

Gracias a sus nuevas características se ha incrementado la velocidad de reloj del procesador en 200MHz, y además los diseñadores han puesto especial atención en multiplicar por 3 la capacidad de red por Ethernet y Wireless,  Raspberry Pi 3 Modelo B representa más poder, más eficiencia y mayor confiabilidad para las aplicaciones más exigentes.

Raspberry Pi Model B+

Especificaciones Técnicas al detalle

Empecemos por el procesador la versión plus  ha sido diseñada en torno al BCM2837B0, una versión actualizada de 64 Bits del procesador anterior, que incorpora optimizaciones de eficiencia energética así como un disipador de calor metálico que permite usar una frecuencia más elevada de reloj mediante un consumo de voltaje reducido con un monitoreo y control de temperatura más preciso del CPU.

En conectividad Inalámbrica se mantiene una conectividad dual LAN y Bluetooth suministrada por un chip Cypress CYW43455 conectada a una antena Proant tipo PCB similar a la ya probada en la versión Raspberry Pi Zero W de alto desempeño. Si se compara la Raspberry Pi 3 modeloB+ con su predecesora,  se experimentará una mejora amplia en el desempeño de comunicación tanto en la banda de 2.4GHz como de 5GHz demostrada por los laboratorios LibreELEC:

 

Tx bandwidth (Mb/s) Rx bandwidth (Mb/s)
Raspberry Pi 3B 35.7 35.6
Raspberry Pi 3B+ (2.4GHz) 46.7 46.3
Raspberry Pi 3B+ (5GHz) 102 102

 

Como complemento éste circuito ha sido encapsulado bajo una lámina metálica, que permite certificar el conjunto bajo las reglas de la FCC.

Nuevos Disipadores Raspberry PI B+

 

En versiones previas Raspberry Pi usaba el chip de la familia LAN951x el cual combinaba un controlador dual USB tipo hub y Ethernet. Para el modelo Raspberry PI 3 Modelo B+  se ha colocado una versión superior LAN7515 que soporta Gigabyte Ethernet y USB2.0 a un ancho de banda superior.

 

Tx bandwidth (Mb/s) Rx bandwidth (Mb/s)
Raspberry Pi 3B 94.1 95.5
Raspberry Pi 3B+ 315 315

 

A nivel energético gracias a la mejora en la eficiencia se ha integrado soporte mediante PoE (Power over Ethernet) implementando un header de 4 pines el accesorio pertinente PoE HAT será próximamente lanzado y regulará la fuente PoE de 48V a 5V necesarios para energizar la tarjeta por completo.

Accesorio PoE

 

Velocidad de reloj, Voltajes y Disipadores

Como ya se había mencionado el procesador en éste nuevo modelo ha cambiado el BCM2837 ofrece un rendimiento superior y por ende la protección y el control debió incrementarse, para ello los fabricantes han acoplado un administrador de energía basado en el chip MxL7704 que permite de forma personalizada subir o bajar la frecuencia de reloj así como cambiar las reglas de voltaje permitidas para que cada aplicación saque el máximo partido a la tarjeta conforme sus requerimientos.

Por defecto cuando el administrador de temperatura encuentre la tarjeta por debajo de 70°C, automáticamente permitirá trabajar el procesador a 1.4GHz de forma segura, pues  tan pronto detecte un incremento de temperatura por encima de los 70°C bajara la frecuencia de reloj del procesador a 1.2GHz, antes de que el mismo procesador llegue a tocar los 80°C trabajando de forma que el usuario final experimente todo el poder de la tarjeta en su conjunto sin ningun tipo de riesgo.

La gráfica siguiente cortesía de Garet Halfacree demuestra como la Raspberry Pi Model B+ se desempeña en comparación a sus modelos predecesores en un entorno de prueba de 8 minutos exigiendo su procesador de 4 núcleos al máximo.

Prueba de temperatura

Ésta gráfica permite apreciar como en su máximo desempeño la Tarjeta Pi 3B+ consume mas energia que sus predecesoras, por lo tanto se sugiere un adaptador de energía de alta calidad capaz de suministrar  2.5Amperios.

No olvides dejarnos tus comentarios, expectativas o preguntas en la caja de comentarios nos interesa conocer tu opinión.

Sigue consultando la página continuamente y no olvides seguirnos en nuestras redes sociales para conocer el precio de lanzamiento al mercado.

Facebook      Twitter      Google Plus

Créditos 

Este proyecto a sido posible gracias a un vasto equipo de trabajo entre los cuales Roger Thornton quien ha diseñado la board y ha liderado una extensiva campaña de normatividad RF así como el equipo Sony UK Technology y una gran cantidad de personas que han aportado al producto final.

VIA: https://www.raspberrypi.org/blog/raspberry-pi-3-model-bplus-sale-now-35/

 

Como interpretar una trama GPS

DISPOSITIVOS GPS

Los dispositivos GPS han ganado gran aceptación en el mundo de las telecomunicaciones y el control, y no es por menos pues el hecho de conocer con certeza la ubicación de un dispositivo, vehículo, persona o hasta las mascotas es una necesidad que tenemos. Pero para los estudiantes y los desarrolladores trabajar con módulos GPS ha sido un reto debido a la cantidad de formatos que se manejan y las tramas un poco confusas que según la marca del dispositivo que usemos tendremos para analizar. En este articulo de forma resumida aprenderemos como seleccionar el dato pertinente del GPS y hacerle el procesamiento para ubicar nuestra posición en Google Maps.


Así lucen los datos que nos arroja un GPS de Quectel cuando lo leemos por puerto serie, como vemos es una serie de datos que nos pueden confundir un poco más a la hora de leerlo con un micro-controlador u Arduino. Primero que todo debemos entender algo del lenguaje, en la industria electrónica todos los GPS devuelven tramas de datos con sus separadores reglamentarios y letras de identificación, a este formato se le denomina NMEA 0183 y es el que se usa a nivel mundial en todos los dispositivos de navegación satelital. Como vemos hay distintos datos que nos devuelve el GPS pero para no confundirnos nos concentraremos en dos principales que son $GNRMC y $GNGGA para tener estos dos datos principales debemos o bien configurar el GPS por comandos AT para que nos entregue solo los datos útiles, o seleccionarlos mediante programación buscando los encabezados respectivos.

Entendiendo la trama $GNRMC

$GNRMC,203544.000,A,0438.9198,N,07404.3962,W,0.00,247.85,150517,,,A*62
$GNRMC, nos indica el tipo de dato que estamos captando en la línea de lectura nótese que acá cada dato va separado por comas esto debe ser tenido en cuenta a la hora de hacer la programación para buscar el carácter “,”. 203544.000, nos indica la hora en coordenadas universales es decir en este caso tendremos las 20horas, 35minutos y 44.00 segundos, como vemos de primera mano con el GPS tendremos un reloj de alta fidelidad al cual simplemente le ajustaremos la zona horaria sumando o restando según la zona horaria donde estemos ubicados. A o V nos indica el estado de nuestra conexión GPS si es activa (A) o sin señal (V).
Ahora miremos la trama de ubicación 0438.9198,N,07404.3962,W esta trama nos indica nuestra ubicación en latitud y longitud.

La latitud es 4 grados y 38.9198 minutos en el hemisferio Norte, de forma similar la longitud es 74 grados y 04.3962 minutos en el hemisferio oeste. Acá debemos ser cuidadosos pues si colocamos estos datos en Google Earth o Maps no los lograra interpretar esta coordenada (generalmente google maps espera un numero en este formato 4.648690, -74.073193), y la razón es debido al formato de coordenadas que los GPS traen se deben convertir los minutos a decimales de grados, en ese sentido se divide la latitud 38.9198/60=0.648663 (dado que un grado tiene 60minutos), y de igual forma dividiremos la longitud así 04.3962/60=0.07327, luego mediante programación se concatenaran los números enteros con los números obtenidos luego nuestra lectura quedará:
0438.9198,N,07404.3962,W  04.648663, -74.07327

Si somos observadores vemos como a la longitud se le agrego un signo menos y es debido a estar ubicados en el oeste (W) de igual manera si estuviéramos en el hemisferio Sur (S) deberíamos agregarle a la latitud un signo negativo esto es simplemente para corresponder al formato que maneja Google, cuando se esta ubicado en el norte (N) y al este (E) no se le agrega nada.

Los siguientes dígitos 0.00 indican la velocidad experimentada en nudos para nuestro caso como estuvimos estáticos nos registra 0.

Los siguientes dígitos 247.85 es un ángulo de seguimiento, útil para estimar posiciones siguientes, y finalmente 150517,,,A*62 indica los últimos datos nos indican la fecha en formato DD/MM/AA y la variación magnética.

Función de la trama $GNGGA

$GNGGA,203544.000,0438.9198,N,07404.3962,W,1,10,0.94,2597.0,M,3.4,M,,*69
Así pues si ya tenemos los datos más importantes en una sola trama, pero podemos también manejar una complementaria si lo necesitamos, en ella tenemos los mismos datos como la hora, la ubicación, pero los siguientes dígitos después de la ubicación indican datos útiles como:
1, indica si la ubicación es arreglada si es uno o no si es cero. El siguiente numero 10 indica la cantidad de satélites que tenemos de seguimiento para este caso tenemos 10. El siguiente 0.94 indica la dilución horizontal de la posición. Los siguientes dígitos 2597.0,M indican la altitud en metros sobre el nivel del mar esto es sumamente importante en sistemas de telemetría aéreos o para analizar los datos de vuelo de por ejemplo un Dron. Los siguientes números 3.4,M indican una altitud relativa de la ubicación útil en aplicaciones de aproximación en la tierra mediante una elipsoide.
Así pues tenemos una revisión de los datos más usados de un GPS para calcular la posición y así poderlos implementar en una aplicación practica.

Si este articulo te resulto útil, por favor déjanos tus comentarios preguntas o sugerencias para artículos futuros.

SUBIR