La carte Intel® Edison est un puissant ordinateur, mais il manque quand même une sortie vidéo. Le Bloc OLED de sparkfun sert à fournir au moins une forme sortie vidéo. L’écran OLED bleu sur noir a une résolution de 64×48 pixels et environ 1,6 pouce de diagonale. Il est petit, mais lui permette de maintenir la forme minuscule de l’Edison. Et, il laisse encore de la place pour le texte ou les jeux.
OledEdison

 

En parlant de jeux, la carte comprend également un joystick et deux boutons poussoirs momentanés. Bien pratique pour développer des jeux

Pour pouvoir jouer avec les boutons, il faudrait déjà connaître les numéros d’IO:

Button Edison GPIO Pin
Up 47
Down 44
Left 165
Right 45
Select 48
A 49
B 46

Les deux trous + et – sous l’écran permette d’y brancher une batterie ou une pile, mais ne la recharge pas.

Pin Alimentation sur l’écran oled

Cette tension est fournie directement à la broche de VSYS de l’Edison, et doit être comprise entre 3,3 et 4,5V. Cette tension est non régulée, soyez donc très prudent en appliquant une tension à cette entrée. Une seule cellule batterie Lipo est un bon choix pour commencer.

Configurer IO

Sept des huit cavaliers vous permettent de déconnecter l’une des entrées de la manette ou bouton de l’Edison, dans le cas où vous avez besoin des GPIO pour une autre chose. Gardez à l’esprit, que si vous coupez l’un des cavaliers, ce bouton ne servira à rien, sauf si vous le câblez à une autre broche ou ressouder le cavalier.

Le cavalier « CS » vous permet de faire basculer la broche de sélection de la puce de l’OLED de « FS0 » (par défaut) à « FS1 ». Si vous passez cette broche, vous aurez besoin de modifier le code en conséquence.

Le module Oled ne possède un connecteur que d’un seul coter, donc il doit être en haut de votre pile.

Montage ecran oled edison et terminale

Il est conseillé d’utiliser des vis de fixation qui maintiendra correctement l’ensemble. Le connecteur et assez petit et risque donc d’être mal branché et vous pourriez chercher longtemps pourquoi votre programme ne marche alors que c’est juste un problème de connexion.

Pour avoir un bel affichage, il va falloir programmer un peu, et oui l’Oled ne peut pas être utilisé comme une simple sortie vidéo. L’Edison compatible avec toutes sortes de langage de programmation, mais sparkfun à développer uniquement une bibliothèque pour le c++.

Vous pouvez télécharger la dernière version de leur module sur  GitHub, ou cliquez sur le bouton ci-dessous pour l’obtenir dans un dossier zip.

Github sparkfun pong

L’exemple de code comprend un simple fichier makefile qui devrait compiler directement sur l’Edison. Mais d’abord, vous avez besoin d’obtenir ces fichiers sur l’Edison. Il y plusieurs façons de le faire. Par exemple, vous pourriez obtenir l’Edison connecté à un réseau Wifi et SSH par exemple, ou de le compiler depuis votre pc et de l’envoyer sur l’Edison, comme il possède un proc x86 pas besoin de mettre en place un système de cross-compilation un simple pc sous Linux suffit.

Une fois que vous avez chargé le code, accédez au dossier « pong » et tapez make. Les dépendances (spi, GPIO, et les bibliothèques OLED) seront compiler, et le code principal d’exemple (« oled_pong.cpp ») va créer un exécutable  « oled_pong ».

Après que le code ait été construit avec succès, entrer simplement sudo ./oled_pong pour jouer. Cela devrait déclencher l’OLED et commencer le jeu pong.

Edison Pong

La bibliothèque OLED, incluse dans le téléchargement ci-dessus, vous permet de dessiner quelques pixels et des lignes ou des formes et même du texte.

L’exemple de code « pong » devrait servir comme un excellent outil d’enseignement. Pour commencer, créez une instance de la classe edOLED, puis initialiser l’écran comme ceci:

edOLED oled;
oled.begin()
oled.clear(ALL);
oled.display();

Ensuite, continuer à utiliser l’objet oled pour dessiner des pixels, des lignes et d’autres formes, comme ceci:

