Archivo de la categoría: Raspberry Pi

Cosas varias sobre Raspberry Pi

Leer temperatura de un sensor DS18B20 con Raspberry Pi

Mediante un sensor DS18B20 podemos obtener una lectura de temperatura fácil y precisa. Este sensor puede ser una gran aliado para nuestro montajes. Este sensor de temperatura utiliza el protocolo de comunicación 1-Wire, lo que nos permite una facil comunicación con el, y la posibilidad de crear un red de sensores, sin tener que ocupar muchos de nuestros pines de entradas y salidad de datos de nuestro Raspberry Pi.

Materiales usados

Raspberry Pi 2 Raspberry Pi 3 Modelo B (1,2 GHz Quad-core ARM Cortex-A53, 1GB RAM, USB 2.0)

Raspberry Pi 2 Model B – Placa base (ARM Quad-Core 900 MHz, 1 GB RAM, 4 x USB, HDMI, RJ-45)

Sensor temperatura DS18B20 DS18B20 con carcasa de acero inoxidable
protoboard Protoboard
cables_union Cables de conexión
Resistencia 4k7 Resistencias varias
RPi GPIO Breakout Pi 2 Model B & B+ RPi GPIO Breakout Pi 2 Model B & B+

Esquema de montaje DS18B20 y Raspberry Pi

El montaje del sensor en un sencillo, la alimentación del sensor lo haremos mediante el pin de 3,3v del conector GPIO (pin 1), al clave rojo del sensor, en mi caso, si utilizamos la versión como un transistor, la conectaremos al pin más a la izquierda. La masa, la sacaremos el pin 6 del GPIO, y lo conectaremos al cable negro, o al pin de la derecha del sensor. La salida de datos la conectaremos al pin 4, al cable amarillo, o al pin del medio del sensor. Para terminar el montaje, tendremos que situar una resistencia de 4K7 Ohm, entre el pin positivo del sensor y el pin de datos.

Esquema de montaje del sensor DS18B20 con un Raspberry Pi

Esquema de montaje del sensor DS18B20 con un Raspberry Pi

El sensor DS18B20, permite conectar varios sensores al mismo canal, es decir, que si queremos añadir más sensores DS18B20 a nuestro circuito, no tendremos que ocupar más pines de datos de nuestra raspberry, colo tendremos que conectar cada uno de los pines del sensor al mismo circuito que el primero.

Ejemplo de montaje de varios sensores DS18B20 a una Raspberry Pi.

Montaje de varios sensores DS18B20 a una Raspberry Pi
Montaje de varios sensores DS18B20 a una Raspberry Pi

 

Comprobando la instalación de los sensores DS18B20

Como todas las comunicaciones que Linux hace con cualquier dispositivo, ya sea puertos serie, USB, comunicaciones I2C, etc. La forma de trabajar la Raspberry Pi con el sensor de temperatura DS18B20 es creando un fichero, donde el sensor escribe los datos devuelto. Esta comunicación la realiza mediante el bus 1-Wire.

Para comprobar que nuestra Raspberry Pi lee todos los sensores que tenemos instalados, solo tendremos que mirar cuantas carpetas con el inicio “28” tenemos dentro del directorio que maneja las comunicaciones con el bus 1-Wire. Cada una de estas carpetas que comienzan por “28” corresponde con el numero de serie del sensor de temperatura.

Cada una de estas carpetas que comienzan por “28” corresponde con el número de serie del sensor de temperatura. Si faltase alguna carpeta, habría que comprobar la conexión de ese sensor.

Lectura del sensor DS18B20 con una Raspberry Pi

Para leer los datos proporcionados por el sensor de temperatura DS18B20 con nuestra Raspberry Pi solo tendremos que acceder a cada una de las carpetas, y leer los datos que hay dentro del fichero “w1-slave”. En este fichero tendremos el valor de la temperatura leída por el sensor * 1000, es decir, para obtener el valor real de la temperatura, dividiremos el valor del parametro “t” / 1000.

Para hacer esto desde Python, haremos los siguiente.

Añadiremos las siguientes librerías, para el manejo de ficheros y directorios del sistema

Cargamos los módulos en el kernel del sistema para manejar el bus 1wire del conector GPIO del Raspberry Pi.

Cargamos la ruta donde se encuentra nuestro sensor.

Con esta linea cargamos el nombre del primer sensor de la lista disponible, para cargar las demás rutas solo tendremos que cambiar “[0]” por la posición deseada.

