2016-11-13 4 views
0

J'ai un Arduino DUE et je veux le connecter à une carte ESP8266, puis tester la connexion avec une simple commande "AT" sur la ligne de commande série. J'ai beaucoup écrit sur internet mais il y a tellement de réponses différentes sur ce sujet et aucune d'entre elles ne résout directement mon problème.Arduino Due avec ESP8266 simple commande AT

J'ai installé l'eps8266 correctement avec les deux câbles d'alimentation. Ils viennent même de différentes sources d'énergie, donc il ne devrait pas y avoir de problème avec la puissance de la carte ESP. Je pense que les problèmes sont quelque part dans les différentes vitesses de transmission. Si je choisis 9600 Bauds pour la connexion de l'Arduino au PC via USB et 74880 pour la connexion de la carte ESP à la DUE, je reçois au moins les messages d'erreur correctement quand la carte ESP doit redémarrer (quand je le force).

ets 8 janvier 2013, la cause première: 1, le mode de démarrage: (3,6)

charge 0x40100000, len 1396, la chambre 16
queue 4 chksum 0x89 charge 0x3ffe8000, len 776, chambre 4
queue 4 chksum 0xe8 charge 0x3ffe8308, len 540, chambre 4
queue 8 chksum 0xC0 csum 0xC0

deuxième version boot: 1,4 (B1)
SPI Vitesse: 40MHz
SPI Mod
le: 52mn

Le code est le suivant:

//always high 
int CH_PD_8266 = 53; 

void setup() { 
    Serial.begin(9600); 
    Serial3.begin(74880); //--> at least error code is shwon correctly 

// Serial3.begin(115200); //error code is gibberish 
    pinMode(CH_PD_8266, OUTPUT); 
    digitalWrite(CH_PD_8266, HIGH); 
} 

void loop() { 
    while (Serial.available() > 0) { 
    char a = Serial.read(); 
    Serial3.write(a); 

    //Write back to see if it even comes perfect 
    //Serial.write(a); 
    } 

} 

void serialEvent3() { 
    while (Serial3.available() > 0) { 
    char a = Serial3.read(); 
    // Serial.write('A'); 
    Serial.write(a); 
    } 
} 

Toute aide serait vraiment apprécié.

+0

Etes-vous sûr qu'il y a du 'firmware AT 'dans votre ESP8266? Si vous avez utilisé le plugin Arduino IDE + ESP8266 pour programmer directement ESP8266, vous écrasez le microprogramme AT pour qu'il ne réponde plus aux commandes AT. –

Répondre

1

Ce n'est pas une erreur. C'est juste un boot message.

Le microprogramme AT peut utiliser une vitesse de transmission différente de celle du bootloader.
Vous devriez essayer différents débits en bauds et le tester avec une simple commande AT.
Lorsque vous trouvez le bon débit en bauds, le message de démarrage sera garbage, mais les commandes AT fonctionneront.

+0

Merci, mais y at-il un type particulier de proportion entre les vitesses de transmission de mon Arduino au PC et le débit en bauds entre l'ESP et l'arduino? par exemple, le débit en bauds à pc doit être deux fois plus que celui à l'esp? – Kev1n91

+0

Aucune proportion n'est nécessaire, mais s'il y a beaucoup de données envoyées par l'ESP, le débit en bauds vers le PC devrait être plus élevé, afin que le tampon série ne soit pas obstrué. –

+0

Gardez à l'esprit que l'ESP démarre toujours à 74880 bauds, imprime le message de démarrage, puis passe le contrôle au microprogramme AT, qui passe le plus souvent à un autre débit en bauds. Pas sûr de ce que c'est, mais soit 9600 ou 115200 serait le plus probable, dépend du firmware qui est chargé! – cranphin