Cela faisait quelques années que nous utilisions les microcontrôleurs AVR soit directement soit implantés sur des cartes Arduino. Nous avions rapidement choisi les modèles les plus puissants de la gamme que sont les ATmega2560, rendus nécessaires par la gestion d'un affichage TFT. Toutefois lors des mes dernières réalisations (Géné 4GHz, Station météo) j'ai dû sévèrement optimiser le code afin que son exécution puisse tenir dans le 8ko de la RAM disponible. Il devenait donc urgent de se tourner vers des solutions plus performantes.
C'est ainsi que je me suis intéressé aux microcontrôleurs ESP 32 qui offrent non plus 8 kilo-octet de RAM mais... 8 Méga-octet ! Quant à la fréquence on passe de 16 MHz à... 240 MHz, sans compter les nombreuses interfaces (des cartes) disponibles Bluetooth, SPI, WIFI, TFcard, ADC, DAC, voir même carte SIM (sur certains modèles)... Le tout avec une consommation électrique bien plus faible que celles des Raspberry Pi (que j'utilise également et que j'apprécie tout particulièrement!)
Et puisque j'ai commencé les comparaisons, en voici d'autres :
- processeur double coeurs 32 bits (au lieu d'un simple coeur 8 bits)
- support Wi-Fi et Bluetooth intégrés sur la puce
- coprocesseur ultra basse consommation
- Cryptographie (multiples protocoles)
Il sont programmables par l'IDE Arduino, beaucoup de bibliotheques Arduino ont été transposées pour les ESP32... Et l'on peut très facilement utiliser Geany comme éditeur de code.
Alors certes, ces formidables bestioles donnent aussi la possibilité d'exister à la folie IoT 'Internet of Things' (et en sont aussi sans doute la conséquence) qui enflamme nos dirigeants téléguidés par le côté obscur de la force ! Alors que les choses soient bien claires : Je ne fais pas l'éloge de l'Internet des objets, qui permettra de m'appeler sur mon smartphone pour me signaler qu'il n'y a plus de lait dans mon frigo ! (Et le signalera d'ailleurs peut-être au Ministère de la Consommation Obligatoire). Je vais me contenter d'apprivoiser ces bidules programmables pour en faire des choses sympathiques.
J'ai oublié de mentionner la carte Arduino Due : elle est basée sur un microcontrôleur ARM 32bits AT91SAM3X8E tournant à 84MHz et disposant de 96kB de SRAM. Ce qui élargissait déjà grandement le champs de possibilités. Je vous laisse comparer.
Bon pour l'instant je vous laisse, je vais aller vérifier s'il reste suffisamment de lait dans le frigo !