Lo siguiente que haremos es leer el fichero “w1_slave”, para leer el valor de la temperatura del sensor. Leemos el fichero y cargamos todas las lineas disponibles en una variable.

Una vez que ya tenemos el contenido del fichero, buscamos el parámetro “t” donde esta la temperatura. Una vez que encontramos la temperatura, la multiplicamos por 1000, par obtener el valor real.

Con esto ya tendríamos el valor del sensor, con su valor real, dentro de la variable “temperatura”.

Agregar un nuevo disco a nuestro Linux

Si estamos ejecutando nuestro Linux en un entorno gráfico, esta operación resulta relativamente muy fácil. Solo tenemos que Agregar nuevo disco a nuestro servidorejecutar el programa “Discos” desde nuestro escritorio.  Seleccionar el nuevo disco que hemos instalado, si la placa lo ha reconocido correctamente, Crear la o las particiones que creamos necesarias. Y por ultimo podemos indicarle con un par de clicks si queremos que se monte al iniciar el equipo, donde queremos que monte, etc.

Pero si queremos hacer esto en nuestro servidor en Linux, no nos quedara otro remedio de tirar de la bendita consola.

Aunque parezca que hacer este proceso mediante consola va ha ser más complicada que utilizando el modo gráfico, la verdad es que es un proceso relativamente sencillo.

Agregar nuevo disco en Linux

Lo primero que tenemos que saber es, en que dispositivo esta nuestro nuevo disco. Para obtener esta información solo tenemos que ejecutar el comando “fdisk”, con el parámetro “-l”. Este comando nos mostrara, no solo los discos que tengamos instalados en nuestro sistema, si no nos mostrara todas las particiones que están disponibles en cada uno de los discos que tengamos instalados. Para ejecutar este comando tendremos que tener acceso al sistema como “root”.

Una vez que sepamos donde esta nuestro disco, en mi caso, “/dev/sdc”. Pasamos ha crear las particiones del discos.

Crear las particiones en nuestro disco

Para crear las particiones de un disco solo tendremos que ejecutar de nuevo el comando “fdisk” pasandole como parámetro la ubicación del disco que vamos a particionar. En mi caso seria “fdisk /dev/sdc”.

Dentro del “fdisk”, utilizaremos varios comandos para crear tanto las particiones, como el tipo de partición y grabar la partición en el disco.

Lo primero que comprobaremos es si el disco ya tiene alguna partición, para ver esto pulsamos la tecla “p”, este no mostrara las particiones existentes en el disco si las hubiera. En el caso de que no hubiera ninguna partición, solo mostrara la información del disco.

crear-particion-lista-de-particiones-en-el-disco

Eliminar particiones existentes

Si tuviéramos alguna partición, y no nos sirviera para nuestro propósito, la podemos eliminar usando el comando “d”, si solo tuviéramos una partición disponible en nuestro disco, eliminara automáticamente esa partición. Si por lo contrario tuviéramos más de una, nos pediría que partición deseamos eliminar. En este caso como solo hay una, se eliminara esa partición si pedir más información.

Agregar nuevo disco a nuestro equipo

Crear particiones

Para crear una nueva partición utilizaremos el comando “n”, lo siguiente que nos pedirá sera el tipo de partición que deseamos crear, ya sea primaria (p) o extendida (e). Lo siguiente que nos va ha pedir sera el numero de la partición, por defecto si no tenemos ninguna partición creada en el disco nos aparecerá la 1. Lo siguiente que nos pide sera el sector de inicio. Si no tenemos ninguna partición creada, el valor por defecto que aparecerá sera el primer sector disponible del disco. El siguiente parámetro que nos pedirá sera el sector de fin. Si queremos todos el disco libre disponible, validaremos el valor por defecto. En este parámetro podemos indicar el tamaño de la partición de varias formas:

  1. Indicando el sector hasta el que queramos que nuestra partición llegue. Este forma es un poco lioso, por que tendríamos que calcular en que sector se encuentra el tamaño que deseamos.
  2. Indicando directamente el tamaño de la partición directamente. Esto lo podemos hacer indicando escribiendo lo primero “+”, a continuación el tamaño que deseamos, seguido del tipo de tamaño usado (K para Kilobytes, M para Megabytes, G para Gigabytes, T para Terabytes o P para Petabytes). El tipo de tamaño lo tenemos que indicar en mayúsculas, si lo ponemos en minúsculas, no dará error).

crear-particion

Cambio del tipo de la partición

