J'utilise Ubuntu 16.04 sur un Beaglebone Black après instruction du site eLinux . Je l'ai installé et en cours d'exécution à partir de l'eMMC.
Cependant, j'ai du mal à faire fonctionner les broches d'entrée ADC. Les exemples que j'ai vus (par exemple, celui-ci ) suggèrent que lancer echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots
devrait suffire - mais cela ne fonctionne pas pour moi, ce fichier n'existe pas.
Cela fonctionnait sur 14.04, mais maintenant ne fonctionne pas sur 16.04. Comment puis-je obtenir l'entrée ADC au travail?
Le système de superposition d'arborescence de périphériques a légèrement changé avec le noyau 4.x. Selon cette page , l'emplacement est maintenant /sys/devices/platform/bone_capemgr/slots
. J'ai aussi trouvé dans ce rapport de bogue que le nom de la superposition d'arborescence de périphériques n'est pas cape-bone-iio
, il est maintenant BB-ADC
.
La commande à exécuter sur un système Ubuntu à noyau 4.x est la suivante:
Sudo sh -c "echo 'BB-ADC' > /sys/devices/platform/bone_capemgr/slots"
Vous devriez alors pouvoir lire les valeurs analogiques avec une commande comme celle-ci:
cat "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"
Pour rendre cela permanent après un redémarrage, vous pouvez modifier les options de ligne de commande uBoot, dans le fichier /boot/uEnv.txt
. Insérer une ligne comme celle-ci:
cape_enable=bone_capemgr.enable_partno=BB-ADC
Notez que (je pense) vous ne pouvez avoir qu'une seule ligne "enable" dans le fichier. Si vous avez d'autres modules à activer ici, mettez-les sur une ligne séparée par des virgules.
Maintenant, au redémarrage, le Beaglebone activera l’entrée ADC.