Например TDA7294

Форум РадиоКот • Просмотр темы - Вывод значения в web-браузере
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 10:27:57

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Вывод значения в web-браузере
СообщениеДобавлено: Ср янв 02, 2019 22:13:07 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Добрый вечер! Вывожу значение температуры с Ардуино через ESP8266 с прошивкой esp-link. Значение температуры выводится на на html страницу. Хотел с помощью разметки сделать знак градусов цельсия, в котором буква о в верхнем индексе и С.
Код страницы ниже:
Код:
<!DOCTYPE html>
 <html>
  <meta name="refresh-rate" content="500" />
 
  <div class="header">
    <h1>Temperature measurement</h1>
  </div>

  <div class="content">
    <p id="temp" align="center" style="font-size: 500%" />
  </div>
 
</body></html>

Разобрался как сделать вывод градусов цельсия в разметке html:
Код:
<sup> o </sup> C

Но не могу понять, как эту конструкцию добавить в строку вывода значения температуры.
В примере, с которым разбираюсь, знак Цельсия добавлен в код Ардуино в строку, которая передается на страницу html
Код:
 // вычисляем значение температуры
  String t = floatToString(tempC);
  t += " C";
  webServer.setArgString(F("temp"), t.begin());

Если кто-то подскажет как это возможно реализовать, буду рад. Спасибо за помощь.
Вот вид страницы в данный момент
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Ср янв 02, 2019 23:12:13 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 1209
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2352
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Чтобы вывести значок градуса, надо не "о" поднимать, а использовать спецсимвол.
&deg; или &#176;
Ну и втыкать их в строчку:
t += " C";
по идее как то так:
t += "&deg;C";
Вероятно заработает.

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 03, 2019 06:48:00 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Спасибо, оно самое, работает.
Изображение
А так для общего развития, не подскажете,если необходимо в тоже строке, где я вывожу значение температуры со знаком градусов вывести еще поясняющий текст. Как его правильно добавить в html код
Вот в этот блок
<div class="content">
<p id="temp" align="center" style="font-size: 500%" />
</div>
Я только учу html, потому не понятно.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 03, 2019 09:12:10 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 1209
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2352
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Смотря что требуется добавить.
И опять же, учебников и уроков по HTML в сети море. Ничего сложного там нет.

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 03, 2019 14:33:35 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Да согласен с Вами, литературы много. Скачал много книг , да и в онлайне на сайтах много информации. Но интересует, допустим как перед значением температуры вывести поясняющую надпись.
пытался вклинить в блок со строкой
Код:
  <div class="content">
    <p id="temp" align="center" style="font-size: 500%" />
  </div>

Но видимо, что-то делал не так.
Если не сложно, подскажите как сделать так:
Изображение
А дальше уже буду разбираться, что к чему.
ЗЫ: Также насколько правильно было добавить обозначение градуса и символ С в строку со значением температуры в Ардуино, а не просто передавать строку с температурой?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 03, 2019 20:38:16 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 1209
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2352
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Тег <p> требует и закрывающий тег </p> у вас не увидел. Поэтому включил символ в строку вывода ардуино.
Приведите код шаблона, то что вы привели явно обрубок.

Без шаблона, только на вывод, вместо изначальных 3 строк:

String t = "В комнате:&nbsp;" + floatToString(tempC) + "&deg;C";
webServer.setArgString(F("temp"), t.begin());

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

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 03, 2019 23:14:46 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Добрый вечер!
Дело в том, что конструкция
Код:
    <p id="temp" align="center" style="font-size: 500%" />

выводит значение температуры, которую измеряет Ардуино. Когда я изменил эту строку в вид
Код:
    <p> id="temp" align="center" style="font-size: 500%" </p>

Пропало значение отображаемой температуры с 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);
}

// sprintf %f не поддерживается в Arduino...
String floatToString(float f)
{
int16_t intg = (int16_t)(f * 100.f);
int16_t int_part = intg / 100;
int16_t fract_part = intg % 100;

char buf[20];
sprintf(buf, "%d.%02d", int_part, fract_part);

return String(buf);
}

String arrayToString(byte array[])
{
unsigned int len = 8;
char buf[20];
for (unsigned int i = 0; i < len; i++)
{
byte nib1 = (array[i] >> 4) & 0x0F;
byte nib2 = (array[i] >> 0) & 0x0F;
buf[i*2+0] = nib1 < 0xA ? '0' + nib1 : 'A' + nib1 - 0xA;
buf[i*2+1] = nib2 < 0xA ? '0' + nib2 : 'A' + nib2 - 0xA;
}
buf[len*2] = '\0';
return String(buf);
}

void tempRefreshCb(char * url)
{
// вычисляем значение температуры
String t = floatToString(tempC);
t += " &deg;C";
webServer.setArgString(F("temp"), t.begin());
String a = arrayToString(Thermometer);
webServer.setArgString(F("address"), a.begin());
}

// настройка страницы
void tempInit()
{
// инициализируем работу с датчиком
sensors.begin();

// сделаем запрос на получение адреса датчика
sensors.getAddress(Thermometer, 0);

// установим выбранное разрешение датчика
sensors.setResolution(Thermometer, TEMPERATURE_PRECISION);

URLHandler *tempHandler = webServer.createURLHandler(F("/Temp.html.json"));

tempHandler->loadCb.attach(tempRefreshCb);
tempHandler->refreshCb.attach(tempRefreshCb);
}

ЗЫ: вот код страницы, интересует как средствами HTML добавить текст в той же строке где и выводимые переменные, перед значением и после
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Пн янв 07, 2019 17:37:31 
Друг Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 283
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 3040
Откуда: Биробиджан
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Верни html конструкцию в вид когда всё работало, она тебе не нужна.
В строке
Код:
webServer.setArgString(F("temp"), t.begin());
temp - это метка куда нужно вписать данные, а t - что нужно записать.
Что-бы перед температурой вывести надпись, то нужно её передать в переменную t до передачи в неё значения температуры.
Как тебе написал AndTer, замени свой код на следующий:
Код:
// То что было
String t = floatToString(tempC);
+= " &deg;C";

// То что должно быть
String t = "В комнате:&nbsp;" + floatToString(tempC) + "&deg;C";

Для прощего понимания можно записать по другому?
Код:
String t; // объявление переменной t
= "В комнате:&nbsp;"; // присвоение начального текста
+= floatToString(tempC); // присвоение значения
+= "&deg;C"; // присвоение окончания    


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 10, 2019 06:53:42 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Я понял, в html это сделать трудновато. А не подскажете, что это за конструкция
<p id="temp" align="center" style="font-size: 500%" />
искал по html справочникам, но нигде похожего синтаксиса не нашел.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 10, 2019 10:18:42 
Мучитель микросхем
Аватар пользователя

Карма: 3
Рейтинг сообщений: 15
Зарегистрирован: Сб фев 21, 2009 16:11:32
Сообщений: 423
Откуда: Харьков
Рейтинг сообщения: 0
p это тег абзаца http://htmlbook.ru/html/p

в Вашем случае применяется с закрывающим тегом по упрошенной записи <p /> вместо <p> </p>

style="font-size: 500%" это Встроенные стили. задает размер шрифта

align="center" это атрибут тега, задает выравнивание

id="temp" также атрибут. ID. может применяться для присвоения стилей или для идентификации объекта Java Script`ом для определенных с ним действий. например для динамического заполнения содержимым

как то так

добавить текст можно в HTML шаблоне через CSS

Код:
<style>
#temp::before{
  content: "Пример текста до";
  color: red;
 
}
#temp::after{
  content: " Пример текста после";
  color: green;
 
}
</style>


решение, конечно через жопу


Последний раз редактировалось khomych Чт янв 10, 2019 10:41:46, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 10, 2019 10:40:13 
Друг Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 283
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 3040
Откуда: Биробиджан
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Что трудновато сделать в html? Html это всего лишь язык разметки страницы. Кстати, а зачем тебе арудино для работы с датчиком температуры, если ESP может напрямую работать с DS18b20?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Чт янв 10, 2019 10:51:39 
Мучитель микросхем
Аватар пользователя

Карма: 3
Рейтинг сообщений: 15
Зарегистрирован: Сб фев 21, 2009 16:11:32
Сообщений: 423
Откуда: Харьков
Рейтинг сообщения: 0
Код:
<p align="center" style="font-size: 500%">Текст до <span  id="temp"></span>Текст после</p>



в конструкцию
Код:
<span  id="temp"></span>
будет подставляться температура


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вывод значения в web-браузере
СообщениеДобавлено: Вт янв 22, 2019 16:10:03 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
khomych, спасибо. Оно самое. Все работает как нужно было.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y