Configurant projectes IoT i servidors amb la placa mare BeagleBone Black

Configurant projectes IoT i servidors amb la placa mare BeagleBone Black

La BeagleBone Black és una placa mare de desenvolupament amb processador de Texas Instrument amb arquitectura ARM Cortex A8. La web oficial d'aquesta placa mare és https://beagleboard.org/black , i com podràs veure aquesta placa mare té millors prestacions que la Raspberry Pi en aspectes de capacitat de processament, en els perifèrics i GPIOs, no obstant això té nomès un port USB i tal vegada això pot limitar-te. Si vols fer servir més ports hauràs de connectar un hub USB.

El maquinari de la BeagleBone Black és totalment obert (Open Hardware en la llengua de Shakespeare), aleshores tens la seguretat de que no fa coses amagades, tens el codi, tens els arxius de fabricació de la placa i també l'esquema de components totalment lliures.

Podem tenir la BeagleBone Black corrent els sistemes operatius Android, Debian GNU/Linux, Ubuntu Linux, ArchLinux, Gentoo Linux, Fedora, QNX, FreeBSD, OpenBSD i altres. La pàgina dels projectes que la gent està desenvolupant amb aquesta placa és https://beagleboard.org/project

En un principi pot semblar que 512 MB són pocs, però aquesta placa permet usar un sistema operatiu amb entorn gràfic amb un funcionament prou lleuger i suficient per a treballar. Fins i tot podem crear 2 escriptoris virtuals VNC i treballar en distintes instàncies des de distints ordinadors i la BeagleBone es porta molt bé.

BeagleBone Black

Les especificacions són:

- Tamany 86.4mm x 53.3mm
- Processador 1 GHz superscalar ARM Cortex-A8 AM3359
- RAM de 512 MB DDR3
- Memòria flash eMMC de 2 GB eMMC, precarregada amb Debian ARM
- Slot MicroSD per a enmagatzenament i ús d'altres sistemes operatius
- Ethernet 10/100, RJ45
- Port host USB 2.0 type A
- Port client mini-USB 2.0
- Eixida Audio (stereo) i video mitjançant la micro-HDMI
- Resolució de Video: 16b HDMI 1280x1024 i 1024x768,1280x720,1440x900 amb suport EDID
- Consum de 210-460 mA amb 5V
- 2 connectors de 2×23 amb moltes opcions d'expansió, ADC, I2C, SPI
- Entrades d'usuari: Botó reset, botó arranc (boot) i botó activació (power)

Instal·lació de sistemes operatius
Per defecte, la BeagleBone Black té preinstal·lat la distribució Debian GNU/Linux 9 "Stretch" al dispositiu eMMC de 4GB incorporat a la placa base. Aleshores, si arranquem la placa mare tindrem un sistema Debian 100% en producció.

Si més endavant vols tornar a cremar l'eMMC incorporat en la placa, cal que seguisques les isntruccions de http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Flashing_eMMC

Una vegada hauràs cremat l'eMMC, els 4 LEDs s'encendran. Aquest procés de cremar l'eMMC de la placa mare pot durar aproximadament uns 45 minuts. Després apaga la placa base, treu la tarjeta microSD i torna a encendre la placa base per finalitzar.

Però si volem, podem instal·lar un altre sistema operatiu a una tarjeta MicroSD. A la pàgina http://beagleboard.org/getting-started#distros tens imatges de les distribucions suportades com Android, Debian, Ubuntu, ArchLinux, Gentoo, FreeBSD i més.

Instal·lació dels drivers
Llegisc a la pàgina oficial del projecte que si tens un sistema Microsoft Windows es recomana primer provar els drivers per a arquitectura de 64 bits. Si tens un MacOS X cal instal·lar els dos paquets pkg del següent llistat, i si tens GNU/Linux no cal instal·lar drivers ja que està reconegut però que podem trobar les regles udev útils.

El drivers són aquestos:

- Windows (64-bit)
- Windows (32-bit)
- MacOS X Network + MacOS X Serial
- GNU/Linux mkudevrule.sh

