Hoy he retomado mis antiguos proyectos con el Onion Omega 2+, y me he encontrado con que la última vez que lo usé, se me quedó a “cero”… Es decir, listo para ser reconfigurado…
Me he visto obligado a volver a instalar la consola, y algún que otro software adicional…
A continuación os dejo un ejemplo rápido de cómo mantener actualizado vuestro Onion Omega 2+.
Actualizar al último firmware
Algo muy importante que es imprescindible hacer cada cierto tiempo, es actualizar nuestro firmware. Para ello existe el comando oupgrade, que nos revisará la versión actual y, en caso de ser necesario, instalará la última publicada.
En el siguiente ejemplo, mi sistema indica que ya está actualizado, en concreto a la versión 0.1.10 b160. Si no lo está, os irá informando por pantalla de todo el proceso. Al final será necesario realizar un reincio, con el comando reboot.
root@Omega-ABCD:~# oupgrade > Device Firmware Version: 0.1.10 b160 > Checking latest version online... > Repo Firmware Version: 0.1.10 b160 > Comparing version numbers > Device firmware is up to date!
Comprobar el software disponible
Podemos comprobar el software disponible en el repositorio para nuestro Onion Omega 2+. Dicho software está compilado y preparado para funcionar directamente y sin problemas en nuestro sistema, por lo que es el mecanismo idóneo de instalación.
El comando que nos ofrece esta posibilidad es opkg, y es muy parecido al iPKG, o al archiconocido apt (Advanced Packaging Tool) para sistemas Linux.
Con el sisguiente comando, podemos ver todo el listado de software disponible:
root@Omega-ABCD:~# opkg list
Como habréis comprobado, el listado puede ser bastante extenso (por suerte!). Por lo que podemos hacer uso del típico grep para buscar según nuestras necesidades. Veámoslo en el siguiente apartado práctico.
Instalando el software
Para ver cómo funciona el comando opkg, podemos realizar varias instalaciones de utilidad en nuestro día a día como desarrolladores.
Actualizar el sistema
Antes de continuar, lo idóneo es actualizar la información del repositorio de software, para obtener los últimos cambios.
Para ello, usaremos opkg update:
root@Omega-ABCD:~/projects# opkg update Downloading http://repo.onion.io/omega2/packages/core/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_core Downloading http://repo.onion.io/omega2/packages/core/Packages.sig Signature check passed. Downloading http://repo.onion.io/omega2/packages/base/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_base Downloading http://repo.onion.io/omega2/packages/base/Packages.sig Signature check passed. Downloading http://repo.onion.io/omega2/packages/packages/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_packages Downloading http://repo.onion.io/omega2/packages/packages/Packages.sig Signature check passed. Downloading http://repo.onion.io/omega2/packages/onion/Packages.gz Updated list of available packages in /var/opkg-lists/omega2_onion Downloading http://repo.onion.io/omega2/packages/onion/Packages.sig Signature check passed.
Y, si fuera necesario, actualizamos el software ya instalado en nuestro sistema, con opkg upgrade [package]:
root@Omega-ABCD:~/projects# opkg upgrade git
En este caso actualizaríamos el package git.
Instalación de NodeJS
Para instalar nodejs, primero miremos qué paquetes están disponibles:
root@Omega-ABCD:~# opkg list | grep node node-oled-exp - 0.2-1 - Node module for OLED Expansion node-pwm-exp - 0.2-1 - Node module for Servo (PWM) Expansion node-red-contrib-ibm-watson-iot - 0.2.8-1 - node-red-contrib-ibm-watson-iot package built for MIPS node-red-install-tool - 0.1-1 - Script for installing node-red on automounted usb storage for Omega2 node-relay-exp - 0.2-1 - Node module for Relay Expansion node-usb - 0.1-1 - The node-usb package cross compiled for openwrt nodejs - v4.3.1-1 - Event-driven I/O server-side JavaScript environment based on V8 onion-console-node-red - 0.1.3-1 - Node red app fo the console onion-node-red - 0.1-1 - Node-Red built for mips Ar971XX. onoff-node - 0.1-1 - Onoff package built for mips.
Vemos que el listado es también muy amplio… Podemos ver la librería nodejs (línea 8, que es la que ahora nos interesa), así como algunas aplicaciones extra para Onion, como el node-usb, node-ole-exp, etc…
Instalamos nodejs:
root@Omega-ABCD:~# opkg install nodejs
A continuación os informará por pantalla un log bastante largo en el que os irá informando de todo el proceso de instalación.
Al finalizar, podemos comprobar que node se ha instalado, preguntando por su versión y una sencilla prueba de escritura por consola:
root@Omega-ABCD:~# node -v v4.3.1 root@Omega-ABCD:~# node > console.log("Hello World!") Hello World! undefined >
No dejaremos pasar de instalar npm, del mismo modo:
root@Omega-ABCD:~# opkg list | grep npm npm - v4.3.1-1 - Node.js Package Manager root@Omega-ABCD:~# opkg install npm root@Omega-ABCD:~# npm -v 2.14.12
Como vemos, lo hemos buscado, y lo hemos instalado. Posteriormente, hemos solicitado su versión para ver que realmente está instalado.
Ahora ya tenemos disponible tanto nodejs como npm.
Instalación de Git
Otra herramienta muy importante es Git, para nuestro control de versiones. Procederemos del mismo modo que para nodejs y npm:
root@Omega-ABCD:~# opkg list | grep git git - 2.11.0-1 - Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. git-http - 2.11.0-1 - Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. This package allows git push/fetch over http(s) and ftp(s) hostname-tool - 0.3-1 - Tool to properly set the Omega2's Hostname to the last 4 digits of its MAC address libffmpeg-audio-dec - 3.2.2-1 - FFmpeg is a a software package that can record, convert and stream digital audio and video in numerous formats. . This package contains FFmpeg shared libraries for audio decoding libfreetype - 2.5.5-2 - The FreeType project is a team of volunteers who develop free, portable and high-quality software solutions for digital typography. They specifically target embedded systems and focus on bringing small, efficient and ubiquitous products. transmission-cli-openssl - 2.92+git-4 - CLI utilities for transmission. transmission-daemon-openssl - 2.92+git-4 - Transmission is a simple BitTorrent client. It features a very simple, intuitive interface on top on an efficient, cross-platform back-end. This package contains the daemon itself. transmission-remote-openssl - 2.92+git-4 - CLI remote interface for transmission. transmission-web - 2.92+git-4 - Webinterface resources for transmission.
Vemos que hay diversas opciones, pero las que nos interesan son las dos primeras: git y git-http:
root@Omega-ABCD:~# opkg install git git-http Package git (2.11.0-1) installed in root is up to date. Package git-http (2.11.0-1) installed in root is up to date.
Con la anterior sentencia podemos instalar dos paquetes al mismo tiempo. A demás, os muestro qué nos diría el sistema si ya los tenemos instalados. De esta manera podemos actualizarlos, ya que si en el repositorio existiera una versión mas reciente a la nuestra, se instalaría automáticamente del mismo modo.
Y hasta aquí esta breve guía de instalación de software en nuestro Onion Omega 2+.
Confío que os haya parecido interesante.
Jordi
Hola, eh tenido algunos problemas para ejecutar johnny five en el omega, y tengo el logs de los errores que ocurren al intentar instalarlos, crees que pudieras hacerme una sugerencia?? podria proporcionarte los errores? saludos desde México!
Hola Arístides, desconozco ese software, pero pásame mas datos y me lo miro…