Sunday, September 22, 2013

Introduction to the Raspberry Pi, a free online course in Spanish (October 14th)


Universidad Galileo (Galileo University) in Guatemala have launched a free, Spanish language MOOC (Massive Open Online Course) titled “Introducción a Raspberry Pi“.



The University says:
In this course, students will get to know the Raspberry Pi and learn what it can do; which [Linux] distributions are available; how to develop simple applications using Python; and how to control external devices using the GPIO interface. 
The emphasis is on theory first, then demonstrations and ultimately the student is encouraged to reinforce their learning by first replicating and then improving what they’ve been shown. 

The course structure looks like this:

  • Installation, configuration, accessories and other aspects 
  • Installing Wheezy and other distributions 
  • Introduction to Python 
  • Introduction to programming in Python on the Raspberry Pi 
  • A complete example in Python Raspberry Pi GPIO module for external connections 
  • Hardware basics and using the GPIO 
  • Next steps: projects and community 

There are two routes through the course: a ‘light mode’ where you can learn the basics and an ‘advanced mode’ where studetns contribute weekly projects plus a final project. For the light mode you do not even need a Raspberry Pi.

Sign up here

Tuesday, March 19, 2013

Importar producto VirtueMart mediante script PHP

En esta entrada voy a explicar de una forma sencilla como importar productos a la base de datos de virtuemart mediante un script php.

En mi web necesito crear artículos personalizados para cada usuario, que dependen de los parámetros que ellos seleccionen en un momento determinado. El código que tenemos que utilizar es el siguiente.


Con la sentencia mysqli_connect establecemos la conexión con nuestra base de datos, y dentro de la misma, con la tabal que vamos a utilizar para la creación del producto. Una cosa a tener en cuenta es que para importar un producto tenemos que modificar dos tablas, como vemos en el código: jos_virtuemart_products para la creación del producto y jos_virtuemart_product_prices donde asociamos este producto a su precio correspondiente.

En nuestro caso, necesitamos enviar una consulta (mysql_query) a la base de datos de creación de registro. Para ello hacemos uso de la sentencia INSERT INTO tabla ('campo_tabla') VALUES ('valor campo'). 

Por último, cerramos la conexión con la base de datos con el comando mysqli_close.

Aqui vemos un solo campo para el producto y el precio. Si accedéis al panel de administración de la base de dato a las tablas mencionadas anteriormente podéis comprobar que hay multitud de campos que se pueden modificar.

Wednesday, March 13, 2013

Cargar un módulo dentro de un artículo

Fuente: gnumla.com

Lo primero que tenemos que hacer es acceder a la zona de administración. Una vez allí vamos a Extensiones -> Administrador de Plugins, y buscamos en la lista el plugin "Content - Load Module". Si no está activado, lo activamos pinchando en el icono de la bolita roja con una cruz blanca, que se convertirá en una marca verde. 

Lo siguiente que tenemos que hacer es irnos a Extensiones -> Administrador de módulos. Una vez ahí editamos el módulo que queremos cargar en un artículo (pinchamos sobre el nombre del módulo), y en la caja de la izquierda llamada "Detalles", veremos una lista desplegable titulada "Posición". Seleccionamos la posición que cargaremos dentro del artículo. 

Normalmente suele ser buena idea crear una posición específica en la que irán los módulos que se cargarán en artículos, o incluso varias, ya que si, por ejemplo, seleccionamos la posición "user1", los módulos de esa posición se cargarán en ella y, simultáneamente, en el artículo, lo que en algunos casos puede dar como resultado que la página no se cargue, y en cualquier caso no suele quedar bien tener la misma información en dos sitios a la vez. Para ello os recomendamos que le echéis un vistazo al truco "crear nueva posición en el template", o si no queréis complicaros la vida y sólo queréis cargar un módulo tipo "HTML personalizado" dentro de un único artículo, podéis usar el plugin ND LoadModule. 

Con el plugin activado y el módulo listo, nos vamos al editor de artículos, y lo único que tenemos que hacer es incluir la línea
{loadposition posicion}
donde "posicion" será sustituída por la posición en la que pusimos el módulo que queremos cargar.

Forma alternativa