Con esto ya habremos creado nuestra partición. Pero esta por defecto es del tipo “Linux”, para cambiar este tipo,  utilizaremos el comando “t” para indicar que tipo de partición vamos ha usar.

tipos-particiones-linux

Este comando nos pedirá el código del tipo que vamos a utilizar. Si no sabes el código, podemos utilizar el comando “l” para mostrar la lista con los formatos de particiones que podemos utilizar. Para crear una partición con el formato de NTFS elegiremos el código “7”. Para seleccionar una partición de tipo Linux, utilizaremos el código “83”. Para una del tipo Linux Swap (partición de intercambio de Linux) utilizaremos el código “82”.

tipos-particiones-linux

Podemos utilizar de nuevo el comando “p” para verificar que la información que hemos indicado es la que se esta utilizando para crear la partición.

Grabar las particiones

Si todo es correcto solo tenemos que guardar la partición. Para ellos utilizaremos el comando “w”. Este comando grabara la información de la partición dentro del disco, y saldrá el “fdisk”.

guardar-la-particionUna vez que hallamos creado la partición podemos hacer dos cosas para que le sistema lea la nueva partición del disco.

  1. Reiniciar el sistema para que al cargar la configuración del disco, este carga la nueva información de la partición del disco.
  2. Para evitar tener reiniciar podemos utilizar el comando “partprobe”. Este comando fuerza a que el sistema vuelva a leer la información de los discos. Podemos indicar que que solo lea la información de un disco en concreto.

Formatear las particiones de nuestro disco

Para realizar el formateo de las particiones podemos utilizar el comando “mkfs”, este comando nos permite dar formato a cualquier tipo de partición, ya sea de tipo Linux, NTFS, FAT, etc. Dependiendo del tipo de partición que hallamos utilizado le tendremos que pasar como parámetro “-t” y el tipo de formateo que vamos ha realizar.

  • Para particiones de tipo Linux: Las particiones de tipo Linux las podemos formatear de varios tipo, puede ser de tipo ext3, ext4, etc. Para indicarle a “mkfs” el tipo de formateo usaremos como parámetro “-t ext3”, “-t ext4”.
  • Para el caso de una partición de  tipo “Windows”, ya sea fat16, fat32, ntfs, el parámetro que tendremos que usar sera “-t fat32”, “-t ntfs”, etc.

Tmbien dispones de otra variante de este comando, y es mkfs.xxx, donde las “xxx” son el formata que vamos a utilizar para dar el formateo a la partición. En este caso seria el siguiente,

Una vez que hemos creado las particiones del disco y formateado el disco, solo nos queda montar la partición.

Para montar una partición en el sistema, lo primero que tenemos que tener es un ruta donde cargar ese disco. Esta ruta la podemos crear el cualquier lugar, siempre y cuando tengamos acceso a ello. Si creamos la ruta de montaje en un carpeta propietaria de “root”, por ejemplo, cuando montemos nuestra partición en ello, solo “root” podrá tener acceso a ella.

Lo normal en crear una nueva carpeta dentro del directorio “/mnt”, es lo normal, no obligatorio.

En este caso vamos ha crear la ruta de montaje dentro del directorio “/mnt” con el nombre de “segundoDisco”. Para ello utilizaremos el comando “sudo mkdir /mnt/segundoDisco”.

Montar las particiones de nuestro disco

Para probar si se puede montar nuestro disco en la ruta deseada utilizaremos el comando “mount”

mount -t ntfs /dev/sdc1 /mnt/segundoDisco

Con esto ya tendríamos nuestro disco accesible, eso si, mientra no reiniciemos nuestro equipo.

Auto montaje de las particiones al iniciar el sistema

Para hacer que nuestra partición se carga al arrancar el sistema tendremos que añadir la siguiente linea al final del fichero /etc/fstab

Linea a añadir al fichero.

Explicaciones de los parametro:

  1. /dev/sdc1: Ruta donde se encuentra el dispositivo a montar.
  2. /mnt/segundoDisco: Ruta donde vamos a montar el dispositivo.
  3. ntfs: Tipo de partición del dispositivo. Para este caso que es de tipo “ntfs”, para Linux Ext3 seria “ext3”, para Linux Ext4 seria “ext4”, etc.
  4. defaults, errors=remount-ro: Opciones de montaje, en este caso utilizamos las opciones por defecto para este tipo de partición (defaults), y con “errors=remount-ro” le indicamos que si se produce un error al montar la partición, esta se vuelva a montar (remount), pero esta vez en modo de solo lectura (-ro Read Only).
  5. 0: indica si la partición para ha ser respaldada por el comando Dump, esta realiza copias de seguridad de las particiones que se indiquen. Si ponemos un 0, Dump no procederá ha realizar copia de seguridad de la partición. Si por lo contrario queremos que Dump haga una copia de seguridad de nuestra partición pondremos un 1. La mayoría de las veces no se utiliza Dump para realizar las copias de seguridad. Por lo que lo más habitual es que este parámetro sea un 0.
  6. 2: Orden en el que se procederá a montar la partición. Este número sera el siguiente al máximo que ya exista dentro de nuestro fichero fstab. En este caso sera el segundo en montarse al iniciar el sistema.

