Différences entre versions de « Rasp-Os-Occidentalis-v0.2 »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 74 : Ligne 74 :
 
'''Note importante:''' AdaFruit n'a pas écrit ses modules lui même et ne fait pas de support pour pour ces modules Kernel. Pour être sincère, ils ne savent pas s'il fonctionnent tous correctement. Prenez le temps de faire des tests et de lire les documentations de ces modules!
 
'''Note importante:''' AdaFruit n'a pas écrit ses modules lui même et ne fait pas de support pour pour ces modules Kernel. Pour être sincère, ils ne savent pas s'il fonctionnent tous correctement. Prenez le temps de faire des tests et de lire les documentations de ces modules!
  
=== PWM and Servo Kernel Module ===
+
=== Module kernel pour PWM et Servo ===
The most exciting addition is our custom-written kernel module specifically for handling the PWM/Servo capability of the Raspberry Pi's GPIO #18 pin. Unfortunately there is only one PWM pin available on the GPIO header '''and its shared''' with the Audio system. That means that '''you can't use PWM/Servo output and play audio through the 3.5mm jack at the same time'''. However, there might be a few situations where you just need a single servo or PWM and audio isn't a requirement.
+
L'un des ajout les plus excitant de cette distribution est certainement l'ajout d'un module spécialement conçu pour géré un servo ou signal PWM sur la broche GPIO #18 du Raspberry Pi. Il n'y a malheureusement qu'une seule broche PWM disponiblesur le connecteur GPIO '''et elle est partagée''' avec le système audio. Cela signifie que '''vous ne pouvez pas utiliser la sortie en Servo/PWM et jouer de l'audio en même temps''' (même via la prise jack de 3.5mm puisqu'elle est partagée avec GPIO #18).  
  
The module was written by Sean Cross for Adafruit Industries, code is available at our github repository (see below)
+
Il existe cependant des situations où vous avez juste besoin d'un Servo ou PWM sans avoir besoin de sortie Audio.
  
This driver can be controlled through its sysfs entries.  It will create the directory '''/sys/class/rpi-pwm/pwm0/''' and populate it with the following files:
+
Le module à été écrit par Sean Cross d'Adafruit Industries, Le code est disponible sur github (voir plus bas)
* '''active''' - Reports '''1''' if PWM is active. In '''delayed''' mode, write a '''1''' to this file to activate stored settings. Deactivate by writing a 0 to this file.
 
* '''delayed''' - If '''0''', any settings made will become active immediately. If '''1''', then settings are stored and won't take effect until a '''1''' is written into '''active'''.
 
* '''mode''' - The PWM mode. One of '''servo''', '''pwm''', or '''audio'''.
 
* '''servo''' - Moves the servo to this step.  Range (0..servo_max) where '''0''' is a 0.5ms-long pulse and '''servo_max''' is a 2.5ms-long pulse.
 
* '''servo_max''' - The maximum number of servo steps, default of 32
 
* '''duty''' - Duty cycle percentage for PWM mode.  Range (1..99) where 1 is the shortest positive pulse and 99 is the widest positive
 
* '''frequency''' - Desired frequency for PWM mode, write the value to this file
 
* '''real_frequency''' - The actual computed frequency, read the value from this file.
 
* '''mcf''' - A maximum common frequency (''see Advanced below'').
 
  
If you attempt to set a frequency or duty cycle that the Raspberry Pi does not support, you will get an error such as:
+
Ce pilote peut être contrôlé par l'intermédiaire de de ses entrées sysfs (interface par système de fichier). Le module créera un répertoire '''/sys/class/rpi-pwm/pwm0/''' où il ajoutera les fichiers suivants:
 +
* '''active''' - Placez y '''1''' si PWM est actif. En mode '''delayed''' (retardé), écrivez un '''1''' dans ce fichier pour activer les données stockées dans les autres fichiers de paramètrage. Désactivé en écrivant un 0 dans ce fichier.
 +
* '''delayed''' - ''Delayed'' signifie ''retardé''. Si '''0''', tous les paramètres deviennent actif immédiatements. Si '''1''' alors les paramètres sont stockés et ne deviennent actifs que lorsque qu'un '''1''' est écrit dans '''active'''.
 +
* '''mode''' - Mode PWM. Peut recevoir l'une des valeurs suivantes: '''servo''', '''pwm''' ou '''audio'''.
 +
* '''servo''' - Déplace le servo jusqu'à une position (pas!) données.  La plage de valeur s'étend de 0 à servo_max. '''0''' représente un impulsion de 0.5ms de "long" et '''servo_max''' une impulsion de 2.5ms de "long".
 +
* '''servo_max''' - Le nombre maximum de pas du servo, 32 par défaut.
 +
* '''duty''' - Pourcentage de cycle utile (Duty cycle percentage) en mode PWM.  Place de valeur (1..99) où 1 représente l'impulsion positive (état haut) la plus courte et 99 l'impulsion positive la plus large.
 +
* '''frequency''' - Fréquence désirée pour le mode PWM, écrivez la valeur dans ce fichier.
 +
* '''real_frequency''' - La fréquence actuellement calculée, lisez la valeur depuis ce fichier.
 +
* '''mcf''' - La fréquence commune maximale (maximum common frequency). ''Voir section Avancé ci-dessous''.
  
'''write error: Numerical result out of range'''
+
Si vous essayez de fixer une fréquence ou un cycle utile (duty cycle) que Raspberry Pi ne supporte pas, alors vous recevrez une erreur comme celle ci-dessous:
  
If this happens, the PWM will stop until you set values that are in range.
+
'''write error: Numerical result out of range'''<br />
 +
''Erreur d'écriture: la valeur numérique est en dehors de la plage supportée''
 +
 
 +
Si cela arrive, le signal PWM sera arrêté jusqu'a ce que vous placiez une valeur correcte.
  
 
The '''mode''' file can be used to switch between '''pwm''', '''servo''', and '''audio''' mode:
 
The '''mode''' file can be used to switch between '''pwm''', '''servo''', and '''audio''' mode:

Version du 18 février 2013 à 12:12

Versions

C'est la seconde distribution d'Occidentalis, Occidentalis v0.2. Rubus. Elle est dérivé de la distribution officiel Raspbian Wheezy du 16 Aout.

AdaFruit à apporté quelques modification clés pour la rendre plus utile aux hackers en électronique!

Mise-à-jours de la Version 0.2

  • Image tronquée - seulement 2.6G et donc compatible avec toutes les cartes 4G
  • Avis raspi-config retenu lors du boot
  • Retrait de l'entrée wlan0 persistante
  • Pense bête "modification de mot de passe" au login
  • Ajout des modules kernelt RTC lm-sensors
  • Inclus les modules kernel pour: DS1307 (RTC), AD626 I2C digipots, HMC6352, BMP085, ADS1015
  • Nouveau! Module Kernel PWM/Servo (Adafruit) pour un contrôle facile en PWM/Servo sur GPIO#18

Mise-à-jours de la Version 0.1

(toujours inclus dans la version 0.2)

Merci de garder en mémoire qu'AdaFruit ne sont pas des gestionnaire de distribution Linux à temps plein- AdaFruit essayera de corriger les bugs trouvé mais cette distribution n'est pas destinée au débutant Linux!

Télécharger

Cliquez ci-dessous pour télécharger le fichier ZIP:

  • Adafruit Raspberry Pi Educational Distro - Occidentalis v0.2! 900 Megs! (August 31, 2012)
  • MD5 of the img itself (not the zip): 4256c0cdad82fa193c5e902143f1ca0e
  • MD5 of the zip: 43456900352bb8bd8860902167195d83
  • SHA1 of image: a609f588bca86694989ab7672badbce423aa89fd
  • SHA1 of zip: 5f33ec07a183f336f973f82634f04108f690f5f3

et décompressez le.

Notez que l'image fait 2.6 GB! Vous aurez besoin d'une carte de 4GB ou plus. Les cartes SD de 4GB que nous proposons fonctionne très bien.

Après avoir booté, n'oubliez pas d'exécuter 'sudo raspi-config pour étendre le système de fichier (auto-expand the file system) afin qu'il occupe tout l'espace disponible sur la carte.

Caractéristiques

I2C, SPI, ...

Visitez la page de la v0.1 pour les détails relatifs aux caractéristiques des modules I2C, SPI, WiFi, Avahi et 1-Wire.

Image plus petite

Pour commencer, AdaFruit n'a pas étendu l'image au dela de 2.6Go, l'image elle même est donc plus petite - seulement 2.6G au lieu de 4G. Cela permettra de "graver" l'image plus vite sur une carte SD, et aussi permettre de la placer sur une grande variété de carte SD 4Go. Il est totalement possible de placer cette image sur une carte de 2G, sinon cela aurait été fait.

Rappels configurations & mot de passe

Ensuite, AdaFruit à fait le necessaire pour ne pas activer raspi-config au démarrage, comme pour les distribution Wheezy de stock. Cela aidera aussi les personnes qui désirent se souvenir de "comment initialiser le timezone, taille du disque, le mot de passe, clavier, etc". Cela permet surtout de graver une carte, de l'insérer dans Pi et de poursuivre la configuration depuis une connexion réseau sans avoir besoin de brancher un moniteur et un clavier sur votre Pi.

AdaFruit à également ajouter un petit "rappel" de modification de mot de passe dans ~/.profile - il vérifie si le mot de passe est toujouts identique au mot de passe par défaut.

Support Horloge Matériel

Ajout d'un support RTC ("real time clock" = horloge temps réel) matériel.

L'une des plus grande nouveauté de cette distribution est l'ajout de nombreux modules Kernel pour faire du hacking électronique.

AdaFruit à ajouté le support pour RTC, ce qui permet d'avoir un module RTC externe et d'utiliser hwclock - nous disposons d'un tutoriel à ce sujet ici.

Modules pour Senseurs

AdaFruit a également travaillé sur le fichier de configuration du Kernel (noyaux) et ajouté une série de module pour supporter quelques senseurs vraiment populaires comme: AD525x Digipots, compas HMC6352, senseur de température/pression BMP085, Convertisseurs Analogique/Digital ADS1015 I2C, etc.

Note importante: AdaFruit n'a pas écrit ses modules lui même et ne fait pas de support pour pour ces modules Kernel. Pour être sincère, ils ne savent pas s'il fonctionnent tous correctement. Prenez le temps de faire des tests et de lire les documentations de ces modules!

Module kernel pour PWM et Servo

L'un des ajout les plus excitant de cette distribution est certainement l'ajout d'un module spécialement conçu pour géré un servo ou signal PWM sur la broche GPIO #18 du Raspberry Pi. Il n'y a malheureusement qu'une seule broche PWM disponiblesur le connecteur GPIO et elle est partagée avec le système audio. Cela signifie que vous ne pouvez pas utiliser la sortie en Servo/PWM et jouer de l'audio en même temps (même via la prise jack de 3.5mm puisqu'elle est partagée avec GPIO #18).

Il existe cependant des situations où vous avez juste besoin d'un Servo ou PWM sans avoir besoin de sortie Audio.

Le module à été écrit par Sean Cross d'Adafruit Industries, Le code est disponible sur github (voir plus bas)

Ce pilote peut être contrôlé par l'intermédiaire de de ses entrées sysfs (interface par système de fichier). Le module créera un répertoire /sys/class/rpi-pwm/pwm0/ où il ajoutera les fichiers suivants:

  • active - Placez y 1 si PWM est actif. En mode delayed (retardé), écrivez un 1 dans ce fichier pour activer les données stockées dans les autres fichiers de paramètrage. Désactivé en écrivant un 0 dans ce fichier.
  • delayed - Delayed signifie retardé. Si 0, tous les paramètres deviennent actif immédiatements. Si 1 alors les paramètres sont stockés et ne deviennent actifs que lorsque qu'un 1 est écrit dans active.
  • mode - Mode PWM. Peut recevoir l'une des valeurs suivantes: servo, pwm ou audio.
  • servo - Déplace le servo jusqu'à une position (pas!) données. La plage de valeur s'étend de 0 à servo_max. 0 représente un impulsion de 0.5ms de "long" et servo_max une impulsion de 2.5ms de "long".
  • servo_max - Le nombre maximum de pas du servo, 32 par défaut.
  • duty - Pourcentage de cycle utile (Duty cycle percentage) en mode PWM. Place de valeur (1..99) où 1 représente l'impulsion positive (état haut) la plus courte et 99 l'impulsion positive la plus large.
  • frequency - Fréquence désirée pour le mode PWM, écrivez la valeur dans ce fichier.
  • real_frequency - La fréquence actuellement calculée, lisez la valeur depuis ce fichier.
  • mcf - La fréquence commune maximale (maximum common frequency). Voir section Avancé ci-dessous.

Si vous essayez de fixer une fréquence ou un cycle utile (duty cycle) que Raspberry Pi ne supporte pas, alors vous recevrez une erreur comme celle ci-dessous:

write error: Numerical result out of range
Erreur d'écriture: la valeur numérique est en dehors de la plage supportée

Si cela arrive, le signal PWM sera arrêté jusqu'a ce que vous placiez une valeur correcte.

The mode file can be used to switch between pwm, servo, and audio mode:

  • pwm - Drives a pulse with a frequency specified by the frequency file and a duty cycle of duty.
  • servo - A special PWM mode that will drive a servo throughout its range of rotation, starting with 0.5ms wide pulse and ending with 2.5ms, some servos only respond to 1.0-2.0ms and some have a wider range, you will need to experiment to find the full range of your servo. Values are taken from the file servo, and range from 0 to servo_max (default 32 which is the max resolution of 62.5us.) The PWM system does not seem to be able to handle a resolution better than 62.5us which is approximately 20 different servo positions or speeds. Si vous avez besoin d'une meilleure résolution, vous pouvez consulter notre tutoriel sur le controleur PWM/Servo 16 canaux qui dispose d'une résolution de 4us (produit disponible à l'achat ici chez MCHobby
  • audio - Echos the unfiltered contents of the right audio channel out the PWM port. Also enables delayed mode so that accidentally modifying PWM parameters won't cause the audio system to lock.

Using the PWM and playing audio at the same time is dicey at best. If you want to mirror audio out the PWM port, write audio into the mode file and leave it. When audio playback is done, you can switch back into pwm or servo mode. Then, either write 0 into the delayed file to get back into immediate mode, or set your parameters and write a 1 into the activate file.

Advanced settings

The default mcf is 16000 Hz. This is the frequency at which the PCM audio clock will run. The actual PWM output is derived based on this value, so it should be higher than the desired output frequency. For small duty cycles or for higher frequencies (e.g. above about 8 kHz), you may need to increase this value to get a more accurate real_frequency. Due to rounding, it may not be possible to get your desired output rate. Compare the contents of the real_frequency file with that of the frequency file to determine accuracy.

Kernel Source

Want to compile your own modules? Or change the configuration of the kernel? Advanced users can find our kernel repo here

We also have a Kernel+Modules tgz file, after you've copied this over to your pi, run the following commands

  • tar -zxvf mykernel.tgz
  • sudo mv tmp/kernel.img /boot/
  • sudo cp -R tmp/modules/lib/* /lib/
  • rm -rf tmp

AdaFruit ne dispose pas de tutoriel expliquant comment télécharger, compiler or installer un kernel linux.


Source: [1]

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.