Добрый вечер! Вывожу значение температуры с Ардуино через ESP8266 с прошивкой esp-link. Значение температуры выводится на на html страницу. Хотел с помощью разметки сделать знак градусов цельсия, в котором буква о в верхнем индексе и С.
Код страницы ниже:
Но не могу понять, как эту конструкцию добавить в строку вывода значения температуры.
В примере, с которым разбираюсь, знак Цельсия добавлен в код Ардуино в строку, которая передается на страницу html
Чтобы вывести значок градуса, надо не "о" поднимать, а использовать спецсимвол.
° или °
Ну и втыкать их в строчку:
t += " C";
по идее как то так:
t += "°C";
Вероятно заработает.
Спасибо, оно самое, работает.
А так для общего развития, не подскажете,если необходимо в тоже строке, где я вывожу значение температуры со знаком градусов вывести еще поясняющий текст. Как его правильно добавить в html код
Вот в этот блок
<div class="content">
<p id="temp" align="center" style="font-size: 500%" />
</div>
Я только учу html, потому не понятно.
Да согласен с Вами, литературы много. Скачал много книг , да и в онлайне на сайтах много информации. Но интересует, допустим как перед значением температуры вывести поясняющую надпись.
пытался вклинить в блок со строкой
Но видимо, что-то делал не так.
Если не сложно, подскажите как сделать так:
А дальше уже буду разбираться, что к чему.
ЗЫ: Также насколько правильно было добавить обозначение градуса и символ С в строку со значением температуры в Ардуино, а не просто передавать строку с температурой?
Тег <p> требует и закрывающий тег </p> у вас не увидел. Поэтому включил символ в строку вывода ардуино.
Приведите код шаблона, то что вы привели явно обрубок.
Без шаблона, только на вывод, вместо изначальных 3 строк:
Но не уверен что он отобразит кириллицу. Нужно явно указывать кодировку страницы, и вставлять кириллицу в правильном редакторе, в соответствующей кодировке.
Пропало значение отображаемой температуры с web-страницы
Я искал по интернету, но не нашел в каком случае используется закрывающая скобка в верхней строке, а в каком случае в нижней строке.
Вот код страницы, выводящей температуру
Спойлер// подключим необходимые библиотеки
#include <ELClientWebServer.h>
#include <OneWire.h>
#include <DallasTemperature.h>
float tempC = 0; // измеренная температура
// сигнальный провод подключен к 10 пину на Arduino
#define ONE_WIRE_BUS 10
// выберем разрешение от 9 до 12
#define TEMPERATURE_PRECISION 12
// настроим библиотеку 1-Wire для связи с датчиком
OneWire oneWire(ONE_WIRE_BUS);
// создадим объект для работы с библиотекой DallasTemperature
DallasTemperature sensors(&oneWire);
// создаем массив для хранения адреса датчика
DeviceAddress Thermometer;
// цикл измерения температуры
void tempLoop()
{
// отправляем запрос на измерение температуры
sensors.requestTemperatures();
// присваиваем переменной tempC текущее значение температуры в градусах Цельсия
tempC = sensors.getTempC(Thermometer);
}
tempHandler->loadCb.attach(tempRefreshCb);
tempHandler->refreshCb.attach(tempRefreshCb);
}
ЗЫ: вот код страницы, интересует как средствами HTML добавить текст в той же строке где и выводимые переменные, перед значением и после
temp - это метка куда нужно вписать данные, а t - что нужно записать.
Что-бы перед температурой вывести надпись, то нужно её передать в переменную t до передачи в неё значения температуры.
Как тебе написал AndTer, замени свой код на следующий:
String t; // объявление переменной t
t = "В комнате: "; // присвоение начального текста
t += floatToString(tempC); // присвоение значения
t += "°C"; // присвоение окончания
Я понял, в html это сделать трудновато. А не подскажете, что это за конструкция
<p id="temp" align="center" style="font-size: 500%" />
искал по html справочникам, но нигде похожего синтаксиса не нашел.
в Вашем случае применяется с закрывающим тегом по упрошенной записи <p /> вместо <p> </p>
style="font-size: 500%" это Встроенные стили. задает размер шрифта
align="center" это атрибут тега, задает выравнивание
id="temp" также атрибут. ID. может применяться для присвоения стилей или для идентификации объекта Java Script`ом для определенных с ним действий. например для динамического заполнения содержимым
Что трудновато сделать в html? Html это всего лишь язык разметки страницы. Кстати, а зачем тебе арудино для работы с датчиком температуры, если ESP может напрямую работать с DS18b20?