castman.fr – La technologie, à la portée de tous !

Ecologie et technologie en harmonie, est-ce encore de l'utopie !

Mon coup de gueule sur les emballages et informations contradictoires, concernant les smartphones low cost ! »« Alcatel onetouch POP2, 4.5″ en 4 coeurs, 1 Go de RAM sous KitKat, à moins de 100 € !

Banana Pi, Webcam sur CSI, GPIO avec le BPIDuino et le module 6LEDs, horloge RTC, quatrième partie. No Comments

Dans cette quatrième partie, je vais continuer à tester le Banana Pi et plus précisément les GPIOle  connecteur CSI pour la Webcam, le module ARDUINO en version Banana Pi c’est à dire le BPIDuino, ainsi qu’un module 6LEDs.

Vous trouverez aussi, une procédure pour installer la  distribution multimédia “XBMC” qui s’appelle maintenant “LeMedia“.

Pour terminer, vous trouverez des outils comme USBIT pour “USB Image Tool“, des solutions pour vous connecter à distance avec Putty et Xming en duo, via le mode console mais aussi en mode graphique.

 

PLAN DU TUTORIEL

1 – Banana Pi, comment alimenter l’horloge interne RTC.

2 – Le module BPIDuino. (Reset automatique : lien vers la solution)

3 – Caméra Banana Pi sur connecteur CSI.

4 – Test du kit de programmation 6 LEDs.

5 – Test de la distribution “LeMedia” pour Android. 

6 – USB Image Tool, un petit outil fort utile, pour les possesseurs de micro-ordinateurs.

7 – Installation et utilisation de SSH via un PC sous Windows avec PuTTY.

8 – Installation de Xming en complément de PuTTY pour intégrer le mode graphique.

— Début—

Dans ce tutoriel, je ne suis en aucun cas responsable des dommages occasionnés suite à une mauvaise manipulation.

.

 

1 – Banana Pi, comment alimenter l’horloge interne RTC.

 

Sur le Banana Pi, pas besoin de tournicoter, la procédure est simple pour alimenter l’horloge temps réel “RTC”.

C’est-à-dire, c’est le moyen de garder l’heure sur le Banana Pi, sinon à chaque arrêt du Banana Pi il faut attendre la synchronisation avec les distributions.

Le plus simple c’est d’acheter le module  ici :  Batterie CR2032 pour RTC.

Mais ce n’est pas ma solution, sachant que je possède les pièces détachées pour le faire moi-même !

Ma procédure de création pour alimenter l’horloge RTC du Banana Pi, en images :

 

.

.

(Tester la polarité du fil rouge + et noir – avec un multimètre)

.

(Avant de souder, retirer la pile CR2032 et tenir compte des indications + et sur le Banana Pi)

  

 

 

Montage en vidéo, ici :

 

http://youtu.be/bcjwPvhHsog

 

Voilà, c’est fini.

 

 

 

2 – Le module BPIDuino.

BPIDuino, c’est un module ARUDINO UNO qui se connecte sur les GPIO du Banana Pi.

Vous pouvez le trouver, ici : Module d’extension Arduino

 

2-1 Matériel nécessaire pour utiliser le module :

– Un adaptateur 26 Broches.

AdaptateurGPIO

– le BPIDuino.

 

 

 

Avec adaptateur 26 broches sur le boitier blanc, c’est fonctionnel et très pratique !

 

N’ayant pas d’adaptateur 26 broches lors de mes tests, je vais fabriquer mon propre câble en photo ci-dessous.

 

Mais comme j’utilise des connecteurs PC, le brochage sur les connecteurs noirs sont inversés !

Maintenant j’installe des pins sur un des connecteurs noirs 26 broches.

 

 

Brancher l’adaptateur sur le Banana Pi et ensuite poser et clipser le BPIDuino.

C’est fait !

Vous pouvez brancher et démarrer le banana pi sous Raspbian 3.1.

Lors du démarrage et dès le branchement, la LED rouge s’allume sur le Banana Pi. (Cela indique que le BPIDuino fonctionne correctement)

2-2 Test de branchement du BPIDuino.

La LED Rouge “ON” allumée ainsi que la LED “RX”  et la LED “L” qui clignote.

 

2-3 Sous Raspbian 3.1, test 1:

(Vous n’êtes pas obligé de brancher une LED pour le test, il suffit de vérifier le bon fonctionnement avec la LED “L“, lors du test)

