RasPi: instalar la última versión de NodeJs y NPM

Muy buenas,

Recientemente me he encontrado con la necesidad de tener la última versión de Nodejs instalada en mi Raspberry Pi. Si intentamos instalarla desde el archi conocido apt-get , no obtendremos la última, ya que no se publica en sus servidores con asiduidad.

Lo que vamos a hacer es bajarnos el código fuente de Nodejs y compilarlo para ARM, que es el chipset de nuestra Pi. Esto solo conlleva un problema, y es que no podremos actualizarnos de manera automática… pero creo que aún así, merece la pena, ¿no?

Descarga del código fuente

Para descargar el código fuente de Nodejs, primero accederemos a su web, para poder comprobar qué versión es la última estable. En el momento de escribir este artículo, el 7 de julio de 2015, la versión era la v0.12.6

Node.js - Google Chrome

Muy probablemente si descargáramos con apt-get nos pondría una v0.12.0, aproximadamente…

Podemos descargar cualquier versión desde esta url: http://nodejs.org/dist

pi@raspberrypi ~ $ wget http://nodejs.org/dist/v0.12.6/node-v0.12.6.tar.gz

Compilación y linkaje del código fuente

Una vez descargada, la descomprimimos y comenzamos el proceso de preparación para compilar los fuentes:

pi@raspberrypi ~ $ tar -xzf node-v0.12.6.tar.gz
pi@raspberrypi ~ $ cd node-v0.12.6
pi@raspberrypi ~ $ ./configure
pi@raspberrypi ~ $ make
pi@raspberrypi ~ $ sudo make install

El comando ./configure preparará los fuentes para ser compilados para nuestro sistema, de modo que se seleccione correctamente el kernel y las versiones de gcc, etc… Posteriormente make empezará el proceso de compilación y linkaje de los fuentes (ojo! este proceso puede durar mucho tiempo!), y finalmente sudo make install instala la versión. Es importante ejecutar este último comando como root (sudo), ya que realiza cambios en el sistema. De lo contrario, no se nos permitirá realizar dicha instalación.

Test de la versión

Una vez finalizado el proceso de instalación, ya podemos probar Nodejs y ver qué versión tenemos instalada en nuestro sistema:

pi@raspberrypi ~ $ node --version
v0.12.6
pi@raspberrypi ~ $ npm --version
2.11.2

Y con esto ya tenemos Nodejs en nuestra Pi, y a la última versión. Si queréis actualizar, no tenéis mas que repetir todos y cada uno de los pasos para poder conseguirla. Así de sencillo.

Saludos!

 

Share Button

RasPi: actualización del firmware

Normalmente mantenemos nuestra Raspberry actualizada a nivel de software, mediante los típicos y archiconocidos comandos de apt-get update y apt-get upgrade. La verdad es que es una herramienta indispensable hoy en día, y muy cómoda. Sin ella no seríamos capaces de ser tan eficientes a la hora de instalar y desisntalar software en nuestra Pi (y hoy dia, en casi cualquier linux), ni de mantener al día todo el sistema operativo. Y esto es gracias a que la gente de Raspbian (Debian) mantiene unos servidores de actualizaciones y de software verdaderamente importantes.

Lo único que no podemos hacer mediante estos comandos es actualizar el firmware. ¿Por qué? Bien, básicamente porque es un punto algo mas crítico del sistema. Una actualización de firmware fallida podría dar al traste con nuestra Pi. El firmware se ubica en la memoria interna de nuestra Pi y afecta directamente a todo el hardware.

Por suerte también se ha publicado (antes no!) y es tan sencillo de actualizar como el propio software. Eso si, para hacerlo debemos estar completamente seguros de lo que hacemos…

Para ello se utiliza la aplicación rpi-update, que se puede localizar en esta url: https://github.com/Hexxeh/rpi-update

Parece ser que las últimas versiones de Raspbian ya la incluyen, pero sino, podemos descargarla e instalarla desde la anterior web.

