Go Down

Topic: ESP8266 en tant que programmateur ISP sans fil pour ATmega (Read 673 times) previous topic - next topic

myster1ous

Bonjour,

Je découvre les ESP8266 et j'aimerais utiliser le mien en tant que programmateur WiFi. Je vous explique la chose :

Pour l'instant je rédige le programme de mes ATmegas avec WinAVR, je le charge donc dans le micro-contrôleur grâce à AVRdude via un arduino uno qui sert de programateur ISP (fichier>Exemples>ArduinoISP).
Maintenant, j'aimerais faire en sorte de transférer le programme par WiFi vers l'ESP8266 qui remplace donc l'arduino.

Schématiquement j'aimerais passer de ça :
[AVRdude]----port-com-virtuel----[Arduino]----ISP----[ATmega]

à ça :
[AVRdude]-)))  WiFi  (((-[ESP8266]----ISP----[ATmega]


Mes questions sont les suivantes:
- Sous un environnement Windows, AVRdude peut il se connecter à un socket TCP à la place d'un port com ?

C'est évidemment le point clé parce que sans ça, le projet tombe à l'eau. Je sais que oui sous GNU/Linux mais j'aimerais une confirmation concernant windows.

- Quelqu'un ici à déjà tenté ? Si je pouvais avoir des retours et des infos (comme je dis je débute avec ces bestioles là) ce serait chouette !

Sur google j'ai bien trouvé ce genre de projet, mais rien de très bien expliqué...
 
Merci.

al1fch

Bonjour
içi ESP-LINK un firmware ESP8266 que je 'ai pas testé .
Il remplit, entre autres fonctions, la programmation ISP(STK500)  via WiFi

myster1ous

J'ai fait pas mal de recherches, d'essais infructueux et puis je viens à l'instant de trouver, par hasard, un sketch dans les exemples arduino (ESP8266>Arduino_Wifi_AVRISP). Le titre à l'air d'annoncer la sortie du tunnel... y'a plus qu'a tester.

myster1ous

- Sous un environnement Windows, AVRdude peut il se connecter à un socket TCP à la place d'un port com ?

Je m'auto-répond : En effet, Sous windows cette fonction n'est pas prise en charge...Jusqu'à la release de la version 6.2 d'AVRdude trouvable ici!

Si ça peut aider d'autres personnes...

myster1ous

Le sketch Arduino_Wifi_AVRISP ne fonctionne pas. Il y a bien communication entre avrdude et l'esp8266 mais ça ne veux pas programmer.

A moins d'avoir loupé un truc crucial je vois pas quoi faire de plus...


J'ai regardé du côté du ESP-LINK proposé plus haut, c'est une vraie usine à gaz, tant pour la prog du module ESP que son l'utilisation. Pour simplifier il ne correspond pas à mon projet.

al1fch

Bonjour

As-tu essayé
-de flasher une carte Arduino Mini 8MHz 3,3V pour contourner les problèmes liés aux différences de niveau des signaux SPI  (ESP : signaux SPI en 3,3V)
-d'insérer des adaptateurs de niveaux logiques entre ESP et carte Arduino 5V ?

Quote
Le sketch Arduino_Wifi_AVRISP ne fonctionne pas. Il y a bien communication entre avrdude et l'esp8266 mais ça ne veux pas programmer.
Messages d'erreur ?

myster1ous

Il y a du nouveau. Je me suis entêté à installer esp-link et j'ai fini par y arriver. Le problème c'est que ça ne permet pas de programmer par ISP mais seulement via UART (ce qui sous entend l'utilisation d'un bootloader dans le micro-contrôleur cible). Du coup, c'est vérifié, cette piste ne correspond pas à mon usage.

Du côté "Arduino_Wifi_AVRISP", l'ESP8266 est, pour cet essai, relié à un ATtiny2313 fonctionnant en 3.3V. Du coup ça permet de se passer de convertisseurs de niveaux (et d'éliminer une cause possible de panne).

A la vue de ta réponse je me pose une question : Est-ce que ce sketch ne serait pas réservé à la programmation d'arduinos ? (moi je cherche à programmer des AVR "nus").

Merci!

al1fch

En principe ce sketch devrait programmer un AVR nu en ISP, ceci dit je ne l'ai jamais  testé !!

en lançant avrdude en ligne de commande quel est le message d'erreur ?

tu as un pull-up sur Reset ?
câblage comme içi ?

myster1ous

Oui j'ai bien une pull-up sur le reset (10K). Mon AVR se programme bien quand j'utilise mon programmateur filaire ISP.

Voici le message d'erreur que me sort avrdude:

Quote
> "make.exe" program
avrdude -P net:192.168.1.15:328  -b 38400 -c avrisp -p attiny2313    -v -e  -U flash:w:main.hex

avrdude: Version 6.2, compiled on Nov 20 2015 at 23:33:37
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"

         Using Port                    : net:192.168.1.15:328
         Using Programmer              : avrisp
         Overriding Baud Rate          : 38400
avrdude: ser_drain(): read error: Paramètre incorrect.


avrdude: ser_drain(): read error: Paramètre incorrect.


avrdude: ser_drain(): read error: Paramètre incorrect.


         AVR Part                      : ATtiny2313
         Chip Erase delay              : 9000 us
         PAGEL                         : PD4
         BS2                           : PD6
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     6     4    0 no        128    4      0  4000  4500 0xff 0xff
           flash         65     6    32    0 yes      2048   32     64  4500  4500 0xff 0xff
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel AVR ISP

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
         Hardware Version: 4669920
         Firmware Version: 0.2
         Topcard         : STK502
         Vtarget         : 1.8 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10

avrdude done.  Thank you.

make.exe: *** [program] Error 1

> Process Exit Code: 2
> Time Taken: 00:01

Go Up