Je branche sur la broche 13 du BPIDuino le câble + d’une LED avec une résistance. Le câble de la LED sur le GND.

Dans le menu, cliquer sur “Programming” et lancer Arduino IDE en cliquant dessus.

Dans le logiciel, cliquer sur “File”  “Exemples”  “Basics” et vous devez choisir “Blink“.

Maintenant cliquer sur la flèche (dirigée vers la droite) juste en dessous du menuEdit“.

Le programme est envoyé Du Banana Pi en passant par les GPIO et enfin envoyé au module PBIDuino.

 

Si une erreur apparaît, il faudra modifier la configuration du logiciel Arduino IDE.

Dans le menu “Tools“, cliquer sur “Board” et choisir “Arduino Uno“, si cela n”est pas encore fait.

Ensuite juste dessous Board“, vous avez “Serial Port” et choisir un port.

Sur mon Kit j’utilise le port /dev/ttyS2“.

.

 

 

2-3 Sous Raspbian, test 2 :

J’ai voulu récemment faire des tests avec le BPIDuino et je constate des erreurs lors de l’envoi de mon programme vers le module !

Je pensais avoir un BPIDuino avec un défaut ! Mais récemment un internaute lointain “Scott W….”, me fait constater qu’il fait la même erreur avec son module.

2.3.1 Mon test LEDs éteintes. (Pas de flash pour constater que les LEDs sont éteintes, programme de droite)

(2 LEDs éteintes ainsi que la LED L)

2.3.2 Mon test LEDs allumées. (Pas de flash pour constater que les LEDs sont allumées, programme de gauche)

 

LEDsProgrammeTest

(2 LEDs allumées et la LED L éteinte)

 

Information pour l’envoi du programme vers le BPIDuino (Merci à “Scott W….”), ça fonctionne !  Mais ce n’est pas pratique !

J’effectuais cette manipulation sans réfléchir lors de mes premiers tests, c’est pourquoi cela avait fonctionné dans mon test 1, voir les photos.

Pour envoyer le programme vers le BPIDuino, pour que vous n’ayez pas un message d’erreur du genre “avrdude:stk500_Getsync():not in sync:resp=0x00…“, il faut appuyer sur RESET physiquement (sur le BPIDuino), lors de la phase de transfert vers le BPIDuino, j’ai bien dit d’appuyer sur la flèche pour envoyer le programme vers le module et à la fin de la phase de compilation cliquer sur “RESET” juste avant l’envoi du programme !

Dans l’attente d’une autre solution …

 

2.4 Solution pour le reset automatique du BPIDuino. MAJ du 12 Janvier 2015.

La solution pour faire un reset automatique du BPIDuino, c’est ici : 

http://banana-pi.fr/index.php?post/2015/01/12/Tutoriel-%3A-Mettre-en-place-le-reset-automatique-du-Module-d-extension-Arduino.

 

Merci à Zakaria YAHI, pour cette solution…

 

Pour ma part, je n’y arrive pas avec cette solution ! Mais j’ai fait beaucoup de manipulations sur cette distribution Raspbian 3.1 ! 

Je vous propose une solution pour Raspbian v3.1 et ma solution pour Raspbian v1412 en tenant compte du tutoriel de Zakaria.

 

2.5 Ma solution pour Raspbian For BananaPi v3.1, avec le reset automatique du module BPIDuino.

 

Actuellement mon processeur est à 100% avec la procédure décrite ci-dessus, le système est presque figé !

 

Je réinstalle Raspbian 3.1 sur une SD.

Le tutoriel de Zakara fonctionne avec une nouvelle installation de Raspbian 3.1 avec les updates et les upgrades.

Si vous avez une erreur lors de la copie d’une ligne de commande, je vous conseille de la saisir manuellement.

Dans un terminal, taper :

su

Le mot de passe ” “

Si la ligne de commande”git clone ………..” ne fonctionne pas, taper celle-ci manuellement :

git clone https://github.com/deanmao/avrdude-rpi.git

Taper :

cd avrdude-rpi

Si cela fonctionne vous pouvez passer à l’ “Étape B“.

 

Si cela ne fonctionne toujours pas, vous pouvez aussi, aller directement à cette adresse :

https://github.com/deanmao/avrdude-rpi

Cliquer en bas à droite sur : https://github.com/deanmao/avrdude-rpi/archive/master.zip

