SMART DEVICES – Manips arduino Partie I : Installation des Outils et librairies

SMART DEVICES – Manips arduino Partie I : Installation des Outils et librairies I-1 Ajout de plateformes (SOCs, Cartes) non officielles à Arduino I-2 : Installation des librairies I-3 : Installation des Utilitaires (tools) I-4 : Installation des Projets (Sketchs) Arduino I-5 : Installation des Applications Android Partie II : Applications à base des SOCs ESP8266 & ESP32 ESP8266 (Carte NodeMCU) I- Configuration de l’IDE Arduino pour les cartes NodeMcu et ESP8266-01 II- Exemple1 : ESP8266_Button_Led_Serial Exemple2 : ESP8266_Json_SPIffs_Wr Exemple3 : ESP8266_AsyncAccP_Web_Server Exemple 4 : ESP8266_CLOUDMQTT_Subscribe ESP32 (Carte Wemos D1) I- Configuration de l’IDE Arduino pour les cartes Wemos et DevKit II- Pinout de la carte Wemos III- Exemple1 : ESP32_Wemos_Button_LedRGB_Serial IV- Exemple2 : ESP32_Wemos_AnlogInSerial V- Exemple3 : ESP32_Wemos_MMA7760_I2C_ReadAccel Exemple4 : ESP32_Wemos_MMA7760_I2C_Plot Exemple5 : ESP32_Json_SPIffs_Wr Exemple6 : ESP32_AsyncAccP_Web_Server Exemple 7 : … Partie III : Applications à base du SOC nRF52840 (Nina B306 - NANO 33 BLE Sense) I- La carte NANO 33 BLE Sense II- Configuration de l’IDE Arduino pour les cartes NANO 33 III- Exemple 1 : Lecture de Température à partir d’un capteur I2C (HTS221) : Nano33Ble_HTS_I2C_ReadTemperature Exemple 2 : Lecture de la Température et de l’humidité à partir du HTS221 par utilisation de la librairie HTS221 Nano33Ble_HTS_Read Exemple 3 : Acquisition des données du IMU LSM9DS1 Nano33Ble_IMU_Capture Exemple 4 : Communication BlueTooth (BLE) avec la carte NANO 33 Exemple 5 : Tiny ML avec Arduino « Reconnaissance de gestes avec Tensorflow Lite » 1 Partie I : Installation des Outils et Librairies (PC/Smartphone) ARDUINO est un environnement de développement C++, donc orienté objet, pour des plateformes embarquées avec des mémoires FLASH/SRAM de taille limitée. A l’origine, il supportait les plateformes officielles fabriquées par Arduino même (https://www.arduino.cc/en/Main/Products?from=Main.Hardware), mais il est possible d’ajouter des cartes d’autres fabricants (I-1). 1) Télécharger et installer Arduino IDE : https://www.arduino.cc/en/software Remarque : Il existe des versions pour Windows et d’autres pour Linux et MAC . Les étapes suivantes ont été effectuées sous Windows. Mais, ça devrait être la même chose pour Linux. I-1 Ajout de plateformes (SOCs, Cartes) non officielles à Arduino Il est possible d’utiliser l’environnement avec des plateformes d’autres fabricants (ESP, ST, etc…). Pour cela, il faut installer le Firmware ainsi que le «wrapping logic» jouant le rôle de couche de liaison entre le Firmware et le code C++. 1) Ajouter les url des fichiers json qui contiennent les informations relatives aux firmware des différentes plateformes (STM32, ESP8266 et ESP32)  File >> Preferences 2) Appuyer sur le bouton au niveau de « Additional Boards Manger URLs… » 2 3) ajouter les lignes suivantes: http://arduino.esp8266.com/stable/package_esp8266com_index.json , https://dl.espressif.com/dl/package_esp32_index.json , https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json 4) Une fois les fichiers json téléchargés, il faut aller à tools / Board / Board Manager…  On trouvera que la liste comporte, pour le moment, uniquement les cartes Arduino. Pour ajouter d’autres plateformes (ESP8266, ESP32, STM32, Nano 33) qui ne font pas par défaut partie de Arduino : 5) Installer les Firmware des plateformes à base de ESP8266, ESP32 et STM32 (choisir les versions les plus récentes) 3 Si on demande d’installer des drivers pour la carte, accepter. I-2 : Installation des librairies Les librairies ainsi que les sketchs (projets Arduino) seront sauvegardés par défaut dans le répertoire « C:\users\…..\Documents\Arduino ». Il est possible de changer cet emplacement en modifiant le paramètre dans la partie Sketchbook location de la fenêtre préférences (File >> Preferences). Redémarrer Arduino. 4 I-2-a : Installation automatique des Librairies Les fichiers json, spécifiés dans l’étape précédente, contiennent également des indications (liens) relatives aux librairies (middleware) des plateformes ajoutées à Arduino, telles que les protocoles TCP, UDP, MQTT , les systèmes de gestion de fichier ou les parseurs json, etc…. Pour installer les librairies, aller à Tools >> Manage Libraries Et installer les librairies suivantes : ESP 8266 1- La librairie pour la gestion de l’interface wifi 2- La librairie PubSubClient pour la gestion de la communication en utilisant le protocole MQTT. 3- ArduinoJson: une librairie permettant de traiter les fichier json 5 NANO 33 BLE Sense - La librairie pour l’acquisition des mesures issues du IMU. - La librairie pour accède aux mesures de température et humidité (HTS221) - La librairie pour implémenter des algorithmes IA sur la carte NANO - Librairie pour la communication Bluetooth (BLE) I-2-b : Installation Manuelle des Librairies Pour les librairies qui ne sont pas disponibles à travers les liens, ou qui sont développées par l’utilisateur même, il est possible de les ajouter manuellement en les copiant dans le répertoire Librairies ou 6 en les importer en utilisant le menu « sketch > Include Library > Add .ZIP Library » (si la librairie est compressé sous format ;zip). On installera les librairies permettant l’implémentation d’un serveur web sur des plateformes à base des SOCs ESP8266, et la gestion de la navigation entre pages web d’une façon simple (semblable aux framework pour applications PC) Télécharger le fichier « SmartD_Libs_Tools.rar » à partir du lien https://drive.google.com/file/d/1hBNVtogslcJRr2ZIMe2iWjW2EohwJclk/view?usp=sharing  Décompresser le fichier, accéder au répertoire et Copier les dossiers « ESPAsyncWebServer » , « ESPAsyncTCP » et « AsyncTCP » vers le répertoire …./.. /Librairies/ I-3 : Installation des Utilitaires (tools) Les utilitaires ou outils sont des fichiers de code implémentant des fonctionnalités qu’on peut ajouter à Arduino et qui vont apparaitre comme commandes au niveau du menu « Tools » de l’environnement. Il faut les placer dans le répertoire …./…../Tools/  Les utilitaires ESP8266FS et ESP32FS (File Systems) Les plateformes à base des SOCs ESP8266 et ESP32 (tel que NodeMCU) disposent d’une mémoire Flash de taille 4M. Il est ainsi possible de placer des fichiers de configuration, des pages web, etc.. L’utilitaire ESP8266FS ou bien ESP32FS (File System) permet à l’utilisateur de sélectionner une partie de la mémoire Flash (indépendante de la partie dédiée au code) pour l’utiliser comme étant un système fichiers. Ou bien créer un répertoire Tools dans le répertoire spécifié dans « Sketch location » et copier dedans les dossiers « ESP8266FS » et « ESP32FS ». Les dossiers se trouvent dans le fichier téléchargé (SmartD_LibsTools.rar ) 7 Une fois le répertoire copié, il faut redémarrer Arduino pour la prise en compte du nouvel utilitaire. Dans ce cas, on verra apparaitre la commande « Upload Sketch Data » au niveau du menu Tools. I-4 Installation des applications Android Pour le test des applications tournant sur les « smart devices », et qui utilisent le Bluetooth ou bien le protocole MQTT pour communiquer avec d’autres appareils (Smartphone dans notre cas), on a besoin des applications Android suivantes : 1- MQTT Client de « Webneurons » : Il s’agit d’un client qui est capable de publier des données relétives à un topic (publish) ou bien recevoir des données envoyées par un autre client à un topic auquel le client est souscrit (subscribe) 2- Light Blue de “Punch Through Design”: pour jouer le role d’un Client GATT (BLE) 3- BLE Peripheral Tool: pour jouer le rôle d’un Périphérique GATT (BLE) 4- nRF Connect de « Nordic Semiconductor » Partie II : Applications à base du SOC ESP8266 (Carte Node MCU) et ESP32 (Wemos D1) A- ESP8266 I- Configuration de l’IDE Arduino pour les cartes NodeMcu et ESP8266-01 II- Exemple1 : ESP8266_Button_Led_Serial Exemple2 : ESP8266_Json_SPIffs_Wr Exemple3 : ESP8266_AsyncAccP_Web_Server Exemple 4 : ESP8266_CLOUDMQTT_Subscribe B- ESP32 I- Configuration de l’IDE Arduino pour les cartes Wemos et DevKit II- Pinout de la carte Wemos III- Exemple1 : ESP32_Wemos_Button_LedRGB_Serial IV- Exemple2 : ESP32_Wemos_AnlogInSerial V- Exemple3 : ESP32_Wemos_MMA7760_I2C_ReadAccel Exemple4 : ESP32_Wemos_MMA7760_I2C_Plot Exemple5 : ESP32_Json_SPIffs_Wr Exemple6 : ESP32_AsyncAccP_Web_Server Exemple 7 : … 1 Partie II : Applications à base du SOC ESP8266 I- Configuration de l’IDE Arduino pour les cartes NodeMcu et ESP8266-01 Au niveau de l’IDE Arduino, il faut commencer tout d’abord par choisir le type de la carte à programmer. Esp8266-01 Esp8266 node mcu Remarque: Pour la carte ESP8266-01, elle n’a pas une interface USB. Il faut la placer sur un adaptateur dédié (Figure ci-dessous). Il faut relier les pins GPIO0 et CH avant de relier l’adaptateur au port USB du PC  Une fois connectée au port USB, un port série virtuel (COM PORT) sera attribué à la carte. Il est possible de le trouver dans gestionnaire de périphériques (parties Ports (COM et LPT). Pour les cartes ESP, le driver est généralement CH340 (ou bien le CP210x). – Voir Figure ci-dessous  Pour le paramètre Upload speed (vitesse de chargement du code sur la carte), choisi de préférence 512000 bits/sec, même si un débit supérieur est possible. 2 3 II- Exemple1 : ESP8266_Button_Led_Serial Description Cet exemple est basique, c’est l’équivalent de « Hello world » pour la programmation sur PC. Il montre l’utilisation des entrées et sorties numériques d’un smart device, ainsi que la communication série. Dans cet exemple, l’entrée sera reliée à un bouton poussoir et la sortie à une Led. L’application teste continuellement (toutes les secondes) l’état du bouton poussoir, s’il est appuyé la Led va être allumée, sinon éteinte. Parallèlement, un message sera envoyé sur le port série pour indiquer l’état du bouton et de la Led. Pour les pins utilisés au niveau de uploads/s3/ manips-arduino-smartdevices.pdf

  • 43
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager