LINUX.ORG.RU

На чем делать веб интерфейс управления?

 , ,


0

1

Для своей системы управления ЧПУ хочу сделать не только десктопный интерфейс (который сейчас на WxWidgets), но и вебинтерфейс. Чтобы можно было сделать маленькую коробочку, подключающуюся к сети, а управлять с телефона, ноута без специального ПО, итд.

Непосредственно работой с железкой занимается отдельная программа, принимающая высокоуровневые команды через сокет типа «загрузи вот эту g-code программу», так что вопросы реалтаймовости для интерфейса уже не стоят.

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

Что для веб интерфейса управления лучше попробовать?

★★★★★

Ответ на: комментарий от theNamelessOne

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

cvs-255 ★★★★★ ()
Ответ на: комментарий от cvs-255

kore.io если на С. А интерфейс просто на html. Там вебсокеты можно. https по умолчанию. Быстро, надёжно, какраз для маленьких коробочек. А если бы ты написал гуй на gtk+ то мог бы просто приложение отдавать через бродвей Удалённый инстанс VSCode в браузере (комментарий)

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)

Я бы взял либо что-то под язык на котором решение, типа Craw для крестов. Либо, встроил python и какой нить tornado. Это как два пальца в любое поделие куда можно сишку воткнуть и под платформу где есть libpython.

onhydro ()
Ответ на: комментарий от onhydro

Я бы взял либо что-то под язык на котором решение,

Ну сама управляющая программа железки на питоне. Но своего UI она не имеет, а слушает команды через сокет. Так что UI можно писать на чем угодно.

cvs-255 ★★★★★ ()
Ответ на: комментарий от Deleted

Пока я сделал прошивку для микроконтроллера, планировщик на питоне и интерфейс на wx.

Из плюсов по сравнению с linuxcnc - не требуется realtime ядро, тк весь реалтайм в микроконтроллере. Из плюсов по сравнению с чисто ардуиновыми контроллерами - возможность хорошо спланировать все перемещения на мощном процессоре, а не пихать все это в 8битки.

cvs-255 ★★★★★ ()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Ну раз на питоне, то сам брахма велел сделать api и отдельного клиента к этому api. На чём фронт я не подскажу, а вот бэк под подобные задачи на колене легко делается на Flask. А там хоть curl'ом из bash на клиентской стороне. Притом легко делается как контроль так и динамическое обновление данных.

По моему, я делал фронт на чём то типа angular под такое api или что там модно было в тот момент в плане mvc, но врать не буду, помню плохо, т.к. сам пользовался curl в качестве фронтэнда.

Но будь такая задача поставлена нынче, я бы скорее всего глянул на связку websocket и jsonrpc. Но это слегка затратнее и curl'ом не отладить и не подёргать, по крайней мере не так просто.

onhydro ()

Авторизация нужна будет? Нужна. Вот вам и БД в зависимостях. Интересуют следующие вещи: работа через сокеты будет или нет? Если да, то лучше, конечно, Tornado, а если нет - можно и Django.

Честно говоря, мне интересно было бы сделать UI и Web-приложение для вашей программы (бесплатно, в качестве тренировки). Напишите на Яндекс, адрес такой же, как и ник здесь.

dunmaksim ()
Ответ на: комментарий от cvs-255

Вообще, конечно на хтмл + жс.

А я для умного дома всё мечтаю запилить тач моники с браузерами в киоск режиме, ну и с планшета тоже можно, чтобы они ломились по хттп на один сервак (демон), брали оттуда инфу и слали туда команды. А сам сервак уже обслуживал все датчики и приборы по любым и разным протоколам, типа адаптер между хттп и остальными.

deep-purple ★★★★★ ()
Ответ на: комментарий от dunmaksim

Нужна. Вот вам и БД в зависимостях.

Для авторизации БД не нужна: просто в файл сохраняешь структуры login:md5(passwd).

ТС, у меня все железки на простейших веб-мордах работают: обычные CGI (хоть на баше, но я С предпочитаю) и жабоскрипт с хытымлем. По необходимости прикручиваю вебсокеты. Если веб-морда - единственное, что крутится на одноплатнике, то можно вообще не заморачиваться со всякими nginx'ами, а разруливать 80-й порт своим демоном. Тогда и с fast-CGI заморачиваться не придется...

anonymous ()