Nous savons que Arduino est Open Source. Nous voudrions créer un petit logiciel permettant de téléverser un programme prédéfini sur le micro-contrôleur Arduino Uno (avec Wifi Shield), en permettant à l'utilisateur de modifier quelques paramètres de notre programme. Ces paramètres seraient un SSID et une clef WiFi. Nous avons télécharger les sources (sur le site Google Code) mais nous ne s'avons pas comment les exploiter. Nous souhaiterions de préférence créer ce logiciel en C/C++ si cela était possible, mais nous pouvons nous adapter à tous les langages.
Le bootloader arduino est une version modifié du bootloader STK500 de ATMEL.
Il suffit d'avoir un morceau de code gérant le port série et un autre gérant le protocole STK500 pour uploader un programme.
AntoineOnTheWeb:
Dans quel langage faut t-il créer ce programme ?
Le langage importe peu du moment qu'il peut communiquer avec les ports séries de l'ordinateur.
AntoineOnTheWeb:
Est-il possible de récupérer des bouts de programme du logiciel Arduino ?
Non, l'ide arduino ne gére en rien l'upload, il ne fait qu'appeler le logiciel "avrdude" qui lui gère différent protocole de programmation.
Le plus simple reste quand même de faire quelque chose de propre en partant de zéro.
(le protocole STK500 est vraiment basique)
AntoineOnTheWeb:
Donc nous devons utiliser cette librairies avec le protocole STK500 ?
Non pas forcément, tout dépend de ce que vous voulez faire.
Si vous voulez un programme compatible linux / mac / windows il faut utiliser des librairies cross-plateforme comme Boost par exemple.
Si vous voulez faire un programme pour windows uniquement vous pouvez utiliser l'API windows directement.
Le protocole STK500 en lui même n'est qu'une "norme" qu'il faut suivre.
Elle peut être implémenter dans n'importe quelle langage et sur n'importe quelle plateforme.
C'est au développeur de faire son implémentation suivant les contraintes / cahier des charges.
Je pense que nous allons utiliser la librairie boost. Par contre nous ne comprenons pas comme utiliser la norme STK500 pour uploader un programme sur le arduino uno... Pourriez vous nous donner un peu plus d'informations à ce sujet.
Edit: si je commence à me mélanger les pinceaux ça va pas le faire :.
L'implémentation du protocole STK500 sur arduino :
Avec la doc du protocole en plus : http://www.atmel.com/Images/doc2525.pdf
(j'avais linké la v2 du protocole, la v1 est plus simple)
tout devrait être clair
Je crois que je viens de comprendre quelque chose de nouveau...
Si nous voulons appliquer la technique qui était dans les liens, nous devons créer un programme côté arduino qui récupère les infos transmise par le programme du PC. Est-ce biens ça ?