String w = ("<p style=\"text-align: center; font-family:Courier New; color:#EFB30B ; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#1C5A9F; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n WiFi: ­­ ");
long rssi = WiFi.RSSI(); // get dBm from the ESP8266
w += (rssi);
w += "dB ­­ ";
w += (rssi + 100); //~ 100% ??
w += "%";
w += "</html>\n";
htmlRes += (w);
String w = ("<p style=\"text-align: center; font-family:Courier New; color:#EFB30B ; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#1C5A9F; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n WiFi: ­­ ");
long rssi = WiFi.RSSI(); // get dBm from the ESP8266
w += (rssi);
w += "dB ­­ ";
w += (rssi + 120); //~ 100% ??
w += "%";
w += "</html>\n";
htmlRes += (w);
temper = temper.Round(1);
temper = temper.Round(0);
String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­­ ");@Alex1
1. С особенностями поведения функции WiFi.RSSI() я не разбирался, но могу поделится общими соображениями:
- во-первых, по моему мнению, это лишь приблизительная оценка уровня сигнала, к которой я не относился бы слишком серьезно;
- во-вторых, думаю, что еще надо поразбираться, программа ли занижает уровень сигнала. Или он такой плохой и есть. Например, металлическая коробочка, если в неё поместить ESP, экранирует радиосигнал Wi-Fi. Неудачный монтаж устройства, что антенна ESPоказалась рядом с массивной металлической деталью или массивной шиной заземления на плате. Или какая-то причина посложней...
- в-третьих, в интернете, при желании, можно найти достаточно детальных обсуждений особенностей распространения сигнала Wi-Fi и доступных способов увеличения дальности действия Wi-Fi устройств.
2. Кажется, тут помещен не тот кусок кода. А по сути (сейчас ARDUINO IDE под руками нет, точно посмотреть не могу) посоветовал бы в примерах поискать функцию Round. Думаю, что должно быть что-то типа
если до десятых долей, илиКод:temper = temper.Round(1);
если до целыхКод:temper = temper.Round(0);
UPDATE. Нет, этот совет не сработает. В общем, надо смотреть исходный код...
И еще совет - полезные для себя сообщения отмечайте кнопочкой "Мне нравится" внизу сообщения
проблемы не решит. Надо по другому. А вот как?temper = temper.Round(0)
Можно попробовать так.2й Как убрать сотые из показаний температуры, они мне не нужны пробовал через float, но там просто делится например вместо 26,30 переносится запятая
float val = 1.53;
int value = floor(val+0.5);
Можно попробовать так.
Код:float val = 1.53; int value = floor(val+0.5);
String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­");
t += int value = floor(val+0.5);
t += float val = 1.53;
t += (sensors.getTempCByIndex(0));
t += " C`";
htmlRes += (t);
Вы реально вот так и пишите свой код?Разные ошибки получаются строки ставил выше ниже комбинации
Код:String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­"); t += int value = floor(val+0.5); t += float val = 1.53; t += (sensors.getTempCByIndex(0)); t += " C`"; htmlRes += (t);
sprintf(str, "%.1f",sensors.getTempCByIndex(0)+0.5 )
Char str[6]; //added by kab
sprintf(str, "%5.1f",sensors.getTempCByIndex(0)); //added by kab
String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­");
//t += (sensors.getTempCByIndex(0)); //comment by kab
t += (str); //added by kab
t += " C`";
htmlRes += (t);
String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­");
//t += float val = 1.53;
//t += int value = floor(val+0.5);
t += floor(sensors.getTempCByIndex(0)+0.5);
t += " C`";
htmlRes += (t);
String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­");
char str[6]; //added by kab
sprintf(str, "%5.1f",sensors.getTempCByIndex(0)); //added by kab
//t += (sensors.getTempCByIndex(0)); //comment by kab
t += (str); //added by kab
t += " C`";
htmlRes += (t);
Да ладно, так даже интереснее ...@Slacky Я в ардуино только месяц, мигать светодиодом стало не интересно, вот и полез наверно туда куда рано )))) Показывает с сотыми, только открываю ваши строки, сразу ошибки писать начинает, вариации ниже или выше по списку не помогают
Код:String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­"); //t += float val = 1.53; //t += int value = floor(val+0.5); t += floor(sensors.getTempCByIndex(0)+0.5); t += " C`"; htmlRes += (t);
вместо char str[6];@kab при каком виде показывает Temp: %.1f C`
Код:String t = ("<p style=\"text-align: center; font-family:Courier New; color:#05FFD6; font-size: 13px; margin-top: -10px; padding: 1px 1px; background-color:#BF4A05; \"\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n Temp: ­"); char str[6]; //added by kab sprintf(str, "%5.1f",sensors.getTempCByIndex(0)); //added by kab //t += (sensors.getTempCByIndex(0)); //comment by kab t += (str); //added by kab t += " C`"; htmlRes += (t);