I am integrating ThingSpeakthingspeak and Arduinoarduino plus ESP8266, with an intent ofEsp8266 mean making a simple project which containscontain my Androidandroid app to update the ThingSpeakthingspeak channel and then I want to read the data of that channel via Arduino Unoarduino uno. The Androidthe android parts works fine, but at the Arduinoarduino side Ii got stuck and unable to read the channel data via ESP8266 esp8266(attached to my Arduino Unoarduino uno).
Here Here is my code:.any help would be appreciated. it shows in serial monitor connecting to thingspeak.com and show nothing next.
#include "WiFiEsp.h"
// Emulate Serial1 on pins 26/37 if not present
#ifndef HAVE_HWSERIAL1
#include "SoftwareSerial.h"
SoftwareSerial Serial1(2,3); // RX, TX
#endif
char ssid[] = "M T G"; // your network SSID (name)
char pass[] = "androidGUII"; // your network password
int status = WL_IDLE_STATUS; // the Wifi radio's status
char server[] = "arduino.cc";
// Initialize the Ethernet client object
WiFiEspClient client;
static const char* host = "api.thingspeak.com";
static const char* apiKey = "H359MYV0P0KFG2VS";"xxxxxxxxxxxxxxxxxxxxxxxxxx";
void setup()
{
// initialize serial for debugging
Serial.begin(115200);
// initialize serial for ESP module
Serial1.begin(9600);
// initialize ESP module
WiFi.init(&Serial1);
// check for the presence of the shield
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue
while (true);
}
// attempt to connect to WiFi network
while ( status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network
status = WiFi.begin(ssid, pass);
}
// you're connected now, so print out the data
Serial.println("You're connected to the network");
printWifiStatus();
Serial.println();
}
void loop()
{
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
client.println("GET /channels/421932xxxxxxx/feeds.json?api_key=H359MYV0P0KFG2VS&results=2api_key=xxxxxxxxxx&results=2 HTTP/1.1");
while (client.available() == 0); // wait till something comes in; you may want to add a timeout here
Serial.println(client.read());
client.stop(); // close socket
delay(10000);
}
void printWifiStatus()
{
// print the SSID of the network you're attached to
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength
long rssi = WiFi.RSSI();
Serial.print("Signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
It shows in serial monitor connecting to thingspeak.com and nothing shows next.