Projet Systèmes Embarqués : Objets Connectés

Dimension: px
Commencer à balayer dès la page:

Download "Projet Systèmes Embarqués : Objets Connectés"

Transcription

1 Projet Systèmes Embarqués : Objets Connectés Marc AUZARY Clément PASCAL Clément TARDELLA Justin TESSIER Encadrant : M.CRENNE 3 ème Année Filière Electronique Option Systèmes Embarqués ENSEIRB-MATMECA

2 TABLE DES MATIÈRES Table des Figures... 3 Contexte... 4 Introduction Les Objets Connectés Le choix de la carte La carte Uno Le microcontrôleur ATmega Communication sans fil Choix du Shield Wifi : Moyen de communication surdimensionné Infrarouge : les ondes ne traversent pas les murs Radio Blutooth et Xbee : les solutions envisageables Programmation de la carte par Bluetooth Solutions éventuelles Solution finale Envoi de données de la carte vers l utilisateur L Interface Principe L interface de programmation Création de blocs La chaîne de compilation Exemple d application Conclusion Annexes Script Windows compilation.lua led_time_blink.cpp led_time_blink.lua light_sensor.lua light_sensor.cpp Références ENSEIRB-MATMECA 2014/2015 Page 2

3 TABLE DES FIGURES Figure 1 - Prévision Objets Connectés... 4 Figure 2 - Arduino... 6 Figure 3 - Carte Arduino Uno... 6 Figure 4 - Broches du microcontrôleur ATmega Figure 5 - Principe de communication... 8 Figure 6 - Wifi... 9 Figure 7 - Zigbee... 9 Figure 8 - Bluetooth... 9 Figure 9 - Le shield Bluetooth Figure 10 - Bouton Téléverser Figure 11 - Mécanisme de compilation Figure 12 - Terminal de l'ide Figure 13 - IDE Arduino Figure 14 - LUA Figure 15 - API fournie par M. CRENNE Figure 16 - Chaîne de clignotement Figure 17 - Bloc serial Figure 18 - Chaîne Serial-Graph Figure 19 - Chaîne de compilation Figure 20 - Application Programming Interface ENSEIRB-MATMECA 2014/2015 Page 3

4 CONTEXTE Figure 1 - Prévision Objets Connectés De nos jours, les objets connectés sont partout. D après les prévisions Cisco, le nombre d objets connectés est estimé à 50 milliards en 2020, soit plus de 6 fois le nombre d êtres humains sur terre. Cet important développement est dû à la demande toujours de plus en plus grande ainsi qu au grand nombre de domaines dans lesquels les objets connectés s insèrent. Cette importante évolution peut être également mise en relation avec la recrudescence du nombre de smartphones. Leurs usages sont divers et variés, mais avec souvent pour but de rre notre quotidien plus facile. Ils sont présents dans l industrie médicale par exemple avec des capteurs connectés permettant aux malades de suivre leur santé en direct sur leur smartphone. Aussi présents dans notre maison, les objets connectés peuvent la rre plus intelligente à l aide de capteurs permettant de réduire notre consommation énergétique et nos dépenses, ou de renforcer sa sécurité à l aide d alarmes pouvant prévenir d un éventuel incie ou cambriolage. Une des grandes tances est le sport connecté qui mesure l activité physique et permet de suivre des indicateurs tels que le nombre de pas réalisés dans la journée, la distance parcourue ou les calories brulées. Ceci est ru possible par une montre connectée à un smartphone mais également grâce à l introduction de nouveaux objets plus surprenants les uns que les autres tels que le soutien-gorge connecté qui mesure le rythme cardiaque ou la pédale connectée muni d une puce GPS et d une carte SIM qui permet à un utilisateur de localiser son vélo et donc de minimiser les risques de vols. Ces exemples illustrent que de plus en plus de Start-Ups et d entreprises profitent de ce marché fleurissant et décident de créer de nouveaux objets connectés. Travailler sur un projet de cette thématique est donc une opportunité à saisir et sera certainement profitable dans notre vie professionnelle. ENSEIRB-MATMECA 2014/2015 Page 4

5 INTRODUCTION L idée directrice de ce projet est de développer une interface permettant à des utilisateurs non qualifiés de programmer des systèmes embarqués, donc des objets connectés. La réalisation de cette interface compr plusieurs choix, aussi bien matériels que logiciels. Tout d abord, nous avons choisi de travailler avec des composants électroniques faciles à programmer : les cartes électroniques Arduino. Ce sont des composants développés en Italie par une équipe d étudiants et de professeurs. Leur principal objectif est de rre l électronique plus accessible au niveau du coût et ainsi faire profiter aussi des débutants. Par la suite, pour répondre à la thématique «Objets connectés» nous avons souhaité travailler avec la technologie Bluetooth. Enfin, disposant de peu de temps pour réaliser ce projet, nous avons souhaité nous appuyer sur une interface graphique développée par notre encadrant. Nous avons donc dû apprre un nouveau langage, le LUA, langage de script. Dans ce rapport, nous commencerons par une présentation de la technologie Arduino et du matériel utilisé, puis nous développerons une partie sur l API (Application Programming Interface). Enfin, nous terminerons ce rapport en dressant un bilan de notre travail et des améliorations possibles et concluront par un bilan plus personnel en relatant les compétences que nous avons acquises durant ce projet. ENSEIRB-MATMECA 2014/2015 Page 5

6 1. LES OBJETS CONNECTES 1.1. Le choix de la carte La première étape de ce projet fut le choix de la plateforme pour réaliser nos objets connectés. Il nous fallait trouver une plateforme de prototypage rapide, offrant de nombreux choix d utilisation La carte Uno Pour modéliser nos objets connectés, une carte électronique où des capteurs de toutes sortes peuvent être branchés est nécessaire. Les cartes électroniques à bas prix présentes sur le marché sont les cartes Arduino, la Beaglebone et la Raspberry Pi. Le choix du groupe s est porté sur la carte Arduino Uno pour différentes raisons : Figure 2 - Arduino Plateforme de prototypage rapide Open Source, à bas coût et suffisant pour notre projet Communauté importante sur Internet, offrant ainsi de nombreuses fonctions à travers des bibliothèques Open Source Le langage de programmation est simple et de haut niveau. La carte possède de nombreux pins d entrées/sorties où différents capteurs peuvent être branchés La possibilité d ajouter des Shields spécifiques (cartes filles) pour ajouter de nouvelles fonctionnalités. Comme les communications doivent s effectuer sans fil, le Shield adéquat sera choisi. De plus si le projet évolue et que de nouvelles fonctionnalités doivent être ajoutées (liaison Ethernet par exemple), il suffit de brancher un Shield supplémentaire correspondant à la fonction désirée. Figure 3 - Carte Arduino Uno ENSEIRB-MATMECA 2014/2015 Page 6

