Arduino Yun-Guide

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Guide de démarrage Arduino Yun

Arduino Yún est une carte Arduino sans ressemblance avec les autres. Même si sa programmation est fort similaire à un Arduino Leonardo (Anglais, Arduino.cc) et qu'elle utilise le même processeur Atmel ATmega32U4, cette carte dispose également d'un processeur additionnel (Atheros AR9331) fonctionnant sous Linux avec un pile Wifi OpenWrt. La programmation du 32U4 via USB est identique à un Arduino Leonardo. Une fois le Yún configuré pour se connecter sur un réseau WiFi, vous pouvez également programmer votre 32U4 par l'intermédiaire du réseau Wifi.

Pour connecter Arduino Yún à votre Ordinateur, vous aurez besoin d'un câble Micro-B USB. Ce câble USB fournit énergie et connexion de donnée à la carte. Pour programmer un Yún, vous devez choisir Arduino Yún dans le menu Outils > Carte (Tools > Board) d'Arduino IDE. Yún est uniquement supporté à partie de la version 1.5.4 d'Arduino IDE.

Différences avec un Arduino Leonardo

Arduino-Yun-Pres02.jpg
Crédit: Arduino arduino.cc

En plus du processeur 32U4, le Yún dispose d'un processeur complémentaire, un Atheros AR9331 qui fonctionne avec la distribution Linux Linino basé sur OpenWrt. OpenWrt est un système Linux pour système embarqué. Linino inclus également une installation complète de Python 2.7.

Le Yún dispose d'un connecteurs et caractéristiques différentes par rapport à un Leonardo. Il dispose d'un connecteur pour carte SD, d'un connecteur Ethernet(réseau filaire), et d'un connecteur USB-A Hôte (Host). Il n'y a pas de connecteur d'alimentation sur le Yún; car il peut être alimenté par le connecteur micro-USB.

Si vous n'alimentez pas le Yun par l'intermédiaire de la connexion micro-USB, vous pouvez appliquer l'alimentation sur les broches Vin et 5V de la carte. Il est recommandé d'alimenter Yún par l'intermédiaire de la connexion USB dès que cela est possible.

Les connecteurs SD, Ethernet et USB-A sont tous physiquement connectés sur le processeur Linux AR9331 et non sur le 32U4.

Les processeur 32U4 du Yún fonctionne de la même façon qu'un Leonardo, excepté que vous ne pouvez pas utiliser Serial1 car il est réservé à la communication avec le processeur AR9331.

Le Yún dispose également d'un module Wifi sur la carte. Il permet de se connecter sur un routeur sans fil (Wifi) mais aussi de devenir un point d'accès (AP). Quand votre Yun est utilisé en point d'accès, la carte devient visible sur le réseau Wifi et vous pouvez vous y connecter avec votre ordinateur... exactement comme vous le faites habituellement avec votre routeur Wifi (un routeur WiFi est forcément un Point d'Accès ;-) ).

Le processeur, WiFi et processeur AR9331 disposent chacun de leur propre bouton "Reset" (bouton de réinitialisation).

Arduino-Yun-Pres11.jpg
Crédit: Arduino arduino.cc Traduction: MCHobby.be

Il y a plusieurs LEDs de statut sur un Yun. Elles indiquent:

  • L'état d'alimentation,
  • La connexion WLAN (réseau Ethernet filaire),
  • La connexion WAN (réseau Wireless... réseau sans fil),
  • Connexion USB.

En outre, la broche 13 est connectée sur une des LED de statut.

Arduino-Yun-Pres10.jpg
Crédit: Arduino arduino.cc Traduction: MCHobby.be

Linino

Le Yún exécute une distribution Linux qui s’appelle Linino, basée sur OpenWrt. Même s'il est possible de configurer les système en ligne de commande, il y a aussi une page WEB qui permet de configurer de nombreuses options parmi toutes celles disponibles. L'interface (appelée LuCi) vous fournit l'accès à la plupart des paramètres nécessaires à la gestion de l'interface WiFi.