Podemos hacer uso del plugin Load-Module-in-Article (pinche aquí para descargar). Su funcionamiento es bastante sencillo; unicamente tenemos que poner la siguiente sentencia en el editor HTML del articulo en el que queremos insertar el módulo
{module [id]}
siendo el parámetro [id] la id del módulo. No olvidéis de activar el plugin en el Gestor de Extensiones. Este módulo también tiene algunas opciones avanzadas, que son las que siguen.

  • 'none' no edita el módulo (obviamente)
  • 'xhtml' inserta el módulo en un div
  • 'rounded' insert el módulo en multiples divs
Para hacer uso de ellos, la sentencia sería la siguiente
{module [63|rounded]}

Friday, September 21, 2012

Eliminar index.php de las url de Joomla

Queda un poco feo para la vista que aparezca el sufijo index.php cada vez que accedemos a una página diferente de nuestro sitio 

http://www.yoursite.com/index.php/category/article

La solución para eliminarlo de nuestra url es la siguiente.
  1. Ir a la Configuración Global dentro del área de administración de Joomla
  2. En Configuración SEO (derecha) marcar las siguientes opciones:
    • Motor de búsqueda para URLs amigables
    • Usar la reescritura URL
  3. A continuación, haciendo uso de algun servidor FTP, renombrar el archivo htaccess.txt por .htaccess
  4. Hacer uso de algun editor de texto para eliminar '#' antes de la palabra RewriteBase, en mi caso, localizada en el archivo htaccess.txt (ahora .htaccess)
  5. Recargar la página y ni rasto de index.php
http://www.yoursite.com/category/article

Friday, August 31, 2012

Instalar servidor web en Raspberry Pi

Fuente: instructables.com

Otra de las múltiples formas de tener acceso a las distintas funciones de nuestra FrambuesaPi es a través de un servidor web. Con el podemos, de forma remota y desde cualquier lugar, controlar los pines GPIO de nuestra placa, obtener información de distintos parámetros (temperatura, consumo), etc. siempre que tengamos la programación web adecuada. 

Los pasos para instalar un servidor web en nuestra Raspberry son los que siguen.

Paso 1 - Conectarse por SSH a la Raspberry Pi

Esto se explico en una anterior entrada de este mismo blog. Para el que no sepa o no recuerde como se hace, ver Conectarse por SSH a la Raspberry Pi.

Paso 2 - Instalar Apache con PHP

La primera vez que te conectes a tu Raspberry (ya sea por SSH o directamente por monitor, teclado y ratón), debes actualizar el sistema operativo haciendo uso de los comandos

     sudo apt-get update
     sudo apt-get upgrade

Si el comando te devuelve un error, vuelve a ejecutarlo para solucionarlo. Una vez hecho esto, escribir

     sudo apt-get install apache2 php5 libapache2-mod-php5

Cuando la instalación termine, aparecerá un mensaje de error. Para solucionarlo, escribir en el terminal

     sudo groupadd www-data
     sudo usermod -g -www-data www-data

Reiniciar apache con el comando "sudo service apache2 restart" (sin las comillas). Esta vez no debería haber errores.

Para comprobar que el servidor apache se instaló correctamente, debería aparecer la siguiente pagina en el navegador cuando escribimos el hostname en la barra de direcciones.


Para permitir el acceso a los archivos htaccess (archivos de configuración del servidor apache) debemos hacer lo siguiente:
  1. Escribir "sudo nano /etc/apache2/sites-enabled/000-default"
  2. Cambiar la linea que dice "AllowOverride None" por "AllowOverride ALL". Para guardar los cambios, presional Ctrl+x y Ctrl+y.
  3. Reiniciar nuevamente el servidor apache con el comando "sudo service apache2 restart".
Paso 3 - Instalar MySQL

MySQL es el sistema encargado de gestionar las bases de datos. Para su instalación, basta con escribir el comando 

     sudo apt-get install mysql-server mysql-client php5-mysql

en el terminal. Durante la instalación, aparece una pantalla preguntando "New password for the MySQL "root" user". Introducir una clave y confirmar. Una vez hecho esto, ya tenemos MySQL instalado en nuestro sistema.


Y, con esto, es suficiente por el momento. En entradas futuras explicaré como se instala el servidor FTP y phpMyAdmin en nuestro sistema. Para los interesados, echar una lectura a la fuente de la entrada. 

Cuando tenga tiempo subiré un ejemplo que controla los pines GPIO a través del servidor web, así podéis comprobar su correcto funcionamiento.

Sunday, August 5, 2012

Android 4.0 llega a la Raspberry Pi

Fuente: neoteo.com