oled.pixel(x, y);   // placer un pixel au coordonné x,y
oled.line(x0, y0, x1, y1);  // dessiner une ligne de  x0,y0 vers x1,y1
oled.rect(x, y, width, height); // dessiner un rectangle
oled.circle(x, y, radius);  // dessiner un cercle

Ou vous pouvez écrire du texte comme ceci :

oled.setCursor(x, y);   // on place le curseur en x,y
oled.setFontType([0:3]);    // on choisie la font
oled.print(char);       // on écrit un char
oled.write(char *);     // on écrit un string
oled.write(int);        // on écrit un integer 

N’oubliez pas de rafraichir l’écran avec oled.display().

La bibliothèque « gpio », également incluse avec le code d’exemple, peut être utilisée pour lire les pressions sur les boutons. Encore une fois, l’exemple pong devrait servir comme un bon exemple pour commencer à apprendre comment utiliser la bibliothèque.

D’abord, il faut initialiser les broches:

gpio BUTTON_UP(47, INPUT);  
gpio BUTTON_DOWN(44, INPUT); 
gpio BUTTON_LEFT(165, INPUT); 
gpio BUTTON_RIGHT(45, INPUT); 
gpio BUTTON_SELECT(48, INPUT); 
gpio BUTTON_A(49, INPUT);
gpio BUTTON_B(46, INPUT);

Ensuite, vous pouvez utiliser la fonction readPin () de la classe gpio pour voir si elles sont HAUT ou BAS. Les boutons sont tous pull high, de sorte qu’ils vont lire aussi bas si elles sont appuyées.

if (BUTTON_UP.pinRead() == LOW)
{
    printf("vous avez appuyé sur down");
}
if (BUTTON_A.pinRead() == LOW)
{
    printf("vous avez appuyé sur A "); 
}

Maintenant il n’y a pu cas vous amusez 😛

 

Voilà un petit programme simple à installer qui vous permettra de faire un speed test de votre serveur ou tout simplement si vous préférez les lignes de commande.

Procédé comme ceci :

cd /tmp

Cela vous  permet de ce placer dans le dossier tmp

wget https://diypiandco.com/wp-content/uploads/2015/05/speedtest-cli

cela vous télécharge l’application

mv speedtest-cli /usr/bin/

Cela vous déplace l’application dans le dossier bin

chmod +x /usr/bin/speedtest-cli

et la dernière ligne  rendre l’application exécutable

Voilà speedtest est installé

Maintenant pour lancer le test rien de plus simple :

speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Free SAS (62.210.37.89)...
Selecting best server based on ping...
Hosted by Bouygues Telecom (Paris) [1.59 km]: 66.916 ms
Testing download speed........................................
Download: 265.42 Mbit/s
Testing upload speed..................................................
Upload: 24.16 Mbit/s

Petit plus, si vous voulez avoir une image comme ça :

il vous suffit de lancer un test avec cette commande :

speedtest-cli --share

À la fin du test vous aurez une url a copier dans votre navigateur

benji@diypiandco:/var/www$ speedtest-cli --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Free SAS (62.210.37.89)...
Selecting best server based on ping...
Hosted by NEOTELECOMS (Paris) [1.59 km]: 67.314 ms
Testing download speed........................................
Download: 261.16 Mbit/s
Testing upload speed..................................................
Upload: 24.23 Mbit/s
Share results: http://www.speedtest.net/result/4352688797.png

Et pour fini pour ceux qui ont besoin de changer de pays ou autre pour le test vous trouverez toute les commandes en tapant :

speedtest-cli -h

Aller petit Bonus , récupérer obtenir la liste des serveurs dispo en France:

speedtest-cli --list | grep -i france
5976) SoftLayer Technologies, Inc. (Paris, France) [1.59 km]
3681) FreeMobile (Paris, France) [1.59 km]
4022) Iguane Solutions (Paris, France) [1.59 km]
1688) Bouygues Telecom (Paris, France) [1.59 km]
 972) MEDIACTIVE NETWORK (Paris, France) [1.59 km]
2770) SFR (Paris, France) [1.59 km]
6027) fdcservers.net (Paris, France) [1.59 km]
5582) Cloudwatt (Paris, France) [1.59 km]
5559) Orange (Paris, France) [1.59 km]
4269) NEOTELECOMS (Paris, France) [1.59 km]
5022) ONLINE S.A.S. (Vitry-sur-Seine, France) [8.65 km]
4539) Intuxication (Vitry-sur-Seine, France) [8.65 km]
 989) Proceau (Nanterre, France) [11.21 km]