Solo nos queda grabar el fichero, Ctrl-X y S, en nano. Y reiniciar el equipo.

Y esto es todo.

Si hemos creado varias particiones. Tendremos que repetir los pasos, de formateo y montaje, con cada una de las particiones creadas.

Si todo ha ido correctamente. Al termino del arranque del sistema, nuestras particiones, se habrán montado automáticamente dentro de los directorios que hayamos indicado.

Si tienes alguna duda o comentario, no dudes en decirlo.

Ampliar el espacio en la Raspberry Pi

Aumentar el espacio de nuestra partición en la Raspberry Pi

Cuando creamos una nueva SD con el sistemas Raspbian para nuestra Raspberry PI, da igual la versión de esta, la partición de trabajo que nos crea es de 4 Gb, si la actualizamos, o si le instalamos cualquier programa, este espacio rápidamente se nos agota.

Raspberry Pi 2
Raspberry Pi 2

Para que la partición donde esta instalado el sistema utilice todo el espacio disponible de nuestra SD tendremos que seguir los siguientes pasos.

Para realizar esta tarea Raspbian nos ofrece un programa “raspi-config”, este programa nos permite configurar varios parámetros de nuestra Raspberry, como puede ser cambiar la contraseña del usuario, activar la cámara, opciones de inicio, y como no, expandir nuestra partición hasta usar todo el espacio de la tarjeta SD donde tengamos instalado nuestro sistema.

Para ampliar el espacio de nuestra partición ejecutaremos el comando “raspi-config” con derechos de administrador.

Una vez ejecutado el comando nos aparecerá la siguiente pantalla.

ampliar espacio en nuestra raspberry pi
Pantalla del comando raspi-config

Para ampliar el espacio de nuestra raspberry pi seleccionaremos la primera opción “Expand Filesystem”, después de unas comprobaciones nos mostrara la siguiente pantalla.

particion-redimensionada
Partición de nuestro sistema Raspbian redimensionada,

Con esta la partición ha cambiado de tamaño ajustándose al total de nuestra tarjeta SD. Para que los cambios surtan efecto tendremos que reiniciar nuestra Raspberry Pi. Pulsamos en “OK” y volvemos a la pantalla anterior.

Una vez en la pantalla principal seleccionaremos la opción de “Finish” y salimos del programa.

Nos mostrara otra pantalla indicándonos si queremos reiniciar nuestra Raspberry Pi, le indicamos que “Yes” y nuestra Raspberry Pi se reiniciara.

Reiniciar nuestra Raspberry Pi
Reiniciar la Raspberry Pi para activar los cambios

Una vez que la Raspberry Pi se haya reiniciado, podemos verificar que la Raspberry Pi utiliza todo el espacio con el siguiente comando,

Este comando nos mostrara el tamaño, espacio disponible y usado de las particiones que tengamos creadas en nuestro sistema. En nuestro caso la que nos interesa en la partición de “/dev/root” que sera prácticamente el tamaño de nuestra SD.

Verificar-particionesUna vez realizada la comprobación, ya tenemos nuestro sistema ejecutándose en la Raspberry Pi utilizando todo el espacio disponible en la SD.

Si tienes algún nota o duda,  déjanos un comentario.

OPC el idioma de los sistemas industriales

La comunicación de los sistemas industriales siempre a sido un tema muy complicado. Cada fabricante de plc’s utilizaba un sistema de comunicación propio, sin ofreces ningún tipo de información a tercera partes para poder realizar productos que pudieran trabajar con el. Esto hacia que el montaje de un sistema fuera complicado, ya que te tenias que basar en los productos que el fabricante elegido te ofrecía.

PROBLEOPC

