реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Stm32 emWin lwIp web
scifi
сообщение Feb 28 2015, 20:33
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(1234Alex @ Feb 28 2015, 22:42) *
А не подскажете этот кусочек.

Не смог нагуглить совсем уж то, что нужно. Но нашёл пример, где принципиальные моменты реализованы: тут.
Там делается перетаскивание мышью, поэтому много лишнего кода. Но можно разглядеть, как берутся координаты курсора и отправляются на сервер при помощи XMLHttpRequest. Там используется POST, но вам, наверное, будет удобнее GET (тоже с координатами клика), тогда в ответ на этот GET можно будет сразу получить указание от сервера, изменилась ли картинка на экране. Подменить картинку на веб-странице жабаскрипт тоже легко позволяет. Например, см. тут.
Вообще, жабаскрипт позволяет сделать практически всё, что угодно. Ну и со стороны сервера должна быть должная поддержка, естественно.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Feb 28 2015, 21:24
Сообщение #17


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(1234Alex @ Feb 26 2015, 01:19) *
Прошу совета.
Есть устройство с 7-дюймовым Tft, собранное на Stm32F4.
Поднят lwIp ( lan8720 ).
Всё потихоньку оживает.
Встаёт вопрос о web-морде для этого агрегата.
Идеальным было-бы повторить в web-интерфейсе наличные 3 ( сейчас ) экрана.
Реально-ли это ?
Про emwin vnc знаю ( пока не пробовал ).
Нет-ли других вариантов.
В веб-программировании пока слаб.
Спасибо.


Судя по тому что uC/GUI вы упорно называете emWin оно у вас в виде скомпилированных либ.
Тогда что-то сделать трудно будет.
А так я экраны для uС/GUI проектирую в виде конфигурационных JSON файлов.
Понятно что и WEB броузер может принять тот же JSON файл и отрисовать такой же экран.
Более того в броузере можно отредактировать экран и сохранить его в дивайс с последующим воспроизведением на экране дивайса. Но это я не реализовывал.

Экранный редактор параметров и WEB страницы параметров у меня генерятся специальной утилитой одновременно. Но не похожи друг на друга, поскольку в экранном GUI надо еще отображать клавиатуру.


Go to the top of the page
 
+Quote Post
1234Alex
сообщение Feb 28 2015, 21:44
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 6-11-08
Из: Москва
Пользователь №: 41 415



А было всё так просто.
А теперь JavaScript и JSON.
В 40+ лет.
Насколько я понимаю emWin и uC/GUI суть одно и то-же. uC/GUI попадается ( старые версии ) в сорцах.
Дальше мало что понял. Значит есть куда развиваться.
Я использую emWin ( St или Keil, не суть ). Интерфейс генерю в их GUI_Builder ( привет Delphi ).
Пока не осознал как сюда прицепить JSON. Равно как XML или protobuf google.
Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 28 2015, 21:49
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(1234Alex @ Mar 1 2015, 00:44) *
Пока не осознал как сюда прицепить JSON.

JSON не нужен. Голый жабаскрипт годится. У вас там кода выйдет на пару сотен строк, зачем какой-то JSON?
Go to the top of the page
 
+Quote Post
1234Alex
сообщение Feb 28 2015, 22:06
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 6-11-08
Из: Москва
Пользователь №: 41 415



Может подскажете что лучше почитать по javascript.
Потому как web нужен. Но на всё ( python. java, php ) не хватит.
А делаю пока всё сам.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Feb 28 2015, 22:16
Сообщение #21


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(scifi @ Feb 28 2015, 23:49) *
JSON не нужен. Голый жабаскрипт годится. У вас там кода выйдет на пару сотен строк, зачем какой-то JSON?


Ага, не нужен. biggrin.gif
Испокон веков мультиплатформенность GUI создавалась с помощью языков разметки.

Можете конечно парсить HTML или XML.
Но придете все равно к JSON как языку разметки. Ибо проще не бывает.

А JavaScript в качестве разметки даже не смешно, а просто не понятно. Каким боком?
Go to the top of the page
 
+Quote Post
1234Alex
сообщение Feb 28 2015, 22:26
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 6-11-08
Из: Москва
Пользователь №: 41 415



Не. Насколько я сейчас понимаю ( стадия 0.1 ), javascript встраивается в мою страницу, отдаётся клиенту и оттуда шлёт обработку событий указателя ( мыши или тача ).
Делал проект автоматизации котла на Овен СПК207. Там удобно. Локальная и веб визуализации совпадают. Думаю как сделать так-же. Там правда ресурсов поболе.
Go to the top of the page
 
+Quote Post
khach
сообщение Feb 28 2015, 22:32
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Дурацкий вопрос- где находится образ экрана в обсуждаемой системе? Потому что для 7 дюймового дисплея он во внутреннюю память STM32F4 не поместится. Если есть внешняя память то проблемы сделать копию экрана нет. А вот если копию прийдется вычитывать из памяти контроллера экрана- тут начинаются очень интересные грабли с шиной. Хотелось бы услышать от топикстартера боле подробное описание видеосистемы (тип контроллера, тип шины). Иначе советы по организации удаленного экрана немного безпредметны.
Go to the top of the page
 
+Quote Post
1234Alex
сообщение Feb 28 2015, 22:35
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 6-11-08
Из: Москва
Пользователь №: 41 415