L'accès à l'interface WEB est décrit plus loin.

Pour installer des logicielles complémentaires sur Linino, vous utiliserez le gestionnaire de paquet Linux opkg. Pour plus d'information sur le gestionnaire et quelques commandes, voyez la page du gestionnaire de paquet Yún.

Lorsque vous vous interfacez avec le système Linino, vous devez utiliser soit une ligne de commande, soit utiliser la librairie Bridge d'Arduino (Librairie de liaison), soit une connexion SSH. Si vous n'êtes pas familiarisé avec les lignes de commandes, vous pouvez lire cette documentation de base décrivant le principe et quelques programmes couramment utilisés.

Python

Une installation de Python 2.7 est comprise avec Linino. Avec Python, vous pouvez écrire des application ou des scripts.

Pour plus d'information sur Python, visitez:

Si vous apprenez Python pour la première fois, sachez qu'il existe de nombreuses et excellentes ressources sur le Net. Hormis les références ci-dessus, vous pouvez aussi consulter "Learn Python the Hard Way" (Apprendre Python par la pratique, Anglais, learnpythonthehardway.org) qui couvre tout ce que vous avez besoin de savoir pour commencer vos propres scripts.

Stockage externe sur Yún

Il n'est pas conseillé d'utiliser la mémoire non-volatile interne du Yún pour vos opérations de stockage parce qu'elle a un nombre limité de cycle d'écriture.

Vous pouvez utiliser une mémoire externe comme une carte microSD ou une clé USB pour stocker vos données, scripts, page web, etc.

Si vous voulez que le 32U4 de votre Yún stocke ou accède à ce périphérique, vous aurez besoin d'y créer un répertoire nommé arduino dans la racine du volume.

Services WEB

Pour les clients et serveurs "Service WEB", Linino supporte REST. REST est l'acronyme de "Representational State Transfer" (difficilement traduisible). C'est une architecture logiciel qui expose les différentes parties du matériel Arduino par l'intermédaire d'URL.

Par défaut, les accès à l'interface de programmation REST (REST API) est protégé par un mot de passe. Il est possible de modifier l'accès à ce service afin de ne pas utiliser de mot de passe. Pour modifier ce paramètre, entrer dans le panneau de configuration de votre Yún. Vous trouverez l'interface permettant de basculer cette option d'accès en bas de la page.

{{{2}}}
Crédit: Arduino arduino.cc
Accès aux API (interface de programmation) REST.
"Open" signifie que l'interface est ouverte donc librement accessible. "With Password" signifie qu'elle est protégée par un mot de passe.

Une chouette introduction sur les concepts REST peut être trouvé ici (Anglais, StackOverflow.com) .

Sur le Yún, il y a deux point d'accès REST (REST end points) reconnu:

  • /arduino
  • /data

Le répertoire "/arduino" n'est pas pré-configuré. Tout ce qui est ajouté dans l'URL derrière le point d'accès est transféré par le Serveur Web au sketch/croquis fonctionnant sur le 32U4. Vous pouvez définir vos propres interfaces de programmation (API) à l'intérieur de votre sketch/croquis. Consultez les exemples "Bridge" pour comment il est possible d'offrir un accès à une broche Arduino via l'interface REST.

"/data" est utilisé pour fournir un accès à un stockage interne de type Clé/Valeur (key/value). Les appels possible sont:

  • /put/KEY/VALUE : stocke une valeur value pour le clé key.
  • /get/KEY : obtenir la valeur de la clé KEY. Retour au format JSON
  • /get : Otenir une liste de éléments stockés au format JSON.
  • /delete : efface le contenu du stockage intene

Reset des processeurs (AR9331, WiFi et 32U4)

Reset Linino

Pour redémarrer la processeur AR9331, qui redémarre Linino, presser le bouton reset "YÚN RST" qui se trouve à côté des entrées analogiques et des LEDs (sur la carte).

Reset Arduino