7 La puissance de calcul nécessaire pour nos communications sans fil étant faible, le microcontrôleur de la carte est suffisant. De plus nous bénéficions de toutes les souplesses qu offre la carte Le microcontrôleur ATmega328 Le microcontrôleur utilisé sur la carte est le ATmega328. C est un microcontrôleur Atmel de type AVR. L AVR est une architecture Harvard modifiée (séparation physique de la mémoire de données et la mémoire programme) 8 bits RISC qui a été développée en Ce composant possède trois mémoires distinctes : Une mémoire flash de 32 ko pour écrire le programme exécutable Une mémoire SRAM de 2 ko pour les données volatiles Une mémoire EEPROM de 1 ko pour les données non volatiles. C est donc dans la mémoire flash de ce composant que le programme exécutable doit être écrit. Ce microcontrôleur possède également deux timer 8 bits et un timer 16 bits. La présence d un port série USART permet l envoi et la réception de données ce qui est un point crucial pour des problématiques d objets connectés où la communication joue un rôle majeur. La carte Arduino Uno est cadencée à 16 MHz. Notre projet ayant plus une vision applicative que performante, cette horloge est suffisante. De plus le langage Arduino est de trop haut niveau pour que des problématiques de MIPS ou de fréquence d horloge se posent réellement. En tout il y a 24 sources différentes d interruptions. Le microcontrôleur ATmega328 est donc un microcontrôleur de petite taille (32 ko de mémoire) mais possède toutes les sources d interruptions nécessaires pour notre projet. Le programme final ne faisant que 3.04 ko la mémoire du microcontrôleur est donc suffisante pour nos applications. Figure 4 - Broches du microcontrôleur ATmega328 ENSEIRB-MATMECA 2014/2015 Page 7

8 1.2. Communication sans fil Dans un premier temps, une communication point à point entre un utilisateur et un objet connecté est établie. Ensuite une des améliorations possibles peut être la construction d un réseau d objets connectés. L utilisateur est le maître de ces objets et donne des ordres via un ordinateur (ou application smartphone dans un second temps). Un programme est alors généré et va être envoyé via une communication sans fil dans la mémoire flash de notre Arduino. Si l objet connecté compr des capteurs, alors l envoi des données vers le PC sera également réalisé via une communication sans fil. La figure suivante expose le principe de communication. Utilisateur (Ordinateur) Programmation sans fil Retour de données sans fil Objet connecté (Arduino) Figure 5 - Principe de communication 1.3. Choix du Shield Il existe de nombreuses méthodes pour communiquer sans fil entre différents objets. Comme expliqué dans la partie , un Shield doit être ajouté à la carte de base pour accéder aux nouvelles fonctionnalités. Le but de cette partie est de choisir le Shield de communication le plus adapté à notre projet. Les critères de choix étaient les suivants : Le shield doit autoriser la programmation de la carte mère sans fil Faible consommation d énergie Faible coût Les protocoles de communications étudiés étaient le Bluetooth, le Wifi, Xbee, radio et infrarouge. ENSEIRB-MATMECA 2014/2015 Page 8

9 Wifi : Moyen de communication surdimensionné Le principal défaut du protocole Wifi est son importante consommation d énergie. Il permet d avoir une grande portée et également un débit bien plus élevé que les autres protocoles. Cepant, les fichiers de programmation (inférieurs à 32 ko) et les données envoyées par la carte Arduino ont une très petite taille. Le débit élevé du Wifi n est donc pas utile dans notre cas. De plus, le groupe a pris la décision que la portée des communications n était pas un critère de choix pour le moment. Des applications domestiques ont été ciblées. Ainsi, une portée d une dizaine de mètres est suffisante. Figure 6 - Wifi Infrarouge : les ondes ne traversent pas les murs Pour établir une communication infrarouge entre deux modules, il ne faut pas d obstacle sur le chemin du signal. Or Cette contrainte réduit l usage des objets connectés. Cette technologie a donc été abandonnée Radio La radio était une solution viable pour notre projet car elle répondait au critère «objets connectés» tout en consommant très peu d énergie. Cepant étant adeptes des nouvelles technologies nous nous sommes tournés vers une autre solution. De plus, avec la radio, un premier problème d incompatibilité pouvait survenir en cas de création d une application smartphone ou tablette Blutooth et Xbee : les solutions envisageables Après avoir éliminé les autres moyens de communication, le choix s est donc porté entre le Bluetooth et le Xbee (le Xbee utilise le protocole Zigbee). Les caractéristiques sont assez similaires c est-àdire un prix faible pour une portée et un débit faible. Cepant, la possibilité de programmer le microcontrôleur de la carte mère à distance est l un des critères les plus importants, et seule la communication Bluetooth pouvait le permettre. Après différentes recherches, notre choix s est porté sur le Shield Bluetooth Bluefruit EZ-Link Shield de chez Adafruit. En effet ce Shield compr un bootloader offrant la possibilité d envoyer à distance le fichier de programmation permettant de booter la carte avec un nouveau programme, sans passer par un câble USB. De plus, grâce à un switch la carte permet de choisir entre une communication USB ou sans fil. Figure 8 - Bluetooth Figure 7 - Zigbee ENSEIRB-MATMECA 2014/2015 Page 9