Copier les fichiers vers Documents.

Décompresser le fichier avrdude-rpi.zip avec bouton droit souris et l’option “Extract here”.
Renommer le répertoire pour simplifier, en avrdude par exemple.

Ouvrir un terminal et taper :

su

Votre mot de passe de session : ” “

Taper :

cd Documents

Et :
cd avrdude

Puis :

ls

Étape B.

Vous devez retrouver les trois fichiers autorest et avrdude-autoreset et un autre pour information.

Les copier dans usr et bin :

cp autoreset /usr/bin

Et
cp avrdude-autoreset /usr/bin

taper :
cd /
Pour revenir à la racine de Raspbian.

Maintenant nous allons dans /usr/bin, en tapant :

cd /usr/bin

Pour protéger le fichier original je vous conseille de faire une copie backup, car si vous faites plusieurs manipulations vous supprimerez votre fichier original.
En premier, taper : (Nous sommes toujours en “su” et dans le répertoire /usr/bin)
cp avrdude /usr/bin/avrdude-backup

Mantenant, taper :

mv avrdude /usr/bin/avrdude-original

ln -s avrdude-autoreset /usr/bin/avrdude

Pour finir avant le test, nous allons modifier le fichier, en tapant :
sudo leafpad autoreset

Sur la ligne 15, nous avons “pin=11
sur la ligne 17 modifier GPIO.HIGH en GPIO.LOW
sur la ligne 19 modifier GPIO.LOW en GPIO.HIGH

Enregistre le fichier.

A partir d’ici, si vous n’avez pas tapé les lignes ci-dessous, vous aurez la même erreur de synchronisation !

Avant de tester, il faut faire :

sudo apt-get update

sudo apt-get upgrade

 

Après cela les erreurs n’existent plus !

Lancer Arduino en tapant :
sudo arduino

Dans le menu “Tools” et “Board” choisir “Arduino Uno” et menu “Tools“, “Port” choisir “/dev/ttyS2“.
Lancer un programme de test par exemple dans le menu “File” “Examples“, “Basics” cliquer sur “Blink“.
Cliquer sur la flèche -> upload et vérifier qu’aucun message en rouge ne s’affiche dans la fenêtre du bas !
Sauf :

Bapi : Banana Pi !!

Bapi : Banana Pi !!

Bapi : Banana Pi !!

Bapi : Banana Pi !!

BAPI : revision (2)

done with autoreset

Vous pouvez ensuite éteindre la LED en modifiant le programme, en mettant LOW à la ligne 20 : digitalWrite (led, LOW);

ça fonctionne, enfin ! 

 

2.6 Ma solution pour Raspbian For BananaPi v1412, avec le reset automatique du module BPIDuino. 

Après l’installation de Raspbian v1412, j’installe mon clavier FR et  je fais les “sudo apt-get update” et “sudo apt-get upgrade” 

Si vous avez une erreur lors de la copie d’une ligne de commande, je vous conseille de la saisir manuellement.

Dans un terminal, taper :

su

Le mot de passe ” “

Si la ligne de commande “git clone ………..” ne fonctionne pas, taper celle-ci manuellement :

git clone https://github.com/deanmao/avrdude-rpi.git

Taper :

cd avrdude-rpi

Si cela fonctionne vous pouvez passer à l’ “Étape B“.

 

Si cela ne fonctionne toujours pas, vous pouvez aussi, aller directement à cette adresse :

https://github.com/deanmao/avrdude-rpi

Cliquer en bas à droite sur : https://github.com/deanmao/avrdude-rpi/archive/master.zip

Copier les fichiers vers Documents.

Décompresser le fichier avrdude-rpi.zip avec bouton droit souris et l’option “Extract here”.
Renommer le répertoire pour simplifier, en avrdude par exemple.

Ouvrir un terminal et taper :

su

Votre mot de passe de session : ” “

Taper :

cd Documents

Et :
cd avrdude

Puis :

ls

Étape B.

Vous devez retrouver les trois fichiers autorest et avrdude-autoreset et un autre pour information.

Les copier dans usr et bin :

cp autoreset /usr/bin

Et
cp avrdude-autoreset /usr/bin

taper :
cd /
Pour revenir à la racine de Raspbian.

Maintenant nous allons dans /usr/bin, en tapant :

cd /usr/bin

