Table des matières:
- Étape 1: Astuce: Installation du support Arduino pour l'ESP32 avec support BLE
- Étape 2: Installation des bibliothèques PfodParser pour l'ESP32
- Étape 3: Utilisation de PfodDesignerV3 pour ESP32
- Étape 4: Générateur de code ESP32 BLE
- Étape 5: Conception du menu - l'invite
- Étape 6: Conception du menu - Contrôle LED PWM
- Étape 7: Générez le code ESP32
- Étape 8: Exécuter les exemples
- Étape 9: Sécurité Wi-Fi
Vidéo: Générateur de code ESP32 - Wifi, BLE, Bluetooth : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
introduction
ESP32 est une puce à double processeur à faible coût, avec prise en charge du WiFi, du Bluetooth Classic et du BLE (Bluetooth Low Energy). Bien que la puce soit sortie depuis plusieurs années, la prise en charge du code pour Arduino n'est toujours pas complète (en avril 2018), mais ce générateur de code et d'instructions remplit les fonctions BLE et analogWrite manquantes.
Astuce: L'ESP32 n'a pas de fonction analogWrite 'Arduino' standard. Cependant, ce générateur de code génère du code qui le simule pour vous
Astuce: L'installation du code ESP n'inclut pas le support BLE. L'installation décrite ici inclut le support BLE
Cette page Web couvrira la configuration de l'IDE Arduino pour programmer l'ESP32 pour les connexions BLE, Bluetooth ou WiFi. Le pfodDesigner génère du code pour chacun de ces types de connexion et génère également du code pour simuler la fonction analogWrite manquante.
ESP32 est une puce à double processeur à faible coût, avec prise en charge du WiFi, du Bluetooth Classic et du BLE (Bluetooth Low Energy). Bien que la puce soit sortie depuis un certain nombre d'années, la prise en charge du code pour Arduino n'est toujours pas complète (en avril 2018), mais ce didacticiel et générateur de code remplissent les fonctions BLE et analogWrite manquantes. Cette page Web couvrira la configuration du Arduino IDE pour programmer l'ESP32 pour les connexions BLE, Bluetooth ou WiFi. Le pfodDesigner génère du code pour chacun de ces types de connexion et génère également du code pour simuler la fonction analogWrite manquante.
Le module complémentaire Arduino prend en charge quelque 31 cartes ESP32. Lorsque vous utilisez pfodDesigner, vous devrez choisir des connexions de broches qui correspondent à celles disponibles sur votre carte particulière. Le Sparkfun ESP32 Thing (ou Adafruit HUZZAH32 Feather) est utilisé ici comme exemple de carte ESP32, mais vous pouvez utiliser le code pour n'importe laquelle des 31 cartes ESP32 prises en charge.
L'application Android gratuite pfodDesignerV3 permet de créer le menu de contrôle (WYSIWYG) puis de générer le code de l'ESP32, que ce soit pour une connexion BLE, WiFi ou Bluetooth. Après avoir programmé votre carte ESP32 vous pouvez ensuite utiliser l'application Android pfodApp (payante) pour vous connecter à votre ESP32 (via BLE ou WiFi ou Bluetooth) et afficher votre menu de contrôle et piloter votre ESP32. Si vous ne souhaitez pas utiliser pfodApp, vous pouvez toujours utiliser le code généré comme base pour vos propres connexions WiFi, BLE (nordique UART) ou Bluetooth car il fournit une interface Stream (impression/lecture) à chacun de ces types de connexion.
Étape 1: Astuce: Installation du support Arduino pour l'ESP32 avec support BLE
En avril 2018, l'installation du support Arduino ESP32 est plus complexe que pour la plupart des autres cartes et les bibliothèques de code fournies ne sont pas complètes. Vous ne pouvez pas utiliser le gestionnaire de carte Arduino pour installer le support ESP32. Suivez ces étapes pour configurer Arduino pour la programmation ESP32. Cela installera ESP32 ainsi que le support BLE.
1 Trouvez le chemin de votre répertoire d'emplacement Arduino Sketchbook. Ouvrez Arduino IDE et regardez sous Fichier-> Préférences et en haut de cet écran, vous verrez l'emplacement du Sketchbook.
2 Téléchargez ce fichier ESP32_hardware.zip et décompressez-le à l'emplacement Sketchbook. Il y crée un sous-répertoire matériel. Dans le cas peu probable où vous auriez déjà un sous-répertoire matériel dans votre emplacement Sketchbook, fusionnez son contenu avec celui-ci.
3 Installez les outils Xtensa et ESP32. Remarque: ce téléchargement et cette installation prennent un certain temps pour traiter les ~0,5 Go de fichiers. Allez dans le répertoire hardware\espressif\esp32\tools puis Pour les machines Windows exécutez le fichier get.exe. Pour les utilisateurs Mac et Linux, exécutez le script python get.py pour télécharger les outils. À l'aide d'un terminal, accédez au dossier hardware/espressif/esp32/tools. Tapez ensuite: python get.pyLe script python « get.py » téléchargera les outils Xtensa GNU et le kit de développement logiciel (SDK) ESP32 et les décompressera à l'emplacement approprié.
Vous devriez voir quelques nouveaux dossiers dans le répertoire "tools", y compris "sdk" et "xtensa-esp32-elf" une fois que c'est fait.
Une fois cette opération terminée, fermez et rouvrez votre IDE Arduino et vous devriez maintenant avoir une longue liste de cartes ESP32 parmi lesquelles choisir dans le menu Outils-> Cartes. Choisissez "SparkFun ESP32 Thing" (ou "Adafruit ESP32 Feather")
Vous pouvez ensuite ouvrir la liste des exemples de fichiers pour voir un certain nombre d'exemples de fichiers ESP32
Le processus ci-dessus installe un instantané du code github pour le support ESP32 et BLE qui ont été fusionnés dans un seul fichier zip. Le code généré par pfodDesigner et les exemples ci-dessous utilisent cette version de ces bibliothèques. Si vous voulez la dernière version, avec éventuellement un ensemble différent de fonctionnalités et de bugs, téléchargez le zip de la dernière version de https://github.com/espressif/arduino-esp32 et décompressez-le en hardware/espressif et renommez le dossier esp32 puis pour le support BLE téléchargez un zip de la dernière version de https://github.com/espressif/arduino-esp32 et décompressez-le dans le dossier esp32/libraries et renommez-le ESP32_BLE_Arduino (si nécessaire).
Étape 2: Installation des bibliothèques PfodParser pour l'ESP32
a) Ensuite, téléchargez la bibliothèque pfodParser.zip V3.23+, pfodDwgControls.zip et, pour ESP32 WiFi, le pfodESP32BufferedClient.zip, compressez les fichiers sur votre ordinateur, déplacez-les sur votre bureau ou dans un autre dossier que vous pouvez facilement trouver.
b) Ensuite, utilisez l'option de menu IDE Arduino 1.8.2 Sketch → Import Library → Add Library pour les installer. (Si Arduino ne vous permet pas de l'installer car la bibliothèque existe déjà, recherchez et supprimez les anciens dossiers pfodParser, pfodCmdParser ou pfodCHAP, etc., puis importez-les)
c) Arrêtez et redémarrez l'IDE Arduino et sous Fichier-> Exemples, vous devriez maintenant voir les bibliothèques pfodParser, pfodDwgControls et pfodESP32BufferedClient et un certain nombre d'exemples.
Étape 3: Utilisation de PfodDesignerV3 pour ESP32
L'application gratuite pfodDesignerV3 (V3291+) prend en charge la génération de code pour la puce ESP32 afin de se connecter via BLE, WiFi ou Bluetooth Classic à pfodApp (payant).
Il existe de nombreux tutoriels existants sur la façon de créer des contrôles pour votre mobile Android afin de contrôler un large éventail de cartes à l'aide de pfodDesignerV3. Avec pfodDesignerV3, vous pouvez créer des commandes qui activent/désactivent les sorties ou les émettent, contrôler les sorties via PWM, afficher l'état d'une entrée ou d'une valeur analogique, enregistrer et tracer des données et des sous-menus et bien plus encore.
Astuce: La prise en charge ESP32 Arduino inclut la prise en charge de 31 cartes ESP32 différentes. Le pfodDesignerV3 vous donne accès à toutes les broches d'E/S ESP32, mais toutes les cartes ne connectent pas toutes les broches ESP32 aux broches de la carte. Consultez la documentation de votre carte pour savoir quelles broches sont disponibles et consultez le fichier pins_arduino.h dans le répertoire hardware\espressif\esp32\variants de votre carte.
La liste des broches pfodDesignerV3 comprend des commentaires sur la disponibilité et les broches à usage spécial pour les cartes Sparkfun ESP32 Thing et Adafruit HUZZAH32 - ESP32 Feather.
Ces exemples utilisent la carte Sparkfun ESP32 Thing et créent un curseur pour contrôler la luminosité de la LED intégrée connectée à la broche 5 de votre mobile Android. Si vous utilisez plutôt la carte Adafruit HUZZAH32 - ESP32 Feather, la LED intégrée est connectée à la broche 13. Le support ESP32 Arduino, installé ci-dessus, ne prend pas directement en charge l'analogWrite d'Arduino. Au lieu de cela, l'ESP32 dispose de 16 canaux PWM que vous pouvez contrôler et connecter à l'une des sorties. Le pfodDesignerV3 génère tout le code nécessaire pour allouer le canal et le connecter à la sortie de votre choix. Installez le pfodDesignerV3 (V3291+) gratuit depuis Google Play.
Étape 4: Générateur de code ESP32 BLE
Commencer un nouveau menu
Cliquez sur le bouton Cible pour changer le périphérique cible.
Le premier exemple de cible sera ESP32 BLE, alors cliquez sur le bouton Bluetooth Low Energy.
Sélectionnez ESP32 connecté via BLE puis appuyez sur le bouton retour du mobile pour revenir à l'écran principal.
Étape 5: Conception du menu - l'invite
Cet exemple simple n'aura qu'une invite et un seul contrôle. Cliquez sur le bouton Modifier l'invite, puis sur le bouton Modifier le texte de l'invite pour définir le texte de l'invite.
Ici, l'invite est définie sur "ESP32 Led". Cliquez sur le bouton de coche pour enregistrer vos modifications et revenir à l'écran précédent. Cliquez ensuite sur Définir la couleur d'arrière-plan pour sélectionner la couleur générale du menu des commandes.
Vous pouvez sélectionner différentes couleurs pour chaque contrôle. Il existe divers autres formats disponibles pour l'invite. Ici, l'arrière-plan est défini sur Bleu et la taille de la police est de +5 et le texte est en gras. Un aperçu de l'invite formatée s'affiche en bas de l'écran Editing Prompt.
Étape 6: Conception du menu - Contrôle LED PWM
Utilisez le bouton de retour du mobile pour revenir au menu principal, puis cliquez sur Ajouter un élément de menu pour ajouter un élément de contrôle ou d'affichage.
Sélectionnez l'élément Sortie PWM. Un aperçu du contrôle s'affiche en haut de l'écran.
Astuce: L'ESP32 n'a pas de fonction analogWrite 'Arduino' standard. Cependant, ce générateur de code génère du code qui le simule pour vous
Cliquez sur le bouton Modifier le texte de début et remplacez « Paramètre PWM » par « Led » Notez l'espace de fin pour séparer « Led » de l'indication %.
Cliquez sur le bouton à cocher pour enregistrer votre modification, puis faites défiler jusqu'au bouton « Non connecté à une broche d'E/S ».
Cliquez sur ce bouton pour afficher une liste de broches pouvant être utilisées comme sorties.
Cela montre les broches à usage spécial pour les cartes Sparkfun ESP32 Thing et Adafruit HUZZAH32 Feather. Sélectionnez la broche 5 pour que le curseur contrôle la luminosité de la LED intégrée du Sparkfun ESP32 Thing. Si vous utilisez la carte Adafruit HUZZAH32 Feather, sélectionnez plutôt la broche 13. Pour les autres cartes, consultez la documentation de votre carte et le fichier pins_arduino.h dans le répertoire hardware\espressif\esp32\variants de votre carte
Ensuite, lorsque vous avez terminé de définir les autres paramètres de mise en forme pour ce curseur, utilisez le bouton de retour du mobile pour revenir au menu principal et cliquez sur Aperçu du menu pour voir à quoi ressemblera le menu final sur votre mobile lorsqu'il sera affiché par pfodApp. Les contrôles sont en direct, vous pouvez donc les déplacer dans l'aperçu.
Étape 7: Générez le code ESP32
Revenez au menu principal et faites défiler jusqu'au bouton Générer le code.
Cliquez sur le bouton Générer le code, puis sur le bouton Écrire le code dans un fichier pour générer le code
Quittez pfodDesignerV3 et transférez le code dans /pfodAppRawData/pfodDesignerV3.txt de votre mobile vers votre ordinateur. Voir pfodAppForAndroidGettingStarted.pdf pour savoir comment procéder. L'application pro de transfert de fichiers wifi de smarterDroid est un moyen d'effectuer le transfert.
À l'aide du bouton « Changer de cible » sur l'écran Générer le code, vous pouvez basculer entre ESP32 via BLE, ESP32 via Bluetooth et ESP32 via WiFi
Étape 8: Exécuter les exemples
À l'aide du bouton « Changer de cible » sur l'écran Générer le code, vous pouvez basculer entre ESP32 via BLE, ESP32 via Bluetooth et ESP32 via WiFi
C'est ainsi que les trois exemples de croquis suivants ont été générés à partir de la conception ci-dessus.
Exécuter l'exemple pfodESP32_BLE
La définition de la cible sur ESP32 via BLE génère le code dans pfodESP32_LED_BLE.ino Cette esquisse est également disponible sous File->Examples->pfodParser. Ouvrez cet exemple, puis, après avoir programmé le Sparkfun ESP32 Thing (ou une autre carte ESP32), vous devez ensuite établir une connexion dessus sur pfodApp (voir pfodAppForAndroidGettingStarted.pdf pour les détails) et vous connecter et pouvoir régler la luminosité du conseil d'administration conduit.
ASTUCE: ESP32 utilise la même adresse Bluetooth pour BLE et Bluetooth, donc si vous avez déjà configuré une connexion Bluetooth ESP32 dans pfodApp, vous devez supprimer cette connexion Bluetooth pfodApp avant de configurer une connexion BLE, car pfodApp filtre les connexions existantes (en adresse) à partir de la liste d'affichage des appareils disponibles. Vous devrez peut-être également ouvrir les paramètres de votre mobile et « oublier » la connexion Bluetooth ESP32, puis désactiver le Bluetooth du mobile et redémarrer votre téléphone pour effacer la pile Bluetooth
ASTUCE: La bibliothèque ESP32_BLE_Arduino de Neil Kolban n'est pas compatible avec la bibliothèque BLEPeripheral de Sandeep Mistry qui est utilisée par d'autres cibles BLE générées par pfodDesigner. Vous devez donc supprimer le répertoire BLEPeripheral (s'il existe) de votre répertoire Arduino/libraries afin de compiler les esquisses ESP32 BLE.
Exécution de l'exemple pfodESP32_Bluetooth
La définition de la cible sur ESP32 via Bluetooth génère le code dans pfodESP32_LED_Bluetooth.ino. Ce croquis est également disponible sous Fichier-> Exemples-> pfodParser. Ouvrez cet exemple, puis programmez le Sparkfun ESP32 Thing (ou une autre carte ESP32). Vous devez coupler l'ESP32 avec votre téléphone, aucun code PIN n'est requis. Ensuite, établissez une connexion sur pfodApp (voir pfodAppForAndroidGettingStarted.pdf pour les détails) et connectez-vous et soyez en mesure de régler la luminosité de la LED de la carte.
Exécuter l'exemple pfodESP32_WiFi
La définition de la cible sur ESP32 via WiFi génère le code dans pfodESP32_LED_WiFi.ino Ce croquis est également disponible sous Fichier-> Exemples-> pfodParser. Ouvrez cet exemple et insérez le nom et le mot de passe de votre réseau et choisissez une adresse IP statique pour cet appareil. Ensuite, après avoir programmé la Sparkfun ESP32 Thing (ou une autre carte ESP32), vous devez établir une connexion avec celle-ci sur pfodApp (voir pfodAppForAndroidGettingStarted.pdf pour les détails) et vous connecter et pouvoir régler la luminosité de la led de la carte.
Étape 9: Sécurité Wi-Fi
Si vous vous connectez à l'ESP32 via Internet (via wifi), la sécurité est importante. Vous ne voulez pas que n'importe qui puisse ouvrir votre porte de garage, par exemple. Le générateur de code et la bibliothèque pfodParser prennent en charge la sécurité 128 bits. Cette sécurité ne crypte pas les messages mais ajoute à la place un hachage cryptographique à chaque message pour se protéger contre les connexions et les contrôles non autorisés. Voir SipHash Secure Challenge and Response pour plus de détails sur la façon dont cette sécurité est implémentée.
Ajout de la sécurité 128 bits
Se protéger contre les utilisateurs non autorisés qui accèdent à votre appareil via Internet est aussi simple que de modifier #define pfodSecurityCode "" pour ajouter votre propre code secret. (jusqu'à 32 chiffres hexadécimaux)
Par exemple, pour définir un code de sécurité de 173057F7A706AF9BBE65D51122A14CEE, vous utiliserez #define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Bien sûr, vous devez utiliser votre propre code secret. Définir votre propre code dans votre connexion pfodApp vous permet, et à personne d'autre, de vous connecter.
Un long code aléatoire est nécessaire pour une bonne sécurité. pfodApp prend en charge jusqu'à 128 bits sous forme de chiffres 32Hex.
Pour générer votre propre code secret, vous pouvez télécharger un générateur de clés secrètes aléatoire à partir d'iciGénérateur de clés secrètes à partir d'ici. En plus de générer des clés aléatoires, ce programme les écrit sous forme de codes QR afin que vous puissiez les définir facilement et avec précision dans votre connexion pfodApp.
Vous pouvez imprimer le code QR et le joindre à votre pfodDevice. Cliquez ensuite sur le bouton Scan QR dans l'écran de connexion WiFi de pfodApp pour lire le mot de passe.
Voir A Simple WiFi/Arduino pfodDevice™ avec sécurité 128 bits pour un exemple détaillé d'utilisation du générateur de clé et du code QR.
Conclusion
Ce tutoriel a montré comment configurer l'IDE Arduino pour programmer l'ESP32. Il a ensuite utilisé l'application gratuite pfodDesigner pour concevoir un menu permettant de contrôler la luminosité de la LED embarquée et du code généré pour la connexion à l'ESP32 via BLE, Bluetooth ou WiFi. Si vous vous connectez ensuite via l'application pfodApp apppfodApp, vous verrez le menu que vous avez conçu et pourrez contrôler la luminosité de la LED via un curseur. Le pfodDesigner génère tout le code Arduino, y compris la simulation de l'analogWrite d'Arduino. Aucun codage Arduino n'était requis. Le pfodApp s'occupe de tout le côté Android, aucun codage Android n'est requis.
Conseillé:
Générateur de code Escape Room : 4 étapes
Escape Room Codegenerator: Voor dit project werd er gevraagd om een machine te ontwikkelen die gebruikt zal worden in een escape room. De bedoeling van deze machine is dat door het drukken op een knop een bijhorend cijfer wordt aangeduid aan de hand van lampjes, zo zal het mo
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images)
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): Bonjour, aujourd'hui, je vais vous expliquer comment créer votre propre petit générateur de musique basé sur la météo. Il est basé sur un ESP8266, qui ressemble un peu à un Arduino, et il réagit à la température, à la pluie et l'intensité lumineuse. Ne vous attendez pas à ce qu'il fasse des chansons entières ou un programme d'accords
Premiers pas avec ESP32 - Installation de cartes ESP32 dans Arduino IDE - Code de clignotement ESP32 : 3 étapes
Premiers pas avec ESP32 | Installation de cartes ESP32 dans Arduino IDE | ESP32 Blink Code: Dans ces instructables, nous verrons comment commencer à travailler avec esp32 et comment installer des cartes esp32 dans Arduino IDE et nous programmerons esp 32 pour exécuter le code clignotant en utilisant arduino ide
Générateur - Générateur CC utilisant un interrupteur à lames : 3 étapes
Générateur - Générateur CC utilisant un commutateur Reed : Générateur CC simple Un générateur à courant continu (CC) est une machine électrique qui convertit l'énergie mécanique en électricité à courant continu.Important : Un générateur à courant continu (CC) peut être utilisé comme moteur à courant continu sans aucune construction changements
Générateur de tonalités à microcontrôleur en code C : 8 étapes (avec images)
Générateur de tonalité de tissu de microcontrôleur en code C : Fin octobre de l'année dernière, l'utilisateur instructables carmitsu m'a envoyé un message après avoir vu mon synthé de boîte à lunch. Extrait de son message : J'enseigne la musique à l'école primaire. Nous jouons beaucoup de musique de flûte à bec. c'est-à-dire que les enfants jouent de petites flûtes… J'ai plusieurs