Pero esto, se terminó con la aparición del sistema OPC, (OLE for Process Control, por sus siglas en ingles) es un sistema creado en un principio por Microsoft para la comunicación de sistemas industriales. En la actualidad este estándar esta gestionado por la fundación OPC Foundation. La aparición de este protocolo ha permitido una comunicación mas fácil entre los sistemas de control, sistemas SCADA, HMI, etc. con los sistemas de control, PLC’s.

SOLUCIOPC

En un principio este estándar se basó en la tecnología de Microsoft, Este, se baso en la tecnologia OLE, que emplea el formato COM/DCOM, que Micorosft desarrolo para el intercambio de innfomarcion entre aplicaciones y sistemas, como es normal, pero con el traspaso de la gestión a la fundación, esta ha impulsado un sistema libre, sin basarse en ninguna tecnología propietaria.

Por eso en la actualidad, con la versión UA, se puede encontrar desarrollos de sistemas OPC para cualquier sistema, ya se Windows, Linux, OsX, etc. Aunque el sistema principal, y el que dispone de un mayor catalogo de productos para el desarrollo sigue siendo Windows. Esto es debido en parte utilización de este sistema por parte de la industria de equipos industriales.

RTEmagicC_oemgatewayproxy_08.png

En la actualidad podemos encontrar librerías para el desarrollo para cualquier sistema, .Net, Python, Java, etc.

 

 

Nuevo Raspberry Pi 2, nuevas novedades

Nuevo Raspberry Pi 2
Raspberry Pi 2

Hace poco salio a la venta la nueva versión de este pequeño ordenador, el  nuevo Raspberry Pi 2, que nos ha dado muchas alegrías, y aun más dolores de cabeza.

Nuevo Raspberry Pi 2

La versión de este nuevo Raspberry Pi 2 (Raspberry Pi 2 Quad Core Starter Bundle) entre sus nuevas características, trae como procesador un nuevo RM11 ARMv7 ARM Cortex-A7 de 4 núcleos a una velocidad de 900 MHz, y de memoria disponemos de 1Gb de tipo LPDDR2 SDRAM a 450 MHz.

El el tema de los gráficos el procesador que incorpora es el Broadcom VideoCore IV 250 MHz. OpenGL ES 2.0 .

La tarjeta de red sigue siendo la misma que en versiones anteriores, En este aspecto se puede echar un poco de menos no poder contar con un puerto de red a 1 Gigabit.

Pero la ampliación de del procesador y de la memoria le abren nuevas posibilidades.

Nuevo Raspberry Pi 2
Raspberry Pi 2

Raspberry contara con una versión de Windows 10

Aunque no soy muy forofo de los sistemas de Microsft, sobre todos de estos últimos (Vista, Windows 8 o 8.1), creo que Microsoft se ha centrado mucho en copiar los iPad y intentar ser los primeros en tener un sistema como el de las tables en el pc, Pero como funcionamos en una tablet es muy distinta a como trabajamos en un pc, la verdad, no veo a ninguna secretaria sobando la pantalla y dejando las huellas en ellas.

Pero buena al caso, Microsoft esta desarrollando un versión de su ultimo sistema para el nuevo Raspberry Pi 2.

Me imagino que los de Microsoft se han dado cuenta que los protagonistas de los próximos sistemas sera el tan de moda últimamente “Internet de las cosas”. Y por ello no querrán perderse este  nuevo mercado.

Casi todos los sistemas que montan en la actualidad los equipos de control de estos dispositivos suelen venir con Linux, no estoy hablando de sistemas industriales, que estos suelen seguir trabajando con Windows, aunque las nuevas versiones ya suelen montar bastantes sistemas Linux, muchos de los coches, por ejemplo, que actualmente equipan sistemas inteligentes de control, en su interior tienen un Android, que no deja de ser un Linux.

También me imagino que desechara el interface de usuario que utilizan en la actualidad, por otro más practico. Pero de eso no estoy seguro, son Microsoft y son los amos del mercado.

Conclusión

Debido ha esta ultimas mejoras, en potencia y velocidad, los de Raspberry Pi dan un puñetazo en la mesa a los últimos intentos de otros fabricantes, como puede ser a Intel, que ofrecían mayor potencia pero a un coste mayor. Los de Raspberry Pi demuestran, de nuevo, que se puede tener más con menos, ya que el precio de los nuevos no varia con respecto a los de las versiones anteriores. Hay que recordar que de la primera versión se ha llegado ha vender más de 5,5 millones de unidades.

Relacionado

Pagina oficial de Raspberry Pi 2

Como obtenerlo Raspberry Pi 2 Quad Core Starter Bundle

Como devolver una imagen al “SRC” de un IMG con PHP

