Easyelectronics.ru

Электроника для всех
Текущее время: 29 мар 2017, 00:34

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



    • Изготовление печатных плат
    • Создание принципиальных схем и проектирование печатных плат
    • Симуляция работы на spice моделях
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 11:55 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
С помощью палки, верёвки и какой-то матери веб-сервера nginx, кэша данных memcached и графического редактора Inkscape.
Без шума и пыли web-applications, т.е. без серверного программирования.
Плюсы - простота, надёжность, масштабируемость.
Минус - это только монитор (смотреть можно, управлять - нет).
Если кого-то заинтересует эта тема, могу расписать подробно с картинками.
Заинтересует в смысле практически, для каких-то конкретных применений.
Потому что меня в свою очередь интересует для чего ещё можно применять этот метод кроме того, для чего я сам его применяю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 13:40 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
Зачем если есть Node-red?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 13:59 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
alexsam писал(а):
Зачем если есть Node-red?
Это примерно как спросить "зачем делать свои девайсы если есть arduino?" )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 14:11 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
Так вы бы описали что уже есть, а то набор инструментов и ничего конкретного.
Во-вторых - только монитор смысла особого не имеет. Та же красная нода позволяет это все реализовать ну за час максимум при том, что не нужно программировать. Та же кросплатформнность и гибкость в управлении. Поэтому и спросил :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 14:57 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
Ну не просто же набор инструментов, а со ссылками что это за инструменты )

Главное отличие от node-red и т.п. в том, что рисуются любые свои картинки, а не используются как-то кем-то сделанные виджеты.
По ходу рисования некоторым графическим элементам прямо в редакторе присваиваются уникальные идентификаторы и прямо к картинке добавляется несколько строчек javascript-a для "оживления" этих элементов.
Выходной фомат редактора - svg - это xml, который современные браузеры умеют показывать непосредственно, так же как html.
Т.е. нарисованную картинку можно сразу смотреть в браузере, а её javascript генерирует периодические запросы (XMLHttpRequest) данных к веб-серверу.

Веб сервер nginx умеет на лету перекодировать такие запросы в протокол memcache, и перенаправлять их кэш-серверу memcached (кэш-сервер - это просто очень быстрое сетевое хранилище данных в виде ключ-значение, а nginx+memcached - стандартная веб-технология).
Но nginx только забирает данные из memcached, а складывать туда их могут любые источники данных, как девайсы, которые умеют работать по tcp/udp, так и программы-драйверы девайсов.
Протокол memcached текстовый и очень простой


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 15:35 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
Ну вот у вас 3 компонента и каждый нужно настроить + еще источник данных нужен, тоже настраивать. Причем непонятно могут ли эти источники работать с мемкешем напрямую.
В красной ноде уже это все есть. Плюс большое комьюнити. Конечно картинки не все оживают но и для простого пользования очень удобно.
А если брать программиста - то тут уже каждый свой велосипед городить может. Тут конечно спору нет.
И самый большой минус в том, что изначально нельзя управлять, только смотреть. Какой в этом смысл?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 17:50 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
alexsam писал(а):
А если брать программиста - то тут уже каждый свой велосипед городить может. Тут конечно спору нет.

То есть километровые простыни сишной казуистики для мк могут и НЕпрограммисты, а вот десять строчек браузерного яваскрипта - только программисты
Забавно )
Код:
var R = new XMLHttpRequest()
function update() {
    if ((R.readyState == 4) && (R.status == 200)) {
        var d = R.responseText.split(',')
        // ...
    }
}
function cycle() {
    R.open("GET", "/data.mc", true)
    R.onreadystatechange = update
    R.send(null)
    window.setTimeout('cycle()', 500)
}
window.onload = function() {cycle()}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 18:35 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 653
vt340 писал(а):
То есть километровые простыни сишной казуистики для мк могут и НЕпрограммисты, а вот десять строчек браузерного яваскрипта - только программисты
Забавно )

Приведенный кусок кода лучше никому никогда не показывать, что бы не смеялись и не тыкали пальцем. Современная разработка для веб весьма нетривиальная штука и существенно сложнее, чем вызубрить наизусть RM на STM32 или AVR.