10 Ci- dessous le Shield utilisé : Figure 9 - Le shield Bluetooth Ce Shield développé par un constructeur de confiance possède également l avantage de pouvoir ajuster automatiquement son Baudrate à la vitesse de communication si celle-ci venait à varier Programmation de la carte par Bluetooth Dans l optique de construire une interface graphique pour programmer notre carte, nous avons dû contourner l environnement de développement (Integrated Development Environment) Arduino et reproduire toutes les étapes nécessaires, de la génération du fichier binaire final au téléversement dans la carte. Les développeurs d Arduino, qui visent des programmeurs débutants, ont ru cela très simple grâce au bouton «téléverser» présent dans l IDE Arduino. Nous allons donc voir dans cette partie comment nous avons pu nous dispenser de cet environnement. Figure 10 - Bouton Téléverser Solutions éventuelles Afin de compiler toutes les sources nécessaires à la création d un fichier binaire exploitable par le microcontrôleur, nous nous sommes tout d abord penchés sur la solution d un Makefile. Cepant, l interface graphique présentée par notre enseignant n étant pas compatible avec le système d exploitation Linux, l idée du Makefile s est révélée compliquée car Windows ne dispose pas du logiciel Make présent sous Linux. Pour résoudre ce problème, après quelques recherches, nous avons essayé de générer un premier Makefile à l aide d un outil de construction sous Windows (c est-à-dire un outil permettant d automatiser les étapes de préprocessing, compilation, éditions de liens, etc) appelé Cmake. Malheureusement, cette démarche ne nous a pas permis d aboutir au fonctionnement désiré. Par la suite, nous avons eu connaissance suite à une de nos formations scolaire, de l existence d un logiciel similaire à Make sous Windows accessible depuis le terminal MSDOS. Nous avons installé le package MinGW et placé nos variables d environnement afin que Windows reconnaisse l existence de nos ENSEIRB-MATMECA 2014/2015 Page 10

11 commandes. Une fois cela réalisé, la commande make Linux est devenue accessible à l aide de la commande mingw32-make sous Windows. Nous avons ensuite écrit un premier Makefile qui a fonctionné pour de petits projets avec quelques fichiers sources, mais nous n avons pas réussi à compiler toutes les sources Arduino. Nous nous sommes donc tournés vers une autre solution que nous développerons dans la partie suivante Solution finale La solution finale était la création d un script Windows. L intérêt d écrire un script est de pouvoir encapsuler des fonctionnalités. De cette façon, si nous désirons faire appel à cette fonctionnalité depuis un programme, il suffit d écrire la ligne de code qui permet d exécuter ce script. Il n y a pas de modification à apporter à l intérieur. C est ce qui sera effectué dans la partie II depuis l API graphique. Ce script a été écrit avec des chemins absolus. Pour pouvoir l exécuter, il faut placer à la racine du disque dur interne C :, le répertoire d installation Arduino. Ce répertoire contient tous les outils (compilateurs, bibliothèques ) nécessaires pour programmer la carte. Les différentes étapes sont expliquées ci-dessous Suppression des fichiers précédents Les fichiers générés pour la programmation précédente de la carte sont effacés avec la commande del. De cette façon, il n y a pas de risque d écrire à la suite des fichiers précédents et le processus repart du même point de départ Création du fichier objet Le fichier source (template contenant le programme écrit en langage Arduino à être exécuté sur la carte) est enregistré au format.cpp. Le langage Arduino étant une extension du langage C++, cette opération permet d utiliser un compilateur C++. Le résultat de la compilation est un fichier objet.o. Le compilateur utilisé est avr-g++ avec de nombreuses options dont par exemple -mmcu=atmega328p pour cibler l architecture cible de notre microcontrôleur ATmega328. Le compilateur avr est un compilateur spécialisé pour les microprocesseurs de type AVR Création du fichier exécutable Afin de générer un fichier.elf, le fichier objet créé a besoin de bibliothèques de fonctions Arduino. En effet, les fonctions (Serial.begin() de la bibliothèque Serial par exemple) ne sont pas écrites dans notre code source mais dans des bibliothèques Open Source. Etant donné que tous les programmes Arduino utilisent les mêmes bibliothèques de bases, une librairie core.a contenant toutes les bibliothèques ENSEIRB-MATMECA 2014/2015 Page 11

12 compilées a été créée et compilée. Le fichier objet et la librairie core.a sont donc compilés ensemble pour créer le fichier exécutable et liable.elf. Les compilateurs utilisés sont avr- gcc pour les bibliothèques écrites en langage C, et avr-g++ pour celles en langage C Ecriture du programme dans la carte Une fois le fichier exécutable ainsi généré, il faut l exécuter sur notre cible. Grâce à la documentation, une méthode pour écrire un fichier binaire.hex dans la mémoire flash du microcontrôleur de l Arduino a été trouvée. Il faut convertir le fichier exécutable et liable.elf en un fichier.hex. Pour cette étape, l outil avr-objcopy est nécessaire. Il ne reste plus qu à envoyer et écrire ce fichier dans le microcontrôleur. L outil avrdude permet de programmer les microcontrôleurs de la famille AVR dont fait partit le ATmega328 de la carte Arduino Uno. L utilisation de cette commande nécessite entre autre l option flash:w:x.hex pour écrire dans la mémoire flash ce fichier.hex. Il faut également préciser un port COM de communication ainsi qu un débit d écriture. Dans notre script, nous exécutons 2 fois cette commande, l une utilisant la liaison série par USB et l autre via la communication Bluetooth. De cette façon, un programme Arduino écrit avec un éditeur de texte enregistré au format.cpp peut être directement flashé sur l Arduino avec l exécution de ce script. La figure suivante illustre la chaîne de compilation effectuée par le script : Source.cpp g++ Fichier objet.o gcc Fichier exécutable.elf objcopy Fichier binaire.hex Bibliothèques core.a Fichier binaire.hex avrdude Figure 11 - Mécanisme de compilation Le script complet est fourni en annexe. ENSEIRB-MATMECA 2014/2015 Page 12

13 Envoi de données de la carte vers l utilisateur Le Shield choisi pour ce projet permet l envoie de données par Bluetooth. Il faut pour cela positionner le switch du Shield en position «micro» pour permettre une communication Bluetooth. En se positionnant sur cette position «micro», les pins TX et RX du microcontrôleur sont reliés à ceux du composant Bluetooth. L échange des données est donc assuré. Il est aussi possible de recevoir les données via un câble USB pour cela il est nécessaire de repositionner le switch en mode USB. La clé Blutooth connectée à l ordinateur, permettant de communiquer avec la carte, virtualise un port série. Ainsi, du pont de vue programmation, la communication s effectue par liaison série. Il suffit donc d initialiser la liaison série dans la fonction setup() puis d écrire les valeurs lues par le capteur sur cette liaison série à l intérieur de la fonction loop(). En ouvrant un moniteur série directement depuis l IDE Arduino, nous pouvons lire les valeurs envoyées par la carte via la communication Bluetooth. Figure 12 - Terminal de l'ide ENSEIRB-MATMECA 2014/2015 Page 13

14 2. L INTERFACE 2.1. Principe Nous allons commencer par définir simplement ce qu est une API (Application Programming Interface) : c est une interface logiciel délimitée qui offre des services à d autres logiciels. Elle a pour objectif de simplifier la mise en œuvre d un système en faisant abstraction des détails de son fonctionnement. Dans notre projet, nous souhaitons pouvoir programmer notre système en nous abstrayant de l IDE Arduino car elle n est pas très intuitive ni pratique d utilisation (cf. figure 13). De plus, la connaissance du langage de programmation propre à Arduino est nécessaire. Enfin, un des points clé de notre travail consiste à offrir la possibilité de concevoir et programmer des systèmes embarqués plus ou moins complexes à une personne non initiée à la programmation. C està-dire sans avoir besoin d écrire la moindre ligne de code. Figure 13 - IDE Arduino 2.2. L interface de programmation Pour ce faire, notre tuteur sur ce projet nous a fourni les bases d une API qu il a personnellement développée et que nous devions donc reprre, améliorer et adapter à notre projet. Cette interface est codée en langage C, en particulier à l aide des outils SDL et Open GL propres à la création d interfaces graphiques. De plus cette interface est composée de blocs à relier entre eux. Ces blocs sont implémentés grâce au langage de script LUA. Le LUA est un langage de script léger qui est surtout utilisé dans le domaine des jeux vidéo. En effet, le principe de cette API est d utiliser des blocs réalisant chacun une fonction disponible dans un catalogue et de les disposer sur le plan de travail pour concevoir un système. Figure 14 - LUA Figure 15 - API fournie par M. CRENNE Une fois la prise en main de cette API réalisée, nous avons deux objectifs. Le premier consiste à créer de nouveaux blocs et le second permet de réaliser le lien entre le matériel (la carte Arduino) et le logiciel (l API). ENSEIRB-MATMECA 2014/2015 Page 14

15 Création de blocs La création de nouveaux blocs permet d implémenter de nouvelles fonctionnalités pour l objet connecté. Ces blocs sont donc développés grâce au langage LUA. Base de données : Une base de données de templates Arduino a été créée. Chaque template correspond à une fonction en particulier. Il y a donc par exemple un template pour le clignotement de la LED, un autre pour l utilisation du capteur de lumière Dans chaque template se trouve des balises #INX#. Ces balises correspondent à des données avec lesquelles l utilisateur peut interagir, comme par exemple, le temps entre deux états d une LED. Le fichier LUA : Les blocs étant codés en LUA, nous avons dû apprre la syntaxe du langage pour permettre de réaliser nos fonctions. Le but de ces fichiers est de généré un fichier C++, à partir du template utilisé, en modifiant les balises par les valeurs choisies. Par exemple la figure ci-dessous permet de gérer le clignotement d une LED : Explications : Figure 16 - Chaîne de clignotement Du point de vue schématique Le bloc led_time_blink offre la possibilité à l utilisateur de faire clignoter une LED. Ce bloc compr 2 entrées, l une permet de commander l état de la LED au démarrage (reliée à constant_1) et l autre indique le délai en milliseconde entre les changements d état de la LED (reliée à constant_100). Du point de vue algorithmique (bloc led_time_blink) Le fichier LUA correspondant au bloc led_time_blink récupère les données en entrée du bloc, et va générer un fichier C++, à partir de la template Arduino correspondant à la fonction led_time_blink, en modifiant les balises par les valeurs présentes sur les entrées du bloc. Les entrées sont tout d abord récupérées à chaque rafraîchissement par la fonction Update : function Update( r, h ) Avec r[1] qui correspond à l état de la LED au démarrage et h[1] le délai en milliseconde entre deux états de la LED. ENSEIRB-MATMECA 2014/2015 Page 15

16 Ensuite la génération du fichier C++ avec la modification des balises est réalisée grâce à l utilisation des fonctions LUA suivantes : o Ouverture de fichier file_read = io.open(filename,'r') Permet d ouvrir le fichier "filename". Nous utilisons les modes lecture ( r ) ou écriture ("w+"). o Lecture et récupération du contenu d un fichier text = file_read:read("*all") Permet de récupérer l ensemble du contenu du fichier ("*all") et de le stocker dans la variable text. o Modification du contenu text = string.gsub(text, "#IN2#", tostring(delay)) Cette fonction permet de modifier le contenu de la variable text, en remplaçant toutes les chaînes de caractères "#IN2#" par la chaîne de caractère contenu dans la variable delay. o Ecriture dans un fichier file_write:write(text) écrit text dans le fichier Permet d écrire le contenu de la variable text dans un fichier préalablement ouvert en écriture ("w+"). Maintenant vient le problème de la communication entre blocs de types différents. Pour cela, des blocs de transtypage ont dû être créés. Dans le cas de l exemple précédent, un transtypage d un entier vers un booléen était nécessaire. C est donc pour ça que nous avons utilisé le bloc inttobool. Désormais, il faut un bloc capable de récupérer les informations que la carte peut envoyer à l ordinateur via la liaison série. Ce bloc est nommé serial (cf. figure 17). A noté que la communication Bluetooth fonctionne exactement de la même manière que la communication série simplement le port est différent. Le Bluetooth virtualise une liaison série ce qui est très appréciable. Figure 17 - Bloc serial Enfin, un bloc _graph, réalisé en langage C, permet de tracer des données. Ainsi la chaîne Serial- Graph permet de récupérer les données provenant de l objet connecté, et de les tracer sur un graphique. Comme par exemple avec des données de luminosité provenant d un capteur de lumière : Figure 18 - Chaîne Serial- Graph Une fois le système dessiné, il faut être capable de le compiler et l implanter sur la carte. ENSEIRB-MATMECA 2014/2015 Page 16

