Arietta G25

De L'abscisse - FabLab et Hackerspace de Dijon
Aller à : navigation, rechercher
Dialog-warning.png Article en cours de rédaction figurant dans les projets du hacklab Dialog-warning.png


La carte Arietta G25 avec les connecteurs WiFi et GPIO soudés

Présentation

L'Arietta G25 est une carte dédiée au monde de l’informatique embarqué open source produite par ACME systems. Moins populaire que le Raspberry Pi, elle est dépourvue des fonctionnalités multimedia de ce dernier (Video / Son / Réseau) pour offrir une consommation réduite.


Dialog-warning.png Fix Me !

Vous pouvez ajouter les informations manquantes !!!

Caractéristiques

Principales caractéristiques

Processeur : Atmel AT91SAM9G25 SoC (ARM9 @ 400Mhz)

Ram : DDR2 128 or 256 Mo

Alimentation : 5VDC (prise microUSB ou connecteur GPIO) ou 3.3VDC via le connecteur GPIO

Signaux logiques en TTL 3.3V (NON COMPATIBLE 5V)

Températures de fonctionnement:

  • ARIETTA-G25 (Modèle 128 Mo): -20 +70 °C
  • ARIETTA-G25-256 (Modèle 256 Mo): -0 +70 °C

Taille: 53x25mm


Données extraites du site officiel.

Coût

  • 20 € pour la version 128 Mo
  • 30 € pour la version 256 Mo

Informations complémentaires

Dialog-warning.png Fix Me !

Vous pouvez ajouter les informations manquantes !!!

  • Bouton poussoir et LED programmables.
  • Horloge temps réel (RTC) intégrée, nécessite une alimentation indépendante ( pin 2, +3VDC )
  • 4 entrées analogiques
  • 4 sorties PWM

/!\ A première vue, il ne semble pas possible d'utiliser en même temps les entrées analogiques et les sorties PWM. La question doit être creusée...

Pinout

cf l'outil de config sur le site officiel : site officiel

Mise en oeuvre rapide

Matériel nécessaire

  • Une Arietta G25 ( Enfin, ça va de soit =) )
  • Une carte microSD d'1 go minimum ( 2 go conseillés )
  • Un câble USB - microUSB

Partitionnement de la carte microSD

La carte microSD contenant le système d'exploitation de l'Arietta doit suivre un schéma de partitionnement précis. Pour cela, on utilise le logiciel Gparted.

La première étape est de supprimer toute partition présente sur la carte microSD . Attention à bien sélectionner le bon périphérique ( ici /dev/sdb ).

Arietta Installation Gparted1.png

Si vous n'êtes pas certains du périphérique représentant la carte microSD, utilisez la commande 'dmesg' pour identifier le dernier périphérique connecté.

Maintenant il faut créer les partitions. Pour chaque partition, il faut choisir un alignement sur les cylindres.

Partition kernel : type FAT16, 32MO :

Arietta Installation Gparted2.png

Partition rootfs : type ext4, 1GO :

Arietta Installation Gparted3.png

Partition data : type ext4, taille restante - 128 MO

Arietta Installation Gparted4.png

Partition swap : type linux-swap, 128MO

Arietta Installation Gparted5.png

Le partitionnement du disque affiché par GParted devrait être similaire à celui-ci :

Arietta Installation Gparted6.png

Il ne reste plus qu'à valider les modifications pour que celles-ci prennent effet : Menu Edition -> Appliquer la liste des opérations

L'ensemble des opérations effectuées par GParted ne devrait pas durer plus de quelques minutes. Le partitionnement est terminé lorsque la fenêtre suivant est affichée :

Arietta Installation Gparted7.png

Débrancher puis rebrancher la carte ou le lecteur afin de permettre le montage automatique des partitions.

Notes : Apparemment, il faut impérativement les 4 partitions pour que l'Arietta boot correctement, et celles-ci doivent être dans l'ordre (sdb1, sdb2, sdb3 puis sdb4)

Copie des fichiers nécessaires

!!! nouvelle version et nouvelle procédure à l'adresse http://www.acmesystems.it/binary_repository !!!


Récupérer les fichiers nécessaires au démarrage de l'Arietta ici : http://www.acmesystems.it/download/microsd/Arietta-30aug2014/

Exécuter ensuite les commandes suivantes dans le dossier de téléchargement pour extraire les archives sur la carte microSD :

$ sudo tar -xvjpSf kernel.tar.bz2 -C /media/$USER/kernel
$ sudo tar -xvjpSf rootfs.tar.bz2 -C /media/$USER/rootfs
$ sync

( la seconde commande peut prendre plusieurs minutes )

Démonter ensuite les partitions, et insérer la microSD dans l'Arietta. L'instant tant attendu arrive enfin, c'est le moment de procéder au ...

Premier démarrage

Une fois l'Arietta connectée par USB à un PC, sa LED rouge doit se mettre à clignoter après quelques secondes. On attend la détection de l'interface réseau, en surveillant régulièrement le retour de la commande suivante :

$ sudo ifconfig usb0

Cela ne devrait pas prendre plus d'une minute.

Dès que l'interface est détectée, lui affecter l'adresse IP 192.168.10.20. Utiliser pour cela le gestionnaire de réseau, ou, si votre distribution Linux en est dépourvue, la commande suivante :