Pour protéger le fichier original je vous conseille de faire une copie backup, car si vous faites plusieurs manipulations vous supprimerez votre fichier original.
En premier, taper : (Nous sommes toujours en “su” et dans le répertoire /usr/bin)
cp avrdude /usr/bin/avrdude-backup

Mantenant, taper :

mv avrdude /usr/bin/avrdude-original

ln -s avrdude-autoreset /usr/bin/avrdude

Pour finir avant le test, nous allons modifier le fichier, en tapant :
sudo leafpad autoreset

Sur la ligne 15, nous avons “pin=11
sur la ligne 17 modifier GPIO.HIGH en GPIO.LOW
sur la ligne 19 modifier GPIO.LOW en GPIO.HIGH
Enregistre le fichier et tester.

Ici, mon test ne fonctionne pas.

Installer le module, en tapant : (Nous sommes toujours en su et dans le répertoire /usr/bin)

git clone https://github.com/LeMaker/RPi.GPIO_BP.git

Ensuite :
sudo apt-get update
et
cd RPi.GPIO_BP

sudo apt-get install python-dev

Enfin, pour finir :

python setup.py install

 

Lancer Arduino en tapant :
sudo arduino

Dans le menu “Tools” et “Board” choisir “Arduino Uno” et menu “Tools“, Port” choisir “/dev/ttyS2“.
Lancer un programme de test par exemple dans le menu “File” “Examples“, Basics” cliquer sur “Blink“.
Cliquer sur la flèche -> upload et vérifier qu’aucun message en rouge ne s’affiche dans la fenêtre du bas !
Sauf :

BAPI : revision (2)
done with autoreset

Vous pouvez ensuite éteindre la LED en modifiant le programme, en mettant LOW à la ligne 20 : digitalWrite (led, LOW); 

C’est fini et ça fonctionne !

 

 

 

 

3 – Caméra Banana Pi sur connecteur CSI.

La caméra Banana Pi “Module caméra OV5640” sur port CSI.

Module disponible, ici :  Caméra BananaPi – Module caméra OV5640

3-1 Installation. 

 

Insérer la nappe de la caméra sur la caméra, côté bleu face à l’objectif, en soulevant légèrement le clip marron vers le haut.
Insérer la nappe et refermer le clip marron sur la nappe en poussant avec le doigt vers le bas.

.
De l’autre côté de la nappe, vous pouvez maintenant insérer la nappe couleur bleue face au connecteur GPIO, mais avant cela soulever légèrement l’élément en plastique marron avec les doigts.

Vous pouvez aussi utiliser une tige en plastique en soulevant les bords doucement.

Ensuite, vous pouvez faire glisser la nappe entre l’élément plastique marron et blanc.

Appuyer légèrement sur les extrémités de l’élément plastique marron vers le bas, à gauche, puis à droite, jusqu’à bloquer complètement.

 

3-2 Sous Raspbian.

Il faut installer les pilotes.
Dans un terminal, taper :
su
votre mot de passe, ensuite

sudo modprobe ov5640

Puis :

sudo modprobe sun4i_csi0

 

Dans le menu “Sound & Video” lancer “guvcview”

 

Vous pouvez aussi utiliser le logiciel Mplayer, on commence par l’installer :

sudo apt-get install mplayer

lancement :
sudo mplayer tv://

 

3-3 Sous Android.

Après installation d’un logiciel pour la caméra, l’application demande un espace de stockage pour pouvoir fonctionner !

 

3-4 Sous Lubuntu.

Même résultat que sous Raspbian, sauf erreur à l’utilisation de guvcview.

Lors de mes tests, j’ai un affichage en 640×480.

Mon résultat n’est donc pas optimal !

3-5 Caractéristiques de la caméra CSI.

– Cette caméra sur CSI peut afficher une image en 2592×1944, c’est à dire 5 Mpx.

– Affichage vidéo en 1080P 30fps@24Mhz.

– L’objectif est un Omnivision 5640 CMOS autofocus avec filtre infrarouge.

– Format de sortie vidéo en Raw h.264.

– Format d’image en JPEG/PNG/YUV420/RGB888.

 

 

4 – Test du kit de programmation 6 LEDs.

Vous pouvez trouver le module en vente, ici : Kit programmatio 6 LEDs

Le plus complexe, ce n’est pas son utilisation mais plutôt le montage du module !

Livré en kit, à  vos fers à souder et bonne soudure.