Para actualizar el firmware de nuestra Pi, símplemente tecleamos:

pi@raspberrypi ~ $ sudo rpi-update

Esto lo que hará será conectarse a los servidores de www.raspberrypi.org y comprobar nuestra versión del firm con la mas actual. Si es necesario, se nos ofrecerá la posibilidad de actualizarlo. Se os pedirá confirmación de algunos puntos críticos, en los que se indica claramente que no se hacen responsables de posibles daños o pérdidas de datos en nuestra Pi… Le diremos a todo que si…

Os dejo un detalle de una ejecución completa:

pi@raspberrypi ~ $ sudo rpi-update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10185  100 10185    0     0  36992      0 --:--:-- --:--:-- --:--:-- 68355
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** We're running for the first time
 *** Backing up files (this will take a few minutes)
 *** Backing up firmware
 *** Backing up modules 3.18.14-v7+
#############################################################
WARNING: This update bumps to rpi-4.0.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=113753
##############################################################
Would you like to proceed? (y/N)
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    310      0 --:--:-- --:--:-- --:--:--   412
100 46.7M  100 46.7M    0     0  1488k      0  0:00:32  0:00:32 --:--:-- 1791k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.0.7+
 *** depmod 4.0.7-v7+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to 19debdef5d132a12bf8df73d5e77e607066c8757
 *** A reboot is needed to activate the new firmware

Para finalizar, podemos comprobar el estado de la actualización, haciendo uso del comando uname:

pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.18.14-v7+ #2 SMP PREEMPT Thu May 28 18:17:59 UTC 2015 armv7l GNU/Linux

Con lo que podemos observar que tenemos la versión del 28 de mayo. Es una buena práctica comprobarlo antes y después de la actualización.

Con la actualización del firmware, también lo hacemos de la tarjeta de vídeo o GPU, por formar parte del hard integrado. También podemos comprobarlo mediante el comando vcgencmd:

pi@raspberrypi ~ $ /opt/vc/bin/vcgencmd version
May 23 2015 16:51:24
Copyright (c) 2012 Broadcom
version 29d1114a122b6ef70bdfb7d4db3dd28bdfc38ac2 (clean) (release)

Dónde podemos ver que también tenemos la versión de mayo de 2015.

Y con esto ya tendríamos actualizado nuestro firmware.

Podréis encontrar mas información al respecto en estas url:

  • https://github.com/Hexxeh/rpi-update
  • http://elinux.org/R-Pi_Troubleshooting#Check_your_firmware_version

Saludos!

Jordi

Share Button

Related Images:

SEAT600: Instalación de un sistema de arranque electrónico (y II)

Bien, en mi anterior post, os explicaba cómo montar el Sales Kit 181 para tener un encendido transistorizado de bajo coste en nuestro SEAT 600. Entonces, ya solo quedaba pendiente explicaros cómo instalarlo en el coche.

Os lo detallo mediante fotos, porque es de la mejor manera que lo vais a poder ver.

Deberemos prestar especial atención a la conexión de los cables, pues un error en la misma podría llevar a la destrucción del kit y posiblemente de alguna parte eléctrica del coche.

Os detallo las conexiones una vez mas:

  • marrón del kit a la conexión del delco y los platinos (yo he utilizado el mismo cable del kit para llevarlo hasta dicha conexión, haciendo un tirabuzón)
  • azul del kit al ruptor de la bobina, normalmente es la conexión de la izquierda según miramos de frente, marcada con la letra D (Delco) en la propia bobina
  • rojo del kit al otro borne de la bobina, que es el positivo, y normalmente es la conexión de la derecha, marcado con la letra B (Batería)
  • negro, directamente a masa, a la mejor conexión que tengáis a mano, que en mi caso ha sido uno de los tornillos del regulador que, por cierto, he aprovechado para desinstalar

