визуализация данных
Модератор: Alex
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: визуализация данных
это то же самое что выше,
start() вызывается по событию onload,затем циклично setTimeout('getFull5Data()', 1000);
а что с этим кодом не идет?
start() вызывается по событию onload,затем циклично setTimeout('getFull5Data()', 1000);
а что с этим кодом не идет?
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: визуализация данных
Так и не могу привязать число из XML страницы к счетчику. Все,что не использует эту возможность, влетает без проблем.
То же самое относится и к часам.
В коде html используется <body onload="init()" style="background-color:#84a5ed"> для задания заднего фона. А как прицепить наш CSS ? Такая конструкция работать не хочет
СпойлерПоказать
Код: Выделить всё
<!DOCTYPE html>
<html manifest="demo.manifest"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
%& <!-- links -->
<title>Canvas Steel</title>
</head>
<body onload="init()" style="background-color:#84a5ed">
<style>
.concept2 {
color: #333;
background: #BCC7B7 url(//%!/concept2.jpg) no-repeat;
background-size: 100% 100%;
}
</style>
<table>
<tbody><tr>
- Вложения
-
- hclock.rar
- Часы.
- (1.88 КБ) 160 скачиваний
-
- watch.rar
- Секундомер. Распаковать и закинуть на CD карту
- (48.37 КБ) 157 скачиваний
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 182
- Зарегистрирован: Чт ноя 24, 2016 10:47 am
- Благодарил (а): 5 раз
- Поблагодарили: 25 раз
Re: визуализация данных
А если так?serghei писал(а):В коде html используется <body onload="init()" style="background-color:#84a5ed"> для задания заднего фона. А как прицепить наш CSS ? Такая конструкция работать не хочетКод: Выделить всё
<body onload="init()" style="background-color:#84a5ed"> <style> .concept2 { color: #333; background: #BCC7B7 url(//%!/concept2.jpg) no-repeat; background-size: 100% 100%; }
Код: Выделить всё
<body onload="init()" class="concept2">
- Рейтинг: 1.16%
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: визуализация данных
Насколько я " въехал " в CSS конструкция .concept2 задает положение на экране. Если надо отобразить два или больше чисел , прописываем остальные аналогично. Потом она цепляет картинку.
Спасибо за совет, завтра попробую. Останется главный вопрос - как воткнуть показания счетчика. Если один раз я пойму - откроется целый пласт подобных информеров , а их великое множество.
С full5 и full18 проблем не было,потому что они сделаны по образу full2.
UPD. СПАСИБО!!!!! Сработало!!! Только еще надо было прицепить и наш CSS ))))
Для часов не проскочило(((
Спасибо за совет, завтра попробую. Останется главный вопрос - как воткнуть показания счетчика. Если один раз я пойму - откроется целый пласт подобных информеров , а их великое множество.
С full5 и full18 проблем не было,потому что они сделаны по образу full2.
UPD. СПАСИБО!!!!! Сработало!!! Только еще надо было прицепить и наш CSS ))))
Для часов не проскочило(((
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: визуализация данных
css каскадная таблица стилей
класс class="concept2
эта конструкция может быть помещена в файл css,а сам файл включен в html вот так <link href="xxx.css" rel="stylesheet" type="text/css" /> где xxx.css
искомая таблица
Встретив в HTML-документе этот тег, браузер загрузит с сайта CSS-файл (в нашем случае это xxx.css) и применит к документу содержащиеся в нём стили. Файл не должен содержать ничего, кроме CSS-инструкций.
Внешний файл со стилями удобен тем, что одни и те же стили можно применять ко множеству документов на сайте — в каждом из них достаточно лишь вписать одну строку с элементом
сама таблица может выглядеть так
.intro-индентификация элемента по class
.concept2-селектор класса.concept2 {
color: #333;
background: #BCC7B7 url(//%!/concept2.jpg) no-repeat;
background-size: 100% 100%;
класс class="concept2
эта конструкция может быть помещена в файл css,а сам файл включен в html вот так <link href="xxx.css" rel="stylesheet" type="text/css" /> где xxx.css
искомая таблица
Встретив в HTML-документе этот тег, браузер загрузит с сайта CSS-файл (в нашем случае это xxx.css) и применит к документу содержащиеся в нём стили. Файл не должен содержать ничего, кроме CSS-инструкций.
Внешний файл со стилями удобен тем, что одни и те же стили можно применять ко множеству документов на сайте — в каждом из них достаточно лишь вписать одну строку с элементом
сама таблица может выглядеть так
#top-индентификация элемента по id#top {
background-color: #ccc;
padding: 1em
}
.intro {
color: red;
font-weight: bold;
}
.intro-индентификация элемента по class
- За это сообщение автора alexsis_76 поблагодарил:
- serghei (Вт янв 17, 2017 12:16 am)
- Рейтинг: 1.16%
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: визуализация данных
И опять спасибо за разъяснения. По поводу одометра я написал создателю, но не смог объяснить всю внутреннюю кухню АМС, за что был ну очень культурно обруган))). В общем ссылку на XML документ я прицепил, а вот дальше в API просто указано
Вот что с этим делать дальше - уже голова сломалась......А там еще древний вольтметр есть.....
СпойлерПоказать
Функция setVal()
Данная функция вызывается для установки отображаемого значения.
Вызов: counter.setVal(val);
counter - переменная, которой был присвоен объект, созданный при вызове конструктора.
val - новое отображаемое значение в виде строки. Отображаемые символы: цифры с 0 по 9. Если данный параметр не является строкой, то предепринимается попытка преобразования его к строке. Если длина строки меньше заданной разрядности, то она дополняется нулями в начале. Если длина строки больше заданной разрядности, то она усекается с конца.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: визуализация данных
из XML-а значение вытащил,если вытащил пишешь его вместо val и вуаля
у объекта есть свойства и методы (объект автомобиль,у него есть колеса,руль,он может ехать с некоторой скоростью и т д).
setVal-установить значение.
val-само значение.
counter-созданный объект(твой прибор)counter.setVal(val);
у объекта есть свойства и методы (объект автомобиль,у него есть колеса,руль,он может ехать с некоторой скоростью и т д).
setVal-установить значение.
val-само значение.
ох уж эти скриптописателиза что был ну очень культурно обруган)))
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: визуализация данных
Воплощая идею "АМС - образовательная платформа" попробовал воткнуть и отобразить .pdf файлы. Нашел как это сделать, тегом <iframe src="11.pdf" width="400" height="200"></iframe> прицепил pdf файл. Локально на компе все работает - и прокрутка и остальные функции. А вот из-под АМС не хочет ((. И проблема скорее всего та же ,что и с отображением Favicon.ico - браузер орет что файла нет, хотя на вкладке " Edit" иконка есть.
Только сейчас сообразил...В Ажаксе есть упоминание
Хотя .gif тоже грузилась и работала. Это ограничения АМС или вообще технологии Ажакс ?
Изучаем дальше
Только сейчас сообразил...В Ажаксе есть упоминание
Код: Выделить всё
void sendHtmlAnswer(WiFiClient cl) {cl.println(makeAnswer("text/html"));}
void sendCssAnswer (WiFiClient cl) {cl.println(makeAnswer("text/css"));}
void sendJsAnswer (WiFiClient cl) {cl.println(makeAnswer("application/javascript"));}
void sendImgAnswer (WiFiClient cl) {cl.println(makeAnswer("image/png"));}
void sendXmlAnswer (WiFiClient cl) {cl.println(makeAnswer("text/xml"));}
Изучаем дальше
СпойлерПоказать
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: визуализация данных
это называется MIME типы,говорит браузеру как нужно интерпретировать содержимое.void sendHtmlAnswer(WiFiClient cl) {cl.println(makeAnswer("text/html"));}
void sendCssAnswer (WiFiClient cl) {cl.println(makeAnswer("text/css"));}
void sendJsAnswer (WiFiClient cl) {cl.println(makeAnswer("application/javascript"));}
void sendImgAnswer (WiFiClient cl) {cl.println(makeAnswer("image/png"));}
void sendXmlAnswer (WiFiClient cl) {cl.println(makeAnswer("text/xml"));}
мне кажется это плохая идея,нужно взять что нибудь побыстрее.Воплощая идею "АМС - образовательная платформа" попробовал воткнуть и о.тобразить .pdf файлы
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: визуализация данных
Не очень понял что вы делали, но обратите внимание напопробовал воткнуть и отобразить .pdf файлы
Код: Выделить всё
void sendPdfAnswer (EthernetClient cl) {cl.println(makeAnswer(F("application/x-pdf")));
Код: Выделить всё
else if (StrContains(HTTP_req, ".css")) {if (openWebFile()) {sendCssAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".js")) {if (openWebFile()) {sendJsAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".pde")) {if (openWebFile()) {sendJsAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".png")) {if (openWebFile()) {sendPngAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".jpg")) {if (openWebFile()) {sendJpgAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".gif")) {if (openWebFile()) {sendGifAnswer(cl);} else {sendErrorAnswer("", cl);}}
else if (StrContains(HTTP_req, ".ico")) {if (openWebFile()) {sendIcoAnswer(cl);} else {sendErrorAnswer("", cl);}}