No es la primera vez que el Raspberry Pi cruza espadas con Android, sin embargo, en esta oportunidad se trata de nada menos que Ice Cream Sandwich 4.0. Todavía tiene algunas limitaciones, pero algunos aspectos críticos de rendimiento ya parecen estar más que solucionados.


De acuerdo al anuncio oficial, esta versión utiliza un kernel y un binario VideoCore diferente al que está disponible en GitHub, razón por la cual se habían mantenido en silencio hasta ahora. La aceleración de hardware tanto de vídeo como de gráficos parece estar funcionando bien, algo que podemos comprobar en las transiciones y en la reproducción de vídeos HD en YouTube. Uno de los elementos pendientes en el desarrollo de esta versión de Android para el Raspberry Pi es el sonido. El soporte AudioFlinger aún no está disponible, pero seguramente tendrá prioridad en la lista.


La introducción de Android 4.0 en el Raspberry Pi abre todo un abanico de posibilidades, no sólo por la cantidad de aplicaciones que hay disponibles (aún en el caso de que no se pueda acceder a la tienda), sino también por la existencia de cosas como XBMC, que ya había sido ejecutado en el RBPi de forma nativa. También se ha barajado la posibilidad del soporte Netflix, pero hay algunas cuestiones de DRM que podrían mantener alejado a ese servicio.

Thursday, August 2, 2012

Instalación de Joomla en un servidor local (II)

Fuente: ite.educacion.es

Una vez tenemos instalado el servidor local web y hemos creado tanto la base de datos como el usuario que la gobierna, procedemos con la instalación de Joomla!. Los pasos a seguir son los siguientes.

1) Descargar el paquete más actualizado (http://www.joomla.org).

2) Creamos una carpeta de nombre “joomla” en la carpeta que utiliza Apache para servir archivos. Recuerda que esta carpeta está localizada: 
  • En Windows: c:\wamp\www 
  • En Ubuntu: /var/www 
  • En Mac OS: Aplicaciones/MAMP/htdocs 
Finalizada la creación de esta carpeta deberemos tener: 
  • En Windows: c:\wamp\www\joomla 
  • En Ubuntu: /var/www/joomla 
  • En Mac OS: Aplicaciones/MAMP/htdocs/joomla
3) Descomprimir el archivo .zip descargado en la carpeta joomla que hemos creado anteriormente.

4) Una vez hecho esto, ya podemos comenzar con la instalación de Joomla!. Para ello, abrimos el navegador y vamos a la siguiente dirección.
http://localhost/joomla ó http://127.0.0.1/joomla
Paso 1 - Idioma

La primera pantalla que aparece es la que nos permite seleccionar el idioma en el que queremos realizar la instalación.


Paso 2 - Comprobación previa

Nos encontramos en la fase en la que la instalación revisa si nuestro servidor cumple con los requisitos previos de instalación, incluyendo los valores recomendados de la configuración de PHP. En esta pantalla no suele haber problemas, así que pulsamos en Siguiente y continuamos.



Paso 3 - Licencia

Pasamos a la siguiente pantalla, pulsamos “Siguiente”, y nos encontramos con la pantalla que nos muestra la licencia GNU/GPL bajo la que se distribuye Joomla! La leemos, y pasamos a la siguiente pantalla.


Paso 4 - Base de datos

Configuración básica, donde introducimos la información que se precisa sobre la base de datos y el usuario MySQL.
  • Tipo de base de datos: MySQL 
  •  Nombre del servidor: normalmente “localhost” 
  •  Nombre de usuario: usuario (o el que hayamos decidido) 
  •  Contraseña: ********** (su contraseña)
  •  Nombre de la Base de Datos: joomla (si así la creamos)

Paso 5 - FTP

En nuestro caso, al realizar una instalación en local, podemos dejar esta configuración tal y como aparece en la imagen.


Paso 6 - Configuración

Completada la información, se pasa a la siguiente pantalla, en la que decidimos “Nombre del sitio”, y los datos con los que se crea el primer usuario en Joomla!: “correo electrónico del administrador”, y “contraseña del administrador”. El primer usuario que se crea en Joomla! es éste, y se necesita esta contraseña. El nombre de usuario es “admin”. Introduce como nombre del sitio tu nombre y apellidos.


Paso 7 - Finalizar la instalación

En estos momentos, antes de realizar ninguna otra operación, debemos eliminar la carpeta “Installation”, una de las que venía en el archivo comprimido de Joomla! y que colocamos en la carpeta que utiliza Apache para servir los archivos.