Prestad mucha atención a los bornes de la bobina, ya que la vuestra no tendría por qué estar colocada como la mía, sino que podría estar en otra posición. Por ello, es imprescindible localizar el borne marcado con la letra B, que es el ruptor.

Y con esto finalizo mi primer bricoseiscientos, como bien dice mi amigo Juan del Toro.

Espero que os haya sido de gran ayuda!

No dudéis en hacerme llegar vuestros comentarios, dudas y críticas. Por favor, tened en cuenta que no me hago responsable de los daños o accidentes que este mini tutorial pudiera inducir a sufrir en caso de seguirlo al pie de la letra.

Gracias por leerme!

Jordi

Share Button

SEAT600: Instalación de un sistema de arranque electrónico (I)

Los vehículos “clásicos”, por decirlo de alguna manera, y en especial nuestro SEAT 600, que es quién nos ocupa, montan un encendido convencional del motor, formado por: bobina, ruptor o platinos, delco, condensador…

Seguramente todas estas palabrejas os suenen a la mayoría, y sobre todo a los que lleváis toda una vida con vuestro SEAT 600. Pero en especial, muy seguramente, por los dolores de cabeza que nos da en el momento del arranque: tira del starter, arranque en frío, bajo rendimiento, platinos sucios, bujías que se queman extremadamente rápido…

Pues bien, con la sustitución del sistema de arranque convencional, por uno transistorizado o electrónico, conseguimos mejorar de manera inmediata todas estas  malas consecuencias de una tecnología, aunque buena, antigua y obsoleta, que con el paso de los años ha ido empeorando, sin lugar a dudas, por el gran desgaste que conlleva hacer kms a nuestro 600.

Yo no soy un gran entendido en la materia, pero si algo puedo aportar con mi experiencia, qué mejor sitio que mi blog para hacerlo. Por lo tanto, en esta ocasión vamos a ver cómo sustituir nuestro sistema de arranque convencional del 600 por uno mas actual, electrónico, y de muy bajo coste: un SALES KIT SK-181.

Continue reading ‘SEAT600: Instalación de un sistema de arranque electrónico (I)’ »

Share Button

Adelante hombre del 600!

Os dejo la mítica canción del “Adelante hombre del 600”. A más de uno os hará volver a años pasados con este mítico coche…

Qué recuerdos!!! 🙂

Reproductor online:

Y este es el enlace del archivo de audio, por si queréis descargarlo: 

 

Espero que os guste!

Se lo dedico a esa gran familia de seiscientistas que hay por todo el mundo!

 

Jordi

Share Button

RasPi: WITTY PI, reloj en tiempo real y gestor de alimentación para la Pi

Hace algún tiempo compré un hub USB integrable para la RasPi en la tienda de la gente de UUGear. Era una apuesta para mi proyecto personal NesPi, ya que necesitaba un hub que quedara lo mas “recogido” posible en cima de la maquinita. Y realmente, lo consiguen, y muy bien… (podéis verlo en el enlace anterior).

Quedé muy satisfecho con la compra, materiales de primera, buen acabado y gusto en el diseño. Nada que objetar. Solo me quejo de no poder tener uno para cada una de mis pi… 😉

Bien, hace unos días vi anunciado en su twitter un nuevo proyecto que tienen entre manos. Ellos lo llaman Witty Pi, y lo que hace es ofrecer un reloj en tiempo real y un gestor de la alimentación de la plaquita. Tiene buena pinta y no ofrece malas prestaciones…

wittypi_2

Por lo que comentan en su propia página, podemos ver:

  • Reloj en tiempo real para la pi
  • Temporización de encendido y apagado de la pi
  • Encendido y apagado controlado mediante un solo pulsador
  • Apagado completo de la alimentación de los usb

La verdad es que es un paso mas a la hora de acercarse a lo que es un PC real, pero aún faltan algunas cosillas… Hay que decir que no nos ahorramos la programación del GPIO para pdoer controlarlo. Si bien ofrecen la posibilidad de crear nuestros propios scripts para ello, quizá lo idoneo sería no depender tanto de ellos. Pero no es posible aislarse en un entorno embedido de este tipo…