17 La chaîne de compilation Cette chaîne définit l ensemble des étapes de compilations d un programme pour un processeur donné. L objectif de cette chaîne est de transformer un code source écrit dans un langage de programmation (langage source) en un autre langage (langage cible). En effet, pour que la machine puisse exploiter le code écrit dans un langage de haut niveau aisément compréhensible par l homme, il faut plus traduire en un langage machine de bas niveau. Dans notre cas, la machine hôte (ordinateur) est différent de la machine cible (carte Arduino), il faut donc être capable de compiler le code source pour qu il puisse fonctionner sur une architecture de processeur différente de celle de la machine qui effectue la compilation. On parle de compilation croisée. Nous avons pour cela créé un bloc de compilation que nous pouvons activer à l aide d un switch lorsque nous souhaitons implanter notre programme : Figure 19 - Chaîne de compilation Le bloc LUA implémenter réalise simplement un appel système pour exécuter le script Windows expliqué dans la partie 1.4. : os.execute("script.bat") Ce bloc de compilation est un point central ayant une place primordiale dans notre projet. Après plusieurs étapes (décrites précédemment) incompréhensibles pour un non initié, ce bloc permet de faire le lien entre la partie logicielle et la partie matérielle de notre système. A l aide d appels systèmes réalisés grâce au LUA, différentes étapes d ajout de bibliothèque et de compilation, il permet, pour parler simplement, de traduire le système décrit en blocs sur le plan de travail en un fichier qu il exécute sur la carte cible. ENSEIRB-MATMECA 2014/2015 Page 17

18 Exemple d application L exemple suivant permet de programmer un objet comprenant un capteur de luminosité. L objet va donc nous renvoyer la valeur de la luminosité, que l on va récupérer grâce au bloc serial et nous allons tracer ensuite les données sur un graphique par le biais du bloc _graph. Figure 20 - Application Programming Interface ENSEIRB-MATMECA 2014/2015 Page 18

19 CONCLUSION Bilan sur le système délivré : Tout d abord, le premier point que nous relevons au terme de ce projet est que nous avons un système fonctionnel ce qui est en soit très satisfaisant. De plus le choix de matériel Arduino permet d avoir des systèmes à prototypage rapide à bas coût. Bien sûr le produit n en n est qu au stade de prototype et nous avons relevés plusieurs pistes d amélioration : La plus importante à nos yeux se porte sur la communication sans fil. En effet, nous avons choisi d utiliser le Bluetooth car cette technologie consomme peu d énergie mais surtout car elle nous a permis de pouvoir programmer la carte Arduino à distance, ce qui est un point fort de notre système. Cepant, les Shields Bluetooth, de par leur caractère exclusivement esclave, nous permettent uniquement de communiquer en point à point. Il n est donc pas possible de communiquer entre l ordinateur et plusieurs cartes en même temps. De plus, il est impossible de faire échanger les cartes entre elles, ce qui borne les possibilités d élaboration de système. Peutêtre faudrait-il changer de technologie pour palier à ce problème et les remplacer par des Shields capables de se configurer en master/slave sans perdre de vue la possibilité de programmation à distance. Une autre amélioration se porterait sur l API. Son utilisation déjà très simple pourrait se trouver l être encore plus, en ajoutant un bouton de téléversement remplaçant notre duo «bloc compilation et switch d activation». En effet, il est peu intuitif pour un non initié d avoir un bloc «téléversement» a activé avec un bouton switch pour programmer son système. De plus les blocs créés sont très basiques, il serait intéressant de fournir le catalogue et développer des blocs plus complexes. Il serait aussi utile de réussir à s abstraire des blocs de conversion de type de donnée, pas forcément simple à comprre et à utiliser pour un débutant en informatique. Le design pourrait aussi se voir étoffer pour rre l API plus accueillante et intuitive avec entre autre la possibilité de sauvegarder un projet. Par la suite, il pourrait aussi être très intéressant de «traduire» cette API sous forme d application smartphone ou tablette pour que l utilisateur puisse programmer et utiliser son système de cette manière. Enfin, l API pourrait offrir la possibilité à un initié de venir créer ses propres blocs, grâce par exemple à un tutoriel. Conclusion d équipe : Ce projet nous a permis à chacun de développer nos aptitudes à travailler en équipe. Nous avons dû nous confronter à des tâches d organisation, de répartitions des tâches et de mise en commun des différents travaux ce qui est très intéressant pour notre future vie professionnelle en entreprise. Techniquement nous avons appris beaucoup de choses. Tout d abord sur les outils Arduino, nous avons amélioré nos capacités en termes de développement de code mais nous avons pu aussi nous rre ENSEIRB-MATMECA 2014/2015 Page 19

20 compte que ces produits sont simple d utilisation mais aussi particulièrement adaptables. En effet, le principe d ajouts de Shields offre des possibilités presque illimitées quant au développement d un système. Nous avons aussi pu apprre ce que signifiait vraiment «Compiler». En effet, au cours de notre cursus nous avions l habitude soit de cliquer sur un bouton ou d utiliser l outil «Makefile» fourni par notre enseignant pour réaliser cette étape. Ce projet nous a permis de mieux comprre chaque étape de la chaîne de compilation. Enfin, nous avons appris les bases du langage de script LUA intégrable facilement dans la plupart des projets et particulièrement apprécié par les développeurs de jeux vidéo. Tous ces points font que nous sommes très satisfaits sur l apport de ce projet dans notre cursus et nous espérons avoir apporté au projet pour qu il puisse être repris les années suivantes à l ENSEIRB- MATMECA pour en faire un produit abouti. ENSEIRB-MATMECA 2014/2015 Page 20

