I want to send data to ThingSpeak using Arduino
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Currently, GPS data is acquired using Arduino on Simulink.
I want to send this data to ThingSpeak.
How should I set the microcomputer board?
Thank you very much!
6 comentarios
Respuestas (2)
Vinod
el 14 de Abr. de 2022
Editada: Vinod
el 14 de Abr. de 2022
The question title says "I want to send data to ThingSpeak using Arduino", which is answered by the answer here.
If you are interested in sending data to ThingSpeak using Simulink and Arduino, I would recommend watching this video as a starting point.
or this one:
Jan Maly
el 13 de Abr. de 2022
Hello,
try bellow code, works for me.
#include <WiFiClientSecure.h> // you need this library, cos Thingspeak use SSL protocoal, so standard WIFIClient is not able to connect there
const char* ssid = "SSID name";
const char* password = "your password";
WiFiClientSecure client;
void connectToWIFI() {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(WiFi.status());
delay(1000);
}
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void setup() {
Serial.begin(115200);
connectToWIFI();
}
void loop() {
httpRequestData = "api_key=YOURAPIKEY&field1=22.32&field22=12.89; //up to field 8
responseTime = millis();
Serial.println(" Starting connection to server thingspeak");
Serial.println(httpRequestData);
client.setInsecure(); //skip SSL verification
if (!client.connect("api.thingspeak.com", 443, 10000)) {
Serial.println("Connection failed! Reconnect!");
connectToWIFI();
} else {
Serial.print(" Connected to server!");
client.println("GET https://api.thingspeak.com/update?" + httpRequestData + " HTTP/1.0");
client.println("Host: api.thingspeak.com");
client.println("Connection: close");
client.println();
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
Serial.print(" Headers received "); // or display lito to get return code
break;
}
}
Serial.println(millis() - responseTime); //response time in miliseconds
client.stop();
}
}
be carefully, today i found, that only one request per 15 seconds can be send
3 comentarios
Jan Maly
el 14 de Abr. de 2022
Sorry, no idea. This is pure wire language. I use Arduino IDE software, to connect to device via USB and upload code above.
Comunidades de usuarios
Más respuestas en ThingSpeak Community
Ver también
Categorías
Más información sobre Arduino Hardware en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!