ARQUITECTURA DE COMPUTADORES
LINUX YOCTO Y GPIO
Mag. FERNANDO APARICIO URBANO MOLANO
2
DIRECCIÓN IP FIJA
• Asignar una IP Fija y hacer conexión PC a Galileo
void setup() {
Serial.begin(115200);
system("telnetd -l /bin/sh");
system("ifconfig eth0 169.254.1.2 netmask
255.255.0.0 up");
}
void loop() {
system("ifconfig eth0 > /dev/ttyGS0");
delay(2000);
}
3
DIRECCIÓN DHCP
• Intel Galileo se conecta mediante IP Dinámica
void setup() {
system("telnetd -l /bin/sh");
system("/etc/init.d/networking restart");
delay(1000);
}
void loop() {
system("ifconfig eth0 > /dev/ttyGS0");
delay(5000);
}
• Router asigna IP automáticamente. Galileo
transmite la dirección al computador.
4
CONEXIÓN A LA RED DESDE EL COMPUTADOR
• Conectar mediante Telnet, a la dirección
asignada a Galileo. Verificar la dirección IP
enviada al computador.
5
CONEXIÓN A LA RED DESDE EL COMPUTADOR
• Ejecutar Telnet o PuTTy. En PuTTy seleccionar
“Telnet” y Puerto 23.
6
CONEXIÓN A LA RED DESDE EL COMPUTADOR
• Una vez establecida la comunicación, debe
mostrarse lo siguiente:
7
CONEXIÓN A LA RED DESDE EL COMPUTADOR
• Ingresar como “root”: #login root
8
CONEXIÓN A LA RED DESDE EL COMPUTADOR
• Una vez se haya ingresado, verificamos el
contenido del directorio digitando el comando
“ls” y luego acceder a GPIO.
9
CONEXIÓN A LA RED DESDE EL COMPUTADOR
• Se pueden ver todos los GPIO disponibles
usando “ls” e ingresamos a uno de ellos
mediante el comando “CD gpio#”.
10
CONEXIÓN A LA RED DESDE EL COMPUTADOR
• Interactuamos con el GPIO seleccionado:
11
GPIO DE INTEL GALILEO
Pin Digital
Arduino
Pin en Linux
0 50
1 51
2 14
3 15
4 28
5 17
6 24
7 27
8 26
9 19
10 16
11 25
12 38
13 39
12
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• Para aprovechar las potencialidades de Python,
se debe correr Yocto desde una imagen instalada
en una SD Card, preferiblemente la distribución
IoT: https://software.intel.com/en-us/programming-blank-sd-card-with-yocto-linux-
image-windows
• Python: lenguaje de programación interpretado
(multiplataforma) – multiparadigma.
• Librería MRAA para soportar los GPIO de Intel
Galileo con Python.
13
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• Realizar la conexión via Ethernet, asegurarse de
conocer la IP que la Intel Galileo posee en la
Red.
14
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• Ingresar como usuario “root”:
15
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• Escribir “python”, para conocer la versión de
Python instalada.
16
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• Para escribir el código de Python, utilizar el
editor Vi:
17
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• En Vi, presionar la tecla “I” para editar el código:
18
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• En Vi, presionar la tecla “ESC” para salir de la
edición de código, digitar “:wq” (Salir y
guardar):
19
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• En Vi, presionar la tecla “ESC” para salir de la
edición de código, digitar “:wq” (Salir y
guardar):
20
PYTHON EN LINUX YOCTO DE INTEL GALILEO
• Para ejecutar el código: #python nombre.py
21
PYTHON EN LINUX YOCTO DE INTEL GALILEO
import mraa #API para acceder a los periféricos
import time
LED_GPIO = 5
LedIntermintente = mraa.Gpio(LED_GPIO)
LedIntermitente.dir(mraa.DIR_OUT)
ledEstado = False
LedIntermitente.write(0)
while True:
if ledEstado== False:
LedIntermitente.write(1)
ledState = True
else:
LedIntermitente.write(0)
ledEstado = False
print "LED está encendido? nAns: %s" %(ledEstado)
time.sleep(1)

Linux Yocto y GPIO

  • 1.
    ARQUITECTURA DE COMPUTADORES LINUXYOCTO Y GPIO Mag. FERNANDO APARICIO URBANO MOLANO
  • 2.
    2 DIRECCIÓN IP FIJA •Asignar una IP Fija y hacer conexión PC a Galileo void setup() { Serial.begin(115200); system("telnetd -l /bin/sh"); system("ifconfig eth0 169.254.1.2 netmask 255.255.0.0 up"); } void loop() { system("ifconfig eth0 > /dev/ttyGS0"); delay(2000); }
  • 3.
    3 DIRECCIÓN DHCP • IntelGalileo se conecta mediante IP Dinámica void setup() { system("telnetd -l /bin/sh"); system("/etc/init.d/networking restart"); delay(1000); } void loop() { system("ifconfig eth0 > /dev/ttyGS0"); delay(5000); } • Router asigna IP automáticamente. Galileo transmite la dirección al computador.
  • 4.
    4 CONEXIÓN A LARED DESDE EL COMPUTADOR • Conectar mediante Telnet, a la dirección asignada a Galileo. Verificar la dirección IP enviada al computador.
  • 5.
    5 CONEXIÓN A LARED DESDE EL COMPUTADOR • Ejecutar Telnet o PuTTy. En PuTTy seleccionar “Telnet” y Puerto 23.
  • 6.
    6 CONEXIÓN A LARED DESDE EL COMPUTADOR • Una vez establecida la comunicación, debe mostrarse lo siguiente:
  • 7.
    7 CONEXIÓN A LARED DESDE EL COMPUTADOR • Ingresar como “root”: #login root
  • 8.
    8 CONEXIÓN A LARED DESDE EL COMPUTADOR • Una vez se haya ingresado, verificamos el contenido del directorio digitando el comando “ls” y luego acceder a GPIO.
  • 9.
    9 CONEXIÓN A LARED DESDE EL COMPUTADOR • Se pueden ver todos los GPIO disponibles usando “ls” e ingresamos a uno de ellos mediante el comando “CD gpio#”.
  • 10.
    10 CONEXIÓN A LARED DESDE EL COMPUTADOR • Interactuamos con el GPIO seleccionado:
  • 11.
    11 GPIO DE INTELGALILEO Pin Digital Arduino Pin en Linux 0 50 1 51 2 14 3 15 4 28 5 17 6 24 7 27 8 26 9 19 10 16 11 25 12 38 13 39
  • 12.
    12 PYTHON EN LINUXYOCTO DE INTEL GALILEO • Para aprovechar las potencialidades de Python, se debe correr Yocto desde una imagen instalada en una SD Card, preferiblemente la distribución IoT: https://software.intel.com/en-us/programming-blank-sd-card-with-yocto-linux- image-windows • Python: lenguaje de programación interpretado (multiplataforma) – multiparadigma. • Librería MRAA para soportar los GPIO de Intel Galileo con Python.
  • 13.
    13 PYTHON EN LINUXYOCTO DE INTEL GALILEO • Realizar la conexión via Ethernet, asegurarse de conocer la IP que la Intel Galileo posee en la Red.
  • 14.
    14 PYTHON EN LINUXYOCTO DE INTEL GALILEO • Ingresar como usuario “root”:
  • 15.
    15 PYTHON EN LINUXYOCTO DE INTEL GALILEO • Escribir “python”, para conocer la versión de Python instalada.
  • 16.
    16 PYTHON EN LINUXYOCTO DE INTEL GALILEO • Para escribir el código de Python, utilizar el editor Vi:
  • 17.
    17 PYTHON EN LINUXYOCTO DE INTEL GALILEO • En Vi, presionar la tecla “I” para editar el código:
  • 18.
    18 PYTHON EN LINUXYOCTO DE INTEL GALILEO • En Vi, presionar la tecla “ESC” para salir de la edición de código, digitar “:wq” (Salir y guardar):
  • 19.
    19 PYTHON EN LINUXYOCTO DE INTEL GALILEO • En Vi, presionar la tecla “ESC” para salir de la edición de código, digitar “:wq” (Salir y guardar):
  • 20.
    20 PYTHON EN LINUXYOCTO DE INTEL GALILEO • Para ejecutar el código: #python nombre.py
  • 21.
    21 PYTHON EN LINUXYOCTO DE INTEL GALILEO import mraa #API para acceder a los periféricos import time LED_GPIO = 5 LedIntermintente = mraa.Gpio(LED_GPIO) LedIntermitente.dir(mraa.DIR_OUT) ledEstado = False LedIntermitente.write(0) while True: if ledEstado== False: LedIntermitente.write(1) ledState = True else: LedIntermitente.write(0) ledEstado = False print "LED está encendido? nAns: %s" %(ledEstado) time.sleep(1)