ESP8266 en tant que programmateur ISP sans fil pour ATmega

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.

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

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

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.

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 ?

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 ?

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!

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 ?

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:

"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