Arduino Yun-Librairie
Introduction
La carte Arduino Yún est équipé de deux processeurs. L'un est un ATmega32U4 comme sur le Arduino Leonardo. L'autre processeur est un Atheros 9331, fonctionnant sous Linux et dispose d'une pile WiFi basé sur OpenWRT. Cela offre les connectivités aux réseaux WiFi et Ethernet. Il est possible d'appeler des programmes ou des scripts personnalisés sur le système Linux depuis le Arduino pour se connecter sur différents types de services "En Ligne".
La librairie Bridge simplifie la communication entre l'ATmega32U4 et l'AR9331. Bridge hérite de Stream (voir ci-dessous, Stream signifie "flux" et permet de gérer des échanges de flux d'information) et beaucoup de méthodes devraient être familières puisqu'elles sont semblablent à la bibliothèque Serial et autres dérivés de Stream.
Les commandes Bridge en provenance du 32U4 sont interprétés par Python sur le processeur AR9331. Son rôle est d'exécuter des programmes sur la plateforme GNU/Linux lorsque cela est demandé par Arduino, fournir un espace de stockage partagé pour partager des données telles que lecture de senseur entre Arduino et Internet. Le processeur AR9331 peut également recevoir des commande depuis Internet et les passer directement à la partie Arduino.
Le Bridge permet la communication dans les deux directions, agissant comme une interface pour envoyer des lignes de commandes à Linino. Voyez ici pour une brève description du terminal et des commandes Linux.
Pour vous familiariser avec le Yún, vous pouvez consulter le guide de démarrage et description matérielle.
Les bibliothèques
Process
La bibliothèque Process est utilisé pour lancer des processus (des programmes) sur le processeur Linux. Elle est également utilisée pour lancer des shell scripts.
Console
La bibliothèque Console peut être utilisée pour communiquer avec le moniteur réseau disponible dans Arduino IDE, par l'intermédiaire d'un shell. La fonctionnalité est très similaire au moniteur Série d'Arduino.
FileIO
FileIO offre une interface vers le système de fichier Linino. La bibliothèque peut être utilisée pour lire et écrire des fichier sur la carte SD.
HttpClient
Crée un client HTTP sur Linino. Agit comme un wrapper (une surcouche) pour les commandes CURL, étendant ainsi Process.
Mailbox
Mailbox offre une interface asynchrone, sans session pour permettre la communication entre Linino et Arduino.
YunClient
Un équivalent du client HTTP pour Arduino, conçu sur le modèle de la classe EthernetClient.
YunServer
Un équivalent du serveur HTTP pour Arduino, conçu sur le modèle de la classe EthernetServer.
Temboo
Une interface vers Temboo permettant de réaliser facilement des connexions vers une large variété d'outils "en ligne". Voir la documentation de Tembo pour plus d'information.
Spacebrew
Spacebrew est "une façon simple de connecter des objets interactifs les uns aux autres" qui utilise des WebSockets pour communiquer. Vous pouvez en apprendre plus sur SpaceBrew en consultant leur documentation en ligne.
Bridge - classes et méthodes
La librairie "Bridge" (signifiant litérallement "pont") permet la communication entre Arduino et Linino. Il y a plusieurs classes utilitaires qui facilite différents type de communication entre ces deux environnements. Ces classes sont décrites plus bas mais aussi plus en profondeur dans les pages de lalibrairie Bridge (ou bien Bridge library reference Arduino.cc, Anglais).
Crédit: Arduino arduino.cc Traduction par MCHobby.be
Classe Bridge
- constructeur Bridge, hérite de HttpClient
Fonctions Bridge
Traduction des différentes fonctions de Bridge. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- begin()Démarre le Bridge facilitant les communications entre l' AVR et le processeur Linux
- put()Permet de stocker une structure "Clé/Valeur" sur la machine Linux.
- get()Permet d'obtenir un Valeur correspondant à la Clé.
Utilitaires:
- transfer()Transfert de paquet de donnée/message entre Arduino et Linux
- readMessage()Lit un message depuis la machine Linux
- writeMessage()Envoi un message vers la machine Linux
- messageAvailable()Y a t'il un message disponible sur la machine Linux?
Process - classes et méthodes
Classe Process
La Process est utilisé pour lancer des processus (des programmes) sur le processeur Linux. Elle est également utilisée pour lancer des shell scripts.
Fonctions Process
Traduction des différentes fonctions de Process. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- begin()Commande Linux que l'on désire faire exécuter
- addParameter()Ajouter des paramètre à la commande Linux
- run()Exécuter la commande et attendre la fin d'exécution.
- runAsynchronously()Exécuter la commande sans attendre la fin d'exécution.
- running()La commande est-elle en cours d'exécution
- exitValue()Code de sortie de la commande
- close()Termine l'exécution d'un processus asynchrone
- runShellCommand()Execute une commande shell
- runShellCommandAsynchronously()Exécute une commande Shell en mode non-bloquant
- available()Indique s'il y a des données entrante disponible
- read()Lectures des données entrante produite par le processus Linux
- write()Ecriture/envoi de données vers le processus Linux
- peek()Lecture du premier octet de donnée
- flush()Nettoie la mémoire tampon d'entrée
Console - classes et méthodes
Classe Console
La Console peut être utilisée pour communiquer avec le moniteur réseau disponible dans Arduino IDE, par l'intermédiaire d'un shell. La fonctionnalité est très similaire au moniteur Série d'Arduino.
Fonctions Console
Traduction des différentes fonctions de Console. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- begin()Démarre une session terminal accessible via le moniteur série
- end()Termine une session terminal
- buffer()Modifier la taille de la mémoire tampon
- noBuffer()Libère la mémoire tampon
- connected()Etat de connexion de la console
- available()Nombre de caractères en attente de lecture?
- read()Lecture des octets sur la connexion
- write()Ecriture d'octets sur la connexion
- peek()Copie du premier octet à lire sur la connexion
- flush()Nettoyage de la mémoire tampon (buffer)
FileIO - classes et méthodes
Classe FileIO
FileIO offre une interface vers le système de fichier Linino. La bibliothèque peut être utilisée pour lire et écrire des fichier sur la carte SD.
Fonctions FileIO
Traduction des différentes fonctions de FileIO. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- FileSystem.begin()methode d'initialisation
- FileSystem.open()ouvre un fichier sur la carte SD
- FileSystem.exists()Test l'existence d'un fichier ou répertoire
- FileSystem.mkdir()Crée un répertoire sur la carte SD
- FileSystem.rmdir()Retire un répertoire de la carte SD
- FileSystem.remove()Retire un fichier de la carte SD
- Filexxx
- close()Ferme un fichier ouvert avec open()
- rewindDirectory()xxx
- openNextFile()xxx
- seek()xxx
- position()xxx
- size()xxx
- available()xxx
- read()xxx
- write()xxx
- peek()xxx
- flush()xxx
Mailbox - classes et méthodes
Classe Mailbox
Mailbox offre une interface asynchrone, sans session pour permettre la communication entre Linino et Arduino.
Fonctions Mailbox
Traduction des différentes fonctions de Mailbox. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- begin()xxx
- end()xxx
- readMessage()xxx
- writeMessage()xxx
- writeJSON()xxx
- messageAvailable()xxx
YunServer - classes et méthodes
Classe YunServer
Un équivalent du serveur HTTP pour Arduino, conçu sur le modèle de la classe EthernetServer.
MCHobby: Permet à votre Arduino de recevoir des requêtes WEB par l'intermédiaire de Linino. Le WebServer de Linino recoit la requête réseau puis relaye l'information vers la classe YunServer du processeur Arduino (par l'intermédiaire du Bridge). Une fois la connexion établie, YunServer créera une instance de YunClient (un Yun Client par connexion) pour gérer l'échange d'information entre les deux plateformes.
Fonctions YunServer
Traduction des différentes fonctions de YunServer. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- begin()xxx
- listenOnLocalhost()xxx
- noListenOnLocalhost()xxx
- write()xxx
YunClient - classes et méthodes
Classe YunClient
Un équivalent du client HTTP pour Arduino, conçu sur le modèle de la classe EthernetClient.
MCHobby:
Lorsqu'une requête réseau destinée à Arduino est reçue par Linino, elle est renvoyée à la classe YunServer sur Arduino (par l'intermédaire du Bridge).
Une fois la connexion acceptée par Arduino, une instance de la classe YunClient est crée pour gérer l'échange d'information entre Arduino et Linino (en vue d'envoyer une réponse sur le Net). Il y a donc une instance de YunClient par requête.
Fonctions YunClient
Traduction des différentes fonctions de YunClient. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- stop()xxx
- connect()xxx
- connected()xxx
- available()xxx
- read()xxx
- write()xxx
- peek()xxx
- flush()xxx
HttpClient - classes et méthodes
Classe HttpClient
Crée un client HTTP sur Linino. Agit comme un wrapper (une surcouche) pour les commandes CURL, étendant ainsi Process.
HttpClient agit comme un wrapper (surcouche) pour les commandes cURL en créant un client HTTP sur Linino.
Fonctions HttpClient
Traduction des différentes fonctions de HttpClient. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- get()xxx
- getAsynchronously()xxx
- ready()xxx
- getResult()xxx
Exemples
todo!!!
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.