Premiers pas avec BeagleBone Black: Difference between revisions

From air
Jump to navigation Jump to search
Line 15: Line 15:


http://elinux.org/EBC_Exercise_02_Flashing_an_LED
http://elinux.org/EBC_Exercise_02_Flashing_an_LED

Test des LED USR0123
<pre>
cd /sys/class/leds
ls _F
cd beaglebone\:green\:usr0
ls -F
cat trigger
echo none > trigger
echo oneshot > trigger
echo heartbeat > trigger
echo 1 > brightness
echo 0 > brightness
echo timer > trigger
echo 100 > delay_on
echo 900 > delay_off
</pre>


Test des GPIO (write)
<pre>
# attach a LED at gpio1_28 (1*32+28=60) with a 220 ohms resistor
cd /sys/class/gpio
ls -F
echo 60 > export
cd gpio60
echo out > direction
echo 1 > value
cd ..
echo 60 > unexport
</pre>

Test des GPIO (write)
<pre>
TBD
</pre>


==Configuration Réseau==
==Configuration Réseau==

Revision as of 09:35, 26 December 2013


Démarrage

Connecter l'USB du BeagleBone Black. Une fois qu'il est visible (comme un disque : /media/BEAGLEBONE), on peut se connecter dessus : http://192.168.7.2


Des que cela fonctionne, on peut y aller par ssh (mot de passe vide)

ssh root@192.168.7.2

Il n'y a pas de mot de passe. Par sécurité, mettre un mot de passe ou déployer une clé publique pour SSH.

Test des GPIO depuis le shell

http://elinux.org/EBC_Exercise_02_Flashing_an_LED

Test des LED USR0123

cd /sys/class/leds
ls _F
cd beaglebone\:green\:usr0
ls -F
cat trigger 
echo none > trigger
echo oneshot > trigger
echo heartbeat > trigger
echo 1 > brightness 
echo 0 > brightness 
echo timer > trigger
echo 100 > delay_on
echo 900 > delay_off


Test des GPIO (write)

# attach a LED at gpio1_28 (1*32+28=60) with a 220 ohms resistor
cd /sys/class/gpio
ls -F
echo 60 > export
cd gpio60
echo out > direction
echo 1 > value
cd ..
echo 60 > unexport

Test des GPIO (write)

TBD

Configuration Réseau

Sur le BeagleBone

route add default gw 192.168.7.1

Et mettre un DNS dans /etc/resolv.conf (par exemple : cat /etc/resolv.conf sur le PC, vous prenez la 1ère ligne "nameserver X.X.X.X" et vous la mettez dans /etc/resolv.conf sur le BeagleBone).

Sur le PC qui sert de passerelle (celui où est connecté l'USB) :

sudo iptables --append FORWARD --in-interface eth2 -j ACCEPT
sudo iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE

Note : sur ma machine, eth1 = l'I/F réseau du PC, et eth2 = la connexion filaire via USB (faire "ifconfig -a" pour vérifier, sinon adapter les commandes ci-dessus).

Vérifier que /proc/sys/net/ipv4/ip_forward contient "1" (sinon, echo 1 > /proc/sys/net/ipv4/ip_forward )

Et voilà... Depuis le BeagleBone, je peux faire "ping" vers n'importe quoi.

Node.js

Node.js est installé par défaut. Il sert le serveur web embarqué.

Copier ce code dans un fichier blinking.js pris dans le livre Bad to the Bone: Crafting Electronics Systems with BeagleBone and BeagleBone Black. Ce code utilise la bibliothèque bonescript qui donne accés aux GPIO de la carte.


var b = require('bonescript');

//Old bonescript defines 'bone' globally
var pins = (typeof bone != 'undefined') ? bone : b.bone.pins;

var ledPin = pins.P8_13;
var ledPin2 = pins.USR3;

b.pinMode(ledPin, b.OUTPUT);
b.pinMode(ledPin2, b.OUTPUT);

var state = b.LOW;
b.digitalWrite(ledPin, state);
b.digitalWrite(ledPin2, state);

setInterval(toggle, 1000);

function toggle() {
    if(state == b.LOW) state = b.HIGH;
    else state = b.LOW;
    b.digitalWrite(ledPin, state);
    b.digitalWrite(ledPin2, state);
}

<pre>
node blinkled.js

JDK

Télécharger le JDK d'Oracle : JDK 7 version "Linux ARM v6/v7 Soft Float ABI".

Le copier sur le Beagle via scp; exemple :

scp jdk-7u45-linux-arm-vfp-sflt.tar.gz root@192.168.7.2:/home/root

Décompresser le tar.gz

export PATH=$PATH:/home/root/jdk1.7.0_45/bin
export JAVA_HOME=/home/root/jdk1.7.0_45

java -version

Ajouter les 2 exports au .bashrc

OpenHAB

Télécharger OpenHAB

Le copier sur le Beagle via scp; exemple :

scp openhab.tgz root@192.168.7.2:/home/root

Décompresser le tgz

cd openhab
bin/start.sh

Naviguer sur http://192.168.7.2:8080/openhab.app?sitemap=demo

Il reste plus qu'à ajouter des règles avec le binding exec pour contrôler les GPIO du Beaglebone.



Liens:

Node-RED

Voir http://nodered.org/docs/hardware/beagleboneblack.html