Para comenzar a hacer uso de nuestra pagina de joomla, tecleamos la siguiente dirección en el navegador.
http://localhost.joomla

Para acceder al panel de administración, introducir el siguiente enlace en el navegador
http://localhost/joomla/administrator
donde el usuario y la contraseña son los definidos anteriormente. 
Con esto llegamos al área de administración, que tiene el siguiente aspecto:


Es en esta ventana donde debemos hacer los cambios que queramos sobre la web. Y después de todo esto, es lo que toca hacer. Poner la web chula y vistosa para vuestro público!

Instalación de Joomla en un servidor local (I)

Fuente: ite.educacion.es

Para instalar Joomla en un servidor local, lo primero que tenemos que hacer es instalar un servidor local web, en este caso como usuario de Mac OS X, usaremos MAMP. Los pasos a seguir son los siguientes.

1) Una vez instalado y descargado MAMP (http://www.mamp.info/en/index.html), ejecutamos la aplicación MAMP.app y nos aparece lo siguiente.


Observamos que se inician los servicios de Apache y MySQL en la ventana de gestión de MAMP, y que tenemos acceso a “Detener Servidores”, “Abrir la página de inicio”, “Preferencias” y “Salir”. Por el momento nos olvidamos de la opción Preferencias.

2) Si aparece desactivado, pulsa sobre "Iniciar Servidores" y la aplicación se encarga de abrirte la siguiente pagina en el navegador.


3) Lo siguiente que tenemos que hacer es crear una base de datos para nuestra página web. Para ello, hacemos uso de phpMyAdmin.
Para acceder a la gestión de phpMyAdmin, escribimos en nuestro navegador la URL: 
http://localhost/phpMyAdmin

PhpMyadmin tiene inicialmente sólo creado un usuario, el usuario “root”, sin contraseña asignada. Esto supone una cierta vulnerabilidad si nuestro servidor estuviese disponible en una red. No es el caso, y no nos preocuparemos por este tema hasta que sea necesario. Aunque encontraremos probablemente el correspondiente aviso al entrar por primera vez a gestionar phpMyAdmin. 

Importante! Recordemos, para finalizar, la localización física de:
  • La carpeta que contendrá los archivos que sirve Apache, 
Aplicaciones/MAMP/htdocs 
  • El archivo de configuración del servidor web Apache, 
Aplicaciones/MAMP/conf/apache/httpd.conf 
  • El archivo de configuración de PHP, 
Aplicaciones/MAMP/conf/php5/php.ini
Para crear la base de datos debemos:
  1. Darle un nombre, escrito en el cuadro de texto de “Crear nueva base de datos”, por ejemplo “joomla”; 
  2.  Decidir de la lista desplegable donde aparece escrito “Cotejamiento” (“Collation”, en inglés), el juego de caracteres involucrado en el cotejamiento de las conexiones con el servidor;
  3. Seleccionar “Crear”
Joomla! permite que el cotejamiento, juego de caracteres, que utilicen las bases de datos sean “utf8_Unicode”. Como tenemos libertad, al trabajar en local, podríamos decidir la combinación que se ve en la imagen, o bien, si queremos centrarnos en la particularidad de algunos caracteres del castellano, seleccionar como cotejamiento de las conexiones MySQL y en el de la base de datos que vamos a crear “utf8_spanish(2)_ci”. Procedemos y ya tenemos la base de datos creada. Está vacía, sin tablas, la instalación de Joomla! se encargará de crear lo que necesita.

Ahora vamos a crear el usuario que necesitamos para la instalación de Joomla!
  1. Seleccionamos “localhost” en la ventana que tenemos abierta de phpMyAdmin, y aparece otra vez la primera ventana que apareció al entrar en phpMyAdmin. Seguidamente seleccionamos “Privilegios”.
  2. Estamos en la ventana de gestión de los usuarios existentes. Seleccionamos “Agregar nuevo usuario”.
  3. Rellena los campos que aparecen. Decide tú mismo el nombre de usuario (si quieres tener otro distinto a “usuario”) y la contraseña que quieras, pero debes recordarla, no lo olvides! Pulsar sobre continuar et voilà, usuario creado.
  4. Conviene tener claro que el usuario creado tiene todos los privilegios sobre la gestión de las bases de datos, y que puede ser una mala gestión de la seguridad del sitio. Lo habitual es que el usuario tenga determinados permisos sobre alguna base de datos, y que el acceso a la gestión de las bases de datos esté más controlada por otros usuarios administradores. 

