Realterm: captura serial

Posted by Juan Marcano | Posted in Software | Posted on 27-11-2011

0

Andas buscando un software con mayor funcionalidad que la hyperteminal de windows para realizar tus pruebas de comunicación serial y depurar? Realterm es una gran opción:

Realterm es un programa de terminal especialmente diseñado para capturar, controlar, y depurar flujos de datos difíciles.

  • Puedes ver la data en ascii,binario,hexadecimal, 8 bit, 16 bit, con signo o sin el, y con carácteres especiales .
  • Muestra la transmision (TX) y le recepción (RX) con colores distintos.
  • Full control remoto desde active X/ Windows Scripting.
  • Captura en archivos, captura configurable en tamaño o duración.
  • Archivos con captura timestamping para alcenamiento: datalogging
  • Ver y controlar las lineas (cts,rts, dcd etc).
  • Botón de reset/encendido para programadores PIC.
  • Puede correr invisible en la barra de herramientas (tool-tray).
  • Maneja I2C y SPI chips via BL233.

El programa se puede descargar desde:

http://realterm.sourceforge.net

Pidgin como cliente de mensajeria universal

Posted by Juan Marcano | Posted in *LINUX*, Internet, Software | Posted on 22-06-2011

0

Pidgin es un cliente de mensajería excelente, si estas dispuesto a a abandonar el MSN messenger de una vez por todas  y dejar de inundar tu pantalla de publicidad con un software de mayor funcionalidad: pidgin es lo que estabas buscando. Pidgin se encuentra disponible para Windows, Linux y Mac.

Pidgin (a diferencia del clásico messenger de microsoft) te permite utilizar a la vez varias cuentas de mensajería instantánea: AIM, Bonjour, Gadu-Gadu, Google Talk, Groupwise, ICQ, IRC, MSN, MXit, MySpaceIM, SILC, SIMPLE, Sametime, XMPP, Yahoo!,Zephy.

Ademas de todas estas cuentas y de los plugins que trae por defecto podemos agregar plugins de terceros que añaden aún mayor funcionalidad al pidgin:

Facebook y Pidgin

Podemos acceder al servicio de mensajería de la populachera red social con el plugin:

Pidgin-facebookchat

Twitter y Pidgin


Con este plugin podemos ver los últimos ¨twetts¨  alimentar nuestro Twitter y dar a conocer al mundo entero nuestras obras y pensamientos mas absurdos en 120 caracteres sin tener que abrir el navegador.

Microblog-purple

Google apps y Pidgin

Puedes agregar por defecto cuentas de google talk en pidgin. Si tienes tu propio dominio con google-apps puedes usar google talk siguiendo las siguientes instrucciones.

Google apps-> google talk



Utilizando la libreria de Microchip para dsPICs: controlador PID

Posted by Juan Marcano | Posted in Electrónica, Software | Posted on 05-04-2011

0

Los dsPIC son DSC, ello significa que combinan las características de un MCU junto a las bondades de un DSP,  se caracterizan fundamentalmente por la prescencia de A/D rápidos (incluso con DMA en la familia 33f), presencia  de módulos especializados de PWM, y enfocados principalmente a la necesidad de operaciones matemáticas cíclicas a alta velocidad sobre todo en aplicaciones comúnmente denominadas  de ¨tiempo real¨, en fin: los DSC son muy versátiles, aunque la limitante a su uso y tal ves por ello su poca popularidad es:

–          Como todo micro nuevo requiere cierto tiempo de aprendizaje, y tal vez su uso no se justifique en la mayoría de aplicaciones, siendo tal vez más conveniente el uso de la familia de PICs 24 (muy versátil y funcional) o incluso uC más económicos si es que ya se ha acostumbrado, sin embargo la familia de PIC24 utiliza el mismo compilador C30 de MICROCHIP y la mayoría de módulos del los dsPICs guardan muchas similitudes con los uC de la familia de PICs 24 por lo que el salto de PICs 24 a dsPICs no resulta para nada complicado.

–          El costo es obviamente mayor para el dsPIC.aunque a veces resulta contradictorio que uC de la familia 18 con un rendimiento mucho menor, módulos menos versátiles y a su vez complicados de configurar, con mayores limitantes y de solo 8 bits tengan costos iguales e incluso mayores que los de familias de microcontroladores más versátiles e incluso más sencillos de programar como la familia 24, al menos en el super-limitado mercado nacional.