SSD1963 на этом по-моему. Надо глянуть, подзабыл уже. Внутренний буфер в наличии.
Собственно грабель пока ( если не требовать супер отдачи ) не вижу. Хотя пока не проверял.

Сообщение отредактировал 1234Alex - Feb 28 2015, 22:37
Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 28 2015, 23:09
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(khach @ Mar 1 2015, 01:32) *
А вот если копию прийдется вычитывать из памяти контроллера экрана- тут начинаются очень интересные грабли с шиной.

Что за грабли? У меня были TFT экраны. Для мануалов делал скриншоты именно через веб. Особых проблем не заметил.

Цитата(AlexandrY @ Mar 1 2015, 01:16) *
Ага, не нужен. biggrin.gif
Испокон веков мультиплатформенность GUI создавалась с помощью языков разметки.

Можете конечно парсить HTML или XML.
Но придете все равно к JSON как языку разметки. Ибо проще не бывает.

А JavaScript в качестве разметки даже не смешно, а просто не понятно. Каким боком?

Вы сговорились что ли? Не о том речь.
Просто выдавать скриншот экрана на веб-интерфейс, ловить клики мышки, эмулировать нажатия кнопок, и обновлять этот скриншот.
Это 200 строк жабаскрипта плюс необходимая обвязка на сервере. Потому-то JSON и не нужен.

Цитата(1234Alex @ Mar 1 2015, 01:06) *
Может подскажете что лучше почитать по javascript.

Нет, не подскажу.
Синтаксис очень похож на Си, поэтому начать просто. Возникает вопрос - лезешь в гугл и сразу находишь ответ. Как-то так.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 1 2015, 10:19
Сообщение #26


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(scifi @ Mar 1 2015, 01:09) *
Что за грабли? У меня были TFT экраны. Для мануалов делал скриншоты именно через веб. Особых проблем не заметил.


Вы сговорились что ли? Не о том речь.
Просто выдавать скриншот экрана на веб-интерфейс, ловить клики мышки, эмулировать нажатия кнопок, и обновлять этот скриншот.
Это 200 строк жабаскрипта плюс необходимая обвязка на сервере. Потому-то JSON и не нужен.


Это не серьезный подход.
Глядя на крохотный скриншот TFT на экране нормального броузера публика будет в недоумении.
Да и напряг для STM32 будет выше предельного.
Сколько раз в сек собираетесь рефрешить скриншот при скролинге, например? Начнутся лаги, сбои и непопадания в нужную зону видгетов.

Смысл не повторить один в один экран TFT и представление в броузере, а сгенерировать эти представления одновременно не совершая повторной работы.

Я отказался в свое время от GUI_Builder. Он генерит С-и файлы, а их очень трудно парсить как файл разметки для броузера. Это тупиковый путь.
Стоит потратится, но сделать для uC/GUI парсер нормального файла разметки сделанного из представления в броузере. Кстати тогда и к определенному GUI не будет сильной привязки.
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 1 2015, 10:39
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(AlexandrY @ Mar 1 2015, 13:19) *
Это не серьезный подход.
Глядя на крохотный скриншот TFT на экране нормального броузера публика будет в недоумении.

Дык я о том же. Но ТС оч. хочется именно так.

Цитата(AlexandrY @ Mar 1 2015, 13:19) *
Да и напряг для STM32 будет выше предельного.

Нет. Хотя зависит от масштаба амбиций, наверное.

Цитата(AlexandrY @ Mar 1 2015, 13:19) *
Сколько раз в сек собираетесь рефрешить скриншот при скролинге, например? Начнутся лаги, сбои и непопадания в нужную зону видгетов.

А вот тут начинается самое интересное. Было бы полезно взглянуть на реальный скриншот. Подозреваю, что там никаких видгетов нет. Типа "клапан закрыл, насос запустил".
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 1 2015, 12:08
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Скриншот в браузере можно и масштабировать, чтобы не казался слишком мелким. Если нет обилия анимации, подход вполне имеет право на жизнь.
Какая-то часть публики будет в недоумении, а какая-то придет в неподдельный восторг sm.gif
Go to the top of the page
 
+Quote Post
khach
сообщение Mar 1 2015, 12:46
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(scifi @ Mar 1 2015, 02:09) *
Что за грабли? У меня были TFT экраны. Для мануалов делал скриншоты именно через веб. Особых проблем не заметил.

Драйвера шины LCD контроллеров очень слабые, pixel readback может не работать в условиях, когда прямая запись в контроллер работает нормально (емкости и длина шлейфа критичны). Если есть полна копия экрана в памяти- то pixel readback вообще не нужен. Отдельная проблема с аппартым курсором, его как то надо симулировать на веб-копии. С экранами с высокой динамикой, типа осциллографов вообще философию отображения на удаленном дисплее приходится менять. Хотя если картинка квазистатическая- этих проблем конечно нет.
Go to the top of the page
 
+Quote Post
1234Alex
сообщение Mar 1 2015, 13:42
Сообщение #30


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 6-11-08
Из: Москва
Пользователь №: 41 415



2 khach - да, пока задач с высокой динамикой нет. Квазистатика ( автоматизация ). Всё это на плате. Вычитывает вроде без проблем ( тесты пока не гонял ).

2 aaarrr. Именно так я и планировал сделать.

2 scifi. Виджеты используются и будут использоваться.

2 AlexandrY. Очень интересно. Нет-ли примера такого подхода. Так я никогда не делал.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st July 2025 - 05:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01603 секунд с 7
ELECTRONIX ©2004-2016