table des matières
mbed-cli est l’interface en ligne de commande utilisé pour gérer les projets mbed. Nous allons résumer ci-après les principales commandes utilisées.
Principales commandes mbed_cli
- Vérifier l’installation
mbed --help
Configuration de l’environnement
- Configurer le PATH de gcc-arm (configuration globale)
mbed config -G ARM_PATH /usr/bin
- Lister la configuration (Se placer dans le dossier du projet)
mbed config --list
- Supprimer une configuration
Exemple : Suppression de la configuration MBED_OS_DIR en global
mbed config -G --unset MBED_OS_DIR
Vérification et mise à jour de la version
- Vérifier la version de mbed.
Information : La sortie de mbed releases pointe sur le tag courant de la version
cd mbed-os
mbed releases
- Mise a jour de mbed-os (exemple ici en 6.15.1)
cd mbed-os
mbed update 6.15.1
Gestion des versions du projet
- Publier son travail
Information : Soit vous pouvez faire git add, git commit et git push, soit vous utilisez la commande mbed pour ces 3 actions
mbed publish
Librairies de composants
mbed permet récupérer les librairies d’éléments matériels supplémentaires et de les intégrer à un projet
Gérer les librairies : Cas général
- Ajouter une librairie de composant
mbed add <adresse librairie>
- Lister les librairie installées
mbed ls -a
- Supprimer une librairie existante
mbed remove <nom_librairie>
Exemple de la librairie mbed-cloud-client
- Ajouter la librairie au projet
mbed add https://github.com/ARMmbed/mbed-cloud-client
- Lister les librairies du projet
mbed ls
[mbed] Working path "~/tmp/Mbed6_Template_JLink" (program)
Mbed6_Template_JLink (#dc524271d409)
|- mbed-cloud-client (#8a30590179cd, tag: 4.11.1)
`- mbed-os (#4cfbea43cabe, tags: mbed-os-6.15.0, mbed-os-6.15.0-rc3)
- Enlever la librairie du projet
mbed remove mbed-cloud-client
Librairie de composants : section CIEL-IR
Nous avons à notre disposition un certain nombre de composants matériels à intégrer à nos projets. Vous trouverez ci-dessous les plus courants avec la documentation et les librairies associés.
Librairie sonde BME280 (BME280t)
-
Importation de la librairie
mbed add http://os.mbed.com/users/MACRUM/code/BME280/
Librairie Écran LCD Grove-LCD RGB BackLight
-
Importation de la librairie
mbed add http://os.mbed.com/users/sepro/code/Grove_LCD_RGB_BacklightvMbed6/
Librairie ServoMoteur (Grove Servo)
-
Importation de la librairie
Information : Il n’y a pas de librairie spécifique à importer. Le servomoteur se commande en PWM
Principe de commande d’un servomoteur
- Cas de notre servomoteur (Ref : Microservo 9G-SG90)
Le servo se commande avec un PulseWidth entre 500 et 2500us
- Initialiser la période à 20ms.
- Ensuite gérer le duty cycle
- Pour 500us -> position 0°
- Pour 2500us -> position 180°
Librairie Robotics RFID Reader
-
Importation de la librairie
mbed add http://os.mbed.com/users/sepro/code/Robotics-RFID-Reader/
Librairie Capteur CO2 MQ135
- Documentation MQ135
- Documentation supplémentaire
https://os.mbed.com/users/readysteadygo2006/code/MQ135/
https://github.com/ViliusKraujutis/MQ135
http://davidegironi.blogspot.com/2014/01/cheap-co2-meter-using-mq135-sensor-with.html
- Importation de la librairie
mbed add http://os.mbed.com/users/sepro/code/MQ-135/
Gérer plusieurs projets Mbed
Quand on gère plusieurs projets mbed, cela devient lourd de télécharger à chaque fois une version de mbed-os pour tous ces projets.
Il est possible de télécharger le dossier mbed-os une fois sur son poste et de faire référence à ce dossier dans son projet.
- Choisir un emplacement pour importer mbed-os
- Importer mbed-os
- Ajouter le chemin dans la configuration globale (MBED_OS_DIR)
cd /absolute/path/to/project/dir
$ mbed import mbed-os
$ mbed config -G MBED_OS_DIR /absolute/path/to/project/dir/mbed-os
[mbed] /absolute/path/to/project/dir/mbed-os now set as global MBED_OS_DIR
Dans le projet, modifier la ligne de compilation dans le fichier task.json en ajoutant dans source le chemin vers mbed-os
// Ancienne ligne
// "args": ["compile", "--profile=debug", "-t", "GCC_ARM", "-m", "NUCLEO_F746ZG"],
// Nouvelle ligne
"args": ["compile", "--source=.", "--source=/absolute/path/to/project/dir/mbed-os", "--profile=debug", "-t", "GCC_ARM", "-m", "NUCLEO_F746ZG"],