La familia de PIC24 comparte junto a los dsPIC el mismo compilador C30 ofrecido por microchip que en su versión académica puede dar resultados más que satisfactorios, con la típica posibilidad de incluir código en assembler si se considerase necesario. En fín cuestión de opiniones, de probar y comparar.

Dejando ya de lado esta pequeña introducción vayamos al grano y al verdadero motivo de este artículo:

Como utilizar un dsPIC para implementar un controlador PID?

La respuesta es simple: microchip nos brinda una librería de algoritmos que permite hacerlo haciendo uso del motor DSP y brinda el código fuente por lo que la podemos modificar si se nos antoja.

Es solo una de las muchas librerías que se incluyen junto al compilador C30, que como dijimos tiene un único propósito: aumentar la velocidad de las operaciones matemáticas. Entonces si deseamos implementar un PID con un dsPIC no es lo mas eficiente el uso del cálculo del controlador utilizando las instrucciones MCU (aunque no por ello inválido),pero un programa más eficiente debe hacer uso del motor DSP que lo disminuirá el tiempo ocioso de nuestro microcontrolador dejándolo libre para ejecutar otras tareas, despues de todo debemos sacarle el jugo al DSC y ello no resulta tan difícil:

La verdad es que aquí no hay ningún misterio, aparece documentación acerca del uso de la librería  en varios trabajos publicados en la red, en varios foros y en los documentos de microchip que suelen tener muchas versiones y la intención de este post es condensar un poco esa información.

Es necesario acotar que todos los archivos necesarios están en la carpeta del compilador C30 que ya deberia haber instalado, explore en la carpeta de instalación: los siguientes archivos y añádelos a tu proyecto en el MPLAB, o utilice el ¨Linker script¨ que viene con el ejemplo CE019_PID que a fin de cuentas es el que explica claramente con un ejemplo como se emplea la librería y que archivo debe añadir y en general todas las instrucciones a seguir.

El documento 16Bit_Language_Tool_Libraries Chapter 2–> control functions , brinda una introducción muy didáctica y condensada acerca de los PID, y explica con más detalle las 4 funciones en lenguaje C para implementar el PID, indicando inclusive el numero de ciclos que toma la ejecución de cada función.

Con estos 2 documentos debería ya poder empezar!

Como comentario adicional:

No olvide incluir la cabecera <dsp.h>  (echele un ojo al final del código) aunque personalmente prefiero en cualquier proyecto incluir todos los archivos de código fuente y cabeceras dentro de la carpeta del proyecto en el MPLAB.

Para mayor información aún nada mejor que revisar y estudiar un poco el código fuente de la funciones para PID que está escrito en assembler y está contenido en el archivo PID.s, nótese el uso de las instrucción MAC (multiplica y acumula) propia de los DSP. Las instrucciones en assembler para el dsPIC están aquí.

También es necesario el archivo dspcommon.INC

Para el uso de las instrucciones DSP es necesario estar claro con el uso de números fraccionales de 16 bits, también conocido como formato Q15, no es más que numeración de ¨punto fijo¨ (en analogía a punto flotante) pues la librería y el motor DSP emplea este formato. Para documentarse mejor acerca del formato Q15 revise en este este documento, es otra versión del documento ¨16 bit lenguaje tools¨, también tocan bien el tema en este libro.

Htc Magic y Android

Posted by Jose | Posted in Hardware, Software | Posted on 09-12-2010

2

Htc Magic Venezuela

Esta semana por fin tengo en mis manos el teléfono que había pedido ya hace mas de un mes. Se trata del HTC Magic de la operadora venezolana movilnet.

Sin conocerlo físicamente, elegí este modelo de una larga lista debido a que desde hace tiempo me atraía la idea de probar este sistema operativo (android) solo conocia sus buenos comentarios en la web ademas de estar basado en Linux y ahora me doy cuenta que fue una muy buena decisión ya que anteriormente era usuario de windows mobile pero definitivamente la superioridad de esta nueva adquisición es incomparable. El sistema operativo es MUY fluido, excelente diseño y aplicaciones a montones por medio del market ademas de funcionalidad e integración con el correo electrónico e Internet. Cabe destacar que el equipo acá en Venezuela viene con la versión de android 1.5 (algo antigua) lo cual no es una gran limitación, pero ciertas aplicaciones muy populares requieren por los menos la versión 2.1, debido a esto me puse manos a la obra para buscar algún tipo de actualización y al fin pude actualizar de manera «segura» a 2.1.parte trasera

