L`électronique grand public au service de l

publicité
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
L’électronique grand public au service de
l’instrumentation scientifique
Aurélien Jarno
Réseau des électroniciens de la recherche - Rhône-Auvergne
14 décembre 2006
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Introduction
L’électronique grand public
miniaturisation
de plus en plus performante
une foule de nouveaux produits
Instrumentation scientifique
nouveaux moyens de communication avec le monde exterieur :
Ethernet
Wi-Fi
USB
systèmes de plus en plus complexes
développement à l’unité ou en petite série
nécessité de développer vite, bien et pas cher
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
GNU/Linux
Système d’exploitation
Le noyau : Linux
L’espace utilisateur : GNU
Système UNIX
Logiciel libre
Multitâche, temps réel possible (RTAI)
Support TCP/IP natif
Nécessite peu de ressources
Fonctionne sur un grand nombre
d’architectures (15+)
Un grand nombre de distributions
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
GNU/Linux : vers l’électronique grand public
Au début, un challenge d’informaticien sur :
les assistants numériques personnels (PDA)
les consoles de jeux (X-Box, PS2, etc.)
Ensuite utilisé de base par les fabricants sur :
les consoles de jeux
les assistants numériques personnels
les baladeurs MP3
les (( boxes )) ADSL
les routeurs ADSL
les points d’accès Wi-Fi
les disques durs réseau
les caméras IP
les téléphones voix sur IP
etc.
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Des modifications possibles
Utilisations
Avantages
Des modifications possibles
Les sources sont disponibles, profitons en !
Firmware alternatifs
Souvent basé sur le firmware original, quelques fonctionnalités
supplémentaires
Distributions spécifiques
Spécifique à un ou plusieurs produits
Nombreux logiciels disponibles
Limité par la taille de la mémoire FLASH
Distributions généralistes
Fonctionne sur un grand nombre de machines, du baladeur
MP3 au supercalculateur, en passant par le PC de bureau
Environnement logiciel identique
Un très grand nombre de logiciels disponibles
Nécessite de rajouter de la mémoire de masse (disque dur, clé
USB)
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Des modifications possibles
Utilisations
Avantages
Pour quoi faire ?
Pour l’informaticien :
Serveur
faible coût
petit
silencieux
Plateforme de développement
Pour le (( bricoleur )) :
Caméra autonome
Centrale météo
Et pour l’électronicien ?
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Des modifications possibles
Utilisations
Avantages
Et pour l’électronicien ?
Exploiter les possibilités d’entrées/sorties, quitte à modifier la
carte
Ethernet, Wi-Fi
Ports RS232 (µC, capteurs, etc.)
Ports USB (disque dur, webcam, Wi-Fi, etc.)
I2 C (très nombreux composants)
E/S disponibles ((( GPIO )))
Exemples :
Centrale de mesure
Contrôle à distance
Surveillance vidéo
Traitement du signal
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Des modifications possibles
Utilisations
Avantages
Avantages
Materiel
quasiment prêt à l’emploi
puissance de calcul
faibles dimensions, faible consommation
Logiciel
système multitâche, temps réel possible
TCP/IP natif
très grand nombre de logiciels, bibliothèques
même environnement qu’un PC de bureau
Des langages de programmation (( standards ))
C, C++, C# , Fortran, Java, Ada
Mais aussi des langages de haut niveau
Shell UNIX, Python, Perl, Ruby, Smalltalk, Eiffel, Lisp, OCaml,
etc.
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les critères
Les grande familles de CPU
Les CPU ARM
Les CPU MIPS
Quelques exemples de produits
Outils de développement
Le choix du produit à modifier
CPU supporté par Linux
8 Mo de mémoire minimum, 32 Mo conseillés
au moins 4 Mo de mémoire FLASH
si possible au moins 1 port USB pour mettre un disque dur /
clé USB
des E/S (RS232, I2 C, GPIO)
Pour l’électronicien, un produit pour lequel le travail
de développement logiciel a été fait.
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les critères
Les grande familles de CPU
Les CPU ARM
Les CPU MIPS
Quelques exemples de produits
Outils de développement
ARM ou MIPS ou ?
Marché réparti entre ARM (60 %) et MIPS (30 %)
ARM sur les assistants personnels
MIPS sur les produits orientés (( réseaux ))
M32R au Japon et en Corée
PowerPC sur les produits haut de gamme
x86 (486, Geode, Via C3 ou C7), mais peu répandu
Une fois GNU/Linux installé, peu de différences
pour l’utilisateur, excepté le (( problème )) big/little
endian.
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les critères
Les grande familles de CPU
Les CPU ARM
Les CPU MIPS
Quelques exemples de produits
Outils de développement
Les CPU ARM
Processeur RISC 32 bits conçu en 1983
Ré-orientation vers l’embarqué au début des années 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
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les critères
Les grande familles de CPU
Les CPU ARM
Les CPU MIPS
Quelques exemples de produits
Outils de développement
Les CPU MIPS
Processeur RISC 32 bits conçu en 1981
Premier CPU 64 bits en 1991
Utilisé par Silicon Graphics pour ses stations graphiques
Utilisé dans les supercalculateurs
Ré-orientation vers l’embarqué fin des années 1990
Faible consommation
Jusqu’au quad-coeur 64 bits à 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 ))
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les critères
Les grande familles de CPU
Les CPU ARM
Les CPU MIPS
Quelques exemples de produits
Outils de développement
Quelques exemples de produits
Linksys WRT54G
Thecus N2100
D-Link DSMG600
Netgear WGT634U
Netgear SC101
Linksys NSLU2
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les critères
Les grande familles de CPU
Les CPU ARM
Les CPU MIPS
Quelques exemples de produits
Outils de développement
Outils de développement
Les mêmes que sur un PC
Compilateur GCC
Debugger GDB
L’éditeur de son choix
Possibilité d’installer les outils de développement
sur la machine cible
sur une autre machine (cross-compilation)
limité par les capacités de la machine
Pas de compilation pour la plupart des langages de haut
niveau (langages interprétés)
Possibilité d’utiliser un émulateur (par exemple QEMU)
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Un exemple concret : le Linksys
NSLU2
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Le NSLU2
Fonction originale : (( Network Attached Storage ))
Partage d’un disque dur USB sur un réseau TCP/IP (Ethernet)
Environ 100 e dans les grandes surfaces et chez les
revendeurs informatiques
Processeur Intel IXP420 133 MHz
(ou 266 MHz)
32 Mo de SD-RAM
8 Mo de Flash
Interface Ethernet 100 Mbit/s
Contrôleur USB 2.0 (2 prises)
Horloge
Interface I2 C, interface RS232
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
NSLU2 : La carte
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Les supports de masse
Disque dur externe
Disques de très grande taille
Attention aux disques durs alimentés par l’USB !
Clé USB
Les clés USB de 2 ou 4 Go sont devenues abordables
Le nombre d’écriture est limité en théorie, peu de problèmes en
pratique
Éviter les clés USB (( no-name ))
De préférence, choisir une clé USB (( rapide ))
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
NSLU2 : Choix de la distribution
Installation à partir des sources
Installation d’une distribution qui supporte ce produit :
SlugOS
Gentoo
Debian
Choix de Debian
Installeur
Logiciels déja compilés
Environ 15 Go de logiciels
disponibles
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Installation de Debian GNU/Linux (1/2)
Changer le firmware
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Installation de Debian GNU/Linux (2/2)
Connexion via SSH à la machine, utilisation de (( Debian Installer ))
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Première connexion à la machine
Connexion via SSH à la machine
Shell UNIX standard
Outils d’administration standards
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Overclocking
Fonctionne de base à 133 MHz
Spécification Intel : 266 MHz sans dissipateur
Une résistance à enlever
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Ajouter de la mémoire
2 x 16 Mo de base
SD-RAM standard
Superposition des composants
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Port RS232
Souder un connecteur à l’emplacement prévu
Logique 3,3 V (si besoin utiliser un composant de type
MAX232)
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Bus I2 C (1/2)
Bus (( Inter Integrated Circuit )) devéloppé au début des
années 1980 par Philips
Bus 3 fils : masse, données (SDA), horloge (SCL)
Bus maı̂tre / esclave ; plusieurs maı̂tres et plusieurs esclaves
possibles ; une adresse par esclave
100 kbit/s, 400 kbit/s, ou 1 Mbit/s
Un grand nombre de composants disponibles :
microcontrôleurs
E/S 8 ou 16 bits
convertisseurs A/N et N/A
mémoires (RAM, EPROM, EEPROM, etc.)
capteur de température
afficheurs LCD, LED, ...
audio, video, télétexte
etc.
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Les supports de masse
Installation de GNU/Linux
Première connexion
Modifications matérielles
Bus I2 C (2/2)
Il s’agit en fait de broches ((
GPIO ))
Récupérer les broches SDA
et SCL sur l’horloge
Récupérer une masse et un
+3,3 V ou +5 V près de
l’alimentation
Logique 3,3 V
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Démonstration
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Démonstration (1/3)
Isolateur I2 C
WebCam
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Démonstration (2/3)
E/S 8 bits
Thermomètre / thermostat
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Démonstration (3/3)
CAN 4 entrées 8 bits / CNA 8
bits
Aurélien Jarno
Ventilateur de PC
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques liens
Quelques liens
Aurélien Jarno
Électronique grand public et instrumentation scientifique
GNU/Linux
Électronique grand public
Le choix du produit à modifier
Linksys NSLU2
Démonstration
Quelques 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 I2 C : http ://www.aurel32.net/elec/i2c.php
Aurélien Jarno
Électronique grand public et instrumentation scientifique
Téléchargement