Tuesday, July 31, 2012

Raspberry Pi - Guía de inicio

Breve Introducción

Raspberry Pi es una placa computadora de bajo coste desarrollada en Reino Unido por la Fundación Raspberry Pi. Desde el 29 de Febrero de 2012 se pueden realizar pedidos en las páginas web de los distribuidores de componentes electrónicos Farnell y RS Components.

El diseño incluye un System-on-a-chip Broadcom BCM2835, que contiene un procesador ARM1176JZF-S a 700 MHz, un procesador gráfico VideoCore IV y 256 MiB de memoria RAM. El diseño hace uso de una tarjeta SD para el almacenamiento permanente.

Primeros Pasos
Fuente: raspberrypi.org

En un principio solo haremos uso de los dos puertos USB disponibles en la placa y un televisor y/o monitor digital. Si tienes alguna duda y/o problemas con la instalación, visita los foros para principiantes que raspberrypi.org pone a vuestra disposición en el siguiente enlace, donde tenéis cantidad de tutoriales y manuales para cualquier duda que os puedan surgir. Es una comunidad muy completa donde todo el mundo coopera y aporta su granito de arena.

Necesitaremos los siguientes elementos:
  • Teclado y ratón USB
  • Una tarjeta SD con el sistema operativo instalado
  • Un televisor y/o monitor digital con salida HDMI
  • Cable MicroUSB para alimentar la placa
  • Cable LAN Ethernet


Será necesario una tarjeta SD con un sistema operativo preparado que poder cargar en la Raspberry Pi. Se recomienda una tarjeta de al menos 4GB de capacidad. Para iniciar la Raspberry, conectar los elementos (monitor, teclado y ratón) y conectar la placa a la corriente. Si tenemos la Raspberry conectada a Internet, esta automáticamente obtendrá una dirección IP. Puedes loguearte con el usuario y contraseña predefinidos (Username: pi Password: raspberry). Una vez hecho el login, comenzar a usar la Raspberry Pi escribiendo el comando "startx" en la terminal.

Aqui os dejo el enlace donde podéis descargar el sistema operativo recomendado para la placa. Se trata de Raspbian “wheezy”.

Y con esto ya podéis disfrutar de vuestra Raspberry Pi por el momento. Pronto dejaré mas tutoriales, como por ejemplo, hacer de tu placa un servidor web, instalarle apps para obtener detalles de temperatura, consumo, etc.

Hasta pronto!

Conectarse por SSH a la Raspberry Pi

Para visualizar la Raspberry Pi en vuestro ordenador haciendo uso de SSH hay que seguir los siguientes pasos.

1) Acceder al contenido de la Tarjeta SD y cambiar el nombre del fichero boot_enable_ssh.rc por boot.rc

2) Conectar la Raspberry Pi a Internet. Para saber la IP con la que se conecta, podemos comprobarlo a traves del router o...
  • Comandos netstat y netview en la consola de Windows
  • Comando nmap y/o la aplicación Angry IP en Linux

3) Una vez detectada la IP de la Raspberry, nos conectamos por SSH a través de la terminal con el siguiente comando.
ssh pi@192.168.0.202
donde pi el username de la Raspberry Pi y 192.168.0.202 la dirección IP correspondiente (no tiene porque ser la misma en vuestro caso). La contraseña es raspberry

4) Una vez conectados por SSH, debemos instalar un servidor VNC
sudo apt-get install tightvncserver 
5) Crear un servidor VNC en la Raspberry (será necesario una contraseña)
vncserver :1 -name RasPi -depth 16 -geometry 1024x768 
Si no te piden contraseña, deberás configurarla manualmente con el comando vncpasswd

6) Instalar el cliente VNC en tu ordenador. En este caso, para Linux
sudo apt-get install xtightvncserver
Yo, como usuario de MAC, estoy haciendo uso del VNC Viewer.

7) Conectarse al servidor haciendo uso del comando
xtightvncserver 192.168.0.202:1
donde 192.168.0.202 es la dirección IP y :1 es el servidor que hemos creado. 

Para conectarse a través de VNC Viewer hay que hacer lo siguiente.


Y con esto, ya debéis conseguir arrancar el entorno gráfico de la Raspberry PI en vuestro ordenador.


Fuente: raspberrypi.stackexchange.com