Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MCI Ltda. Luis Thayer Ojeda 0115. Oficina 1105 Santiago, Chile www.olimex.cl Tel: +56 2 23339579 Fax: +56 2 23350589
Atencin: Cambios y modificaciones hechas en el dispositivo, no autorizados expresamente por MCI, anularn su garanta.
Pgina 3 de 38
INTRODUCCIN ............................................................................................................... 5 CARACTERSTICAS GENERALES ................................................................................... 6 INTERFAZ DE USUARIO .................................................................................................. 6 CONFIGURACIN DEL DISPOSITIVO ............................................................................ 8 1.1 1.2 Instalacin del sistema operativo ......................................................................... 8 Puesta en marcha................................................................................................ 8 Acceso mediante UART ............................................................................... 9 Acceso mediante TV................................................................................... 10 Acceso mediante Ethernet .......................................................................... 11
USO................................................................................................................................. 15 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 Convertirse en usuario administrador ................................................................ 15 Instalar un programa.......................................................................................... 16 Ejecutar un programa al encender la RPI .......................................................... 16 Programar la ejecucin automtica de una tarea ............................................... 17 Escritorio remoto ............................................................................................... 19 Instalacin de los ejemplos ................................................................................ 20 Escritura de programas ..................................................................................... 20 Programacin en C ............................................................................................ 21 Programacin en Java ....................................................................................... 22 Control de puertos GPIO ................................................................................... 22 MOD-GSM ......................................................................................................... 24
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 4 de 38
Conexionado .............................................................................................. 24 Configuracin previa ................................................................................... 24 Minicom ...................................................................................................... 25 Comandos AT............................................................................................. 25 Hacer una llamada .............................................................................. 26 Enviar un SMS..................................................................................... 26 Comunicacin GPRS ........................................................................... 27
Ejemplos..................................................................................................... 28 Ejemplo de llamada ............................................................................. 28 Ejemplo de envo de SMS ................................................................... 28 Ejemplo de apertura de un socket ....................................................... 29
Servidor telefnico ............................................................................................. 31 Control de puertos GPIO mediante una pgina WEB ........................................ 32 Mdulo RTC ...................................................................................................... 32
SOLUCIN DE PROBLEMAS ......................................................................................... 37 1.20 1.21 1.22 Error permiso denegado .................................................................................... 37 La fecha y la hora se pierden al reiniciar la RPI ................................................. 37 Prdida de archivos al reiniciar la placa o desconectar la fuente de alimentacin 37
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 5 de 38
INTRODUCCIN
La Raspberry Pi rev. B es una tarjeta de grado industrial que viene en un formato compacto. Est basada en GNU/Linux con un microprocesador iMX233 ARM926J @454MHz y 512Mb de RAM. Puede ser programada mediante una gran variedad de lenguajes a travs de comunicacin serial, SSH o bien un teclado y un televisor. La RPI es un verdadero mini computador, en ella, puede ver videos, navegar por internet, editar documentos, etc. En cuanto a software, es altamente extensible mediante paquetes descargables. Este documento pretende ser complementario a la documentacin oficial presente en la wiki http://elinux.org/RPi_Hub. Se muestran algunas configuraciones iniciales que podran ser tiles para el funcionamiento correcto del dispositivo, ejemplos de uso tales como: manejo de puertos GPIO, iC, UART con un mdulo MOD-GSM, instalacin de un servidor HTTP y solucin de algunos problemas que podran surgir. Algunas convenciones utilizadas en este documento: Todos los comandos a ejecutar sern 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
Todo texto que est despus de un smbolo # en un comando es un comentario, por lo que no es necesario transcribirlo.
Ejemplo:
uname -a # este comando le mostrar la versin 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
Pgina 6 de 38
CARACTERSTICAS GENERALES
Listado de caractersticas: System-on-a-chip (SoC): Broadcom BCM2835 (CPU + GPU. La SDRAM est separada en un apilado encima) CPU: 700 MHz ARM11 ARM1176JZF-S core GPU: Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode Memoria 512 MiB Puertos USB 2.0: 2 (mediante un hub USB integrado) Salida de video: Video compuesto (RCA), HDMI (no al mismo tiempo) Salida de audio: 3.5 mm jack, HDMI Entrada de audio: ninguna, pero puede ser agregada con una tarjeta de sonido o un micrfono USB Almacenamiento: Ranura compatible con SD / MMC / SDIO Ethernet: 10/100 wired Ethernet RJ45 Perifricos de bajo nivel: General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), IC, IS[2], Universal asynchronous receiver/transmitter (UART) Fuente de poder: 5 V (DC), 700 mA (3.5 W) mediante Micro USB tipo B o en los pines GPIO
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 travs 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 travs de UART o Ethernet. Las siguientes imgenes muestran estas interfaces:
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 7 de 38
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 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 fundacin 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. En un computador con sistema operativo GNU/Linux descomprima el archivo recin descargado e inserte la tarjeta microSD. Grabe la nueva imagen utilizando el siguiente comando en una consola del sistema:
dd if=nombre_del_archivo_descomprimido of=/dev/XXX #reemplazar XXX por el nombre del dispositivo que representa la microSD. Este comando puede daar su sistema anfitrin si se equivoca de dispositivo. En caso de duda, solicitar ayuda a un experto. Este comando puede tardar varios minutos.
NOTA: Es altamente recomendable que cambie la contrasea para evitar posibles problemas de seguridad, para ello utilice el comando:
passwd
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 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. En la siguiente imagen se muestra un ejemplo de cmo debe conectar la tarjeta a un FTDI.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 10 de 38
Conecte un televisor que tenga entrada de video compuesta o HDMI, un teclado y un mouse USB a su Raspberry. Se recomienda que la conexin al televisor sea por HDMI ya que de este modo, la resolucin ser mayor.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 11 de 38
Este mtodo podra 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 aplicacin de consola ssh:
ssh pi@xxx.xxx.xxx.xxx tarjeta. #reemplazar xxx.xxx.xxx.xxx por la IP asignada a la
Para conocer la IP asignada por DHCP, tiene dos opciones. La primera opcin es revisar en su router el ltimo host que se agrego por DHCP. La segunda es acceder por cualquiera de los dos mtodos anteriores y ejecutar ifconfig, cuyo resultado ser similar al siguiente:
ifconfig eth0 Link encap:Ethernet HWaddr b8:27:eb:c7:3c:43
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 12 de 38
Debe ingresar el usuario y la contrasea anteriormente mencionados y, dependiendo del modo de acceso, puede que se ejecute automticamente el programa de configuracin inicial de su RPI. Si no es el caso, ejectelo usted con:
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
Pgina 13 de 38
Descripcin Muestra informacin acerca de la herramienta Expande la particin principal de la tarjeta SD para llenarla. Si su memoria es de 4GB o mas, utilice esta opcin 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 disposicin de las teclas. change_pass Para cambiar la contrasea del usuario root. change_locale Cambia las configuraciones regionales acerca del idioma del sistema, pas, 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 operacin 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 travs 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 versin nueva de esta herramienta de configuracin y la instala.
Recomendamos modificar las opciones expand_rootfs, configure_keyboard, change_pass, change_locale y boot_behavior. Cambie el parmetro overscan solo si tiene problemas con su monitor o televisor.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 14 de 38
NOTA: al apagar la Raspberry Pi, la fecha y la hora se pierden. Si tiene su tarjeta conectada a Internet, esta se sincronizar automticamente mediante el protocolo NTP. Si no, puede utilizar un mdulo RTC (Real Time Clock). Vea Mdulo RTC en el capitulo Uso.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 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 bsicos 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
Dentro del programa man, utilice los botones arriba, abajo, RePg y AvPg para desplazarse sobre el contenido, y la letra q para salir. Recuerde que en GNU/Linux los nombres de archivos son sensibles a las maysculas, por lo que ejemplo.txt y EJEMPLO.TXT seran archivos distintos.
Si quiere ejecutar ms de un comando, considere transformarse en el usuario root usando sudo su. Al finalizar, use exit para volver a ser el usuario pi. Ejemplo:
sudo su Comando1 Comando2 Exit
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 16 de 38
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 17 de 38
Descripcin Minuto/s en el cual se ejecutar la tarea Hora/s en la que se ejecutar la tarea Da/s del mes en que se ejecutar la tarea Mes/es Da de la semana Tarea a ejecutar
Cada campo puede contener ms de un valor, por ejemplo, si en el campo dom, dice 2,10,25,31 quiere decir que la tarea se ejecutar solo los das 2, 10, 25, 31 del mes. Puede utilizar el smbolo * 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 das 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
Pgina 18 de 38
0 18 1,15,30 * * /root/enviarDatos.sh
A las 18 horas, todos los das 1, 15 y 30 de cada mes se enviarn los datos recopilados.
Si necesita ms informacin y/o ejemplos, vea la siguiente pgina: 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
Pgina 19 de 38
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 20 de 38
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 21 de 38
1.12 Programacin en C
Raspbian viene con el compilador GCC incorporado. En la /home/pi/examples/hello_world existe un Hello World listo para ser compilado.
cd /home/pi/examples/hello_world
carpeta
Para obtener ayuda acerca de alguna librera estndar, usted puede consultar la seccin 3 de man, de la siguiente manera:
man 3 stdio
Del mismo modo, puede obtener informacin acerca de alguna funcin con:
man 3 printf
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 22 de 38
NOTA: necesita al menos 121Mb de espacio disponible en su microSD Cree el archivo HelloWorld.java con nano:
nano HelloWorld.java
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 23 de 38
NOTA: los nmero de pines GPIO del conector son distintos al nmero de los pines GPIO real del microprocesador. Para mayor informacin puede ver la siguiente pgina: http://elinux.org/RPi_Lowlevel_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 nmero del pin valido
Esto, crear los archivos /sys/class/gpio/gpioXX/direction y /sys/class/gpio/gpioXX/value. Defina su direccin en el archivo /sys/class/gpio/gpioXX/direction. Esta puede ser out para salida e in para entrada.
echo out > /sys/class/gpio/gpioXX/direction echo in > /sys/class/gpio/gpioXX/direction
El archivo /sys/class/gpio/gpioXX/value permite conocer la entrada o establecer la salida. Un 0 (cero) significa estado bajo, y un 1 (uno) el estado alto.
echo 0 > /sys/class/gpio/gpioXX/value #establece en estado bajo la salida echo 1 > /sys/class/gpio/gpioXX/value #establece en estado alto la salida cat /sys/class/gpio/gpioXX/value #leer el estado de la entrada
En los ejemplos descargados anteriormente, existe un Hola Mundo. En el pin 11 del conector P1 (pin GPIO 17), ponga un led y una resistencia en serie a GND y ejecute el cdigo con el siguiente comando:
sudo sh /home/pi/examples/led_blink
El LED comenzar a parpadear con un perodo de 2 segundos. Presione CTRL+C para terminar el proceso.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 24 de 38
1.15 MOD-GSM
En el siguiente ejemplo, utilizaremos un mdulo MOD-GSM que puede ser utilizado, entre otras cosas, para realizar llamadas, enviar mensajes SMS y abrir sockets TCP.
1.15.1 Conexionado El mdulo debe ser cableado al puerto GPIO (solo los pines TX, RX, y GND) de su RPI. El puerto UART para controlar el mdulo est representado por el dispositivo /dev/ttyAMA0. La siguiente imagen muestra un ejemplo del cableado:
1.15.2 Configuracin previa 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:
chmod o+rw /dev/ttyAMA0
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 lnea del archivo /etc/inittab. Finalmente reinicie. Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 25 de 38
1.15.3 Minicom Utilizaremos minicom, un controlador de modem basado en texto para enviarle comandos AT al mdulo. La documentacin del mdulo y una lista de comandos AT para controlar el dispositivo pueden ser encontrados en: https://www.olimex.com/Products/Modules/RF/MOD-GSM/resources/MODGSM_rev_D.pdf https://www.olimex.com/Products/Modules/RF/MODGSM/resources/SIM340DZ_ATC_V1.00.pdf
Para cerrarlo presione Ctrl+A, luego la letra q y volver al intrprete 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 Los comandos de esta seccin deben ser ingresados en minicom.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 26 de 38
Colgar un llamado:
ATH
El mdem responder:
>
Luego de esto, escribir el mensaje a enviar y presionar CTRL-Z (cdigo ASCII 0x1A) y el mensaje ser enviado. Puede tardar unos cuantos segundos en ser recibido. Ejemplo:
AT+CMGF=1 AT+CSMP? AT+CMGS=+56991234567 > Hola Mundo!
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 27 de 38
Para iniciar un socket en modo normal. La comunicacin es iniciada en segundo plano. Enve y reciba datos utilizando los comandos AT+CIPSEND y AT+CIPRECV respectivamente:
AT+CIPMODE=0
Para iniciar un socket en modo transparente. La comunicacin es iniciada en primer plano Los datos son enviados directamente a medida que son escritos en el puerto serial (activado por defecto).
AT+CIPMODE=1
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 28 de 38
Ejemplo:
AT+CIPSTART=TCP,190.154.23.22,2020
1.15.5 Ejemplos En la carpeta /home/pi/examples/mod-gsm encontrar los ejemplos que utilizaremos a continuacin. Acceda a dicha carpeta utilizando:
cd /home/pi/examples/mod-gsm
1.15.5.1 Ejemplo de llamada El script /home/pi/examples/mod-gsm/llamar.sh har una llamada al nmero que usted especifique como argumento. Luego de 15 segundos cortar automticamente. Ejectelo del siguiente modo:
sudo sh llamar.sh 912345678
1.15.5.2 Ejemplo de envo de SMS El programa enviarSMS.sh enviar un mensaje al nmero indicado. El texto a enviar debe estar entrecomillas. Ejemplo:
sudo sh enviarSMS.sh 912345678 hola mundo!
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 29 de 38
El programa socket.sh abre un socket a la IP y al puerto indicado. Este programa enviar por el socket la fecha y la temperatura de un sensor ficticio (datos aleatorios). Ejemplo:
sudo sh socket.sh 190.132.12.55 2020
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.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 30 de 38
La carpeta /var/www es el directorio que ser compartido a travs del servidor, por lo que debe dejar ah sus pginas web. El dueo 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
Pgina 31 de 38
En el equipo anfitrin, acceder a http://xxx.xxx.xxx.xxx/holaMundo.php, reemplace xxx.xxx.xxx.xxx por la IP de la tarjeta. Si el navegador muestra Hola Mundo, significa que el servidor HTTP + PHP est funcionando correctamente. Por el contrario, si muestra:
<?php echo Hola Mundo; ?>
o algn error, quiere decir que hubo algn problema. Revisar que se hayan realizado correctamente los pasos anteriores.
En un navegador de su computador anfitrin, vaya a http://xxx.xxx.xxx.xxx/servidorTelefonico.php. Ah, puede realizar llamadas y enviar mensajes de texto en forma remota.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 32 de 38
Ejecute el servicio
sudo /etc/init.d/gpio start #si desea que se ejecute con cada inicio vea la seccin 1.7 Ejecutar un programa al encender la RPI
En un navegador de su computador anfitrin, vaya a http://xxx.xxx.xxx.xxx/web/io/content.html (cambie xxx.xxx.xxx.xxx por la IP de su OLinuXino). Presione sobre las circunferencias para cambiar las salidas de los pines. Las siguientes imgenes muestran la pgina web que controla los puertos GPIO y un ejemplo del cableado.
www.olimex.cl
Pgina 33 de 38
Los primeros 7 bytes deben ser escritos en cdigo BCD y representan la hora y la fecha. Si el mdulo 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. Puede obtener mayor informacin mirando su http://www.sparkfun.com/datasheets/Components/DS1307.pdf. datasheet aqu:
Conecte los pines SDA y SCL del mdulo RTC en los pines correspondientes del conector P1 de su RPI. Adems deber conectar los pines GND y 5v. El pin SQW djelo sin conectar.
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 34 de 38
Dentro de este paquete existen varios comandos que permiten el manejo del puerto i2c, los cuales sern explicados a continuacin: Volcado de toda la memoria Leer el valor del registro XX Escribir la hora HH:MM:SS Escribir la fecha: da de la semana AA, da del mes DD, mes MM, ao YY Ejemplos: Para escribir la hora 14:56:10 en el mdulo utilice:
sudo i2cset -y 1 0x68 0x00 0x10 0x56 0x14 i sudo i2cdump -y -r 0-63 1 0x68 sudo i2cget -y 1 0x68 0xXX sudo i2cset -y 1 0x68 0x00 0xSS 0xMM 0xHH i sudo i2cset -y 1 0x68 0x03 0xAA 0xDD 0xMM 0xYY i
Para escribir la fecha jueves 10 de enero del 2013, da de la semana 4 jueves-, da del mes 10, mes 1, ao 13, use:
sudo i2cset -y 1 0x68 0x03 0x04 0x10 0x01 0x13 i
Con estos dos ltimos comandos, usted debe configurar el mdulo con la fecha y la hora actual. Luego, para sincronizar la fecha y la hora del mdulo RTC a su tarjeta RPI, siendo el super usuario, cree el archivo /root/sincronizarRTC.sh con el siguiente contenido:
segundos=`i2cget -y 1 0x68 0x00 | sed "s/^0x//"` minutos=`i2cget -y 1 0x68 0x01 | sed "s/^0x//"` horas=`i2cget -y 1 0x68 0x02 | sed "s/^0x//"` diaDeLaSemana=`i2cget -y 1 0x68 0x03 | sed "s/^0x//"` dia=`i2cget -y 1 0x68 0x04 | sed "s/^0x//"` mes=`i2cget -y 1 0x68 0x05 | sed "s/^0x//"` ano=`i2cget -y 1 0x68 0x06 | sed "s/^0x//"`
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 35 de 38
Bsicamente, lo que hace este programa es obtener mediante i2c la hora y la fecha desde la memoria RAM del mdulo y guardarla en el sistema operativo. Para actualizarla en cada reinicio, deber transformar el archivo en ejecutable, para ello realice los dos siguientes pasos: Cambie el permiso de ejecucin ejecutando el comando:
sudo chmod +x /root/sincronizarRTC.sh
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 36 de 38
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 37 de 38
SOLUCIN DE PROBLEMAS
1.20 Error permiso denegado
Al ejecutar algunos programas, ver que el sistema le responde con un error:
-bash: /sys/class/gpio/gpio14/direction: Permiso denegado
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 podra daar el sistema operativo, la microSD u otro hardware.
Es buena idea utilizar sync antes de quitar la fuente de poder o reiniciar utilizando el botn RESET. Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl
Pgina 38 de 38
Revisin 1.0
Editado por Descripcin/Cambios Matas Castillo Versin inicial del Felmer documento
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl
www.olimex.cl