2231) TestDebit.info (Massy, France) [15.47 km]
4159) iperf.fr (Rouen, France) [111.76 km]
5813) TestDebit.info (Reims, France) [130.66 km]
5568) Orange (Reims, France) [130.66 km]
4010) LaFibre.info (Douai, France) [176.09 km]
4683) Charlus (Valenciennes, France) [186.80 km]
3572) ATE (Villeneuve-d'Ascq, France) [204.22 km]
3770) Kubofonista Network (Roubaix, France) [212.07 km]
1889) OVH (Roubaix, France) [212.07 km]
2951) ePlay TV (Roubaix, France) [212.07 km]
6145) Verelox (Roubaix, France) [212.90 km]
5836) TreudlerGroup France (Roubaix, France) [212.90 km]
1563) myplex.org (Gravelines, France) [236.91 km]
3446) Alabar (Saint-Lo, France) [252.61 km]
4019) Old-Linux.com (Dijon, France) [265.45 km]
2670) iperf.fr (Rennes, France) [308.26 km]
5823) Nextwab (Clermont-Ferrand, France) [346.56 km]
2023) LaFibre.info (Lyon, France) [391.57 km]
2750) rezopole (Lyon, France) [391.57 km]
2743) LASOTEL (Lyon, France) [391.57 km]
4273) Orange (Lyon, France) [391.57 km]
3596) Via Numérica (Archamps, Francef) [415.22 km]
2580) MEDIACTIVE NETWORK (Toulouse, France) [588.51 km]
4266) NEOTELECOMS (Montpellier, France) [595.23 km]
4661) Orange (Marseille, France) [660.91 km]
4036) TestDebit.info (Marseille, France) [660.91 km]
4158) iperf.fr (Bayonne, France) [665.22 km]
4020) Old-Linux.com (Perpignan, France) [686.42 km]
3786) Old-Linux.com (Nice, France) [686.51 km]

Plus que lancer la commande avec le numéro de serveur choisi, par exemple:

speedtest-cli --share --server 3782

Et voilà y a pu cas tester

I2C logoI2C est une norme très couramment utilisée conçue pour permettre à un CI à parler à un autre. Le Raspberry Pi possède l’I2C, on peut donc s’en servir pour le connecter à une variété de circuits comme les arduinos.

Le bus I2C permet à plusieurs dispositifs d’être connectés à votre Raspberry Pi, chacun avec une adresse unique, qui peut souvent être réglé en changeant les paramètres des cavaliers sur le module. Ça permet d’être en mesure de voir quels appareils sont connectés à votre. Pour ce faire, il vaut la peine exécutant les commandes suivantes dans le terminal pour installer l’i2c-tools :

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

Il faut ensuite activer le driver dans le Kernel :

sudo nano /etc/modules

Et ajouter à la fin :

i2c-bcm2708

i2c-dev

i2c module

Puis enregistrez le fichier avec Control-X O

Selon votre distribution, vous pouvez aussi avoir un fichier appelé /etc/mdprobe.d/raspiblacklist.conf

Si vous ne disposez pas de ce fichier, puis il n’y a rien à faire, cependant, si vous avez ce fichier, vous devez éditer et commenter les lignes ci-dessous:

blacklist spi-bcm2708

blacklist i2c-bcm2708

I2c Blacklist

En ajouter un commentaire en début de ligne.

Si vous utilisez une version récente Raspbian (3.18 kernel ou ultérieure) vous aurez également besoin de mettre à jour le fichier de /boot/config.txt. Modifier avec :

sudo nano /boot/config.txt

Et ajouter le texte

dtparam = i2c1 = o n

dtparam = i2c_arm = o n

Attention. Notez que le « 1 » en « i2c1 » est un pas un L!

Après il ne reste plus cas redémarrer avec la commande :

sudo reboot

Maintenant, lorsque vous vous connectez, vous pouvez taper la commande suivante pour voir tous les appareils connectés (si vous utilisez un 512 Raspberry Pi modèle B) :

sudo i2cdetect -y 1

i2c detect

Cela montre que deux adresses I2C sont en cours d’utilisation – 0x40 et 0x70.