4-1 Préparation du kit et montage des éléments à souder. 

Ne faite pas comme moi lors du montage ! J’ai cherché un petit moment le pôle + du buzzer, car l’étiquette n’était pas en face des pattes à souder en dessous (Il suffit de retirer la languette en papier et c’est gravé dessus)

Pour les LEDs, ce n’est pas évident à le remarquer, mais il y a bien un côté biseauté sur la LED qui correspond au pôle négatif ().

Le plus simple c’est de regarder la longueur des pattes à souder car le plus long c’est le positif (+).

Avant

Après

 

4-2 Matériel nécessaire pour utiliser le module :

4-2-1- Un adaptateur 26 Broches.

AdaptateurGPIO

 

4-2-2 Dans mon exemple ci-dessous, j’utilise mon câble adaptateur.

BPIDuino03

4-2-3- Le kit prêt à fonctionner.

4-3 Le programme.

Le programme “6led3.c” à télécharger ici : 6leds3 et à copier vers “/home/bananapi” en utilisant un explorateur de fichier “File Manager”.

Autre choix, copier  les lignes ci-dessous et garder la mise en forme lors du collage.

Ouvrir un terminal “LXTerminal”, vous êtes sous “bananapi@lemaker

Créer maintenant le programme en tapant :

sudo leafpad 6leds3.c

Votre logiciel Leafpad s’ouvre.

Sélectionner et copier le code ci-dessous et faite coller ou menu de Leafpad “Edit” et “Paste” dans le fichier vierge 6leds3.c et enregistrer par le menu Leafpad “File“, “Save“.

Quitter Leafpad.

Cela enregistre le fichier au format .c, ce qui permet ensuite de pouvoir le compiler.

 

—-Début du fichier 6led3.c—

#include <stdio.h>
#include <wiringPi.h>