GD-Graphics-LibraryEn algunas ocasiones se necesita personalizar algún fichero de imágenes en nuestra web dependiendo de cualquier cosa, cambiar la foto del usuario, cambiar un logotipo, etc.

Lo fácil es poner en el propio “src” de la etiqueta “IMG” el código de php que cargue el nombre de la imagen que queremos cargar.

Algo parecido a esto:

Pero esto si tenemos muchas imagen a procesar seria un poco engorroso, sobre todo a la hora de actualizar.

Para evitar tener que duplicar código hay varios métodos, el más común seria crearnos una función en nuestro fichero de funciones globales,  pero rebuscando por google encontré otra solución que me pareció a lo menos curiosa.

Y esta es hacer que el propio fichero de php nos devuelva la imagen, no la ruta al fichero que contiene la imagen, sino la propia imagen. Una cosa como esto.

Una de las funciones que nos permite esto, es crear nuestro propio sistema de captcha, o crear una imagen de algún texto que no queramos que los robots que pululan por la red lo puedan indexar.

Para hacer esto lo que tenemos que hacer lo primero, es indicar que los datos que vamos ha devolver desde el fichero de php son una imagen, esto en php se hace con las siguientes funciones.

Donde “tipo de mime” le indica el formato en el que le vamos ha enviar los datos, para imágenes lo tenemos que cambiar por:

  • image/jpeg: le indicamos que los datos que va ha recibir están en formato de iamgen jpeg.
  • image/png: los datos que le vamos ha enviar están en formato png.
  • image/gif: lo mismos pero en formato gif.

No solo podemos indicarle que lo que vamos ha enviar es una imagen, también podemos decirle que es otro tipo de archivo como por ejemplo un fichero pdf (application/pdf), un fichero de audio en formato mp3 (audio/x-mpeg-3), en esta pagina hay una lista con todos los tipo de mimes que podemos utilizar.

Y ya podemos enviar al “scr” el fichero de la imagen con el siguiente comando de php

Utilizando la libreria GD, podemos crear nuestras propias imágenes, si quieres saber algo mas sobre estas funciones solo tienes que ver los comandos que hay disponibles.

Un ejemplo completo quedaría de la siguiente forma.

Y con esto estaría, si tienes alguna duda o sugerencia puedes dejar un comentario.

Error – 413 Request Entity Too Large en LIghttpd

Servidor web Lighttpd
Servidor web Lighttpd

Estando montando un servidor ownCloud, bajo un servidor Debian y un servidor web Lighttpd, al empezar a subir los  ficheros, me daba este error, “413 Request Entity Too Large“, , este error ocurre cuando el tamaño del fichero que queremos subir es mas grande del limite establecido para ello, y no me dejaba subir ningún fichero que fuese mayor de 70kb.

En un principio pense que la configuración del php estaba limitando el tamaño del los ficheros que se podían subir, edite el fichero de configuración php.ini y comprobé los parámetros que limitan la subida de los archivos.

Los limite a 256 megas, pero aun así, el problema seguía.

Buscando por internet, vi que también el servidor Lighhtpd tiene unos parámetros que podían estar provocando la limitación de subida de los ficheros.

Estos son los parámetros que normalmente hacen referencia para poder establecer la limitación de la subida de los ficheros.

El parámetro “server.max-request-size” es el que establece el tamaño máximo de subida. El valor introducido esta  en Kb. Pero da igual el valor que se le ponga, esto no provoca el error en este momento.

El parámetro “server-network-backend” establece el permiso de escritura en la carpeta temporal.

y luego esta “server.upload-dirs” donde indicamos la carpeta temporal donde se va ha realizar la descarga. Este parámetro también viene por defecto en el fichero de configuración.

Y este es el parámetro que provoca este error. Da igual los permisos que se le den a esa carpeta, o quien sea el propietario de la carpeta. Mientras ese parámetro este en el fichero de configuración nos saltara ese error.

 

 

Instalar servidor web Lighttpd en Debian

[singlepic id=26 w=320 h=240 float=right]

Lighttpd es un servidor web donde la característica principal de este, es su menor uso de cpu y memoria, lo que le hace perfecto para entornos donde, necesitamos una gran velocidad de proceso o donde las características del servidor no son muy buenas. En mi caso quería un software que corriera con relativamente fluido en un mini ordenador que tengo, la mejor opción que encontré fue esta.

Para instalar este servidor bajo una distribución Debian, podemos hacerlo mediante los típicos repositorios.

