Etape 1: Introduire le noyau d’étincelle
Il s’agit de mon premier projet avec le noyau de l’étincelle, et j’ai été très impressionné par ce microcontrôleur. C’était très facile de commencer avec, b/c il propose une documentation excellente (http://docs.spark.io/), de la connectivité WiFi et une API simple mais puissante pour lire/écrire les broches (un peu comme la bibliothèque de l’Arduino). J’ai aussi trouvé qu’il a un actif, amical et très serviable développeurs et utilisateurs communautaires (https://community.spark.io/).
Fiche
Le noyau de l’étincelle est beaucoup plus performant que l’Arduino, b/c au lieu de la puce ATmega, il utilise un processeur de Cortex™-M3 ARM 32 bits.
Il a 128 Ko de mémoire Flash pour stocker vos programmes, tandis que l’Arduino a seulement 32 Ko, ce qui signifie que vous pouvez utilise des bibliothèques plus puissants. En ce qui concerne la RAM, étincelle a 20 KB SRAM, vs de Arduino 2KO, ainsi vous pouvez stocker plus de vos données dans la RAM pendant que votre programme s’exécute.
En plus d’avoir 128 KB de mémoire flash interne pour stocker le firmware, le noyau dispose également d’une puce de mémoire flash fonction SPI externe 2 MB. Environ 500 Ko de qui est utilisé pour stocker des images de récupération et de clés publiques/privées, mais l’autre 1,5 MB est disponible pour l’utilisateur ! Étant donné que la mémoire flash est non volatile, il conserve les données même après mise hors tension.
Nous allons utiliser cette mémoire Flash pour stocker nos graines pré-calculée pour la génération de nombres aléatoires, nécessaire à la mise en œuvre du canal de communication crypté.
Et bien sûr, le noyau est minuscule ! C’est à peu près la même taille que l’Arduino Pro Mini (http://arduino.cc/en/Main/ArduinoBoardProMini).
Vous trouverez plus de détails sur le matériel ici : http://docs.spark.io/hardware/