21 ANNEXES Script Windows echo suppression X.o X.elf X.hex del X.o blx.elf X.hex echo creation X.o a partir de X.cpp C:\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunctionsections -fdata-sections -mmcu=atmega328p -DF_CPU= L -DARDUINO=22 -I C:\Arduino\hardware\arduino\cores\arduino\ -o X.o X.cpp echo creation X.elf a partir de core.a et X.o C:\Arduino\hardware\tools\avr\bin\avr-gcc -Os -Wl,--gc-sections -mmcu=atmega328p - o X.elf X.o core.a -L core -lm echo creation X.hex a partir de X.elf C:\Arduino\hardware\tools\avr\bin\avr-objcopy -O ihex -R.eeprom X.elf X.hex echo upload du.hex C:\Arduino\hardware\tools\avr\bin\avrdude -C C:\Arduino\hardware\tools\avr\etc\avrdude.conf -p atmega328p -c arduino -P \\.\COM6 - b D -U flash:w:x.hex C:\Arduino\hardware\tools\avr\bin\avrdude -p atmega328p -c arduino -P COM5 - b U flash:w:x.hex echo Fait compilation.lua local test=0 function Update( r ) if r[1]==true then if test==0 then os.execute("script.bat") test=1 else test=0 led_time_blink.cpp #include "Arduino.h"/**/ int LED=13; boolean etat=#in1#; void setup() { pinmode(led,output); } void loop() { digitalwrite(led,etat); delay(#in2#); digitalwrite(led,!etat); ENSEIRB-MATMECA 2014/2015 Page 21

22 } delay(#in2#); led_time_blink.lua function Update( r, h ) if test==0 then replaceb("./template/led_time_blink.cpp", r[1], h[1]) test=1 function replaceb(filename, level, delay) file_read = io.open(filename,'r') if file_read == nil then print("file read can not be opened") else print("file read opened") text = file_read:read("*all") file_read:close() --do the job if level == true then text = string.gsub(text, "#IN1#", "1") text = string.gsub(text, "#IN2#", tostring(delay)) else text = string.gsub(text, "#IN1#", "0") text = string.gsub(text, "#IN2#", tostring(delay)) print(text) file_write = io.open("x.cpp","w+") if file_write == nil then print("file write can not be opened") else print("file write opened") file_write:write(text) file_write:close() print("job done") light_sensor.lua function Update( r ) if test==0 then replaceb("./template/light_sensor.cpp", r[1]) test=1 function replaceb(filename, level) file_read = io.open(filename,'r') if file_read == nil then print("file read can not be opened") else print("file read opened") text = file_read:read("*all") file_read:close() --do the job if level == true then ENSEIRB-MATMECA 2014/2015 Page 22

23 text = string.gsub(text, "#IN1#", "1") else text = string.gsub(text, "#IN1#", "0") file_write = io.open("x.cpp","w+") if file_write == nil then print("file write can not be opened") else print("file write opened") file_write:write(text) file_write:close() print("job done") light_sensor.cpp #include "Arduino.h" int photocellpin = 0; int photocellreading; boolean onoff = #IN1#; String chaine; void setup(void) { Serial.begin(115200); } void loop(void) { char buf[5] = {0,0,0,0,0}; photocellreading = analogread(photocellpin); chaine = String(photocellReading,DEC); chaine.tochararray(buf, 5); } if ( onoff ) { Serial.write(buf[0]); Serial.write(buf[1]); Serial.write(buf[2]); Serial.write(buf[3]); Serial.write(buf[4]); } ENSEIRB-MATMECA 2014/2015 Page 23

24 REFERENCES [1] [2] [3] [4] [5] ENSEIRB-MATMECA 2014/2015 Page 24

Prototypage électronique

Prototypage électronique Prototypage électronique C'est quoi Arduino? Enseignant d'électronique en BTS des Systèmes Électroniques au lycée Cabanis de Brive-la-Gaillarde, j'ai commencé en 2010 à entendre parler d'arduino à gauche

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille PRESENTATION RESSOURCES Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille 1) Introduction, Objectifs et Intentions Le BTS SN (Systèmes Numériques) intègre la formation

Plus en détail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,

Plus en détail

Une carte pour vos projets

Une carte pour vos projets ARDUINO Une carte pour vos projets CHRISTOPHE ULTRÉ [1] Les projets interdisciplinaires impliquent de faire l acquisition d un matériel adaptable et peu coûteux qui réponde à des problématiques communes,

Plus en détail

PIC EVAL Dev Board PIC18F97J60

PIC EVAL Dev Board PIC18F97J60 PIC EVAL Dev Board PIC18F97J60 2 TP1 : Prise en main de l environnement de programmation pour la carte PIC EVAL-ANFA Pour répondre aux questions et justifier vos réponses, vous pouvez faire des copies

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

BeSpoon et l homme Connecté

BeSpoon et l homme Connecté BeSpoon et l homme Connecté Paris 25 et 26 Mars BeSpoon est une société «Fabless» qui a développé en collaboration avec le CEA-Leti un composant IR-UWB (Impulse Radio Ultra Wide Band) dédié à la localisation

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

Projet Robot Centaure

Projet Robot Centaure Projet Robot Centaure Année 2013-2014 IMA4 S8 Étudiants : Clément TACHÉ Liying WANG Enseignants : Robert Litwak Xiavier Redon Table des matières : Remerciements Introduction Présentation et état des lieux

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Introduction à l informatique en BCPST

Introduction à l informatique en BCPST Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

5.5 Utiliser le WiFi depuis son domicile

5.5 Utiliser le WiFi depuis son domicile Utiliser le WiFi depuis son domicile D autres formules existent. Une autre association, Wifi-Savoie propose par exemple un accès WiFi pour les utilisateurs de passage. Ceux-ci devront s acquitter d environ

Plus en détail

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8. WINDEV MOBILE ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8. WINDOWS Mobile permet de créer des applications pour les smartphones, les tablettes et les terminaux mobiles. Les applications sont

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Carte Relais GSM (Manuel Utilisateur)

Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM Introduction Cette carte est une véritable centrale de télécommande et d alarme par GSM. Elle se connecte par un port série à un modem GSM compatible

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Conférence sur les microcontroleurs.

Conférence sur les microcontroleurs. Conférence sur les microcontroleurs. Le microcontrôleur Les besoins et le développement. Vers 1970, pour des calculs (calculatrice). Le premier est le 4004 de Intel, 90K. La technologie. Les 2 principales

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Activité initiation Arduino