Con esto ya tenemos instalado nuestro servidor Lighttpd, para probar que la instalación ha sido correcta solo tenemos que abrir un navegador e introducir:

o

Pero solo con esto no haremos mucho, por lo que ahora pasaremos a instalar Mysql y Php5 para darle mas potencia al sistema.

Para instalar Mysql, tendremos que escribir el siguiente comando

En la instalación de MySql nos va ha pedir la contraseña que queremos darle al usuario “root” de MySql, no confuncir con el “root” del sistema, no son el mismo usuario, por lo que deberemos de darle una contraseña distinta, para no tener problemas que sabiendo una nos puedan acceder a la otra cuenta.

Y ahora solo nos queda instalar Php5 con el siguiente comando

Para hacer funcionar el php en una versión básica no hace falta instalar todos estos módulos, pero si son recomendables para que despues no nos surja algún fallo provocado por la falta de alguno de ellos.

Una vez instalados php y mysql solo nos queda probrar que la instacion ha sido correcta. Creamos un fichero dentro de la carpeta de servidor web

He insertamos la siguiente linea

Grabamos el fichero y cerramos el editor. Abrimos el fichero que hemos creado en un navegador

Y si nos aparece una pagina como esta, la instalación a sido correcta.

[singlepic id=25 w=320 h=240 float=center]

Si no funcionara podemos seguir los siguientes pasos. Editamos el fichero de configuración de php.

Y añadimos las siguiente linea

Grabamos el fichero y salimos del editor. Ahora solo nos queda modificar el fichero de configuración del Lighttp

