Can't send data to thingspeak api using GET HTTP

80 views (last 30 days)
joem
joem on 11 Oct 2019
Answered: Vinod on 21 Oct 2019
I build an arduino based device and connect a GSM900 module to it which can establish GPRS connection and visit website. Also I have created an account in thingspeak. I tested sending data to the field with the browser in my PC by visiting https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXX&field1=0, and it does upload data and shows a number.
But when I try to do the same thing with the arduino based device, after
It dosn't repond nor shows the number. Is there anything missing?
The following is the arduino sketch and all the at command before the line above shows "ok" result.
Also, is there a way to test this GSM900 module is able to get http?
#include <SoftwareSerial.h>
SoftwareSerial softSerial(51, 52);//
void setup() {
Serial.begin(9600);
softSerial.begin(9600);
Serial.println("Initing...please wait.");
softSerial.println("AT+CPIN?");
delay(500);
printLine();
softSerial.println("AT+CGATT?");
delay(500);
printLine();
softSerial.println("AT+CIPSHUT");
delay(500);
printLine();
softSerial.println("AT+CIPSTATUS");
delay(500);
printLine();
softSerial.println("AT+CIPMUX=0");
delay(500);
printLine();
softSerial.println("AT+CSTT=\"ZENNET\"");
delay(500);
printLine();
softSerial.println("AT+CIICR");
delay(3000);
printLine();
softSerial.println("AT+CIFSR");
delay(1000);
printLine();
//softSerial.println("AT+CIPSPRT=0");
// delay(1000);
// printLine();
softSerial.println("AT+CIPSTART=\"TCP\",\"api.thingspeak.com\",\"80\"");
//AT+CIPSTART="TCP","api.thingspeak.com","80"
delay(3000);
printLine();
softSerial.println("AT+CIPSEND");
delay(13000);
printLine();
softSerial.println("GET https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXX&field1=0");
delay(20000);
printLine();
softSerial.println("\#026");
delay(3000);
printLine();
softSerial.println("AT+CIPSHUT");
delay(500);
printLine();
}
void loop() {
}
void printLine() {
String data;
while (softSerial.available() > 0)
{
char c = softSerial.read();
data += c;
}
Serial.println(data);
}

Answers (1)

Vinod
Vinod on 21 Oct 2019
Have you tried using the ThingSpeak library: https://github.com/mathworks/thingspeak-arduino
I'd recommend starting with those examples as a reference.

Communities

More Answers in the  ThingSpeak Community

Community Treasure Hunt

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

Start Hunting!