Pour redémarrer le 32U4 et redémarrer votre sketch/croquis Arduino, pressez le bouton à côté du port Ethernet deux fois.

Reset WiFi

Le bouton reset du WiFi se trouve près du connecteur USB-A. Lorsque vous pressez ce bouton, la LED WLAN commence à clignoter.

Si vous passez sur un réseau différent et que vous ne pouvez plus accéder à votre Yún par l'intermédiaire de sont interface Web, vous pouvez faire une réinitialisation (reset) de la configuration réseau en pressant le bouton reset Wifi pendant plus de 5 secondes mais moins que 30 secondes.

La configuration WiFi sera réinitialisée et le Yún redémarrera son propre réseau wiFi Yún-XXXXXXXXXXXX. Toutes les autres modifications/configuration seront conservées.

Réinstallation Linino

Pour réinitialiser la distribution Linino à sa configuration d'usine (dit default state), pressez le bouton reset WiFi pendant au moins 30 secondes.

La carte reviendra alors à sa configuration d'origine, celle qu'elle avait à sa sortie de la boite (où la dernière que vous auriez reflashé). Cette opération, entre autre chose, effacera tous les fichiers installés ainsi que la configuration réseau.

Ré-énumération série au Reset

Etant donné que le Yún ne dispose pas d'un composant dédicacé à la gestion de la communication série, cela implique que le port série est virtuel -- Cette communication série est assuré par des routines logicielles sur la carte et sur votre ordinateur.

Cela fonctionne exactement comme lorsque vous connectez n'importe quel Arduino sur votre ordinateur; l'ordinateur crée une instance du pilote de port série virtuel ET le 32u4 crée une instance de "port série" lorsqu'il démarre son bootloader. La carte devient alors une instance du pilote USB's Connected Device Class (CDC).

Cela signifie que la connexion USB sera systématiquement perdue et ré-établie à chaque fois qu'il y a un reset du processeur 32U4. La carte disparaitra de la liste des ports séries et cette liste sera ré-énumérée. Tous les programmes disposant d'une connexion série ouverte sur le Yun perdra cette connexion. Cela est fort différent d'un Arduino UNO où il est possible de faire un reset du processeur principal (the ATmega328P) sans perdre la connexion USB (qui est maintenu par un second processeur ATmega8U2 ou ATmega16U2).

Ces différences ont des implications pour l'installation de pilotes, pour le téléversement et la communication.

Pas de reset à l'ouverture du port série

Le Yún ne redémarrera pas votre sketch/croquis lorsque vous ouvrez le port série sur votre ordinateur. Cela signifie que vous ne verrez pas les données séries qui ont déjà été envoyés par la carte vers l'ordinateur. Cela comprend forcement la plupart des informations envoyées par la fonction setup().

Cela s'applique également à la Console, décrite ci-dessous.

Cela signifie que si vous utiliser n'importe quelle fonction Série (Serial) ou console avec print(), println() ou write() dans la fonction setup(), ces dernières n'afficherons rien lorsque vous offrirez le moniteur série ou une connexion Console.

Pour contourner ce problème, vous pouvez vérifier si le port est ouvert à l'aide de:

// Arrêter le programme jusqu'à ce que le moniteur série soit ouvert
while (!Serial);

ou

// Stopper le programme jusqu'à ce qu'une Console soit ouverte
while (!Console);

Installing Drivers for the Yún

OSX

The first time you plug a Yún into a Mac, the "Keyboard Setup Assistant" will launch. There's nothing to configure with the Yún; you can close this dialogue by clicking the red button in the top left of the window.

{{{2}}}
Crédit: Arduino arduino.cc

Windows

Guide en vidéo

Voici une vidéo YouTube "Getting started with Yun" réalisée par Arduino.


{{#Widget:Iframe |url=http://www.youtube.com/embed/9-hPhWHWnvs |width=420 |height=315 |border=0 }}


Source: Arduino Yun, Guide to the Arduino Yún. Crédit: Arduino.cc, licence Creative Common Attribution ShareAlike.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.