Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Raspberry PDF
Raspberry PDF
Rev. 1.0
MCI-MA-01192
www.olimex.cl
INTRODUCCIÓN ............................................................................................................... 5
USO................................................................................................................................. 15
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 4 de 38
1.15.5 Ejemplos..................................................................................................... 28
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 5 de 38
INTRODUCCIÓN
Todos los comandos a ejecutar serán mostrados en negrita y, a menos que se diga lo
contrario, deben ser escritos y ejecutados en su tarjeta Raspberry Pi, ya sea mediante
acceso remoto por SSH, por puerto serial, o directamente en un teclado USB conectado a
la placa.
Ejemplo:
uname -a
Ejemplo:
uname -a # este comando le mostrará la versión del kernel de Linux que está
ejecutando, la fecha en la cual fue compilado, y la arquitectura del sistema.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 6 de 38
CARACTERÍSTICAS GENERALES
Listado de características:
INTERFAZ DE USUARIO
Esta placa tiene dos interfaces de usuario utilizables. Una de ellas es el entorno de
escritorio LXDE, con el cual podrá interactuar a través de un mouse, teclado y un
televisor. La otra, es un interprete de comandos manejado por la shell BASH accesible de
igual manera o a través de UART o Ethernet.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 7 de 38
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 8 de 38
Para poder utilizar su Raspberry, usted necesitará una tarjeta microSD de al menos 2GB
(se recomiendan 4GB). Existen cuatro sistemas operativos disponibles en forma de
imagen en http://www.raspberrypi.org/downloads, de los cuales, tres son basados en
GNU/Linux. La fundación Raspberry Pi, recomienda el uso de "Raspbian Wheezy", por lo
que en este manual nosotros utilizaremos este sistema, el cual es similar a Debian
Wheezy, pero optimizada para su placa.
Usuario: pi
Contraseña: raspberry
passwd
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 9 de 38
Utilice un cable serial para conectar la RPI (pines 6, 7 y 8 del header GPIO) a un
computador (Si este último no cuenta con un puerto COM real, es necesario utilizar un
FTDI) y conecte la fuente de poder. Puede utilizar cualquier software que le permita enviar
y recibir datos mediante la puerta serial, como Minicom si se encuentra en GNU/Linux, o
bien PUTTY o Hercules si está en Windows. Configuré el puerto para funcionar a 115200
8n1 sin control de flujo.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 10 de 38
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 11 de 38
Este método podría permitirle controlar su Raspberry desde un lugar remoto en Internet.
Conecte un cable de red y la fuente de poder. Por defecto, la RPI tiene un servidor SSH
funcionando en el puerto 22. Bajo el entorno Windows, utilice PUTTY, y desde
GNU/Linux, use la aplicación de consola ssh:
Para conocer la IP asignada por DHCP, tiene dos opciones. La primera opción es revisar
en su router el último host que se agrego por DHCP. La segunda es acceder por
cualquiera de los dos métodos anteriores y ejecutar “ifconfig”, cuyo resultado será similar
al siguiente:
ifconfig
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 12 de 38
raspberrypi login:
sudo raspi-config
La siguiente tabla, describe para que sirve cada una de las opciones:
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 13 de 38
Opción Descripción
info Muestra información acerca de la herramienta
expand_rootfs Expande la partición principal de la tarjeta SD para llenarla.
Si su memoria es de 4GB o mas, utilice esta opción para que
pueda ser usada en su totalidad. De lo contrario, solo podrá
acceder a 2GB.
overscan Agrega un borde negro necesario para algunos monitores. Esto es
útil si en su pantalla el texto o la imagen está cortada en los
extremos horizontales y verticales.
configure_keyboard Permite configurar la disposición de las teclas.
change_pass Para cambiar la contraseña del usuario root.
change_locale Cambia las configuraciones regionales acerca del idioma del
sistema, país, juego de caracteres, etc.
change_timezone Cambia la zona horaria del sistema.
memory_split Aumenta la memoria RAM disponible para la GPU.
overclock Permite aumentar la frecuencia de operación del microprocesador.
Recomendamos no modificar este valor.
ssh Iniciar el demonio ssh al bootear, el cual es útil si quiere acceder
en forma remota, ya sea a través de la LAN o desde Internet a su
RPI.
boot_behavior Permite configurar si se debe iniciar el entorno grafico al bootear.
update Verifica si hay alguna versión nueva de esta herramienta de
configuración y la instala.
http://elinux.org/RPi_raspi-config#expand_rootfs_-_Expand_root_partition_to_fill_SD_card
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 14 de 38
date
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 15 de 38
USO
En Rasbian (el S.O), para trabajar puede hacer uso de la consola o del entorno grafico
para trabajar. No es necesario que usted sea experto en el manejo de GNU/Linux, pero si
va a utilizar el primer modo, se requiere un cierto grado de conocimiento de algunos
programas básicos como: cd, ls, mkdir, rm, cp, mv, chmod, vi o nano, echo y cat. Para
ver una lista de los argumentos que un comando espera:
nombre_del_comando -h
nombre_del_comando --help
man nombre_del_comando
Dentro del programa “man”, utilice los botones arriba, abajo, RePág y AvPág para
desplazarse sobre el contenido, y la letra ‘q’ para salir.
Recuerde que en GNU/Linux los nombres de archivos son sensibles a las mayúsculas,
por lo que ejemplo.txt y EJEMPLO.TXT serían archivos distintos.
sudo comando_a_ejecutar
sudo su
Comando1
Comando2
Exit
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 16 de 38
#! /bin/sh
exit 0
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 17 de 38
Crontab maneja un archivo de texto que guarda una lista de comandos a ejecutar en un
tiempo especificado por el usuario. Crontab verificará la fecha y hora en que se debe
iniciar cada script y si se cumple la condición, lo hará en segundo plano.
Cada campo puede contener más de un valor, por ejemplo, si en el campo dom, dice
2,10,25,31 quiere decir que la tarea se ejecutará solo los días 2, 10, 25, 31 del mes.
Puede utilizar el símbolo * para indicar que debe ser ejecutado en todas las opciones
posibles, por ejemplo, un * en el campo dow, indicará que la tarea debe ser ejecutada
todos los días de la semana.
Algunos ejemplos:
16 20 * * * /root/enviarDatos.sh
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 18 de 38
30 7 20 11 * /home/usuario/scripts/actualizar.sh
0 18 1,15,30 * * /root/enviarDatos.sh
A las 18 horas, todos los días 1, 15 y 30 de cada mes se enviarán los datos
recopilados.
https://help.ubuntu.com/community/CronHowto
Para agregar o borrar tareas, ejecute el siguiente comando y modifique las entradas:
crontab –e
Para guardar los cambios presione CTRL+O, y para cerrar el editor, CTRL+X.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 19 de 38
mkdir ~/.config/autostart
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
StartupNotify=false
Terminal=false
Hidden=false
sudo reboot
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 20 de 38
http://www.olimex.cl/product_info.php?products_id=1192&product__name=Raspberry_Pi_
Model_B
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 21 de 38
1.12 Programación en C
Raspbian viene con el compilador GCC incorporado. En la carpeta
/home/pi/examples/hello_world existe un “Hello World” listo para ser compilado.
cd /home/pi/examples/hello_world
cat hello_world.c
./hello_world
Para obtener ayuda acerca de alguna librería estándar, usted puede consultar la sección
3 de “man”, de la siguiente manera:
man 3 stdio
Del mismo modo, puede obtener información acerca de alguna función con:
man 3 printf
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 22 de 38
nano HelloWorld.java
System.out.println("Hello, World");
javac HelloWorld.java
java HelloWorld
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 23 de 38
NOTA: los número de pines GPIO del conector son distintos al número de los pines GPIO
real del microprocesador. Para mayor información puede ver la siguiente página:
http://elinux.org/RPi_Low-
level_peripherals#Referring_to_pins_on_the_Expansion_header.
Habilite el pin deseado usando el comando /sys/class/gpio/export. Por ejemplo, para usar
el pin GPIO numero XX, escriba en la consola:
echo "XX" > /sys/class/gpio/export #reemplaze XX con un número del pin valido
sudo sh /home/pi/examples/led_blink
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 24 de 38
1.15 MOD-GSM
En el siguiente ejemplo, utilizaremos un módulo MOD-GSM que puede ser utilizado, entre
otras cosas, para realizar llamadas, enviar mensajes SMS y abrir sockets TCP.
1.15.1 Conexionado
El módulo debe ser cableado al puerto GPIO (solo los pines TX, RX, y GND) de su RPI. El
puerto UART para controlar el módulo está representado por el dispositivo /dev/ttyAMA0.
La siguiente imagen muestra un ejemplo del cableado:
Para el correcto funcionamiento de este ejemplo, debe realizar dos cosas antes. La
primera es cambiar el permiso de lectura y escritura del archivo /dev/ttyAMA0. Ejecute el
siguiente comando:
NOTA: Puede obviar el comando anterior, pero deberá trabajar con la cuenta de
administrador. Si prefiere ejecutarlo, deberá hacerlo cada vez que reinicie la placa.
La segunda, es desactivar la consola que está presente en el puerto UART. Para ello
comente la última línea del archivo /etc/inittab. Finalmente reinicie.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 25 de 38
1.15.3 Minicom
https://www.olimex.com/Products/Modules/RF/MOD-GSM/resources/MOD-
GSM_rev_D.pdf
https://www.olimex.com/Products/Modules/RF/MOD-
GSM/resources/SIM340DZ_ATC_V1.00.pdf
Para cerrarlo presione Ctrl+A, luego la letra ‘q’ y volverá al intérprete de comandos BASH.
A modo de ejemplo, aprenderemos a realizar una llamada, enviar un mensaje SMS y abrir
un socket TCP. El chip que utilizará debe estar habilitado y con saldo disponible para los
servicios a utilizar.
1.15.4 Comandos AT
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 26 de 38
ATDnúmero_telefónico;
ATD103;
ATD91234567;
ATD+56987654321;
Colgar un llamado:
ATH
Envío de un SMS:
AT+CMGF=1
AT+CSMP?
AT+CMGS=”número_telefónico”
El módem responderá:
>
Luego de esto, escribir el mensaje a enviar y presionar CTRL-Z (código ASCII 0x1A) y el
mensaje será enviado. Puede tardar unos cuantos segundos en ser recibido.
Ejemplo:
AT+CMGF=1
AT+CSMP?
AT+CMGS=”+56991234567”
>
+CMGS: 5
OK
Configuración de un APN:
AT+CSTT=”APN”,”USUARIO”,”CONTRASEÑA”
AT+CSTT=”web.tmovil.cl”,”web”,”web”
AT+CIICR
AT+CIPMODE=0
AT+CIPMODE=1
AT+CIFSR
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 28 de 38
AT+CIPSTART=”TCP”,”IP”,”PUERTO”
Ejemplo:
AT+CIPSTART=”TCP”,”190.154.23.22”,”2020”
1.15.5 Ejemplos
cd /home/pi/examples/mod-gsm
cat nombre_del_programa
Ejemplo:
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 29 de 38
Ejemplo:
Para lograr hacer funcionar este último ejemplo, es necesario que en el equipo de la IP
que usted especificó exista otro programa que haya abierto un socket en modo escucha
para que reciba los datos. Puede utilizar el programa “netcat” para abrir un socket en
dicho modo.
1.16.1 Configuración
include "/etc/lighttpd/fastcgi.conf"
index-file.names += ( “index.php” )
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 30 de 38
fastcgi.server = (
“.php” => (
“localhost” => (
“bin-environment” => (
),
))
/etc/init.d/lighttpd start
/etc/init.d/lighttpd stop
La carpeta /var/www es el directorio que será compartido a través del servidor, por lo que
debe dejar ahí sus páginas web. El dueño de esta carpeta es “root” y lighttpd corre bajo
un usuario nuevo llamado “www-data”. Los archivos contenidos en este directorio deben
tener el permiso de lectura para otros usuarios activado (utilice chmod para cambiar el
permiso). Para comprobar que todo esté funcionando correctamente, cree un archivo de
nombre holaMundo.php en la carpeta compartida con el siguiente contenido:
<html> <head> <title>Ejemplo PHP</title> </head> <body>
<?php
echo ‘Hola Mundo’;
?>
</body></html>
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 31 de 38
o algún error, quiere decir que hubo algún problema. Revisar que se hayan realizado
correctamente los pasos anteriores.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 32 de 38
Ejecute el servicio
sudo /etc/init.d/gpio start #si desea que se ejecute con cada inicio vea la sección
“1.7 Ejecutar un programa al encender la RPI”
cp -R /home/pi/examples/webio/olinuxino-web-io/web/ /var/www/
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 33 de 38
Los primeros 7 bytes deben ser escritos en código BCD y representan la hora y la fecha.
Si el módulo es nuevo, el bit 7 del byte 0 estará en 1, indicando que el oscilador está
desactivado. Usted debe cambiarlo a 0 para que el oscilador comience a funcionar. Para
ello basta con que configure los segundos.
Conecte los pines SDA y SCL del módulo RTC en los pines correspondientes del conector
P1 de su RPI. Además deberá conectar los pines GND y 5v. El pin SQW déjelo sin
conectar.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 34 de 38
Dentro de este paquete existen varios comandos que permiten el manejo del puerto i2c,
los cuales serán explicados a continuación:
Volcado de toda la memoria sudo i2cdump -y -r 0-63 1 0x68
Leer el valor del registro XX sudo i2cget -y 1 0x68 0xXX
Escribir la hora HH:MM:SS sudo i2cset -y 1 0x68 0x00 0xSS 0xMM 0xHH i
Escribir la fecha: día de la semana AA, sudo i2cset -y 1 0x68 0x03 0xAA 0xDD 0xMM
día del mes DD, mes MM, año YY 0xYY i
Ejemplos:
Para escribir la fecha jueves 10 de enero del 2013, día de la semana 4 –jueves-, día del
mes 10, mes 1, año 13, use:
Con estos dos últimos comandos, usted debe configurar el módulo con la fecha y la hora
actual.
Luego, para sincronizar la fecha y la hora del módulo RTC a su tarjeta RPI, siendo el
super usuario, cree el archivo /root/sincronizarRTC.sh con el siguiente contenido:
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 35 de 38
Básicamente, lo que hace este programa es obtener mediante i2c la hora y la fecha desde
la memoria RAM del módulo y guardarla en el sistema operativo.
Para actualizarla en cada reinicio, deberá transformar el archivo en ejecutable, para ello
realice los dos siguientes pasos:
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 36 de 38
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 37 de 38
SOLUCIÓN DE PROBLEMAS
Este error se debe a que la RPI trabaja con un usuario que tiene pocos privilegios.
Anteponga “sudo” a su comando a ejecutar y este correrá bajo el super usuario (root).
NOTA: tenga cuidado con los comandos que ejecuta, puesto que podría dañar el sistema
operativo, la microSD u otro hardware.
man sync
Es buena idea utilizar sync antes de quitar la fuente de poder o reiniciar utilizando el botón
RESET.
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl
Manual Usuario de [NOMBRE DE EQUIPO] Página 38 de 38
Luis Thayer Ojeda 0115 Of. 1105 ▪ Santiago, Chile ▪ Tel. +56 2 23339579 ▪ info@olimex.cl
www.olimex.cl