Pages: [1] 2   Go Down
Author Topic: Création d'un programme de téléversement  (Read 953 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: November 09, 2012, 10:07:02 am by skywodd » Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Merci encore pour vos réponses rapides.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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++)
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Donc nous devons utiliser cette librairies avec le protocole STK500 ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 25
Posts: 1904
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Ce serait pas bien ça !

<fin du Troll du Vendredi>
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

<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 !
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Edit: si je commence à me mélanger les pinceaux ça va pas le faire smiley-small
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 smiley-wink
« Last Edit: November 09, 2012, 10:29:29 am by skywodd » Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je dois dire que pour le coup nous sommes un peu perdu   smiley-confuse
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
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1] 2   Go Up
Jump to: