COMMERCIAL BOARDS

=Compilador cruzado para ARM=

wget -c https://launchpad.net/linaro-toolchain-binaries/trunk/2013.07/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux.tar.xz tar xJf gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux.tar.xz export CC=`pwd`/gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux/bin/arm-linux-gnueabihf-

=Puerto Serial=

Configuración
La tarjeta BeagleBone Black cuenta con 6 UART, de las cuales 4 se encuentran en los pines de salida P8 y P9 y se pueden utilizar en nuestros proyectos.

En la siguiente imagen se encuentra la distribución de los pines UART en los pines de salida:

[]

Pero por defecto, la tarjeta no tiene habilitados estos pines como periféricos UART, para conseguir esto debemos tener un archivo de sobreposicion (.dtbo), y hacer que el sistema operativo actualice el estado que necesitamos del pin.

Estos archivos son los siguientes:

Para habilitar UART1: ttyO1_armhf.com-00A0.dtbo Para habilitar UART2: ttyO2_armhf.com-00A0.dtbo Para habilitar UART4: ttyO4_armhf.com-00A0.dtbo Para habilitar UART5: ttyO5_armhf.com-00A0.dtbo

Ahora para configurar los pines se deben seguir los siguientes pasos:

cp ./ttyOX_armhf.com-00A0.dtbo /lib/firmware/ echo ttyOX_armhf.com > /sys/devices/bone_capemgr*/slots

Donde remplazamos la X por el Puerto Serial que queremos habilitar.

Después, para comprobar que si se habilito correctamente el puerto serial X, al ejecutar el comando:

dmesg

Deberíamos observar entre otras cosas el siguiente mensaje:

48022000.serial: ttyOX at MMIO 0x48022000 (irq = 89) is a OMAP UARTX

Ahora ya tenemos habilitado el puerto serial X en la tarjeta Beaglebone black, y a través de minicom se puede conectar la tarjeta con cualquier otro dispositivo con un puerto serial.

Ejemplo en C
El siguiente ejemplo muestra la comunicación serial entre un Computador y la Beaglebone Black desde C.

Para lograr esto necesitamos regular el voltaje de salida del RS232, para que trabaje a 3.3V, que es el voltaje de entrada y salida de la tarjeta, en este caso se utilizo una tarjeta que cuenta con el integrado FT232RL, que emula un puerto serial por USB y trabaja a 3.3V.

El siguiente código se encarga de enviar una cadena de caracteres, "Hello World desde BeagleBone Black", por medio del puerto serial S1 de la beaglebone.

=ADC=

Configuración
La tarjerta Beaglebone Black cuenta con 7 pines análogos, los cuales están ubicados en P9, como lo muestra la siguiente figura:



Estos pines analogos funcionan en un rango de 0V a 1.8V.

Para leer los pines Análogos (AIN) de la Beaglebone se debe primero habilitar estos como pines Análogos, para esto ejecutamos el siguiente comando:

echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots

Ahora, para leer el voltaje correspondiente al pin, ejecutamos el siguiente comando:

cat /sys/devices/ocp.2/helper.14/AINX

Donde AINX es el número del pin AIN que se desea leer.

Los pines análogos retornan un valor entre 0 y 1799, donde 1799 corresponde a 1.8V, que es el valor de VDD_ADC.

Ejemplo en C
El siguiente código muestra como leer el ADC AIN1 desde un programa en C.

=Ethernet=

Server.c

Client.c

=USB - WIFI= WIFI http://elinux.org/ECE497_Beagle_Bone_WiFi

Working on it!

=Webcam= (falta poner la referencia) /* boneCV.cpp * * Copyright Derek Molloy, School of Electronic Engineering, Dublin City University * www.derekmolloy.ie * * Redistribution and use in source and binary forms, with or without modification, are permitted * provided that source code redistributions retain this notice. * * This software is provided AS IS and it comes with no warranties of any type. */

using namespace std; using namespace cv;
 * 1) include
 * 2) include

int main {   VideoCapture capture(0); capture.set(CV_CAP_PROP_FRAME_WIDTH,1920); capture.set(CV_CAP_PROP_FRAME_HEIGHT,1080); if(!capture.isOpened){ cout << "Failed to connect to the camera." << endl; }   Mat frame, edges; capture >> frame; if(frame.empty){ cout << "Failed to capture an image" << endl; return -1; }   cvtColor(frame, edges, CV_BGR2GRAY); Canny(edges, edges, 0, 30, 3); imwrite("edges.png", edges); imwrite("capture.png", frame); return 0; }

PARA COMPILARLO: g++ -O2 `pkg-config --cflags --libs opencv` boneCV.cpp -o boneCV