Primeros Pasos con Omega Onion
Sumario
- Primeros Pasos con Omega Onion.
- Conexión a Omega Onion por ssh.
- Control de pines mediante Python.
- Control de salidas.
- Lectura de pines.
- Control de omega-onion desde una nube propia
1. Primeros Pasos con Omega Onion
Existe mucha información de cómo comenzar con la Omega Onion, no vamos a repetirlo. La documentación, ejemplos y tutoriales se pueden encontrar en:
https://docs.onion.io/omega2-docs/


Básicamente los pasos a seguir son los siguientes:
- Onion en la placa Expansion Dock.
- Alimentamos mediante alimentación estándar microUSB.
- Desde un ordenador que disponga de Wifi nos conectamos al punto de acceso creado por Omega Onion con la contraseña 123456.
- Abrimos el navegador de nuestro ordenador y tecleamos en la dirección 192.168.3.1 y nos identificamos con usuario: root y contraseña: onioneer.
- Seguimos los pasos para conectarnos a nuestra propia red y registrarnos en la nube oficial.
- Tomaremos nota de la IP que ha cogido de nuestra red
A partir de aquí podremos conectarnos a nuestra Omega Onion por los siguientes medios:
- Por la página oficial http://cloud.onion.io/ con la misma identificación con la que se haya realizado el registro. Fig. 10.
- Si nos conectamos a nuestra red, desde un navegador tecleamos la IP que hemos anotado. Fig. 9.
- Si nos conectamos a la red creada por Omega Onion, con la IP 192.168.3.1. Fig 9.
- Si usamos la Extension Dock, a través del puerto serie.
Por el protocolo ssh (este será el que vamos a usar principalmente), para ello desde cualquier linux teclearemos en la consola ssh root@192.168.3.1 suponiendo que 192.168.3.1 sea la ip de nuestra Onion, la contraseña por defecto es “onioneer”. Existen programas en Windows para la comunicación mediante el protocolo ssh. Fig. 11.
2. Conexión a Omega Onion por ssh
Como hemos indicado anteriormente, son muchas las formas de realizar la misma tarea, pero sólo vamos a cubrir una forma de hacerla. En este artículo se van a utilizar los siguientes programas, protocolos y lenguajes de programación:
- Entorno de texto de linux en el ordenador desde el que trabajamos.
- Protocolo seguro ssh para comunicación con terminal remoto de texto.
- Lenguaje de programación interpretado Python.
- Editor de texto nano.
Para empezar debemos instalar las librerías y programas necesarios, para ello realizamos una conexión ssh. Mi red es 192.168.100.0 y en el paso anterior tomé nota de la IP de mi Omega, 192.168.100.105 por lo que abriré un terminal en mi sistema operativo linux con ctrl-alt-T o seleccionándolo desde mis aplicaciones. A continuación tecleo :
Me pedirá “clave = onioneer” y entraremos en la onion por terminal de texto remoto. Fig11.

Llegados a este punto tecleamos o copiamos los siguientes comandos
opkg update
que nos actualizará la unidad
opkg install python-light pyOnionGpio
que instalará las librerías necesarias
opkg install nano
que instalará el programa de edición de archivos de texto. Este programa es el que normalmente utilizo aunque se puede utilizar cualquier otro como vi, mcedit, etc.
opkg install nano
3. Control de pines mediante Python
El hardware de la omega onion es el mostrado la siguiente página:
https://docs.onion.io/omega2-docs/omega2p.html
En ella podemos ver que dispone de pines específicos como 3.3 Vin, GND, USB y Ethernet y 12 pines que pueden configurarse de forma independiente para lectura o escritura digital.
Además, algunos pines de entrada y salida disponen de otras funcionalidades. Es importante observar que la omega onion trabaja a 3.3 v, y que 5 V puede causar daños en el pin aplicado.
El control de pines mediante el lenguaje interpretado de programación Python se explica en la documentación oficial (https://docs.onion.io/omega2-docs/gpio-python-module.html) y en el presente artículo vamos a hacer un resumen.
3.1 Control de salidas
Partiendo de la conexión realizada en el apartado 3 tecleamos en el terminal
nano rojo.py
y se nos abrirá el programa nano; en este editor copiaremos el siguiente programa. No debemos introducir caracteres con tilde ni siquiera en los comentarios.
import time #libreria de control del tiempo
import onionGpio #libreria de control de pines
gpioNum = 17 #el pin 17 esta conectado al led rojo
gpioObj = onionGpio.OnionGpio(gpioNum) #creamos el objeto
status = gpioObj.setOutputDirection(0) #Pin 17 como salida
status = gpioObj.setValue(0) #pin 17 a 0, se activa el led
time.sleep(1) #Esperamos un segundo
status = gpioObj.setValue(1) #pin 17 a 1, se desactiva el led
Una vez terminada la edición tecleamos ctrl-o y aceptamos el nombre con <enter> y finalmente ctrl-x para salir del editor
En el editor de comandos tecleamos
python rojo.py
para ejecutar el programa creado
Como resultado el led rojo se nos activará durante un segundo y luego se desactivará volviendo el control al terminal de comandos.

3.2. Lectura de pines
Creamos un archivo entrada.py de igual forma al apartado anterior
nano entrada.py
Copiamos el siguiente programa
import time#libreria de control de tiempo
import onionGpio#libreria de control de pines
pin = 0
gpioObj = onionGpio.OnionGpio(pin)#creamos objeto
# Configuracion del pin 0 como salida
status = gpioObj.setInputDirection()
iteracion = 0
while iteracion < 15:#bucle de 15 ciclos de un segundo
valor = gpioObj.getValue()#leemos el pin 0 y lo guardamos en valor
print ‘GPIO%d lectura: %d’%(pin, int(valor))#mostramos lectura en pantalla
time.sleep(1)#esperamos 1 segundo
iteracion +=1#sumamos 1 a la variable iteracion
Guardamos el programa con ctrl-o, aceptar, y salimos del editor ctrl-x. Para probar el programa tecleamos
python entrada.py
Y con un cable de pin macho-macho conectamos el pin 0 a 3.3 v ó GND según deseemos poner la entrada a nivel alto o bajo. Fig. 13.

En el próximo artículo realizaremos un programa en python capaz de enviar y recibir datos desde la omega onion como cliente html, y la web de dónde tomará las órdenes y a dónde enviará los datos.
4. Control de omega-onion desde una nube propia
En este artículo vamos a describir como crear las herramientas necesarias para poder hacer lanzar aplicaciones en la Omega y enviar información al usuario.
Para ello necesitaremos:
- Instalar apache y php en nuestra máquina o servidor elegido.
- Acceder a la nube oficial para tomar los datos necesarios para la comunicación remota.
- Crear una página web en nuestra máquina que lance script.
- Crear los programas en python en la Omega Onion para que activen las salidas (diodo tricolor de la placa “Extension Dock”.