P.S. исходная идея описанная в топике - тоже так себе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 18:50 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
Смысл в том, что вы выбрали тупиковый стек технологий. В nginx нельзя программировать - только конфигурировать. Memcache весьма ограниченная по функционалу (в сравнении с тем же Redis). Клиентское программирование нужно только для отображения данных, но бизнеслогику вы не перенесете на клиент, это и не правильно и не практично и не безопасно.
Писать на той же node.js намного удобнее для новичков, все тот же привычный JS, куча модулей под разные хотелки и пр.
Можно и ваш Inkscape прикрутить, то же самое. И не нужен никакой мемкеш и пр. Получаешь данные сразу в коде, обрабатываешь и отдаешь, если нужно - хранишь как хочешь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 18:51 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 653
alexsam писал(а):
Memcache весьма ограниченная по функционалу (в сравнении с тем же Redis).

Оба они то еще г. С остальным полностью согласен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 16 дек 2016, 22:22 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
evsi писал(а):
Приведенный кусок кода лучше никому никогда не показывать, что бы не смеялись и не тыкали пальцем.
evsi, и как же надо делать xmlhttprequest на голом яваскрипте, чтобы не смеялись и не тыкали пальцем? )
evsi писал(а):
Современная разработка для веб весьма нетривиальная штука и существенно сложнее, чем вызубрить наизусть RM на STM32 или AVR.
Расскажите это толпам хомячков с jquery и php в зубах на каком-нибудь хомячковом форуме - повысите им чсв )

alexsam писал(а):
Смысл в том, что вы выбрали тупиковый стек технологий. ...
alexsam, я же писал в первом посте - без серверного программирования
Это не универсальный стек веб-технологий, а просто веб-монитор источников данных.
А именно через nginx+memcached из-за уникальной фичи - поддержка memcached встроена в nginx core, и всё работает из коробки.

А вообще разговор у нас, конечно, странный получается - "ах белое вино, почему ты не красное?"
Ну белое потому что, а не красное, хотите - пейте, не хотите - не пейте )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 17 дек 2016, 12:28 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 1525
Откуда: КЧР, поселок Нижний Архыз
Такой интерфейс элементарно делается на жабоскрипте. Сохранять результат можно в localstorage, а можно и на сервер при помощи POST/GET запросов или даже вебсокетов.
Требуется совсем немного: элементарное знание html, начальное знание жабоскрипта, знание С (писать серверную часть; для упрощения работы я себе делал библиотечку обработки веб-запросов) и элементарное знание CSS (таки как-то надо будет все эти блоки форматировать).
Можно, конечно, и SVG использовать, рисуя болванки в инкскейпе, но это более геморно получится.

_________________
Поттеринг, умри!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 17 дек 2016, 12:46 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 653
Цитата:
и как же надо делать xmlhttprequest на голом яваскрипте, чтобы не смеялись и не тыкали пальцем? )

fetch()
Цитата:
Расскажите это толпам хомячков с jquery и php в зубах на каком-нибудь хомячковом форуме - повысите им чсв )

Эти толпы хомячков не имеют отношения к современной разработе UI.
Цитата:
А вообще разговор у нас, конечно, странный получается - "ах белое вино, почему ты не красное?"
Ну белое потому что, а не красное, хотите - пейте, не хотите - не пейте )

Слегка окрашенная жидкость с некоторым процентом алкоголя это еще не белое вино.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 17 дек 2016, 13:52 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
evsi писал(а):
fetch()
В svg-файле в хз каком браузере?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 17 дек 2016, 16:30 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 653
vt340 писал(а):
В svg-файле

Ну и зачем вы так извратились? Чисто из любопытства мне интересно.
Цитата:
в хз каком браузере?

О fallback вы, конечно, не в курсе. Ну такое...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 17 дек 2016, 18:37 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
evsi, весь фокус в том, чтобы не писать gui на js, а рисовать картинку в графическом редакторе.
Весь gui - просто набор нарисованных svg-файлов.
Но несколько строчек js написать всё же придётся (прямо в том же графическом редакторе).
Поэтому их должно быть мало, как можно меньше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 11:22 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 653
vt340 писал(а):
evsi, весь фокус в том, чтобы не писать gui на js, а рисовать картинку в графическом редакторе.

