LINUX.ORG.RU

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

 , ,


0

1

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

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

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

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

★★★★★

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

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

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

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

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

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

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

onhydro
()

Токо лучше не всю статику пихать в решение, а сделать web api. А там хоть из чего его дёргать, что краше покажется.

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

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

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

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

В планах есть визуализация

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

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

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

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

Если вся вебморда - это загрузить gcode, лево/право/вперед/назад, нулевая точка и статус выполнения, то html, js, websocket http://websocketd.com/, а логику хоть на bash

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

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

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

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

onhydro
()

вместо django лучше flask или bottle (backend) + vuejs или reactjs (frontend)

zudwa
()

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

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

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

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

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

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

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

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

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

anonymous
()

если есть С++, то можно
Wt

Serik
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.