Go Down

Topic: Création d'un programme de téléversement (Read 1 time) previous topic - next topic

AntoineOnTheWeb

Bonjour,

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.

Merci d'avance
Cordialement

AntoineOnTheWeb et Alex7841

skywodd

#1
Nov 09, 2012, 03:09 pm Last Edit: Nov 09, 2012, 04:07 pm by skywodd Reason: 1
Bonjour,

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.

Le protocole STK500 :
http://www.atmel.com/Images/doc2525.pdf
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

AntoineOnTheWeb

Merci pour cette réponse rapide.

Dans quel langage faut t-il créer ce programme ?
Est-il possible de récupérer des bouts de programme du logiciel Arduino ?

skywodd


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.


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)
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

AntoineOnTheWeb

Ok nous allons regarder cela, reviendrons vers vous si nous avons besoin d'informations supplémentaires.

Merci encore pour vos réponses rapides.

AntoineOnTheWeb

J'ai trouvé ça en cherchant un peu sur internet : http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c5395/Implementing-Serial-Communication-in-Win9X2000.htm
Est-ce que ceci correspond à notre besoin au niveau de la communication avec les ports séries ?

Merci d'avance

skywodd


Est-ce que ceci correspond à notre besoin au niveau de la communication avec les ports séries ?

Oui mais le programme final ne sera compatible que windows à ce moment là.

Moi j'utilise une librairie cross-plateforme, Boost :
http://www.boost.org/doc/libs/1_52_0/doc/html/boost_asio/overview/serial_ports.html
(avec les avantage qu'apporte le C++)
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

AntoineOnTheWeb

Donc nous devons utiliser cette librairies avec le protocole STK500 ?

skywodd


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.
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

AntoineOnTheWeb

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.

Merci d'avance

68tjs

<Troll du Vendredi>
     Si vous voulez faire un programme pour windows uniquement

Ce serait pas bien ça !

<fin du Troll du Vendredi>

AntoineOnTheWeb


<Troll du Vendredi>
     Si vous voulez faire un programme pour windows uniquement

Ce serait pas bien ça !

<fin du Troll du Vendredi>


Effectivement ! Tant qu'à faire faisons quelque chose de multi-plateforme !

skywodd

#12
Nov 09, 2012, 04:11 pm Last Edit: Nov 09, 2012, 04:29 pm by skywodd Reason: 1
Edit: si je commence à me mélanger les pinceaux ça va pas le faire :.
L'implémentation du protocole STK500 sur arduino :
https://github.com/spake/Arduino-Copier

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 ;)
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

AntoineOnTheWeb

Je dois dire que pour le coup nous sommes un peu perdu   :~
Est-il possible d'avoir plus de précision sur la procédure à suivre ?

skywodd


Je dois dire que pour le coup nous sommes un peu perdu   :~
Est-il possible d'avoir plus de précision sur la procédure à suivre ?

Oula je me suis mélangé les pinceaux dans mes liens ... désolé  :smiley-red:
Le bon lien : https://github.com/spake/Arduino-Copier
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Go Up