Accedint als serveis de xarxa
Una vegada encenem la placa mare, ens donarà les següents IP's:

- 192.168.6.2 USB Mac OS X, Linux
- 192.168.7.2 USB Windows
- 192.168.8.1 WiFi Qualsevol sistema operatiu

Si el nostre ordinador té suport mDNS, veurem també la BeagleBone amb el nom de domini beaglebone.local. I si tenim vàries Beaglebones, s'afegirà un sufixe com beaglebone-2.local, beaglebone-3.local, etc.

Podem accedir al servidor web de la BeagleBone escrivint http://192.168.7.2 (NO funciona al Internet Explorer de Microsoft).

Per defecte, el sistema Debian preinstal·lat a la BeagleBone Black té el servei SSH activat. L'usuari és debian i la contrasenya temppwd. Si volem ser l'administrador farem:

sudo su root

En canvi, si no volem accedir des d'una xarxa informàtica sinó mitjançant una conexió serie des del nostre equip local, haurem de connectar un cable TTL USB a les capçaleres de la placa mare BeagleBone Black de la següent manera:

beaglebone black connexio pins

Ara, a OpenBSD podem accedir des del port serie amb:

doas cu -l /dev/cuaU3 -s 115200

O des de Windows podem accedir amb qualsevol client d'SSH, seleccionarem que volem accedir a un port serie (COM3 en el meu cas) i ficarem 115200 de velocitat.

beaglebone black access serial serie

Com que la BeagleBone Black té un port miniHDMI, podem comprar aquest cable i connectar aquesta maquineta a qualsevol monitor que tinga HDMI. I així podriem treballar sense cap problema com treballem amb qualsevol ordinador fixe o Raspberry Pi (recorda que nomès té un port USB i caldrà ficar un hub USB per a poder usar un teclat, un ratolí, etc).

Però hui no tinc la necessitat de connectar-lo via microHDMI i vaig a connectar-me remotament a la BeagleBone Black mitjançant una connexió remota VNC i llançaré dos escriptoris amb vncserver tal i com pots veure a la següent captura de pantalla des d'un ordinador amb Windows 10:

BeagleBone Black VNC access

Ara instal·larem RealVNC viewer, i configurarem les dos instàncies d'VNC, la que acabe en :1 per al primer escriptori i la :2 per al segon escriptori de la següent manera:

BeagleBone Black VNC access

I bé, com podràs veure ara tindrem dos escriptoris remots en la mateixa BeagleBone Black, el primer escriptori amb un htop per a medir la càrrega de disc i memòria, i al segon escriptori remot m'he obert el navegador Google Chrome amb la meua web personal joancatala.net:

BeagleBone Black VNC access

Aleshores, ara podràs comprovar com els 512 MB de RAM d'aquesta maquineta donen per a molt, qui t'ho anava a dir.

A banda de poder accedir a la BeagleBone Black via serie o via SSH, per defecte tenim el servidor web iniciat i si apuntem al port 3000 s'ens obrirà Cloud 9 IDE, un IDE de programació des del navegador:

BeagleBone Black Cloud 9 IDE

La veritat que es tracta d'un IDE molt interessant, perquè podem estar treballant col·laborativament i des de disntints sistemes operatius, per exemple així és com queda al meu portàtil amb OpenBSD:

BeagleBone Black Cloud 9 OpenBSD

I amb Cloud 9, a banda de poder programar els nostres scripts, aplicacions i webs amb python, PHP, Ruby, Javascript, Bonescript, etc, podem obrir-nos una pestanyeta que siga un terminal local, tal i com pots veure a la següent imatge:

BeagleBone Black Cloud 9 IDE

I d'aquesta manera, sense connexió serie ni un client d'SSH, podem accedir a configurar i gestionar la nostra màquina simplement des del navegador. I és que amb Cloud 9 podem programar simplement amb el teu navegador favorit. Tot un luxe de programari.

Més informació:
- WIKI oficial de la placa BeagleBone Black

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.