GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
L’electronique grand public au service del’instrumentation scientifique
Aurelien Jarno
Reseau des electroniciens de la recherche - Rhone-Auvergne
14 decembre 2006
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Introduction
L’electronique grand public
miniaturisationde plus en plus performanteune foule de nouveaux produits
Instrumentation scientifiquenouveaux moyens de communication avec le monde exterieur :
EthernetWi-FiUSB
systemes de plus en plus complexesdeveloppement a l’unite ou en petite serienecessite de developper vite, bien et pas cher
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
GNU/Linux
Systeme d’exploitation
Le noyau : LinuxL’espace utilisateur : GNU
Systeme UNIX
Logiciel libre
Multitache, temps reel possible (RTAI)
Support TCP/IP natif
Necessite peu de ressources
Fonctionne sur un grand nombred’architectures (15+)
Un grand nombre de distributions
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
GNU/Linux : vers l’electronique grand public
Au debut, un challenge d’informaticien sur :
les assistants numeriques personnels (PDA)les consoles de jeux (X-Box, PS2, etc.)
Ensuite utilise de base par les fabricants sur :
les consoles de jeuxles assistants numeriques personnelsles baladeurs MP3les (( boxes )) ADSLles routeurs ADSLles points d’acces Wi-Files disques durs reseaules cameras IPles telephones voix sur IPetc.
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Des modifications possiblesUtilisationsAvantages
Des modifications possibles
Les sources sont disponibles, profitons en !
Firmware alternatifsSouvent base sur le firmware original, quelques fonctionnalitessupplementaires
Distributions specifiquesSpecifique a un ou plusieurs produitsNombreux logiciels disponiblesLimite par la taille de la memoire FLASH
Distributions generalistesFonctionne sur un grand nombre de machines, du baladeurMP3 au supercalculateur, en passant par le PC de bureauEnvironnement logiciel identiqueUn tres grand nombre de logiciels disponiblesNecessite de rajouter de la memoire de masse (disque dur, cleUSB)
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Des modifications possiblesUtilisationsAvantages
Pour quoi faire ?
Pour l’informaticien :
Serveur
faible coutpetitsilencieux
Plateforme de developpement
Pour le (( bricoleur )) :
Camera autonome
Centrale meteo
Et pour l’electronicien ?
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Des modifications possiblesUtilisationsAvantages
Et pour l’electronicien ?
Exploiter les possibilites d’entrees/sorties, quitte a modifier lacarte
Ethernet, Wi-FiPorts RS232 (µC, capteurs, etc.)Ports USB (disque dur, webcam, Wi-Fi, etc.)I2C (tres nombreux composants)E/S disponibles ((( GPIO )))
Exemples :
Centrale de mesureControle a distanceSurveillance videoTraitement du signal
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Des modifications possiblesUtilisationsAvantages
Avantages
Materielquasiment pret a l’emploipuissance de calculfaibles dimensions, faible consommation
Logicielsysteme multitache, temps reel possibleTCP/IP natiftres grand nombre de logiciels, bibliothequesmeme environnement qu’un PC de bureau
Des langages de programmation (( standards ))
C, C++, C# , Fortran, Java, Ada
Mais aussi des langages de haut niveauShell UNIX, Python, Perl, Ruby, Smalltalk, Eiffel, Lisp, OCaml,etc.
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les criteresLes grande familles de CPULes CPU ARMLes CPU MIPSQuelques exemples de produitsOutils de developpement
Le choix du produit a modifier
CPU supporte par Linux
8 Mo de memoire minimum, 32 Mo conseilles
au moins 4 Mo de memoire FLASH
si possible au moins 1 port USB pour mettre un disque dur /cle USB
des E/S (RS232, I2C, GPIO)
Pour l’electronicien, un produit pour lequel le travailde developpement logiciel a ete fait.
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les criteresLes grande familles de CPULes CPU ARMLes CPU MIPSQuelques exemples de produitsOutils de developpement
ARM ou MIPS ou ?
Marche reparti entre ARM (60 %) et MIPS (30 %)
ARM sur les assistants personnels
MIPS sur les produits orientes (( reseaux ))
M32R au Japon et en Coree
PowerPC sur les produits haut de gamme
x86 (486, Geode, Via C3 ou C7), mais peu repandu
Une fois GNU/Linux installe, peu de differencespour l’utilisateur, excepte le (( probleme )) big/little
endian.
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les criteresLes grande familles de CPULes CPU ARMLes CPU MIPSQuelques exemples de produitsOutils de developpement
Les CPU ARM
Processeur RISC 32 bits concu en 1983
Re-orientation vers l’embarque au debut des annees 1990
Faible consommation
Mode (( Thumb )) 16 bits
Jusqu’au dual-coeur 1,2 GHz
Disponible en tant qu’IP
Nombreux fabricants : Intel, IBM, Infineon, NXP,STMicroelectronics, Freescale, Texas Instrument, etc.
Souvent disponible en temps que (( System-on-a-Chip ))
FPU souvent absent
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les criteresLes grande familles de CPULes CPU ARMLes CPU MIPSQuelques exemples de produitsOutils de developpement
Les CPU MIPS
Processeur RISC 32 bits concu en 1981
Premier CPU 64 bits en 1991
Utilise par Silicon Graphics pour ses stations graphiques
Utilise dans les supercalculateurs
Re-orientation vers l’embarque fin des annees 1990
Faible consommation
Jusqu’au quad-coeur 64 bits a 1,0 GHz
Disponible en tant qu’IP
Nombreux fabricants : NEC, Toshiba, Broadcom, Infineon,NXP, Texas Instrument, etc.
Souvent disponible en temps que (( System-on-a-Chip ))
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les criteresLes grande familles de CPULes CPU ARMLes CPU MIPSQuelques exemples de produitsOutils de developpement
Quelques exemples de produits
Linksys WRT54G
Netgear WGT634U
Thecus N2100
Netgear SC101
D-Link DSMG600
Linksys NSLU2
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les criteresLes grande familles de CPULes CPU ARMLes CPU MIPSQuelques exemples de produitsOutils de developpement
Outils de developpement
Les memes que sur un PC
Compilateur GCCDebugger GDBL’editeur de son choix
Possibilite d’installer les outils de developpement
sur la machine ciblesur une autre machine (cross-compilation)limite par les capacites de la machine
Pas de compilation pour la plupart des langages de hautniveau (langages interpretes)
Possibilite d’utiliser un emulateur (par exemple QEMU)
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Un exemple concret : le LinksysNSLU2
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Le NSLU2
Fonction originale : (( Network Attached Storage ))
Partage d’un disque dur USB sur un reseau TCP/IP (Ethernet)
Environ 100 e dans les grandes surfaces et chez lesrevendeurs informatiques
Processeur Intel IXP420 133 MHz(ou 266 MHz)
32 Mo de SD-RAM
8 Mo de Flash
Interface Ethernet 100 Mbit/s
Controleur USB 2.0 (2 prises)
Horloge
Interface I2C, interface RS232Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
NSLU2 : La carte
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Les supports de masse
Disque dur externe
Disques de tres grande tailleAttention aux disques durs alimentes par l’USB !
Cle USB
Les cles USB de 2 ou 4 Go sont devenues abordablesLe nombre d’ecriture est limite en theorie, peu de problemes enpratiqueEviter les cles USB (( no-name ))
De preference, choisir une cle USB (( rapide ))
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
NSLU2 : Choix de la distribution
Installation a partir des sources
Installation d’une distribution qui supporte ce produit :
SlugOSGentooDebian
Choix de Debian
InstalleurLogiciels deja compilesEnviron 15 Go de logicielsdisponibles
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Installation de Debian GNU/Linux (1/2)
Changer le firmware
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Installation de Debian GNU/Linux (2/2)
Connexion via SSH a la machine, utilisation de (( Debian Installer ))
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Premiere connexion a la machine
Connexion via SSH a la machine
Shell UNIX standard
Outils d’administration standards
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Overclocking
Fonctionne de base a 133 MHz
Specification Intel : 266 MHz sans dissipateur
Une resistance a enlever
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Ajouter de la memoire
2 x 16 Mo de base
SD-RAM standard
Superposition des composants
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Port RS232
Souder un connecteur a l’emplacement prevu
Logique 3,3 V (si besoin utiliser un composant de typeMAX232)
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Bus I2C (1/2)
Bus (( Inter Integrated Circuit )) developpe au debut desannees 1980 par PhilipsBus 3 fils : masse, donnees (SDA), horloge (SCL)Bus maıtre / esclave ; plusieurs maıtres et plusieurs esclavespossibles ; une adresse par esclave100 kbit/s, 400 kbit/s, ou 1 Mbit/sUn grand nombre de composants disponibles :
microcontroleursE/S 8 ou 16 bitsconvertisseurs A/N et N/Amemoires (RAM, EPROM, EEPROM, etc.)capteur de temperatureafficheurs LCD, LED, ...audio, video, teletexteetc.
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Les supports de masseInstallation de GNU/LinuxPremiere connexionModifications materielles
Bus I2C (2/2)
Il s’agit en fait de broches ((
GPIO ))
Recuperer les broches SDAet SCL sur l’horloge
Recuperer une masse et un+3,3 V ou +5 V pres del’alimentation
Logique 3,3 V
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Demonstration
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Demonstration (1/3)
WebCam Isolateur I2C
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Demonstration (2/3)
E/S 8 bits Thermometre / thermostat
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Demonstration (3/3)
CAN 4 entrees 8 bits / CNA 8bits
Ventilateur de PC
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Quelques liens
Aurelien Jarno Electronique grand public et instrumentation scientifique
GNU/LinuxElectronique grand public
Le choix du produit a modifierLinksys NSLU2DemonstrationQuelques liens
Quelques liens
Linux : http ://fr.wikipedia.org/wiki/Linux
Langages de programmation :http ://fr.wikipedia.org/wiki/Langage de programmation
NSLU2-Linux : http ://www.nslu2-linux.org
Debian : http ://www.debian.org
Debian on the Linksys NSLU2 :http ://www.cyrius.com/debian/nslu2/
Le bus I2C : http ://www.aurel32.net/elec/i2c.php
Aurelien Jarno Electronique grand public et instrumentation scientifique