int main (void)
{

int temp = 150;
wiringPiSetup();

pinMode(7,OUTPUT);
pinMode(0,OUTPUT);
pinMode(3,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
pinMode(14,OUTPUT);

while(1)
{

digitalWrite(7,HIGH);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(0,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(3,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(13,LOW);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(14,LOW);

digitalWrite(14,HIGH);
delay(temp);
digitalWrite(14,LOW);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(12,LOW);
digitalWrite(3,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(0,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(7,HIGH);
delay(temp);
digitalWrite(7,LOW);

digitalWrite(7,HIGH);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(0,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(3,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(13,LOW);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(14,LOW);

digitalWrite(14,HIGH);
delay(temp);
digitalWrite(14,LOW);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(12,LOW);
digitalWrite(3,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(0,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(7,HIGH);
delay(temp);
digitalWrite(7,LOW);

delay(temp);
digitalWrite(7,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(3,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
delay(temp);
digitalWrite(14,LOW);
delay(temp);
digitalWrite(0,LOW);
delay(temp);
digitalWrite(13,LOW);
delay(temp);
digitalWrite(3,LOW);
delay(temp);
digitalWrite(12,LOW);

digitalWrite(7,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(3,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
delay(temp);
digitalWrite(14,LOW);
delay(temp);
digitalWrite(0,LOW);
delay(temp);
digitalWrite(13,LOW);
delay(temp);
digitalWrite(3,LOW);
delay(temp);
digitalWrite(12,LOW);

digitalWrite(7,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(3,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
delay(temp);
digitalWrite(14,LOW);
delay(temp);
digitalWrite(0,LOW);
delay(temp);
digitalWrite(13,LOW);
delay(temp);
digitalWrite(3,LOW);
delay(temp);
digitalWrite(12,LOW);

digitalWrite(7,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(3,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
delay(temp);
digitalWrite(14,LOW);
delay(temp);
digitalWrite(0,LOW);
delay(temp);
digitalWrite(13,LOW);
delay(temp);
digitalWrite(3,LOW);
delay(temp);
digitalWrite(12,LOW);
delay(temp);

delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(14,LOW);
delay(temp);

digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(14,LOW);

delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
delay(temp);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
delay(temp);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(14,LOW);

delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
delay(temp);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
delay(temp);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(14,LOW);

delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
delay(temp);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
delay(temp);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
delay(temp);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
digitalWrite(3,LOW);
digitalWrite(14,LOW);

delay(temp);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
digitalWrite(3,LOW);
digitalWrite(14,LOW);
delay(temp);
delay(temp);
delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
delay(temp);
delay(temp);

delay(temp);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
digitalWrite(3,LOW);
digitalWrite(14,LOW);
delay(temp);
delay(temp);
delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
delay(temp);
delay(temp);

delay(temp);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
digitalWrite(3,LOW);
digitalWrite(14,LOW);
delay(temp);
delay(temp);
delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
delay(temp);
delay(temp);

delay(temp);
delay(temp);
digitalWrite(7,LOW);
digitalWrite(12,LOW);
digitalWrite(0,LOW);
digitalWrite(13,LOW);
digitalWrite(3,LOW);
digitalWrite(14,LOW);
delay(temp);
delay(temp);
delay(temp);
digitalWrite(7,HIGH);
digitalWrite(12,HIGH);
digitalWrite(0,HIGH);
digitalWrite(13,HIGH);
digitalWrite(3,HIGH);
digitalWrite(14,HIGH);
delay(temp);
delay(temp);
delay(temp);

}

return 0;

}

—-Fin du fichier 6led3.c—

4-4 Compilation et lancement du programme.

Maintenant que nous avons créé le programme 6leds3.c, il faut le compiler dans le terminal, en tapant :

gcc -Wall -o 6leds3 6leds3.c -lwiringPi

Enfin nous pouvons lancer le programme en tapant :

sudo ./6leds3

 

Résultat.

Le résultat final en vidéo ci-dessous.

 

[youtube]http://youtu.be/0Kgurn0bvmI[/youtube]

 

Enjoy !

 

 

 

5 – Test de la distribution “LeMedia” pour Android. 

La distribution est disponible en téléchargement, ici : LeMedia 1.1 17Nov2014

C’est la version LeMedia 1.1 en date du 17 Novembre 2014, c’est donc la plus récente.

Décompresser le fichier deux fois pour passer de “LeMedia_v1.1.tgz”, à “LeMedia_v1.1.tar”, et enfin à “LeMedia_v1_1.img”.

5-1 Préparation de la SD card.

Insérer votre carte SD dans votre ordinateur. Vous devez utiliser une carte SD ou micro SD+Adaptateur SD de 8Go minimum.

Formater la carte SD :

Télécharger l’outil de formatage “SD Formater” depuis : https://www.sdcard.org/downloads/formatter_4/eula_windows/

« C’est un super programme, car ce petit programme permet en activant l’option « On », de formater votre carte SD et les partitions cachées ou partitions Linux etc… »

Décompresser et installer le programme “SD Formater” .

Démarrer le logiciel “SD Formater” en cliquant sur son icône sur le bureau ou dans la liste de vos programmes. 

Vérifier que vous pointé bien vers la bonne carte SD avant de poursuivre !

Cliquer sur “Option” et choisir “on“.

BPi5

Après avoir fait la vérification décrite ci-dessus, vous pouvez  cliquer sur le bouton “FORMAT” .

 

5-2 Installation de l’OS sur la SD ou micro SD + adaptateur SD.

Nous allons maintenant installer l’image de l’OS sur notre support.

Pour cela il faut télécharger l’outil suivant “Win32Diskimager” depuis : http://sourceforge.net/projects/win32diskimager/files/Archive/

Décompresser le fichier et lancer le programme “Win32DiskImager.exe” depuis son répertoire.

Vérifier, avant de poursuivre que le logiciel a bien détecté la bonne carte SD.

Choisir l’image que vous avez précédemment téléchargée et décompressée “LeMedia_v1_1.img”, maintenant vous pouvez cliquer sur “Write” .

Attendre la fin de la procédure !

 

Lorsque cela est terminé, insérer votre carte dans votre Banana Pi sans forcer (face dorée vers le haut et vers le Banana Pi dans le connecteur SD)

 

5-2 Premier démarrage de la distribution LeMedia.

Vous n’avez rien à configurer pour pouvoir démarrer la distribution.

 Le menu de “LeMedia“, où l’on constate d’ailleurs que le nom XBMC, n’a toujours pas disparu ! 

 

Résultat :

Bof ! Bof !

Des latences régulières lors des changements de menu ou  juste en déplaçant la souris ! LeMedia se fige !

Un gros fichier “LeMaker…..BananaPi Pro. avi” de 450 Mo dans la distribution. Je comprends maintenant pourquoi, j’ai dû utiliser une SD de 8 Go.

Des bugs visuels lors de l’affichage des vidéos, même en modifiant les paramètres !

Ce n’est pas terrible, je l’efface et j’attends avec impatience une version fonctionnelle.

C’ est dommage, car j’attendais une version stable et fonctionnelle !

 

6 – USB Image Tool, un petit outil fort utile, pour les possesseurs de micro-ordinateurs.

 

Je vous présente un petit outil, obligatoire pour les possesseurs de Banana Pi, Cubietruck, pcDuino….

C’est USBIT, non, non, ce n’est pas un gros mot ! C’est pour “USB Image Tool” .

 

Vous pouvez le trouver ici : www.filecluster.com/downloads/USB-Image-Tool.html

 

Cet outil permet de créer une image de votre système Lubuntu, Android … présent sur une SD ou micro SD ou même sur une clé USB.

Vous pouvez ainsi faire une copie de vos systèmes vers votre pc et garder cette image en sauvegarde.

USBIT01

 

Ensuite vous pouvez restaurer cette image vers une SD ou micro SD  et USB de même capacité.

Pour créer votre sauvegarde, je vous conseille de choisir en haut à gauche le mode “Device Mode” et ensuite cliquer sur “Backup” en bas à droite. Donner un nom et un chemin pour la sauvegarde, valider.

Pour restaurer votre sauvegarde ou la copier sur une autre carte SD, micro SD ou clé USB de même capacité, il suffit de cliquer sur “Restore” , ensuite, choisir l’image à restaurer présente sur votre PC.

 

Ça fonctionne et c’est gratuit !

 

7 – Installation et utilisation de SSH via un PC sous Windows avec PuTTY.

 

Sur Lubuntu, SSH est déjà installé, il suffit juste de vérifier l’adresse IP du Banana Pi, en tapant dans un terminal :

ifconfig

Dans mon cas, c’est :

192.168.1.75

 

Maintenant sur votre PC sous Windows, vous devez télécharger le fichier”putty.exe“, ici : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

 

PuTTY01

 

 

Lancer le programme en cliquant sur « putty.exe » sur votre PC.

 

PuTTY02

 

Mettre l’adresse IP dans la case, comme sur l’image ci-dessus.

 

PuTTY03

.

 

Valider par oui, et vous arrivez sur la fenêtre de connexion.

login as :

Il ne reste plus qu’à taper votre nom d’utilisateur “bananapi” et ensuite votre mot de passe “bananapi” .

C’est fait, vous êtes sur votre Banana Pi via un serveur SSH sous Windows, dans un terminal en mode console.

 

 

8 – Installation de Xming en complément de PuTTY pour intégrer le mode graphique.

SSH est déjà installé sur Lubuntu.

il faut vérifier l’adresse IP de votre banana pi dans un terminal, en tapant :

ifconfig

Utiliser la procédure décrite ci-dessus pour télécharger et utiliser PuTTY, en section  7 – Installation et utilisation de SSH via un PC sous Windows avec PuTTY“.

Pour pouvoir utiliser  une connexion à distance avec PuTTY, en mode console mais aussi en mode graphique, nous devons ajouter et installer le logiciel suivant sur le PC sous Windows “Xming”, à télécharger ici : http://sourceforge.net/projects/xming/files/latest/download?source=files

 

Installer Xming sur le PC sous Windows sans rien changer.

Lancer Xming en utilisant l’icône sur votre bureau.

Maintenant vous pouvez lancer Putty.

Déplacez-vous dans l’onglet SSH à gauche cliquer sur le + pour le détail et choisir X11.

 

Enfin, cliquer à droite sous “X11 forwarding” en cochant la case Enable X11 forwarding.

Remonter dans “Catégorie” sur Session.

Dans la fenêtre vous devez indiquer l’adresse IP du Banana Pi sous Host Name (orIP address) : pour moi c’est 192.168.1.62

C’est fait, taper vos identifiants “bananapi” et mot de passe “bananapi“.

Dans le terminal, sous Putty, lancer les applications en mode graphique en tapant par exemple : leafpad ou chromium-browser
ou firefox.

Dans PuTTY, taper : 

firefox

Dans PuTTY, taper : 

chromium-browser

Dans PuTTY, taper : 

leafpad

Etc …

 

C’est coooooollllllll, n’est-ce pas !

 

 

13 December 2014 at 1:12 pm
Laisser un commentaire