$ sudo ifconfig usb0 192.168.10.20

Note : Si un gestionnaire de réseau est présent, la précédente commande n'aura qu'un effet temporaire.


On peut alors se connecter en SSH sur l'Arietta :

$ ssh acme@192.168.10.10

Note : Les deux utilisateurs existants : acme et root ont pour mot de passe acmesystems.

Ou utiliser directement l'interface web fournie, qui intègre un terminal, ainsi qu'un environnement de développement, simplement en saisissant l'adresse IP de l'Arietta (192.168.1.10) dans un navigateur web !

Arietta Web Index.png

Interfaces

GPIOs

Configuration des ports GPIO de l'arietta G25

/!\ les GPIOs sont COMPATIBLES 3.3V SEULEMENT ( comme ceux du Raspberry Pi )

écrire le numéro du GPIO dans /sys/class/gpio/export => création d'un dossier pioXYY représentant le pin => changement du sens (in/out) dans le fichier pioXYY/direction => écriture / lecture par fichier pioXYY/value


Il est possible de reconfigurer les GPIO à l'aide d'un fichier acme-arietta.dtb placé dans le /boot au démarrage de l'Arietta. Ce fichier peut être généré avec la page du constructeur à l'adresse dts.acmesystems.it/arietta/

Dans le premier onglet, choisissez les ports à activer sur les GPIO. Les modifications apparaissent en direct et l'outil vous indique les éventuels conflits.

Vous pouvez visionner le fichier dans le deuxième onglet

Le troisième onglet permet compiler et de récupérer le fichier à placer dans le /boot.

L'onglet Pin Help permet d'avoir des informations complémentaires et très utiles sur les Pin de l'Arietta. Comme par exemple que le port USB B est utilisé par le module Wifi si il est présent ;)


Dialog-warning.png Fix Me !

Vous pouvez ajouter les informations manquantes !!!

Bouton poussoir intégré

Le bouton poussoir est connecté à la ligne GPIO 81. Il suffit donc de lire le GPIO 81 pour détecter l'état du bouton. Exemple :

# echo "81" > export
# watch -n 0.1 cat pioC17/value

Note : la valeur lue est en logique inverse : '0' indique que le bouton poussoir est appuyé, tandis que '1' indique qu'il est relâché.

LED intégrée

La LED intégrée sur l'Arietta est aussi contrôlable, mais on y accède de façon différente. Tous les fichiers relatifs à cette LED se trouvent dans le dossier suivant :

/sys/class/leds/arietta_led

Le fichier le plus intéressant s'intitule trigger. Il indique, lorsqu'on le lit, le mode de contrôle actuel de la led :

acme@arietta:/sys/class/leds/arietta_led$ cat trigger
none nand-disk timer oneshot [heartbeat] gpio cpu0 mmc0 phy0rx phy0tx phy0assoc phy0radio

Pour modifier le mode de contrôle de la led, il suffit d'écrire le nom du mode désiré dans le fichier trigger Le tableau suivant explique chaque mode. Les modes en gras sont les plus utiles.

Dialog-warning.png Fix Me !

Vous pouvez ajouter les informations manquantes !!!

none Contrôle manuel par écriture dans le fichier brightness. 0 éteint la LED. Tout nombre positif l'allume. Ecrire 0 dans le fichier brightness provoque automatiquement le basculement sur ce mode.
nand-disk S'allume sur accès au disk nand. Cette mémoire n'étant pas présente sur l'Arietta, ce mode est inutile.
timer Clignotements de durées réglables dans les fichier delay_on et delay_off (Valeurs en millisecondes)
oneshot Un seul clignotement, durées réglables dans les fichier delay_on et delay_off, déclenchement par écriture dans le fichier shot.
heartbeat Clignotement de type "battements de coeur". Mode par défaut.
gpio  ??? Provoque l'affichage des fichiers desired_brightness, gpio et inverted, mais leur écriture ne semble avoir aucun effet.
cpu0 S'allume sur utilisation du cpu
mmc0 S'allume sur accès à la carte microSD
phy0rx Non testés, vraisemblablement liés à l'adaptateur WiFi.
phy0tx
phy0assoc
phy0radio

Manipulation des GPIOs en Python

https://fablab.coagul.org/index.php/Arietta_G25_GPIO_et_python

Liens

Site officiel
(en)http://www.acmesystems.it/arietta

Présentation et prise en main du Arietta G25
(fr)http://www.kiwil-dev.fr/2014/06/acme-systems-arietta-g25.html

ARM : Informations sur le Device Tree File
(en)http://elinux.org/images/4/48/Experiences_With_Device_Tree_Support_Development_For_ARM-Based_SOC%27s.pdf

Licence de la page

Attribution - Partage dans les Mêmes Conditions 3.0 non transposé (CC BY-SA 3.0)

Vous êtes libre de :

  • partager — reproduire, distribuer et communiquer l’œuvre
  • remixer — adapter l’œuvre
  • d’utiliser cette œuvre à des fins commerciales

Selon les conditions suivantes :

  • Attribution — Vous devez attribuer l’œuvre de la manière indiquée par l’auteur de l’œuvre ou le titulaire des droits (mais pas d’une manière qui suggérerait qu’ils vous approuvent, vous ou votre utilisation de l’œuvre).
  • Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci.

http://creativecommons.org/licenses/by-sa/3.0/deed.fr