Je viens d'ajouter les fonctionnalitées de bluetooth à mon projet et malheureusement à la compilation «Croquis trop gros». Je pense que c'est ma partie de gestion des librairies que j'ai loupé
Avant compilation :
Le croquis utilise 1135881 octets (86%) de l'espace de stockage de programmes. Le maximum est de 1310720 octets.
Les variables globales utilisent 47120 octets (14%) de mémoire dynamique, ce qui laisse 280560 octets pour les variables locales. Le maximum est de 327680 octets.
Aprés ajout des librairies liées aux beacons et d'ajout de 20 lignes de code.
text section exceeds available space in board
Le croquis utilise 1755333 octets (133%) de l'espace de stockage de programmes. Le maximum est de 1310720 octets.
Les variables globales utilisent 65780 octets (20%) de mémoire dynamique, ce qui laisse 261900 octets pour les variables locales. Le maximum est de 327680 octets.
Croquis trop gros ; vois http://www.arduino.cc/en/Guide/Troubleshooting#size pour des conseils de réduction.
Erreur de compilation pour la carte ESP32 Dev Module
Y aurait-il une technique(méthode) concernant le chargement des librairies ?
Bon à première vue, je me prend la tête pour rien puisque Bluetooth + Wifi ne peuvent pas fonctionner ensemble, du à l'antenne commune.
Je pensais qu'il aurait été possible d'utiliser le Wifi + uniquement le Scan Ble (sans transmission).
On découvre en bas d'un message d'erreur qu'un ESP32 est utilisé....
Bon à première vue, je me prend la tête pour rien puisque Bluetooth + Wifi ne peuvent pas fonctionner ensemble
En effet et pas fondementalement en raison d'une antenne commune mais en raison d'un sous ensemble radio 2;4Ghz unique non partageable.
Pour ajouter à ESP32 fonctionnant en WiFi un scan BLE , voire même un fonctionnement en beacon, ajouter par exemple un HM-10 sur un port série disponible... ou couper temporairement le WiFi (pas évident pour un point d'accès !)
ESP ne fait point d'accès que pour sa configuration, celui-ci est désactivé si pas de connexion après la première minute d'alimentation.
Ensuite l'ESP fonctionne en client wifi.
Je vais tenter de faire un pool de message à envoyer :
si le pool est vide : wifi inactif et bt actif
si pool non vide : désactivation bt et activation wifi + envoie des messages...
si détection bt : ajout d'un message dans le pool.
Mais j'ai quand meme de gros doute sur la réactivité du process.
Surtout que le but de mon projet est de faire un capteur de mouvement, qui envoie une trame de détection sur un VPS, via un PiR.
Et le ble(via beacon), sert à envoyer une trame sur le même VPS pour stopper le propagation de la détection.
Avez vous peut être une autre idée (sans ajouter un autre module ble) ?
ESP ne fait point d'accès que pour sa configuration, celui-ci est désactivé si pas de connexion après la première minute d'alimentation.
Ensuite l'ESP fonctionne en client wifi.
Dans ce cas il parait envisageable de commuter la radio du WiFi au BLE et vice versa
(voir l'exemple WiFIBluetoothswitch )
.... % de l'espace de stockage de programmes. Le maximum est de 1310720 octets.
1.310.720 octets, ça correspond à un partitionnement de la mémoire Flash 'par défaut'
Est-ce délibéré et optimisé en fonction des besoins de l'application ?
Sacrifier l'OTA et c''est +60% de supplément d'espace disponible pour le code !! (2.097.152 octets)
voilà un résultat de compilation en choisissant le schéma de partitionnement 'Large Code, No OTA'
...% de l'espace de stockage de programmes. Le maximum est de 2097152 octets.
Au delà il faut éplucher le code , le faire maigrir pour essayer de le faire tenir dans la mémoire Flash disponible
Le BLE sur ESP32 est encombrant (code) et énergievore (paradoxe pour du Low Energy !!)
Merci pour votre réponse.
J'avais vu l'option, j'ai utilisé l'option «minimal SIPPFS» car j'utilise l'OTA.
Le Wifi et le ble fonctionne bien ensemble, il me reste un problème .... Ble + Wifi + https
Ble + Wifi + http >> ok
Ble + Wifi + https >> SSL - Memory allocation failed
Cela ressemble à un problème de mémoire ....
19:01:24.328 -> [V][ssl_client.cpp:102] start_ssl_client(): Setting up the SSL/TLS structure...
19:01:24.328 -> [I][ssl_client.cpp:156] start_ssl_client(): WARNING: Use certificates for a more secure communication!
19:01:24.328 -> [V][ssl_client.cpp:180] start_ssl_client(): Setting hostname for TLS session...
19:01:24.328 -> [E][ssl_client.cpp:33] _handle_error(): [start_ssl_client():190]: (-32512) SSL - Memory allocation failed
19:01:24.328 -> [E][WiFiClientSecure.cpp:132] connect(): start_ssl_client: -32512
19:01:24.372 -> [V][ssl_client.cpp:248] stop_ssl_socket(): Cleaning SSL connection.
19:01:24.372 -> [D][HTTPClient.cpp:1018] connect(): failed connect to ...............