All streams
Search
Write a publication
Pull to refresh
11
0
Анатолий Борисов @raspberry_pi_soft

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

Send message

Отличная статья! Интересно попробовать будет, и не только такой дисплей подключить. Навскидку есть дома модули АЦП и OLED дисплеи...

Покупал Teensy 4, экспериментировал. Совместим с Arduino IDE, процессор 600 МГц тактовая, интересно было, насколько быстро можно к ножкам обращаться, получилось программно 150 Мгц сигнал сформировать:

Хотел использовать в этом проекте , но не пригодился в итоге.

Интересно, а подобный проект уже можно перевести на Repka Pi? В принципе, графический интерфейс пользователя на Pi там довольно простой, дисплей маленький, ускорение по видео особо не требуется. Или лучше следующую версию подождать?

Хорошо, что по разъемам вы ориентируетесь на Raspberry Pi 3, а не на Raspberry Pi 4.

Мне очень нравится Linux из-за обилия готовых и бесплатных решений, порой даже хорошо документированных. Помню, в начале 2000-х делал выбор, на какую систему переходить для поставляемой аппаратуры ( корабельное АСУ радиоэлектронного комплекса ). Конкуренты использовали Qnx, я же выбрал Linux и никогда не пожалел об этом. Описанный в статье случай был единственным, когда нужно было только отображать круговую диаграмму, правда, с кучей меняемых на лету настроек. Обычно надо разрабатывать интерфейс оператора целиком, с кнопками, закладками, полями ввода и тп. Вот один из простых вариантов:

В последнее время приходится реализовывать подобные вещи и через браузер, чтобы смотреть графики на смартфоне. Недавно на Хабре написал статью про такой вариант в том числе. Ближе к концу там подробнее, картинки с графиками.

Сейчас нет большой разницы, что выбрать, x86 или ARM. Выбираем тот вариант ЭВМ, с которой меньше проблем.

Долгой и безоблачной жизни здесь нет. С каждой новой версией Debian, и новой версии аппаратуры что-то меняется, иногда очень неприятные сюрпризы бывают. Обычно проблемы решаемы. Для этого и существует поддержка разработчиков конкретной системы.

Просто на некоторых платформах проблем меньше, на некоторых значительно больше.

У подобных одноплатных ЭВМ на основе ARM преимущества: низкая стоимость, малое потребление, малые габариты. Это не пустой звук для тех, кто подбирал для своей системы промышленные одноплатные ЭВМ. Как правило, не требуется вентилятор, достаточно пассивного охлаждения. Наличие интерфейсов, свойственных скорее микроконтроллеру - I2C, UART, ШИМ, GPIO. Выбор был в пользу конкретно Raspberry Pi, у неё лучше всех поддержка производителем в части ПО, на уровне системы, драйвера и т.п. Огромное сообщество, легко найти нужную информацию.

Да, браузерная реализация. С телеметрией какая история... Заказчик просил добавлять параметры, функции, датчики постепенно, в течении двух лет, соответственно оговаривал как их отображать. То есть доработки делались на основе опыта эксплуатации и пожеланий покупателей этих приборов. ARM отличная платформа, если всё в порядке с наличием драйверов. Был печальный опыт с Beaglebone и Orange Pi.

SD карта чувствительна к напряжению питания. Если в момент снятия по питанию будут какие-то импульсы, броски напряжения - то часто портятся данные на карте. Программными методами это не исправить. Некоторые это "лечили" хорошим фильтром по питанию на стороне Raspberry Pi. В самой Raspberry Pi конденсаторов по питанию маловато.

Откуда берутся такие импульсы при выключении? Обычно покупали блоки питания подешевле, с достаточным большим шумом по питанию, и с нехорошим переходным процессом на выходе 5В при снятии питания 220В.

Порча файловой системы была просто внешним проявлением порчи информации на физическом уровне.

Поэтому лучше использовать фирменный БП, с ним таких проблем нет.

Кстати, сечение и длина провода питания тоже очень важны. С тонким длинным проводом и дешевым китайским адаптером на 1А получалось испортить данные на SD карте без всяких отключений питания. Объяснение было простое, потребляемый ток Pi меняется, тонкий провод в такой ситуации хороший делитель напряжения, а близко к 1А и сам БП выдает меньше 5В, ещё и с повышенными пульсациями. Как следствие - скачки напряжения питания на SD карте.

Почему важна фирменная карта Sandisk? Обычно она сама собой не портилась через месяц-два использования в Pi, как некоторые другие. Это по результатам эксплуатации. Был проект с распределенной сетью торговых автоматов с Pi внутри, где количество автоматов в сети выросло от 100 до 10000 в течении нескольких лет. Там любопытная статистика получилась в итоге.

