Está en la página 1de 9

UNIVERSIDAD NACIONAL

MAYOR DE SAN MARCOS


Decana de América
FACULTAD DE INGENIERÍA DE
SISTEMAS E INFORMATICA

ARQUITECTURA DE
COMPUTADORAS
Mg. JUAN CARLOS GONZALES
SUAREZ
Servidor en Tarjeta – Caso Raspberry Pi
Esquema y Programación de Puertos

Sistema Operativo se copiara en una micro SD de mínimo 8GB


Arquitectura de Computadoras
Mg. Juan Carlos Gonzales Suárez
Servidor en Tarjeta – Caso Raspberry Pi
Esquema y Programación de Puertos

DTH11

Datos de
Temperatura
y Humedad
Librería WiringPi:
Controla los puertos
de I/O (Input/Output)

Arquitectura de Computadoras
Mg. Juan Carlos Gonzales Suárez
Servidor en Tarjeta – Caso Raspberry Pi
Programación de Puertos
Proceso de instalación de
wiringPi
Instalar GIT:
sudo apt-get install git-core

Actualizamos el Sistema Operativo:


sudo apt-get update
sudo apt-get upgrade

Obtenemos WiringPi usando GIT:


git clone git://git.drogon.net/wiringPi

Para actualizar wiringPI:


cd wiringPi
git pull origin

Para instalar con script hacemos:


cd wiringPi
./build

Finalizaremos con la prueba:


gpio -v Arquitectura de Computadoras
gpio readall Mg. Juan Carlos Gonzales Suárez
Servidor en Tarjeta – Caso Raspberry Pi
Ejemplo de Programación de Puertos

Blink.sh
# LED Pin - wiringPi pin 0 is BCM_GPIO17.

PIN=0

gpio mode $PIN out

while true; do
gpio write $PIN 1
sleep 0.5
gpio write $PIN 0
sleep 0.5
done

Blink.sh se ejecutara como se muestra.

$ ./Blink.sh

$ sh Blink.sh

Arquitectura de Computadoras
Mg. Juan Carlos Gonzales Suárez
Servidor en Tarjeta – Caso Raspberry Pi
Ejemplo de Programación de Puertos
Blink.c #include <stdio.h>
#include <wiringPi.h>

// LED Pin - wiringPi pin 0 is BCM_GPIO17.


#define LED 0

int main (void)


{
printf ("Raspberry Pi blink\n") ;

wiringPiSetup () ;
pinMode (LED, OUTPUT) ;

for (;;)
{
digitalWrite (LED, HIGH) ; // On
delay (500) ;
digitalWrite (LED, LOW) ; // Off
delay (500) ;
}
return 0 ;
Blink.c se ejecutara después de }
compilar en el Sistema Operativo.
$ gcc -o PARPADEA Blink.c -L/usr/local/lib –lwiringPi
$ ./PARPADEA Arquitectura de Computadoras
Mg. Juan Carlos Gonzales Suárez
Servidor en Tarjeta – Caso Raspberry Pi
Ejemplo de Programación de Puertos
#include <stdio.h>
#include <errno.h> softTone.c
#include <string.h>
#include <wiringPi.h>
#include <softTone.h>

// wiringPi pin 3 is BCM_GPIO22.


#define PIN 3
int scale [8] = { 262, 294, 330, 349,
392, 440, 494, 525 } ;
int main ()
{
int i ;
wiringPiSetup () ;
softToneCreate (PIN) ;

for (;;)
{
for (i = 0 ; i < 8 ; ++i)
{
printf ("%3d\n", i) ; softTone.c se compilará en el Sistema Operativo
softToneWrite (PIN, scale [i]) ; y se ejecutara con el nuevo nombre EscalaMusical.
delay (100) ; $ gcc -o NotasMusicales softTone.c -L/usr/local/lib -lwiringPi
}
} $ ./ NotasMusicales
}
Arquitectura de Computadoras
Mg. Juan Carlos Gonzales Suárez
Servidor en Tarjeta – Caso Raspberry Pi
Ejemplo de Programación de Puertos
Blink.py
# External module imports
import RPi.GPIO as GPIO
import time

# Pin Definitons:
ledPin = 23 # Broadcom GPIO23 (Pi pin 16)

# Pin Setup:
GPIO.setmode(GPIO.BCM) # Broadcom pin-numbering scheme
GPIO.setup(ledPin, GPIO.OUT) # LED pin set as output

# Initial state for LEDs:


GPIO.output(ledPin, GPIO.LOW)

print("Here we go! Press CTRL+C to exit")


try:
while 1:
GPIO.output(ledPin, GPIO.HIGH)
time.sleep(0.075) Blink.sh se ejecutara como se muestra.
GPIO.output(ledPin, GPIO.LOW) $sudo python Blink.py
time.sleep(0.075)
except KeyboardInterrupt: # If CTRL+C is pressed, exit cleanly:
GPIO.cleanup() # cleanup all GPIO
Arquitectura de Computadoras
Mg. Juan Carlos Gonzales Suárez
Gracias

Juan Carlos Gonzales Suarez


jgonzaless@unmsm.edu.pe

También podría gustarte