I want to send data to ThingSpeak using Arduino

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 Comments

ThingSpeak has location fields in the feed. When you write an entry, you can have field1, field2...field 8, status, then lattitude, longitude, and elevation.
See the Write data page for the correct formats.
When you read the data back, be sure to set location=true to get the position data back.
We reccomend using the ThingSpeak library for Arduino, there are some good examples in there of how to write to a channel.
Mr. Christopher,
Thank you for your response.
I'm currently trying to do it with an arduino mega and a Wifi shield.
However, I get an error like the image.
I looked at the problem solving page and tried to solve it, but I couldn't improve it
Is it due to the hardware used?
Thanks you very much.
Where is that error coming from? Is it the Arduino IDE or simulink or something else?
It is coming from simulink.
Hi Seiya,
What WiFi shield are you using with the Mega?
Hi,
Now, I am using SHIELD-ESP-WIFI REV 2.0. with the Mega.
Also, is there a Wifi shield that I should buy?
Thank you very much.

Sign in to comment.

Answers (2)

Vinod
Vinod on 14 Apr 2022
Edited: Vinod on 14 Apr 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:

1 Comment

Hi Vinod,
Sorry for the late reply.
I think it will be very helpful.
I will try this method.
Thank you very much!

Sign in to comment.

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 Comments

Hello,
Which block should I use to install this program in simulink?
Thank you very much.
Sorry, no idea. This is pure wire language. I use Arduino IDE software, to connect to device via USB and upload code above.
I understand.
Thank you very much!

Sign in to comment.

Communities

More Answers in the  ThingSpeak Community

Categories

Products

Release

R2021a

Asked:

on 29 Mar 2022

Commented:

on 18 Apr 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!