Activité initiation Arduino 2015 Activité initiation Arduino 0 SOMMAIRE TABLE DES ILLUSTRATIONS (FIGURES)... 3 INTRODUCTION... 4 COMPOSITION DE LA PLATEFORME ARDUINO... 4 UTILISATION DE LA BREADBOARD... 6 LISTE DU MATERIEL FOURNI

Plus en détail

L'objectif du sujet proposé est, après un état des lieux des technologies disponibles, de faire un panorama des usages courants/potentiels en

L'objectif du sujet proposé est, après un état des lieux des technologies disponibles, de faire un panorama des usages courants/potentiels en 1 L'objectif du sujet proposé est, après un état des lieux des technologies disponibles, de faire un panorama des usages courants/potentiels en agriculture en mettant en valeur les spécificités/contraintes,

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

Education Delivery Intelligent Tool

Education Delivery Intelligent Tool Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide

Plus en détail

Projet audio. Analyse des Signaux ELE2700

Projet audio. Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique Projet audio Analyse des Signaux ELE2700 Saad Chidami - 2014 Table des matières Objectif du laboratoire... 4 Caractérisation du bruit...

Plus en détail

White Paper - Livre Blanc

White Paper - Livre Blanc White Paper - Livre Blanc Développement d applications de supervision des systèmes d information Avec LoriotPro Vous disposez d un environnement informatique hétérogène et vous souhaitez à partir d une

Plus en détail

1. PRESENTATION DU PROJET

1. PRESENTATION DU PROJET Bac STI2D Formation des enseignants Jean-François LIEBAUT Denis PENARD SIN 63 : Prototypage d un traitement de l information analogique et numérique (PSoC) 1. PRESENTATION DU PROJET Les systèmes d éclairage

Plus en détail

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

La mesure des écarts en Sciences de l'ingénieur

La mesure des écarts en Sciences de l'ingénieur 1 sur 6 24/05/2015 18:44 La mesure des écarts en Sciences de l'ingénieur Gil Sause, Dominique Laporte La problématique L'enseignement des sciences de l'ingénieur (SI) au lycée s'inscrit dans une continuité

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Routeur Gigabit WiFi AC 1200 Dual Band

Routeur Gigabit WiFi AC 1200 Dual Band Performance et usage AC1200 Vitesse WiFi AC1200-300 + 867 Mbps Couverture Wi-Fi dans toute la maison 1200 DUAL BAND 300+900 RANGE Idéal pour connecter de nombreux périphériques WiFi au réseau Application

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les Tablettes Les tablettes Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les tablettes Description: Appareil mobile positionné entre smartphone

Plus en détail

Linux embarqué: une alternative à Windows CE?

Linux embarqué: une alternative à Windows CE? embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère

Plus en détail

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été

Plus en détail

ANALYSE TRAMEs LIAISON SERIE

ANALYSE TRAMEs LIAISON SERIE ANALYSE TRAMEs LIAISON SERIE 1 Objectifs de ce travail Nous allons étudier dynamiquement la liaison série en utilisant la simulation. La mise en œuvre des liaisons séries simulées et de TestCom est expliquée

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée Performance et usage Wi-Fi AC1900 - Vitesse 600Mbps (2.4GHz) + 1300 Mbps (5GHz) Processeur Dual Core 1GHz Fonctionnalités avancées pour le jeu en ligne sans latence Bande passante prioritaire pour les

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

Mode d emploi pour lire des livres numériques

Mode d emploi pour lire des livres numériques Mode d emploi pour lire des livres numériques Configuration minimale requise : Pour télécharger des ouvrages numériques sur son poste et utiliser les fichiers, vous avez besoin : sur PC : connexion Internet

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Mise en service HORUS version HTTP

Mise en service HORUS version HTTP HTTP 1 / 8 Mise en service HORUS version HTTP Date Indice Nature des modifications Rédaction Nom/visa 03/05/06 A Première rédaction XI Vérification Nom/visa Approbation Nom/visa HTTP 2 / 8 SOMMAIRE 1)

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Document de formation T I A Page 1 sur 23 Module A5 Ce document a été édité par Siemens

Plus en détail

ProducTVity Station. Surveillance en temps réel des performances de votre production

ProducTVity Station. Surveillance en temps réel des performances de votre production ProducTVity Station Surveillance en temps réel des performances de votre production > > Transforme en quelques minutes n importe quelle TV en tableau de bord de KPI, d OEE et d afficheur ANDON. > > Consultez

Plus en détail

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ 001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer

Plus en détail

Nouveautés Ignition v7.7

Nouveautés Ignition v7.7 ... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4. VMware ESX/ESXi 1. Les composants d ESX VMware ESX4 est le cœur de l infrastructure vsphere 4. C est un hyperviseur, c est à dire une couche de virtualisation qui permet de faire tourner plusieurs systèmes

Plus en détail

Inventorier, surveiller, localiser vos biens nomades en temps réel. Meylan - France Avril 2012

Inventorier, surveiller, localiser vos biens nomades en temps réel. Meylan - France Avril 2012 Inventorier, surveiller, localiser vos biens nomades en temps réel Meylan - France Avril 2012 LA SOCIETE FIREFLIES RTLS SAS (*) est une société grenobloise qui conçoit, réalise et installe des solutions

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Carte ARDUINO UNO Microcontrôleur ATMega328

Carte ARDUINO UNO Microcontrôleur ATMega328 Microcontrôleurs EI3 Option AGI Carte ARDUINO UNO Microcontrôleur ATMega328 B. Cottenceau B311 ISTIA bertrand.cottenceau@univ-angers.fr Microcontrôleurs 1/23 1 Introduction Le modèle UNO de la société

Plus en détail

Clé USB 2.0 Wi-Fi 802.11n Référence 495257

Clé USB 2.0 Wi-Fi 802.11n Référence 495257 Clé USB 2.0 Wi-Fi 802.11n Référence 495257 Le Wi-Fi haute vitesse - Débit brut 150 Mbits/s MET923 A LIRE ABSOLUMENT Merci d avoir choisi la clé Wi-Fi Metronic 802.11n. Cette clé utilise les dernières

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Réalisation de SMSMail

