Помогите нубу Arduino has a hard time with float to string

Nub12345
Offline
Зарегистрирован: 24.04.2017
Хватило мозгов буквально на это, остался последний этам добавить к значениям температуры на страничке время с начала работы, в сериал вывожу его без проблем,
Serial.print(h);
Serial.print(":");
Serial.print(m);
Serial.print(":");

Serial.println( s);
А вот на страничку ни в какую не лезет , пишет Arduino has a hard time with float to string...4 сутки развлекаюсь

 
 
#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>
const char *ssid = "ra";
const char *password = "88888888";
ESP8266WebServer server(80);
/*  http://192.168.4.1 in a web browser*/
 
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
char myStr4[]= "s";
String webString="";     // String to display 
 void handleRoot()
 {
 
  
webString=" As-terra company \r\n Temperature: "+String(sensors.getTempCByIndex(0))+" C "String(+s)"   ";   // Arduino has a hard time with float to string
    server.send(200, "text/plain", webString);            // send to someones browser when asked
}
void setup(void)
{
  delay(1000);
  Serial.begin(115200);
  Serial.println();
  Serial.print("Configuring access point...");
  WiFi.softAP(ssid, password);
  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP server started");
  sensors.begin();
 
 
 
 
  
}
 
 void loop() {
 server.handleClient();
  sensors.requestTemperatures(); // Send the command to get temperatures
 
   
}
void TimePrint()
{
    
int time=millis()/1000;
 
int h =(((time/60)/60)%60);
if (h<0){h=0;}
int s =(time%60);
int m =((time/60)%60);
if (m<0){m=0;}
 
 
}
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вставляйтё код как положено - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii в таком виде его вряд ли кто будет читать.

String не умеет преобразовывать числа с плавающей точнкой. Если Вы никак не можете без них обойтись, то преобразовывайте с помощью функции dtostrf. Она работает нормально.

Nub12345
Offline
Зарегистрирован: 24.04.2017

Спасибо, буду знать, вопрос решил, но по другому

webString=" As-terra company \r\n Temperature: "+String(sensors.getTempCByIndex(0))+" C      "+String(h,DEC)+":"+String(m,DEC)+":"+String(s,DEC)+"   ";   // Arduino has a hard time with float to string
    server.send(200, "text/plain", webString);            // send to someones browser when asked

Сейчас бьюсь головой, как во внутреннюю память ESP8266 записать данные с датчиков....
Сд карту подключать не хочется, как задействовать внутренние ресурсы ESP8266?

 

Nub12345
Offline
Зарегистрирован: 24.04.2017

Ребзя, чтобы новую тему не создавать и не флудить, помогите плиз, подскажите, с помощью какой фунции реализовать, чтобы данные с датчиков на хтмл странице не обновлялись, а каждое новое значение добавлялось новой строкой на странице хтмл...