Вы действительно верите в то, что это проще и удобнее в написании и поддержке?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 13:40 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
А как вы собираетесь, ну например, получать данные для графиков? Вот мне нужно отобразить данные по температуре за сутки. У меня записи в БД накапливаются каждые 10 мин и записей там, ну скажем за пол года. В nginx мы ничего сделать не можем, мемкеш тоже не умеет хранить списки (разве что все в одном ключе). и дальше как быть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 15:02 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 653
alexsam писал(а):
В nginx мы ничего сделать не можем, мемкеш тоже не умеет хранить списки (разве что все в одном ключе). и дальше как быть?

За полгода это всего лишь ~26тыс записей. Практически ничего, по нынешним меркам. Но мемкеш и правда не годится. Тот же node.js + какая-нибудь база будут куда проще/быстрее/надежнее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 15:43 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
evsi писал(а):
alexsam писал(а):
В nginx мы ничего сделать не можем, мемкеш тоже не умеет хранить списки (разве что все в одном ключе). и дальше как быть?

За полгода это всего лишь ~26тыс записей. Практически ничего, по нынешним меркам. Но мемкеш и правда не годится. Тот же node.js + какая-нибудь база будут куда проще/быстрее/надежнее.

Смысл вопроса был не в кол-ве записей и возможности их переварить, а в том, как отдать записи за период. Или предлагаете все записи на клиент отдавать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 15:53 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 653
alexsam писал(а):
Смысл вопроса был не в кол-ве записей и возможности их переварить, а в том, как отдать записи за период. Или предлагаете все записи на клиент отдавать?

Естественно это гораздо удобнее (и правильнее) делать на серверной стороне.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 15:57 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
Хотелось бы услышать ответ ТСа


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 21:36 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 899
evsi писал(а):
Вы действительно верите в то, что это проще и удобнее в написании и поддержке?
Смотря для чего и для кого
alexsam писал(а):
А как вы собираетесь, ну например, получать данные для графиков?
В формате атрибута d тега path


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 21:55 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1011
Откуда: Харьков
vt340 писал(а):
alexsam писал(а):
А как вы собираетесь, ну например, получать данные для графиков?
В формате атрибута d тега path

И тут мы подходим к тому, что без скриптов на сервере нам не обойтись :D

У меня складывается впечатление, что вы не понимаете как работает nginx в связке с другими внешними программами. То, что его научили брать ключик из мемкеша это конечно хорошо, но принцип работы у него примерно одинаков и с другим софтом - это работа через порты или пайпы. В любом случае nginx открывает коннект "за пределы" nginx на IP:PORT или socket и дальше туда передаются данные и из него читаются. А что там стоит - мемкеш, рнр, nodejs (у которого есть свой httpd) это уже не важно. При этом появляется полноценный сервер, способный творить чудеса. Но вы, непонятно почему, уперлись именно в тупиковую связку без возможности самого главного - управлять.
Возьмем опять же графики, например мне нужно посмотреть статистику за месяц, день, неделю. Ок, по вашей логике можно сгенерить ключики для мемкеша типа entity:month или entity:day или entity:year. Но что если нужно выбрать период дат? Извращения?


Последний раз редактировалось alexsam 19 дек 2016, 22:20, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Web GUI в стиле DIY
СообщениеДобавлено: 19 дек 2016, 22:06 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 1525
Откуда: КЧР, поселок Нижний Архыз
Кстати, в минимальном варианте достаточно башевских скриптов. Правда, это примерно как голым задом в заводь с акулами...
Но я именно с баша и начинал: элементарный скрипт обрабатывает POST/GET, sqlite имеет достаточно интерфейсов. Получается эдакий сервер для бедных.
Далее меняем баш на С и радуемся.

И да, если работать через вебсокеты, то вообще можно без внешнего веб-сервера обойтись (прощай, апач, нджинкс и лайтхытыпыды!).

_________________
Поттеринг, умри!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

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


Кто сейчас на конференции

Сейчас этот форум просматривают: MasterAlexei, Кот495


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB