LINUX.ORG.RU

Бюджетный HMI на Linux из Raspbery/Orange PI

 ,


0

1

Здравствуйте уважаемые Линуксоиды! Хочу попросить совета у более опытных в вопросе программирования под Linux. Есть задача: снимать некие данные с датчиков (импульсные, токовые, уровень напряжения, или ШИМ сигналы) пересчитывать во всем понятные и известные единицы(десятичные числа)и выводить на дисплей в красивом(!!!) виде (нарисованные стрелочные манометры, шкалы и т.д.)

Как я вижу решение: 1 самое простое и совсем колхозное (колхоз ввиду слабых возможностей дисплейного модуля (Nextion) и небольшой его диагонали)

дату с датчиков обрабатывает Arduino и выводит на HMI дисплей Nextion. В этом варианте все просто и понятно.( данные получаю и вывожу на 2 строчный дисплей уже сейчас. Некстион жду на почту к концу месяца.)То что в интернетах реализовано на некстионе весьма далеко от красивого, в плане дизайна, решения.

2 Не дорогое, в перспективе красивое но максимально трудоемкое

дату с датчиков обрабатывает Arduino, передает на одноплатник типа малинки, а та в свою очередь выводит все на экран по HDMI

Я понимаю что в этом случае надо написать приложение под Linux под ARM (полноэкранный интерфейс) и поставить его в автозагрузку. Как обеспечить более менее красивый интерфейс пока не знаю но думаю это осуществимо

3 Не дорогое, красивое тоже трудоемкое

Поднимается Arduino MEGA Server(на ESP32 вроде как супер шустрый), обрабатывает дату с датчиков. Одноплатник типа малинки в полноэкранном режиме показывает WEB страничку с красивой картинкой (какая в таком исполнении будет задержка я не понимаю...)

Под словом «Красивый дизайн» я понимаю решения, которые применяются, например в новых приборных панелях авто.

В чем суть моего обращения: прошу у вас совета какой из способов (2 или 3) более прост в освоении для начинающего свой путь Linux программиста. Готов изучать и обучаться, прошу более опытных указать мне в какую сторону копать.


Я не являюсь опытнвм программистом именно под линукс (скорее вёб программистом), но в варианте 2) ты можешь поставить какой-то WM голый на чистую систему (без DE) и выводить данные просто в conky, циферблатов всяких готовых целая уйма под него с разными дизайнами и готовых конфигов. Решение не самое идеальное, зато можно сделать красиво и нетрудоёмко (за день-два).

fehhner ★★★★★
()

ну тут скорее 2 пути.

1. По совету fehhner. Рисовать «красивый дизайн» уже готовыми средствами, и подсовывать данные этому «средству». Тут много чего можно подобрать. Это менее затратно.

2. Писать свое приложение, например на Qt или ще чем либо, которое и будет рисовать «красивые шкалы, стрелочные или цифровые». Этот вариант наиболее трудозатрантый. Тут все писать самому. Зато можно сделать именно так как хотелось бы, а не пытаться запинать «готовое решение» под себя...

а данные с датчиков можно собирать и самой raspberry, тут даже arduino не обязательно. Можно собирать данные arduino-ой, передавать их raspberry

Поднимается Arduino MEGA Server

Это так или иначе относится к 1ому варианту.

Что у вас за даные/датчики, их много разных? Arduino Mega Server все это поддерживает? Если датчиков не очень много и не сложно реализовать сбор данных с них, то Arduino Mega Server может и не нужен.

samson ★★
()

постарайтесь разбить задачу и оценить трудозатраты на:

1. Сбор и обработку данных.

2. Визуализацию этих данных.

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

Конечно же писать приложение на QT или еще в какой-либо среде - это решение, к которому рано или поздно приду, и я это понимаю. Начать ковыряться в conky тоже пойдет на пользу, ведь оттуда можно почерпнуть много чего интересного!!!

Данные будут поступать из 5-8 датчиков (в основном аналоговый сигнал 0-10В или 4..20мА) Задача - выводить их на некий дисплей в реальном времени (максимально близко к этому), также записывать данные на флешку (для сбора и обработки). Мега сервер с этой задачей вполне справиться. Почему мега сервер - просто потому что в функционале уже есть неплохие стрелочники для вывода инфы с датчиков, т.е. скомпилировав и залив только этот модуль для мега сервера, собрав и настроив ОС для одноплатника я уже получу некоторое рабочее решение и смогу по мене накопления опыта в программировании обживаться различными Эффектами и «плюшками».

PS Мне кажется сделать WEB приложение с «красивыми» приборами на JS в мега сервере мне удастся быстрее и проще, чем осваивать всю тяжесть того же QT, netbeans etc. Если заблуждаюсь то слава богу =)

kliwka
() автор топика
Ответ на: комментарий от samson

Сбор, обработка и вывод данных в более менее удобоваримом виде я уже реализовал с помощью ардуино, горстки резисторов, диодов и транзисторов. Когда приедет дисплей (некстион) начну реализовывать визуализацию на нем, но то что я увидел на ютубе по этому некстиону - оставляет желать лучшего в вопросе фпс и качества отрисовки даже шрифтов.

т.е. моя задача сейчас-собрать некое подобие качественного HMI дисплея из гов...; из малинки(банана,апельсинки и т.д.) и любого дисплея.

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

Вообще, коньки обычно и предназначены для отображения данных с различных датчиков. Если у тебя уже реализован их сбор - можешь за день сделать очень и очень красиво, раз нет желания осваивать кьют, работать будет шустро и на нужном тебе дисплее.
Вёб - имхо более тормозной вариант и пойдёт только если ты хочешь просматривать это удалённо, а не на локальном дисплее.
В варианте с малиной, как тебе сказали, ты можешь собирать и её средствами данные, но если не хочешь запариваться лишний раз - бери готовые с адруины.
Это максимально быстрый способ сделать всё красиво за день-два.

fehhner ★★★★★
()
Ответ на: комментарий от kliwka

Сбор, обработка и вывод данных в более менее удобоваримом виде я уже реализовал с помощью ардуино

ну так и попробуйте сначала все реализовать с conky например, а потом уже думайте, стоит писать что то свое или нет...

Вида можно добиться не плохого: https://www.google.ru/search?q=conky&newwindow=1&source=lnms&tbm=...

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