Controlar DreamVision CinemaTen Pro a través de RS-232

Hace unas semanas, necesité controlar un proyector CinemaTen Pro, de la marca DreamVision para poder encenderlo y apagarlo sin un mando. Éste cuenta con puerto serie, por lo que es posible controlar ésto y cualquier aspecto de su configuración a través de comandos.

El problema es que este proyector tiene ya una pila de algunos años, por lo que encontrar cuáles son los comandos que el proyector reconoce fue tarea imposible. Por tanto, decidí enviar un correo al servicio técnico de DreamVision para preguntarle por éstos, y muy amablemente me los ofreció sin ningún problema.

Publico aquí el documento que explica todo perfectamente, por si quizás pueda servir en algún momento (yo la verdad no he sido capaz de encontrarlo por ninguna parte en Internet).

Configurando el entorno de GCC

Este artículo se trata de una traducción de un artículo obtenido de la web de Embedds. Puedes encontrar su versión original en inglés aquí.

Como hemos mencionado, vamos a continuar con herramientas de software libre. Por lo que usaremos el compilador gratuito y de código fuente GCC para desarrollar programas para los microcontroladores ARM Cortex. Como vamos a trabajar desde un entorno Windows hay diferentes opciones que son bastante similares. Una es usar la edición Lite de CodeSourcery o el toolchain Yagarto. Ambas herramientas funcionan de la misma forma ya que utilizan el compilador GCC y otras herramientas. Ambas parecen tener buen soporte. CodeSourcery afirma que actualizan la edición Lite dos veces al año, mientras que Yagarto lo hace con más frecuencia dependiendo de actualizaciones de herramientas de manera individual. Tu elección no afectará al resultado final. Seguir leyendo Configurando el entorno de GCC

Error al ejecutar Orienta en sistemas Linux de 64 bits

Captura del Orienta 2012-13 en Ubuntu 12.10 (64 bits)
Captura del Orienta 2012-13 en Ubuntu 12.10 (64 bits)

El Orienta es un programa que no falta en el Departamento de Orientación de ningún instituto. Te será muy útil porque contiene todo lo que necesitas sobre orientación académica: tests de orientación vocacional, información sobre las distintas universidades españolas, notas de corte, ponderación,…

Por suerte, esta gran herramienta está también disponible para Linux, pero es probable que tengas problemas al ejecutarlo en sistemas de 64 bits. Tras descargar y ejecutar el script (en la terminal: ./orienta.sh), puede que obtengas un error parecido a éste:

symbol lookup error: ./orienta.sh: undefined symbol: initPAnsiStrings

Este error se debe a un problema de compatibilidad de librerías de 32 y 64 bits, es decir, librerías que están desarrolladas para 32 bits, pero, por decirlo de una forma comprensible, no han sido probadas para 64 bits.

Para arreglar este problema, simplemente instala la librería correspondiente pero en su versión de 32 bits. Ejecuta en la terminal:

sudo apt-get install libjpeg62:i386

Prueba nuevamente a ejecutar el script y, voilà! Se te abrirá una ventana con la aplicación.

Este truco ha sido probado en Ubuntu 12.10, con arquitectura (por supuesto) de 64 bits, pero es muy probable que funcione en otras distros :D.

¡Hasta la próxima!

Instalar servidor web nginx y PHP en la Raspberry Pi

Hola a todos!!

Este es el primer post tras la vuelta, que como podéis ver trae un nuevo diseño para el blog, con novedades como:

  • Una interfaz muchísimo más limpia.
  • Los colores de la web son totalmente diferentes.
  • Ahora, en la página principal, aparecen los últimos posts en 2 columnas y al final de la página, hay un botón Ajax para que aparezcan más posts.
  • La página del post se centra en su contenido.
  • Disqus para la gestión de comentarios.
  • Nuevo template para las etiquetas de código fuente y comandos de terminal.
  • Y un largo etcétera… 😀

El hosting utilizado actualmente es 3owl.com, que recomiendo que observéis sus características ya que son increíbles para lo que vale (gratis :)).

Vamos allá con el tutorial.

¿Quién no conoce el ordenador del tamaño de una tarjeta de crédito por 25$? La Raspberry Pi no sólo gracias a sus prestaciones, sino también por su pequeño tamaño y la comunidad que posee (y su SO, Linux). RPi se diseñó para ser utilizado en colegios e institutos en los que se estudie Programación, pero ahora, sean pequeños o mayores, todos quieren una.

Hace poco yo también recibí una, por lo que lo primero que haremos, tras cargar Raspbian en una SD y configurar la RPi, será instalar un servidor web, con soporte para PHP. El servidor elegido es nginx, que por ser liviano y no necesita demasiados recursos, es el candidato perfecto para nuestra RPi. El SO utilizado es Raspbian «wheezy». Empecemos.

1) Primero, instalaremos los paquetes necesarios. Utilizaremos la terminal, ya sea directamente desde la RPi, utilizando el sistema de ventanas (ejecutando startx) o desde un cliente SSH.

$ sudo apt-get install nginx php5-fpm php5-cgi php5-cli php5-common

Esto durará algún tiempo, ya que aquí se descarga todo lo que necesitamos. Recuerda que tu RPi debe estar conectada a Internet, ya sea a través de la conexión Ethernet o con un adaptador USB Wi-Fi.

2) Crearemos el usuario y grupo www-data, utilizado por nginx. Los siguientes comandos comprueban si ya los tienes creados, y si no, los crean. Ejecutamos:

$ sudo useradd www-data
$ sudo groupadd www-data
$ sudo usermod -g www-data www-data

3) A continuación, crearemos la carpeta www dentro de /var , que será la que visualice nginx y en la que debemos colocar nuestros archivos. Asignaremos esa carpeta al usuario y grupo anteriormente creados.