Yo me encuentro trabajando en un proyecto personal (… tiempooooo …) que iba a ser el gestor de la alimentación de Nespi, controlado por Arduino (ATXPi), en el que a demás, se mantenía la sincronización del reset y de la gestión de la alimentación en caso de error del sistema… Espero publicarlo completamente en breve en este mismo blog (aquí alguna cosilla al respecto).

Por criticar algo, si cabe, quizá es lo único que echo en falta en este addon sea la gestión del reset y el error de sincronización en el encendido y apagado…. Aunque he de decir que no por ello es menos atractivo, y no dudaría en adquirirlo en un futuro… pero siempre que antes me compre la Pi 2…

Si lo compráis o lo probáis, no dejéis de comentármelo, me interesa muy mucho el trabajo de UUGear, y este proyecto no creo que deje indiferente a ningún amante de la Pi.

Espero que os haya parecido interesante.

 

Fuente:

  • http://www.uugear.com/witty-pi-realtime-clock-power-management-for-raspberry-pi/
  • https://twitter.com/UUGear
Share Button

CHIP: un tiny pc de tan solo 9$

Cada día me sorprendo mas… Soy fan de la Pi y de Arduino, y cada día cambian estas cosas mas y mas. La reciente publicación de la versión 2 de la Raspberry Pi dió un vuelco a la filosofía del chisme, ya que por fin íbamos a poder disfrutar de unos USB mas potentes, mas ram y mejor procesador… Continuamente aparecen nuevas versiones de Arduino y de otros microcontroladores con cpu integrada (Intel, por ejemplo, pega fuerte).

Hoy me entero del nuevo proyecto de esta índole: C.H.I.P., un pequeño y potente PC de tan sólo 9$!

Ya lo tenemos en fase de desarrollo, y puedes aportar tu donación al proyecto desde su página de KickStarter. Sinceramente, me parece un precio y prestaciones mas que suculentas.

chip_01

Algunas de ellas son:

chip_02

  • Tamaño extra pequeño, nada que comentar, por supuesto, sólo hay que verlo!
  • 512Mb de ram, mas que de sobras para pequeñas aplicaciones, procesamiento de textos, levantar un entorno gráfico simple…
  • 1GHz de procesador, mejor que el de la primera versión de Raspberry Pi
  • 4GB de memoria interna (envidiable, por parte de Raspi…)

chip_03

  • Envidiablemente equipada con adaptadores de WiFi y Bluetooth

A mi, sinceramente, me parece unas prestaciones excelentes, teniendo en cuenta su tamaño y sobre todo, su precio. Por descontado que algunas mejoras no le irían mal, pero para eso ya lo tienen todo pensado, funcionará con las maravillosas “shields” que tan de moda están en el mundillo Arduino y cosas así… En efecto, podremos montarle una salida de vídeo mejorada por HDMI, VGA, batería portátil tipo “lipo” de 3000mAh…

Y, sin duda, lo mejor de todo, es que la puedes hacer totalmente “portátil” mediante su carcasa especial… Esto es quizá lo que mas me gusta de todo, jejeje. La hace muy muy atractiva, sinceramente…

chip_04

Resumiendo, a mi me parece un proyecto increíble. Esto va a revolucionar, una vez mas, el mundo de los embedded pc y tarjetas inteligentes. Me parece una gran oportunidad para colaborar con los creadores y desarrolladores y, por qué no, hacerse de primeras con un “chip” de estos…

Yo quiero uno, ¿y tú?

Fuente: https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer

Share Button

RasPi: cómo instalar Raspbian sin pantalla, teclado ni ratón

En el día de hoy me he visto obligado a hacer una instalación de una Raspbian en Raspberry Pi sin disponer de teclado, ratón ni monitor. Tan solo mi portátil, una Pi, una SD, un cable de red y un cable USB… (gracias Sr. de Sistemas, se lo ha currado!!!).