Notez que si vous utilisez l’une des toutes premières raspberry pi(un 256  modèle B), alors vous aurez besoin de changer la commande en:

sudo i2cdetect -y 0

Les concepteurs Raspberry Pi on changé les ports.

Rappelez-vous: le port i2c d’utilisation du 512M Pi 1, 256M utilise le port i2c 0!

Il ne reste plus qu’à brancher plein de petits capteurs à votre framboise

Raspberry pi autoradio

Autoradio

Mon petit projet de Raspberry pi autoradio a à plutôt bien avancer même si ce n’est pas très vite. Pourtant ça avance, qu’est-ce qu’il reste à faire?
Pas grand-chose à vrai dire uniquement brancher le Pi à l’intérieur alimenter le tout (en espérant que ça n’explose pas bien sûr), améliorer le code du lecteur audio, que je pense entièrement refaire.

Pourquoi le refaire? Tout simplement parce que je me suis remis un peut au c ce qui me permettra d’utiliser Qt en framebuffer pour économiser les ressources graphiques et phonon pour l’audio, qui luit me permettra de piloter quasiment n’importe quel lecteur audio installer sur le rasp, j’espère encore lui trouver un petit nom sympa, si vous avez des idées n’hésitées pas ^^.
J’espère pouvoir finir les tests cette semaine et de pouvoir me remettre sur le code la semaine suivante, et donc de pouvoir enfin en profiter pleinement : D.

D’ailleurs, je suis en train de fabriquer une coque pour mon imprimante 3D afin d’améliorer ces impressions et de pouvoir donner un meilleur look a tout ça.

Intel Edison Compute ModuleL’Intel® Edison est une plate-forme informatique ultra-compacte, au même titre qu’un raspberry pi. Chaque Edison est emballé avec une énorme quantité de technologie dans un boîtier minuscule , Il est propulsé par l’Intel® Atom ™ SoC dual-core CPU à 500 mHz et comprend du WiFi, Bluetooth LE, 4 go de mémoire interne, 1 go de ram, et un connecteur 70 broches pour fixer des « Blocs » comme pour un arduino. De base il fonctionne sous Yocto Linux qui est une plateforme de développement pour créer des systèmes embarqués. Mais on va voir comment installer Ubilinux qui est un système dérivé d’Ubuntu, ce qui nous permettra de ne pas perdre les habitudes que l’on a pu prendre avec un raspberry pi par exemple.

Tout d’abord de quoi avons-nous besoin ?

Une fois que l’on a fini de tout télécharger, il faut installer les drivers ainsi qu’extraire dfu-util ainsi que l’image d’ubilinux. Une fois fais il faut copier les fichiers dfu-util.exe et libusb-1.0.dll et les placer dans le dossier toFlash d’ubilinux.

Maintenant tout est presque prêt pour pouvoir lancé l’installation, mais attention durant l’installation la communication ne doit pas être interrompue ou vous risquerez de rendre inutilisable votre carte. Si vous n’avez pas encore branché votre vous pouvez déjà le faire pour que Windows installe les différents driver. Une fois fais on va pouvoir lancé l’installation

win_plug_in_edison

On lance le fichier flashall.bat, et on peut voir qu’il nous demande de brancher l’Intel Edison, il faut le brancher par le port OTG puis on appuie sur son bouton reset. Et l’installation va commencé, je répète durant l’installation la communication de doit pas s’interrompre.

win_install_ubilinux

Une fois que l’installation est terminée on va pouvoir branché le port serial sur notre pc et pouvoir commencé a travaillé avec notre carte pour cela on peut utiliser un logiciel comme Putty.

windows_putty

Une fois connecter il nous demande de nous identifier pour cela soit on utilise le compte root/edison soit le compte edison/edison de base sudo n’est pas installé donc si vous deviez installer des applications utiliser le compte root, au moins pour installer sudo.

Pour pouvoir activer le wifi il faut modifier le fichier interface :

nano /etc/network/interfaces

Et d’entrer le nom de son réseau wifi ainsi que le mot de passe puis faire :

ifup wlan0

Et voilà maintenant votre Intel Edison tourne sous Ubilinux et il est connecté a internet il ne vous reste plus cas explorer toutes les possibilités qu’il vous offre.