Пришлось в своё время много мучаться с этой проблемой. Портилась файловая система после выключения питания, причем часто даже было не восстановить средствами ОС. Наблюдал ещё изменения размера маленького файла до 3Гб неожиданное и т.п. Добавлял принудительную проверку целостности файловой системы при старте, отключал запись части логов... Но всё это было с Raspberry Pi где-то до 2019г., потом как-то сошло на нет. Думаю, проблема была в схеме и они ее исправили. На всякий случай до сих пор только фирменные БП использую и micro SD Sandisk.

Мне очень понравилось решение. Сервопривод, мой любимый Python. И механический интерфейс к пульту управления. Остальные методы решения, предложенные в комментариях, слишком скучные и утилитарные :) Вдохновляющая статья, лежат дома контроллеры сервоприводов для Arduino и два сервопривода. Захотелось что-то сделать из них, необычное :) Делал когда-то часы с индикацией на стрелочных индикаторах и Arduino, ШИМ, RTC... Почему-то напомнило.

Статья отличнейшая, большое спасибо за информацию! Могу оценить объём работы, несколько лет назад доводилось заниматься разработкой платы на основе Raspberry Compute Module 3. Это задача была гораздо проще, чем Repka Pi, но намучались мы преизрядно. Куча нюансов, и устаревший к тому времени USB 2 как основная внутрисхемная шина, и отсутствие схем на что-то новее самой первой Pi, и подключение USB хаба и Ethernet контроллера, поддерживаемых системой официальной... Наша плата в итоге:

Там ещё аналог Arduino на плате, два канала RS-485 и контроллер освещения. Только кажется, что легко, море неприятных нюансов, пока начнет работать. Авторы Repki Pi титанический труд проделали, удачи им преодолеть оставшиеся трудности! И новых разработок!

Спасибо большое! У Вас отличная статья и очень хорошие, интересные комментарии к ней. Не совсем понял, правда, про телеграм канал. В личку Вам написал.

7 лет занимаемся разработкой программ и различных устройств на основе Raspberry Pi. На Хабре есть мои статьи по теме, например, тут и тут . На основе Pi разрабатывали отечественное решение для Интернета вещей промышленного оборудования, и многое другое. Интересно сотрудничество с Вами как с разработчиком Repka Pi, и не только.

Спасибо! Написал ещё статью про программу отображения для гидроакустической станции. Для меня это тоже близкая тема, похожие программы, только посложнее, разрабатывал для экспортных корабельных комплексов РЭП. Ещё в планах написать подробнее про свой опыт в части Интернета вещей для промышленного оборудования. В результате пришли к варианту, который не зависит от иностранных проприетарных решений и достаточно простой.

gnuplot хорошая библиотека. Наверно, всё же больше подходит для графиков уже полученных, для реального времени я бы не рискнул. Ещё надо учесть, что у Заказчика постоянно возникали идеи что-то улучшить или изменить в отображении, мне проще это было делать в SDL2.

Ping внутри, в центре. Очень похоже, что в конце посылки у Заказчика шла недокументированная отладочная или служебная информация. Насколько помню, мы пытались выяснить, отображать эти отсчёты или нет, в результате решили отображать. Вдруг это есть только в тех записях, что передали нам. К сожалению, протокол отсутствовал, нам дали свой исходник вместо протокола. Кстати, картинка панорамы с неубранной мертвой зоной, в центре:

Сразу после Ping'a первые отсчеты очень большие, потом уменьшаются. Их просто отбрасывают, называют "мертвой зоной".

Спасибо! Да, библиотека Pygame использовалась. Мы занимались подготовкой раньше, включая запреты логов, read-only, добавление проверок и исправления файловой системы при старте, и прочее, в период 2015 - 2018. Тогда были серьезные проблемы с порчей файловой системы на SD карте. Потом многое из этого появилось в самой системе по умолчанию, и SD карты стали портиться гораздо реже. Подозреваю, что причина всё же была аппаратная, и в Rasberry Pi 3b её уже исправили. Сейчас уже ничего не меняем в системе. На всякий случай используем только фирменные БП (5.1В, 2.5Ампера) и только SanDisk SD карты. И радиаторы на чипы обязательно клеим.

Не пробовали. Предполагаю, что с COM портом не было бы связи, и притормаживал бы, по крайней мере на Wine. CrossOver никогда не пробовал. Позднее на сайте Заказчика прочитал, что они сделали подобную библиотеку под Windows. Почему-то им нужна была именно часть, связанная с круговой диаграммой, отдельно от всего. Ещё интересно, что оригинальная программа под Windows работала целиком через WinApi.

Кстати, очень давно был интересный опыт использования старого графического ПО, написанного ещё под DOS, с использованием эмулятора dosemu в ArchLinux. Аппаратура была новая, на лету конвертировали данные от новой аппаратуры в старый протокол и передавали в старую программу через общий RAM disk.

Information

Rating
Does not participate
Location
Таганрог, Ростовская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Embedded Software Engineer
Lead
Python
Linux
C
Embedded Linux
Embedded system
Software development