$ sudo mkdir /var/www
$ sudo chmod 775 /var/www -R
$ sudo chown www-data:www-data /var/www

4) Pasemos ahora al tema configuraciones :D. Abrimos el siguiente archivo utilizando nano.

$ sudo nano /etc/nginx/sites-enabled/default

Excepto si estás utilizando IPV6 (no es lo normal por ahora, pero pronto lo será), comentaremos la siguiente línea (puede aparecer de una de las siguientes 2 formas),…

listen [::]:80 default_server ipv6only=on;
listen[::]:80 default ipv6only=on

,… añadiendo una # al comienzo de esa línea, quedando así (dependiendo de cómo aparezca esa línea en tu archivo de configuración):

# listen [::]:80 default_server ipv6only=on;
# listen[::]:80 default ipv6only=on

Guardamos el archivo (Ctrl + O) y cerramos nano (Ctrl + X).

5) Necesitamos configurar otro archivo que nos permitirá que nginx pueda leer correctamente los archivos PHP. Abrimos con nano:

sudo nano /etc/nginx/sites-enabled/default

Y editamos lo que se llamaría Server Block en nginx, VirtualHost en Apache.

server {
# Replace this port with the right one for your requirements
listen 80 default; #could also be 1.2.3.4:80

# Multiple hostnames separated by spaces. Replace these as well.
server_name example.com; # change example.com with your domain

root /var/www; #point it to your own directory if different

error_page 404 errors/404.html;
access_log logs/example.com.access.log;

index index.php index.html index.htm;

# static file 404’s aren’t logged and expires header is set to maximum age
location ~* .(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
}

location ~ .php$ {
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}

location ~ /.ht {
deny all;
}
}

Con este bloque de código, nos será suficiente, pero los usuarios más avanzados deberán ajustarlo a sus necesidades. Puedes ver más ejemplos de Server Blocks en la documentación de nginx.

6) Un último cambio y terminamos :D. Abrimos:

$ sudo nano /etc/php5/fpm/pool.d/www.conf

Modificamos la siguiente línea:

listen = /var/run/php5-fpm.sock

Por ésta:

listen = 127.0.0.1:9000

7) ¿A que no ha sido tan difícil? Recuerda estos comandos, porque deberás ejecutarlos ahora para poder iniciar el servidor nginx y PHP, y además cuando te sea necesario iniciarlo en cualquier momento.

$ sudo service php5-fpm restart
 $ sudo service nginx restart

Estos comandos son servicios, y aparte de ésta (reiniciar PHP y nginx) tienen muchas opciones más. Prueba a descubrirlas realizando esto en tu terminal. Tras escribir [cci_bash]sudo service nginx[/cci_bash], es decir, antes de escribir qué acción quieres realizar, pulsa la tecla de tabulador (Tab). Aparecerán todas las opciones disponibles: start, stop, restart, etc..; elige la que necesites.

Hasta aquí el tutorial de hoy. Antes, recordar la fuente de este tutorial. Más bien las fuentes, porque hay una mezcla de muchos enlaces de Internet. Se ha utilizado información de esta web: Nginx + PHP5 on Raspberry Pi (Debian Wheezy) – Rasberry Pi Beginner (lo de que falte una p se lo decís al autor del tumblr :P). Del blog de José Carlos Andreu, se ha utilizado información de 2 de sus posts en inglés: How to install a webserver (nginx) on a RaspberryPi y Install PHP in a RaspberryPi along with nginx. Gracias a los 2 :D.

La consola no aparece en el Dash de Unity en Ubuntu (En busca de la Terminal Perdida)

La ventana de Terminal se abre pero no aparece en el Dash de Unity
La ventana de Terminal se abre pero no aparece en el Dash de Unity

Hola a todos,

A mí me ha ocurrido esto que resumo en el título (y en una película, que os recomiendo :P). Al abrir una ventana de Terminal, aparece la ventana pero no sale como abierta en el Dash. En la foto que os adjunto se muestra lo que pasa.

Esto aunque parezca una tontería, es muy importante, porque si se nos ocurre minimizar la ventana de Terminal, no tendremos posibilidad de volver a maximizarla y abrirla. A los que se creen mu’ listos (como yo ;)) se les ocurrirá ejecutar el atajo de teclado Alt+Tab, pero, lo siento mucho, que te digo yo que no va a funcionar.

Efectivamente, se trata de un bug. Pero se puede solucionar, como todo. Hay otra combinación de teclas mágicas que servirá muchísimo más que la otra.

Si has minimizado la ventana de Terminal y no sabes como recuperarla, en tu teclado haz la siguiente combinación de teclas: Super (A.K.A tecla de Windows) + W. ¡Tacháan! Mágicamente esa ventana que creíamos perdida aparece mágicamente.

Probablemente te siga ocurriendo, y es que otra solución aparte de la anterior es irte al Centro de Software de Ubuntu (o al apt-get, pero probablemente te sea difícil…) y desinstalar el paquete gnome-terminal (no te preocupeees, sigue leyendo). Una vez desinstalado, vuelve a instalarlo. El problema debería solucionarse 😉 (algo gracioso, es que yo intenté esta última solución, y al volver a instalar el paquete la ventana minimizada apareció, y eso que yo había desinstalado el paquete anteriormente,…).

Espero que te haya servido. Por cierto, esto ha sido probado por mí en Ubuntu 12.10 con 64bits, pero en el lugar de donde he sacado esta ayuda ha tenido este fallo con Ubuntu 12.04, también de 64bits. En el sitio donde se indica el bug, ha ocurrido con la aplicación de biblioteca calibre (que también os recomiendo, pero ahora de verdad :D) Si te ha funcionado (o no), me encantaría que lo escribieses por aquí abajo.

¡Hasta la próxima!