Ich verwende den mbed-Compiler von ARM, um meinen STM32 Nucleo zu programmieren. Ich verwende auch ein ESP8266 als mein WLAN-Modul.
Meine Verbindungen sind wie folgt:
Folgendes ist mein mbed-Code:
#include "mbed.h"
Serial esp(D8, D2);
DigitalOut myled(LED1);
void flush(void) {
while (esp.readable()) {
(void)esp.getc();
}
}
int main() {
esp.baud (115200);
char server[]="GET /update?key=NR************2Z&field1=7";
flush();
esp.printf("AT+RST\r\n");
wait(2);
esp.printf("AT+CWMODE=1\r\n");
wait(3);
esp.printf("AT+CWJAP=\"Harsha\",\"*****\"\r\n");
wait(3);
esp.printf("AT+CIPMUX=1\r\n");
wait(3);
esp.printf("AT+CIPSTART=4,\"TCP\",\"184.106.153.149\",80\r\n");
wait(3);
esp.printf("AT+CIPSEND=4,%d\r\n", sizeof(server)+2);
wait(2);
esp.printf("%s\r\n", server);
wait(3);
esp.printf("AT+CIPCLOSE\r\n");
while(1) {
myled = 1;
wait(0.1);
myled = 0;
wait(0.1);
}
return 0;
}
Ich kann mich mit meinem WLAN-Hotspot verbinden, was bedeutet, dass es kein Problem mit der Verbindung gibt. Aber die Daten, die ich übergebe, werden in Thingspeak überhaupt nicht aktualisiert. Ich habe es auch mit HTTP/1.0 und HTTP/1.1 in der Zeichenfolge „Server“ versucht, immer noch nichts. Übersehe ich etwas?
Ich habe es gelöst, indem ich die Verzögerung für den Aufbau der WLAN-Verbindung nach dem Zurücksetzen erhöht habe. Für diejenigen, die dies hilfreich finden könnten, ist der Arbeitscode wie folgt:
#include "mbed.h"
Serial esp(D8, D2);
DigitalOut myled(LED1);
void flush(void) {
while (esp.readable()) {
(void)esp.getc();
}
}
char server[]="GET /update?api_key=9FL*********C2&field2=";
int main() {
int x=7;
esp.baud(115200);
flush();
esp.printf("AT+RST\r\n"); /* reset module */
wait(2);
flush();
esp.printf("AT+CWMODE=3\r\n");
wait(1);
flush();
// The huge delay was key to obtaining the IP address, so that further commands don't interfere with the ongoing process
esp.printf("AT+CWJAP=\"Harsha\",\"*******\"\r\n"); /* configure as access point */
wait(20);
flush();
esp.printf("AT+CIPMUX=1\r\n");
wait(5);
flush();
//response();
esp.printf("AT+CIPSTART=0,\"TCP\",\"api.thingspeak.com\",80\r\n");
wait(5);
flush();
//response();
esp.printf("AT+CIPSEND=0,%d\r\n", sizeof(server)+15);
wait(3);
flush();
//response();
esp.printf("%s", server);
esp.printf("%d", x);
esp.printf(" HTTP/1.0\r\n\r\n\r\n\r\n\r\n");
wait(2);
flush();
while(1) {
//To indicate completion
myled = 1;
wait(0.1);
myled = 0;
wait(0.1);
}
return 0;
}
Benutzer72833
Harscha
Benutzer72833
Harscha
Benutzer72833
Harscha
Benutzer72833
ChrisR