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
- Vérifier la version de MbedOs et les librairies installées
mbed ls
Configuration de l’environnement
- Configurer le PATH de gcc-arm (configuration globale)
mbed config -G GCC_ARM_PATH /opt/gcc-arm-none-eabi-9-2019-q4-major/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
- Changement de version de mbed-os (exemple ici en 6.15.1)
cd mbed-os
mbed update 6.15.1
Gestion des versions du projet
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.
Certains sont fournis par 6TRON, d’autres sont des composants grand public.
Vous trouverez ci-dessous les plus courantes avec la documentation associées.
Composants 6TRON
Gauge de batterie MAX17201
- Ajout de la librairie
mbed add https://github.com/catie-aq/mbed_maxim-integrated-max17201.git
Capteur température ams-as621x
mbed add https://github.com/catie-aq/mbed_ams-as621x.git
Capteur humidité HTU21d
mbed add https://github.com/catie-aq/mbed_te-connectivity-htu21d.git
Capteur pression Omron 2SMPB-02E
mbed add https://github.com/catie-aq/mbed_omron-2smpb-02e.git
Ecran LCD ILITEK ILI9163C
GitHub simple LCD demo (label and button)
Gitlab LCD simple variable demo
#screen
mbed add https://github.com/catie-aq/mbed_ilitek-ili9163c.git
#lvgl v8.3
mbed add https://github.com/lvgl/lvgl/#70c2b57abe640adb70b671d55726cd052daa419e
#touchscreen
mbed add https://github.com/catie-aq/ti-tsc2003ipwr/#b27c197feef5c7ff2c3a247686d79aae9dc77f5d
Arduino Zest adapter shield
mbed add https://github.com/catie-aq/mbed_zest-adapter-shield.git
N’oublier pas d’ajouter la librairie zest_adapter_shield.h
dans votre projet
#include "zest_adapter_shield.h"
On peut alors utiliser les PinNames Arduino contenus dans le fichier PinName.h
Wifi Module ublox nina w132
mbed add https://github.com/catie-aq/mbed_ublox-nina-w132.git
Démonstration mbed socket
Démonstration requêtes http
mbed add https://gitlab.ciel-kastler.fr/6tronmbed/bibliotheque/mbed-http.git
Configuration mbed_app.json
La configuration Wifi est à adapter en fonction du réseau
{
"target_overrides": {
"*": {
"nsapi.default-wifi-security": "WPA2",
"nsapi.default-wifi-ssid": "\"TESTTEST\"",
"nsapi.default-wifi-password": "\"6tron2020\"",
"platform.stdio-baud-rate": 115200,
"mbed-trace.enable": false,
"mbed-trace.max-level": "TRACE_LEVEL_DEBUG",
"rtos.main-thread-stack-size": 8192
},
"ZEST_CORE_STM32L4A6RG": {
"target.components_add": ["nina_w132"],
"target.network-default-interface-type": "WIFI",
"nina_w132.provide-default": true,
"nina_w132.tx": "UART1_TX",
"nina_w132.rx": "UART1_RX",
"nina_w132.rst": "DIO2",
"nina_w132.debug": false,
"target.macros_add" : ["MBEDTLS_SHA1_C"]
}
}
}
Autres composants non 6TRON
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/
Librairie MFRC522 RFID Reader
- Importation de la librairie
mbed add https://gitlab.ciel-kastler.fr/6tronmbed/bibliotheque/mfrc522.git