Esta versión tiene ciertas diferencias lo cual hace que valga la pena el trabajo, para el cual hay que leer muchísimo antes de proceder para estar seguro de los pasos correctos y en un descuido no quede el telefono como un lindo pisapapeles. Pueden consultar este procedimiento y opiniones de otros usuarios en la siguiente pagina:

Aqui

Acerca del hardware el teléfono no es un equipo de gama alta de htc pero para un usuario promedio cumple con todos los requerimientos. Lo que mas me gusta el acelerometro debido a que le da un extra de funcionalidad al equipo en aplicaciones que implican posicion de la mano o el equipo.

En mi opinión personal creo que es un equipo que debido a su precio tiene una LARGA lista de ventajas y bondades todo esto gracias al desarrollo ABIERTO de android por parte de Google y la comunidad de desarrolladores que día a día aportan mas y mas aplicaciones al Market. A continuacion les dejo algunas capturas de pantalla que hice en distintas aplicaciones:

Pruebas en Asterisk

Posted by Jose | Posted in *LINUX*, Hardware, Software | Posted on 08-12-2010

1

Ya hace un tiempo había realizado las pruebas preliminares  haciendo la instalación base de la centralita Asterisk con teléfonos por software y herramientas básicas. En esta oportunidad decidí ir un poco mas lejos y realizar pruebas orientadas a los requerimientos que podemos encontrar en una instalación real.

Grandstrean BT201Adquirí un hardphone Grandstream modelo  BT201 el cual resulto bastante bueno. Tiene funcionalidad básica, cuenta con buena calidad de audio y sencillamente hace su trabajo. Hasta el momento no he tenido problemas con el, cero cuelgues, errores etc. La interfaz de configuración se realiza vía web de manera sencilla


Panel trasero

Cuenta con un indicador que nos alerta de la existencia de un mensaje de voz en nuestra cuenta ip (si se encuentra habilitado en el servidor), capacidad incorporada de hacer llamadas en conferencia (no hace falta habilitar una extensión para ello en la central), altavoz, registro de llamadas salientes y entrantes entre otras capacidades.

Asterisk X101 ClonePara continuar con las pruebas le agregué a la máquina que instalé como central, una tarjeta CLON de X101P la cual consiste de un módem con chip ambient MD3200, el cual cuenta con el hardware necesario para funcionar como tarjeta FXO en asterisk. La instalación la realicé descargando y compilando el paquete DAHDI de digium con el modulo wcfxo y hasta ahora me ha resultado bastante bien con el funcionamiento,  pese que en muchos sitios de internet comentan que este tipo de tarjetas son buenas para experimentar, pero para instalaciones en producción no son recomendables. Para una prueba práctica conecté mi extensión de oficina a esta tarjeta y configuré el dialplan de manera que al detectar una llamada entrante la enviara a la extensión sip asignada al hardphone , así cada vez que alguien marca mi extensión analoga convencional repica mi teléfono IP. También realicé los cambios necesarios para poder hacer llamadas saliendo por el puerto FXO.

Algo interesante también fue el hecho de unir dos centrales como amigas, de tal manera que se realizara la conexión por el protocolo SIP  o IAX2 entre extensiones de las 2 centrales Asterisk. Esto es muy práctico ya que con solo marcar una extensión ya podemos conversar con usuarios de la otra central ubicados en otra ciudad o país, implicando un gran ahorro. Esto es muy útil en ambientes de empresas que cuentas con muchas sucursales

Asterisk PBX Friends

A manera de prueba contraté un servicio de telefonía IP externo y lo añadí como troncal SIP a una de las centrales de prueba, de esta manera puedo llamar a números de cualquier parte del mundo desde cualquier extension de la central Asterisk.


libro asterisk gratisUna excelente guía es el libro llamado «Asterisk, the future of telephony» el cual es gratuito y lo podemos descargar completo directamente de la página de la editorial en formato PDF.


AQUÍ

Cualquier duda o pregunta, Comenta!…

jose@marcano.net.ve

PThe Future of Telephony

Tips de seguridad en GNU/Linux

Posted by Jose | Posted in *LINUX*, Software | Posted on 20-10-2010

0

A muchos de nosotros nos anima la idea de tener una maquina en casa que funcione como servidor en casa, acceder a nuestros archivos desde cualquier lugar  o desde el trabajo es algo que con frecuencia buscamos,  en fin es muy útil y  a la vez divertido hacerlo lograrlo nosotros mismos

En GNU/Linux esto no tiene mucha complicación y hay mucha documentación en Internet la cual indica como hacerlo pero esto tiene otros aspectos que debemos tomar en cuenta:

Cada vez que abrimos puertos en nuestro router, o hacemos nat de nuestra red local para acceder a ciertos servicios estamos fabricando «puertas» para dar acceso desde afuera a nuestro computador, las cuales las dejamos ahí para cuando NOSOTROS queramos entrar mediante un usuario y una contraseña, esto no implica que alguna otra persona no intente vulnerar esa «puerta» para entrar y hacer quien sabe que en nuestro equipo.

¿Cual es la idea?

Dejar las menores puertas posibles de entrada a nuestro sistema y lograr que sean lo mas seguras que podamos, para esto me permito dar ciertos consejos que hasta la hora me han funcionado muy bien.

Una practica muy frecuente en usuarios y administradores de sistemas Linux es instalar un servicio de servidor ssh, esto nos da una muy buena opción para el control remoto vía consola y con la posibilidad de acceder a nuestros archivos de manera gráfica, todo esto a través de un canal cifrado y seguro. Esto no significa que no debamos tomar ciertas precauciones con este servicio el cual es uno de los mas utilizados, pero no esta de mas tomar las siguientes precauciones:

SOBRE TODO, utilizar un nombre de usuario y una contraseña segura, nada de 1234 ni abc. Combina letras en mayúscula, minúsculas y números si es posible

  • Especificar que usuarios podrán hacer «login»  por ssh, esto se modifica en el archivo /etc/ssh/sshd_config con la linea:                                                                      AllowUsers «tu-usuario»
  • No permitir que root tenga permiso de hacer login por este medio, esto lo hacemos con la siguiente linea:                                                                                                                            PermitRootLogin no

Por que esto no es buena practica?  Si alguien se llegara a apoderar de nuestros datos de conexión y entra al sistema no tendrá permisos de hacer grandes cambios mas que los de un usuario regular, no podra realizar cambios en archivos de configuración etc. Pero en cambio si  nosotros realmente necesitamos hacer tareas administrativas propias de root por ssh es mejor agregar nuestro usuario regular al archivo /etc/sudoers y así, mediante el comando «sudo» lograr escalar privilegios mediante una contraseña predefinida y nuestro usuario tendrá los permisos necesarios. Otra practica recomendada es cambiar el puerto de escucha del servidor ssh (22) por otro puerto distinto.

En este momento seguramente alguno pensara… que paranoico estoy, pero es realmente importante.. Fíjense en este registro (a la derecha) de intentos fallidos que encontré en un servidor. Hay muchísimos intentos de login fraudulentos intentando entrar como «root» y con varios usuarios distintos, los cuales ninguno existe, solo están utilizando un «robot»   el cual intenta entrar con parámetros predefinidos con una lista de usuarios comunes y contraseñas clasicas en muchas ip al rededor del mundo en el puerto 22

Observen que en un día puede haber miles de intentos de acceso a nuestro equipo por esta vía, para esto podemos complementar  la seguridad instalando la herramienta fail2ban la cual examina los logs continuamente y al detectar cierto numero de intentos fallidos bloquea la ip de origen por un tiempo determinado. El sistema que poseía  este log no tenia instalada esta herramienta, por esa razón se aprecia gran cantidad de intentos desde mismas ip. cabe destacar que las ip que aparecen son reales y de donde han provenido dichos intentos de login

Otras buenas practicas:

  • Tener un Cortafuegos con las reglas básicas para dejar los servicios básicos de nuestro sistema inaccesibles desde fuera.

Por ejemplo bloqueo de puertos 631  (Puerto de escucha de CUPS  – Servidor de impresión en Gnu/Linux) y 515 ( Cola de impresión)

  • Si utilizamos SAMBA, es conveniente denegar el acceso desde la interfaz conectada hacia afuera de nuestra red bloqueando el puerto 139 (netbios) y 445 y cualquier otro servicio el cual instalemos en la maquina, por ejemplo herramientas de administración y control via web, etc
  • La instalación de servidores FTP es inseguro, ya que la contraseña y la data viajan en texto plano por la red y cualquiera con las herramientas adecuadas puede indagar los paquetes que transmitimos o recibimos, e incluso descubrir el usuario y la contraseña de acceso y una muy buena opción es nuevamente ssh, y si queremos acceder desde un equipo con win podemos utilizar winscp con  el cual hacemos transferencias de archivos vía gráfica igualmente que un cliente ftp comun.

Hay mucha mas datos e información la cual ire  escribiendo en otros artículos con temas relacionados, cualquier duda o pregunta comenta!