Réalisation de SMSMail Rapport de projet de seconde année du cycle ingénieur Département Informatique, Microélectronique, Automatique Polytech'Lille, Villeneuve d Ascq Réalisation de SMSMail Source : http://projets-imasc.plil.net/mediawiki/index.php?title=projets_ima4_sc_%26_sa_2012/2013

Plus en détail

Robot de Téléprésence

Robot de Téléprésence Robot de Téléprésence Projet innovant BISCH Simon / FOURURE Florian / VICENTE VALVERDE César 12 Sommaire Introduction... 3 Description du projet... 4 Logiciel de vidéoconférence : Linphone... 5 La connexion...

Plus en détail

Procédures de qualification Télématicienne CFC Télématicien CFC

Procédures de qualification Télématicienne CFC Télématicien CFC Série 201 Connaissances professionnelles écrites Pos. 4.2 Télématique, technique du réseau Procédures de qualification Télématicienne CFC Télématicien CFC Nom, prénom N de candidat Date......... Temps:

Plus en détail

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2

Plus en détail

Mise en route de votre collier GPS Pet Tracker

Mise en route de votre collier GPS Pet Tracker Mise en route de votre collier GPS Pet Tracker www.jelocalise.fr 1 Prérequis : Avant de procéder à l allumage de votre collier GPS, vous devez le laisser charger au moins 3 heures en le branchant sur le

Plus en détail

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service 10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore

Plus en détail

Mes documents Sauvegardés

Mes documents Sauvegardés Mes documents Sauvegardés Guide d installation et Manuel d utilisation du logiciel Edition 13.12 Photos et illustrations : Copyright 2013 NordNet S.A. Tous droits réservés. Toutes les marques commerciales

Plus en détail

Ecran programmable. Testez la différence grâce. à sa puissance, sa rapidité. et ses possibilités réseaux

Ecran programmable. Testez la différence grâce. à sa puissance, sa rapidité. et ses possibilités réseaux Ecran programmable Testez la différence grâce à sa puissance, sa rapidité et ses possibilités réseaux Gamme de Produits Compact & hautement fonctionnel Pouces Couleurs Rétro éclairage 3 Ports série Maitre/

Plus en détail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

Plus en détail

Catalogue des stages Ercom 2013

Catalogue des stages Ercom 2013 Catalogue des stages Ercom 2013 Optimisations sur Modem LTE Poste basé à : Caen (14) Analyse et optimisation des performances des traitements réalisés dans un modem LTE. - Profiling et détermination des

Plus en détail

Interface Quad Disque Dur Externe. Guide utilisateur Français

Interface Quad Disque Dur Externe. Guide utilisateur Français Interface Quad Disque Dur Externe Guide utilisateur Français 1 Sommaire Introduction 3 Commandes, branchements et indicateurs 3 Face avant 3 Face arrière 3 A propos du disque dur 4 Placement du disque

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Manuel d utilisation ProCod TWK France 13-15, avenue de Stalingrad 93170 BAGNOLET T. 01 43 62 00 05 F. 01 43 63

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Cloud Computing et SaaS

Cloud Computing et SaaS Cloud Computing et SaaS On a vu fleurir ces derniers temps un grands nombre de sigles. L un des premiers est SaaS, Software as a Service, sur lequel nous aurons l occasion de revenir. Mais il y en a beaucoup

Plus en détail

COLLEGE ADRIEN CERNEAU

COLLEGE ADRIEN CERNEAU COLLEGE ADRIEN CERNEAU MARCHE A PROCEDURE ADAPTÉE (MAPA) DE FOURNITURES D EQUIPEMENTS INFORMATIQUES CAHIER DES CHARGES (CLAUSES ADMINISTRATIVES ET TECHNIQUES) Lot 1 : Tablettes tactiles Android Lot 2 :

Plus en détail

Coffret Distributeur de DJ10: Distributeur de jetons (Avec PC embarqué Siemens et suite logicielle)

Coffret Distributeur de DJ10: Distributeur de jetons (Avec PC embarqué Siemens et suite logicielle) Distributeur de jetons & Point de vente Etudes des solutions électroniques d un point de vente avec distributeur de jetons Le Distributeur de jetons en un clin d œil Sections Electronique, Informatique

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02) Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02) Ne rien livrer au hasard, c est économiser du travail Pont Sainte Maxence(O C est quoi USB? Comment ça marche? Les standards? La technique en détail

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

Module Criteo Tags et Flux pour Magento

Module Criteo Tags et Flux pour Magento Module Criteo Tags et Flux pour Ma Module Criteo Tags et Flux pour Ma Documentation Auteur : Web In Color Date : 23 décembre 2014 Version : 1.3.1 Compatibilité : Ma 1.5.x 1.9.x Nom du document : wic_criteo_fr.pdf

Plus en détail

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA Fonctions principales : Ordinateur multimédia embarqué sous Linux 2.6 Enregistreur audio-vidéo 4 canaux 8 Mbps, Full HD 1920x1080p, 4 caméras simultanées,

Plus en détail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures Le stockage 1. Architecture de stockage disponible a. Stockage local ou centralisé L architecture de stockage à mettre en place est déterminante pour l évolutivité et la performance de la solution. Cet

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

PocketNet SNMP/Modbus

PocketNet SNMP/Modbus Volume 1 RBEI-ADISCOM Manuel utilisateur PocketNet SNMP/Modbus CONVERTISSEUR SERIE - ETHERNET Manuel utilisateur PocketNet SNMP/Modbus Table des matières CHAPITRE 1 Caractéristiques utiles à la mise en

Plus en détail

Premier démarrage de votre portable GIGABYTE

Premier démarrage de votre portable GIGABYTE Félicitations pour l'achat de votre portable GIGABYTE. Ce manuel vous aidera à installer et commencer à utiliser votre nouvel ordinateur portable. Pour plus d informations, visitez notre site Web :http://www.gigabyte.fr.

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Bien commencer avec un LaunchPad MSP430G et un Breadboard Bien commencer avec un LaunchPad MSP430G et un Breadboard Pierre-Yves Rochat Le LaunchPad et Energia Texas Instrument propose un environnement de développement très complet pour ses MSP430, appelé Code

Plus en détail