table des matières
  1. Principales commandes mbed_cli
    1. Configuration de l’environnement
    2. Vérification et mise à jour de la version
      1. Gestion des versions du projet
  2. Librairies de composants
    1. Gérer les librairies : Cas général
    2. Exemple de la librairie mbed-cloud-client
  3. Librairie de composants : section CIEL-IR
    1. Composants 6TRON
      1. Gauge de batterie MAX17201
      2. Capteur température ams-as621x
      3. Capteur humidité HTU21d
      4. Capteur pression Omron 2SMPB-02E
      5. Ecran LCD ILITEK ILI9163C
      6. Arduino Zest adapter shield
      7. Wifi Module ublox nina w132
        1. Démonstration mbed socket
        2. Démonstration requêtes http
        3. Configuration mbed_app.json
    2. Autres composants non 6TRON
      1. Librairie sonde BME280 (BME280t)
      2. Librairie Écran LCD Grove-LCD RGB BackLight
      3. Librairie ServoMoteur (Grove Servo)
      4. Librairie Robotics RFID Reader
      5. Librairie Capteur CO2 MQ135
      6. Librairie MFRC522 RFID Reader

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

GitHub MAX17201

GitHub MAX17201 example

  • Ajout de la librairie
mbed add https://github.com/catie-aq/mbed_maxim-integrated-max17201.git

Capteur température ams-as621x

GitHub ams-as621x

GitHub ams-as621x example

mbed add https://github.com/catie-aq/mbed_ams-as621x.git

Capteur humidité HTU21d

GitHub HTU21d

GitHub HTU21d example

mbed add https://github.com/catie-aq/mbed_te-connectivity-htu21d.git

Capteur pression Omron 2SMPB-02E

GitHub 2SMPB-02E

GitHub 2SMPB-02E example

mbed add https://github.com/catie-aq/mbed_omron-2smpb-02e.git

Ecran LCD ILITEK ILI9163C

Ecran ILI9163C

Touch screen ti-tsc2003

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

GitHub 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

GitHub ublox nina w132

mbed add https://github.com/catie-aq/mbed_ublox-nina-w132.git
Démonstration mbed socket

Github mbed socket demo

Démonstration requêtes http

http-test

Bibliothèque mbed-http

mbed add https://gitlab.ciel-kastler.fr/s-quences-p-dagogique/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)

mbed add http://os.mbed.com/users/MACRUM/code/BME280/

Librairie Écran LCD Grove-LCD RGB BackLight

mbed add http://os.mbed.com/users/sepro/code/Grove_LCD_RGB_BacklightvMbed6/

Librairie ServoMoteur (Grove Servo)

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

  1. Initialiser la période à 20ms.
  2. Ensuite gérer le duty cycle
    1. Pour 500us -> position 0°
    2. Pour 2500us -> position 180°

Librairie Robotics RFID Reader

mbed add http://os.mbed.com/users/sepro/code/Robotics-RFID-Reader/

Librairie Capteur CO2 MQ135

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

Gitlab MFRC522

  • Importation de la librairie
mbed add https://gitlab.ciel-kastler.fr/6tronmbed/bibliotheque/mfrc522.git