Le développement d'appareils IoT connaît une évolution avec l'adoption de modules tels que le ML302 LTE-CAT1 de China Mobile IoT. Son support OpenCPU permet d'exécuter des applications directement sur le module de communication, éliminant le besoin d'un microcontrôleur externe et réduisant ainsi les coûts matériels. Ce guide détaille la mise en place d'un environnement de développement productif avec VSCode pour le module ML302 OpenCPU.
1. Préparation de l'environnement de développement
1.1 Prérequis matériels et logiciels
Pour démarrer le développement avec le ML302 OpenCPU, assurez-vous de disposer du matériel et des logiciels suivants :
- Matériel :
- Kit de déveolppement ou module ML302
- Adaptateur série USB (par exemple, basé sur un chip CP210x ou CH340)
- Antenne LTE et carte SIM pour les tests réseau
- Logiciel :
- Système d'exploitation Windows 10/11 64 bits
- VSCode avec la dernière version stable
- Python 3.8 ou supérieur pour l'exécution de scripts utilitaires
1.2 Obtention et structure du SDK
Le SDK OpenCPU pour le ML302 est fourni sous forme d'archive. Après extraction, la structure de répertoires typique est la suivante :
ML302_SDK_OpenCPU/
├── scripts/ # Scripts d'automatisation
│ ├── compile.bat # Script de compilation Windows
│ └── makefile.mk # Règles de compilation
├── firmware_output/ # Répertoire de sortie pour le firmware
├── toolchain/ # Outils de compilation croisée pour ARM
├── headers/ # Fichiers d'en-tête système
├── static_libs/ # Bibliothèques pré-compilées
├── examples/ # Projets d'exemple
│ ├── hello_world/ # Exemple de base
│ └── mqtt_client/ # Exemple d'application IoT
└── utilities/ # Outils auxiliaires
├── downloader/ # Outil de programmation du firmware
└── uart_terminal/ # Terminal série
Conseil : Placez le SDK dans un chemin sans espaces ni caractères spéciaux (par exemple : C:\ML302_dev\SDK) pour éviter des erreurs de construction.
1.3 Configuration de VSCode
Installez les extensions VSCode suivantes pour préparer l'environnement :
- C/C++ Extension Pack : Fournit l'intellisense, le débogage et la prise en charge des tâches.
- Code Runner : Permet d'exécuter rapidement des segments de code.
- Serial Monitor : Pour la communication série directement depuis l'éditeur.
- Cortex-Debug : Support spécifique pour le débogage sur cible ARM Cortex.
Créez ensuite un fichier c_cpp_properties.json dans le dossier .vscode de votre projet pour configurer l'intellisense :
{
"configurations": [
{
"name": "ML302_OpenCPU_Config",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/headers",
"${workspaceFolder}/static_libs"
],
"defines": [
"ML302_PLATFORM",
"OPEN_CPU_MODE"
],
"compilerPath": "${workspaceFolder}/toolchain/bin/arm-none-eabi-gcc.exe",
"cStandard": "gnu11",
"intelliSenseMode": "windows-gcc-arm"
}
],
"version": 4
}
2. Mise en place du processus de compilation
2.1 Automatisation avec des tâches VSCode
Le SDK repose sur un système de compilation basé sur un makefile. Intégrez-le dans VSCode en créant une tâche de compilation. Éditez le fichier .vscode/tasks.json :
{
"version": "2.0.0",
"tasks": [
{
"label": "Build ML302 Firmware",
"type": "shell",
"command": "make",
"args": [
"-f",
"${workspaceFolder}/scripts/makefile.mk",
"TARGET=all",
"CONFIG=release"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$gcc",
"detail": "Exécute le script de compilation pour générer le firmware ML302."
},
{
"label": "Clean Build Artifacts",
"type": "shell",
"command": "make",
"args": [
"-f",
"${workspaceFolder}/scripts/makefile.mk",
"clean"
],
"problemMatcher": []
}
]
}
Vous pouvez désormais lancer la compilation en appuyant sur Ctrl+Shift+B ou via le menu Terminal > Exécuter la tâche de build.... Les erreurs et avertissements seront affichés dans le panneau de sortie et cliquables dans l'éditeur.