Buscamos la opción “server.modules” y añadimos “mod_fastcgi”,  (comillas y coma del final incluido. Nos tendra que quedar de la siguiente forma mas o menos

Vamos al final del fichero y añadimos las siguientes lineas.

Grabamos el fichero y salimos. Solo nos queda reiniciar el servidor de Lighttp

Si todo ha salido bien y el fichero de configuración no tiene ningún error nos mostrar algo parecido a esto

Si al reiniciar el servidor nos muestra algún error, leer el mensaje y solucionar el problema que nos indique.

Y con esto ya tenemos nuestro servidor web Lighttp instalado.

Ejecutar Android en un Raspberry Pi

Actualizado el 4 de Junio de 2014, leer hasta el final del post.

[singlepic id=18 w=320 h=240 float=right]Como era lógico, alguien ya ha conseguido ejecutar Android, el sistema de Google para moviles en un Raspberry Pi. Aunque de momento esta en una fase muy precaria, nos permita a mucha gente poder probarlo he intentar mejorarlo.

Ejecutar Android en un Raspberry Pi

Para poder instalar y ejecutar Android en un Raspberry Pi solo tenemos que descargar el fichero de imagen que queramos instalar, para ello, tenemos disponible 3 versión de la imagen en los siguientes enlaces:

Una vez descargada la imagen que queramos probar, solo tendremos que copiar la imagen en nuestra tarjeta SD mediante el comando DD, en Linux, o desde cualquier otro programa tanto ya sea en  Windows, como Linux o en Mac que nos permita instalar imágenes en un USB o disco duro, y una tarjeta SD de al menos 2 Gb.

Una vez instalada la imagen en nuestra tarjeta SD (Samsung Evo MB-MP16DA/EU – Tarjeta de memoria Micro SDHC de 16 GB (UHS-I Grade 1 Clase 10, con adaptador SD)), solo tenemos que insertar la tarjeta el la ranura SD del Raspberry Pi.

Encendemos nuestro Raspeberry Pi y ya tendremos un sistema Android ejecutándose en nuestro Raspberri Pi.

Solo una aclaración  tendremos que tener nuestro Raspberry Pi enganchado a una pantalla mediante el conector HDMI, ya que si lo tenemos conectado mediante el conector de RCA, no nos funcionara, mejor dicho, si funcionara, pero en cuanto entre el entorno gráfico no veremos nada.

Por lo demás, siempre teniendo en cuenta que es una versión muy básica y reciente, tendremos un sistema Android corriendo en nuestro Raspberry Pi, lo que nos permitirá trastear con el , y empezar  a realizar nuestros propios proyectos con estos dos sistemas.

En este es un vídeo grabado por los creadores de la imagen donde se  ve el Raspberry Pi corriendo el Android.

ACTUALIZACIÓN

Varia gente me a comentado que no funcionaba que, que la pantalla se queda con la mensaje de “Sin señal”. Lo he revisado y en principio funciona correctamente. Yo he probado a ejecutar android con una SD del tipo SDHC de 8Gb ( comprada en un chino, así que la calidad de la tarjeta no es muy buena).  La imagen la creado en un Ubuntu 14.04, con el siguiente comando.

Probé a ejecutar android y sin problemas, para comprobar por que había gente que no le funcionada, lo probé con otra tarjeta esta es de 2Gb de tipo SD de SanDisk, y utilizando el mismo comando. Y aquí fallo, pero no es problema de la imagen, ni del Raspberry, el problema debe ser que la tarjeta no es suficiente para grabar la imagen en ella, con la de 8Gb, el Ubuntu la abre como un unidad que tiene 3 particiones. En cambio con la de 2Gb, el Ubuntu ni la reconoce.

Así que para probar instarla la imagen en una tarjeta superior a 2 Gb, no igual, sino superior.

La versión CyanogenMOD 9 (versión con Android 4.0) no esta disponible, por lo que podido leer en varias paginas, el proyecto esta suspendido.

No esperéis milagros, es una cosa muy básica, lo único que podréis sacar de ello, es que habéis conseguido instalar y ejecutar Android 2.3 en un Raspberry Pi, y nada mas. Tenia muy buena pinta al principio, pero si han parado el proyecto se ha quedado en una cosa muy básica.

Raspberry Pi, un pequeño gran ordenador

En mi búsqueda de información sobre arduino, aparecía habitualmente asociado a otro nuevo hardware, es el ordenador Raspberry Pi. Este aparato es nada mas ni nada menos que un ordenador, todo incluido, pero lo más sorprendente es su tamaño es el mismo que cualquier tarjeta de crédito.

¿Que características tiene el Raspberry Pi?

[singlepic id=17 w=320 h=240 float=center]El Raspberry Pi esta basado en el sistema todo en uno de Broadcom BCM2835, este chip posee un procesador ARM1176JZF-S a unos 700 Mhz, tiene una opción turbo que puede aumentar hasta 1 Ghz. Un procesador grafico o GPU VideoCore IV y memoria de 512 MB. De “disco duro” viene con una ranura para instalar una tarjeta del tipo SD. Tiene salida HMDI, version 1.3 y 1.4, y una resolución de hasta 1080p, es decir, FullHD, ademas tiene disponible un conector de tipo RCA de vídeo compuesto, para poder conectarlo ha cualquier pantalla o televisor que no tengan disponible el conector HMDI. También tiene dos ranuras de USB versión 2.0 y un mini jack para conectar la salida de audio, aunque el audio tambien puede salir por el conector HMDI. El aparato se sirve sin fuente de alimentación, para alimentarlo tiene disponible una ranura microUsb. Hay dos modelos, el modelo A, que no trae el conector RJ45, pero se puede instalar uno del tipo usb-ethrtnet, y la memoria es de 256 MB, este se puede comprar por unos 25€ y el modelo B, que tiene conector RJ45 y memoria de 512 MB, por unos 33€.

¿Que sistema operativo y software utiliza del Raspberry Pi?

[singlepic id=16 w=320 h=240 float=right]Se puede instalar cualquier sistema operativo que soporte tecnología ARM, el fabricante tiene su propio sistema, esta basado en una distribución de Debian, Raspbian, esta se puede comprar con el propio Raspberry Pi, aunque se puede instalar cualquier versión de linux que soporte la tecnología del procesador, como el sistema operativo RISC OS o la distribucion ARCH LInux. En el tema del software, el Raspberry Pi, soportar cualquier programa que el propio sistema operativo pueda ejecutar y las características del programa admita. Si se instala la versión propia del fabricante, hay disponible una tienda la PI Store, de donde nos podemos descargar programas, sean de pago o gratuitos. Entre las que podemos descargar esta el LibreOffice, una suite ofimática de código libre y muy extendida en la actualidad.

La mayoría de estos sistemas se diseñan para trabajos específicos con aplicaciones especificas, en este aspecto el Raspberry Pi admite cual lenguaje de programación que soporte el sistema, como pueda ser C, Java, etc, pero los creadores del aparato recomiendan la utilización de lenguajes programación como Python, Tiny BASIC o Perl.

Por el precio que tiene estoy valorando la idea de hacerme con uno para poder probarlo más a fondo, ademas por la información que he visto por Internet es el sistema perfecto para el trabajo con Arduino. En cuanto tenga uno ya daré mi opinión sobre el.

Si has probado alguno, ¿Que tal funciona el aparato?