En fin, la solución es sencilla, pero podría no ocurrírsete si no le das un par de vueltas, como me ha sucedido a mi. Por eso os voy a explicar de manera rápida cómo conseguirlo sin demasiado esfuerzo…

Qué necesitamos

  • Por supuesto, nuestra Pi
  • Una SD de al menos 4Gb
  • Una imagen de Raspbian (es el sistema operativo que yo instalaré)
  • Un cable de alimentación o un cable USB / Micro USB
  • Un cable Ethernet con conexión directa a un router de tu red local
  • Un PC o portátil
  • Un intérprete de SSH, como Putty
  • El archiconocido Win32DiskImager
  • La necesidad de tener que hacerlo, y que no sea solo por gusto…

Procedimiento

  • Prepara la SD: copia la imagen de Raspbian mediante Win32DiskImager, tal y como si fueras a instalarla normalmente
  • Una vez finalizada la copia, tenemos listo Raspbian para iniciar la primera vez, pero no podremos… ya que no tenemos teclado, ni monitor, ni… así que no la inertes aún en la Raspi, sino que te vas a la unidad de la tarjeta desde el pc, abre un navegador de ficheros y localízala
  • Editamos el fichero cmdline.txt, que encontrarás en la raíz de la tarjeta, y añadimos al final del todo, tras la sentencia rootwait la sentencia ip=192.168.0.2 (aquí deberás poner una ip interna que esté dentro de tu red local, y que no esté siendo utilizada por ningún otro equipo de la red)

    • NOTA: Si no dispones de un router a mano o tienes wifi, lo que podrás hacer es desconectarte de la red y crear un módem nulo mediante el cable de ethernet, de modo que tu pc tenga una ip del rango, por ejemplo 192.168.0.1 y asignar a la pi la comentada, 192.168.0.2. De este modo podrás acceder directamente a ella como si de una red local se tratara…
  • Una vez editado el fichero, extraemos la SD del lector de tarjetas y la insertamos en la Raspi
  • Arrancamos la Raspi y cuando las llucecillas hayan dejado de parpadear, accedemos a la ip asiganada desde una aplicación de cliente SSH, como Putty

Si has seguido todos estos pasos, se te pedirá que te loguees como usuario, que será pi / raspberry, como de costumbre.

Ahora ya estás conectado a tu Raspi, sin la necesidad de teclado ni monitor. Estás conectado via SSH, así que es totalmente funcional, desde consola.

Lo primero que os recomiendo tras acceder por primera vez es que os configuréis una conexión definitiva a la red, para poder deshacer todo este tinglado que hemos montado. De este modo podremos conectarla definitivamente con ip dinámica (dhcp) o estática, como normalmente haríamos una vez instalado Raspbian…

Si no sabéis cómo hacerlo, os recuerdo un post mío de hace ya algunos meses para configurar la wifi.

Suerte!

Jordi

Share Button

SEAT600: Excursión a Montserrat con el Club 600 Barcelona – 12/07/2015

Os dejo unas fotos de lo que fue la excursión a Montserrat con nuestros SEAT 600 el pasado 19 de abril de 2015.

La concentración fue organizada por el Club 600 de Barcelona, y como veréis fue un día muy especial, en el que pudimos disfrutar aparcando en una zona restringida nuestros pequeños pelotillas.

Espero que os guste!

Share Button

Quartz & Seam, “You cannot rollback during a managed transaction!”

Bien, he estado un par de días liado con este problema, y al fin he dado con el error. Puedo aseguraros que ni JBoss ni Quartz dan las suficientes pautas para solventar este problema, ni tan siquiera lo comentan… En fin, ya que me ha costado tela y he tenido que consultar una y mil veces a Google para seguirle la pista, os dar alguna pista para que podáis arreglarlo.
Continue reading ‘Quartz & Seam, “You cannot rollback during a managed transaction!”’ »

Share Button