ESP 8266,Arduino and Thingspeak


i doing project upload sensor value thinkspeak,everthing ok ,but thingspeak  webpage not show value??

code: [select]
[/#include <softwareserial.h>
#include<wire.h>
#include<adafruit_mlx90614.h>
adafruit_mlx90614 mlx = adafruit_mlx90614();
float tempa=0;
float tempo=0;
softwareserial espserial =  softwareserial(0,1);      // arduino rx pin=2  arduino tx pin=3    connect arduino rx pin esp8266 module tx pin   -  connect arduino tx pin esp8266 module rx pin

string apikey = "uwgf5n4mu47tlwef";     // replace channel's thingspeak write api key
string ssid="hope no dc";    // wifi network ssid
string password ="98798798777";  // wifi network password
boolean debug=true;

//======================================================================== showresponce
void showresponce(int waittime){
    long t=millis();
    char c;
    while (t+waittime>millis()){
      if (espserial.available()){
        c=espserial.read();
        if (debug) serial.print(c);
      }
    }
                   
}

//========================================================================
boolean thingspeakwrite(string tempstr){
  string cmd = "at+cipstart=\"tcp\",\"";                  // tcp connection
  cmd += "184.106.153.149";                               // api.thingspeak.com
  cmd += "\",80";
  espserial.println(cmd);
  if (debug) serial.println(cmd);
  if(espserial.find("error")){
    if (debug) serial.println("at+cipstart error");
    return false;
  }
 
 
  string getstr = "get /update?api_key=";   // prepare string
  getstr += apikey;
  getstr +="&field1=";
  getstr += string(tempstr);
  //getstr +="&field2=";
 // getstr += string(value2);
  // getstr +="&field3=";
  // getstr += string(value3);
  // ...
  getstr += "\r\n\r\n";

  // send data length
  cmd = "at+cipsend=";
  cmd += string(getstr.length());
  espserial.println(cmd);
  if (debug)  serial.println(cmd);
 
  delay(100);
  if(espserial.find(">")){
    espserial.print(getstr);
    if (debug)  serial.print(getstr);
  }
  else{
    espserial.println("at+cipclose");
    // alert user
    if (debug)   serial.println("at+cipclose");
    return false;
  }
  return true;
}
//================================================================================ setup
void setup() {               
  debug=true;           // enable debug serial
  serial.begin(9600);
  mlx.begin(); // start temp sensor
 
  espserial.begin(9600);  // enable software serial
                          // esp8266 module's speed @ 115200.
                          // reason first time set speed 115200 or esp8266 configured speed
                          // , upload. change 9600 , upload again
 
  espserial.println("at+ciobaud=9600");         // set esp8266 serial speed 9600 bps
 espserial.println("at+uart_cur=9600,8,1,0,0");         // set esp8266 serial speed 9600 bps
 
  showresponce(1000);
 
  espserial.println("at+rst");         // reset esp8266
  showresponce(1000);

  espserial.println("at+cwmode=1");   // set esp8266 client
  showresponce(1000);

  espserial.println("at+cwjap=\""+ssid+"\",\""+password+"\"");  // set home router ssid , password
  showresponce(5000);

   if (debug)  serial.println("setup completed");
}


// ====================================================================== loop
void loop() {
char buffer[10];
  // read sensor values
   float t = mlx.readobjecttempc();
        if (isnan(t) ) {
        if (debug) serial.println("failed read temp");
      }
      else {
          if (debug)  serial.println("temp="+string(t)+" *c");
            string tempstr = dtostrf(t, 4, 1, buffer);
           thingspeakwrite(tempstr);                                      // write values thingspeak
      }
 
   
  // thingspeak needs 15 sec delay between updates,     
  delay(20000); 
}]

code: [select]
[/#include <softwareserial.h>
#include<wire.h>
#include<adafruit_mlx90614.h>

perhapsyoushouldgetanewkeyboardwithaworkingspacekey.

code: [select]
softwareserial espserial =  softwareserial(0,1);      // arduino rx pin=2  arduino tx pin=3    connect arduino rx pin esp8266 module tx pin   -  connect arduino tx pin esp8266 module rx pin

when code not match comment, comment looks stupid. why trying software serial on hardware serial pins?

code: [select]
  serial.begin(9600);
why trying software serial on hardware serial pins while using them hardware serial?

code: [select]
  getstr += string(tempstr);
wrapping string in string sure looks dumb.

code: [select]
void loop() {
char buffer[10];
  // read sensor values
   float t = mlx.readobjecttempc();
        if (isnan(t) ) {
        if (debug) serial.println("failed read temp");


i see hired drunken monkey type code you. not idea. every { goes on new line. tools + auto format function clear piss-poor indenting.


Arduino Forum > Using Arduino > Programming Questions > ESP 8266,Arduino and Thingspeak


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor