Interfacing CC3200 Launchpad With ThingSpeak
Kindly assist I have been trying to create a small weather station with with DHT11 sensor and CC3200 launchpad and connect it to ThingSpeak but the code won't compile as I am using an Arduino code.
Anyone to please help
if true
#include <SPI.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <DHT.h> // Including library for dhtString apiKey = ""; // Enter your Write API key from ThingSpeak
const char *ssid = "Virus"; // replace with your wifi ssid and wpa2 key
const char *pass = "";
const char* server = "api.thingspeak.com";#define DHTPIN 11 //pin where the dht11 is connected
#define DHT dht(DHTPIN, DHT11);
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
dht.begin(); Serial.println("Connecting to ");
Serial.println(ssid);WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected"); }
void loop()
{ float h = dht.readHumidity();
float t = dht.readTemperature(); if (isnan(h) || isnan(t))
{
Serial.println("Failed to read from DHT sensor!");
return;
} if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com
{ String postStr = apiKey;
postStr +="&field1=";
postStr += String(t);
postStr +="&field2=";
postStr += String(h);
postStr += "\r\n\r\n"; client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr); Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" degrees Celcius, Humidity: ");
Serial.print(h);
Serial.println("%. Send to Thingspeak.");
}
client.stop(); Serial.println("Waiting..."); // thingspeak needs minimum 15 sec delay between updates
delay(1000);
}
end3 Comments
Time DescendingWe recommend using the ThingSpeak communication library. It takes care of most of the communication issues with the server. You can download it in the Arduino IDE, and then use the examples from the library to build your code.
Please change this line right away
// thingspeak needs minimum 15 sec delay between updates
delay(1000);
That delay is only 1 second, not 15 seconds, as the comment says. If you are a free user, you will be rejected in the server 14 times for each accepted update. This is wasteful of our resources, and may cause you to be blocked if it goes on too long.
Also, you are listing the static IP address. I'm glad you aren't actually using it, but it will be deprecated in the future, so I would definitely nor recommend having it in your code.
Start with something really simple and build from there. For example, use one of the examples to just write a static value to ThingSpeak and then build on that. You might even start by making sure you can update your channel using a web browser. Look on the API keys tab of your channel for the right syntax.