Как стать автором
Обновить

Комментарии 44

Это уровень! Спасибо.
Хмм. Помимо того, что я восхищён усердием автора, должен однако сказать, что код
#define LCD_WRITE_REGISTER(REG, DATA)	LCDRegister=REG;LCDMemory=DATA;
хорош до первого
if (we_need_to_write) LCD_WRITE_REGISTER(reg, data);

Думаю, стоит поправить макрос.
А вот классическое решение: kernelnewbies.org/FAQ/DoWhile0
Вообще на Kernelnewbies можно найти много полезных вещей.
Спасибо, отмечу это в статье.
НЛО прилетело и опубликовало эту надпись здесь
Схемы не сложно найти и даже собрать самому. Тут описаны куда более интересные вещи, да ещё и так, что любому програмисту будет просто разобраться, а вы говорите облом.
Схема видеокарты эквивалентна схеме этой отладочной, которая легко находится по ссылкам в статье.
Она предельно проста, по сути состоит из одного микроконтроллера (STM32F103VE) с кварцем на 8 МГц и транзистором, включающим подтяжку шины USB к питанию. Остается соединить пины контроллера, соответствующие сигналам FSMC с китайским дисплейным модулем, как описано в этой статье, и видеокарта готова.
Мое почтение…
НЛО прилетело и опубликовало эту надпись здесь
Ну вы ваще!) Тогда пора весь «Умный дом» встраивать в роутер. Зачем огромные ящики ставить за большие деньги когда есть такое решение?
Можно и не встраивать, там камень довольно мощный сам по себе стоит, можно полностью его сделать на этой борде
НЛО прилетело и опубликовало эту надпись здесь
Я бы не стал на китайскую мыльницу вешать серьезные функции. Одно дело когда у вас интернет глюкает, другое дело когда весь дом вдруг без света останется…
Для дома я бы поставил железки с более серьезной схемотехникой…
НЛО прилетело и опубликовало эту надпись здесь
Нарисуйте как-нибудь схему разводки электросети таким образом, что бы ею можно было управлять вручную и автоматически и прикиньте смету… Цена контроллера на этом фоне померкет… )
Серьезная схемотехника это я про то, что в большинстве бытовых роутеров порой до половины электронных компонентов не тупо распаяно. Как правило экономят на фильтрах и защитных цепях. Со всеми вытекающими оттуда последствиями…
Кстати, конкретно TP-Link на первом фото, в этом смысле довольно приличная железка… Там распаяно почти всё… По крайней мере у той, которая у меня есть.
TP-Link этот вообще от USB питается, источник все равно самому придется делать — так кто мешает по-человечески защититься.

Вообще я за китайские мыльницы, при правильном подходе там особо фатально глюкать нечему, да и альтернативой им будут только промышленные компьютеры, т.к. любое другое железо в конечном счете окажется такой же китайской мыльницей.
Помехи бывают не только по питанию, но и по сигнальным линиями и даже внутрисхемные… Блоком питания с USB разъемом тут не отделаешься… )
А причем тут внутрисхемные помехи и помехи по сигнальным линиям, если исполнительная часть тоже своя будет? Ну используйте помехозащиенные интерфейсы и проблем не будет.
А если по питанию система будет защищена, то ничего с девайсом не случиться, независимо от его национальности. Железка с линуксом-то предполагается только как часть своей системы, со всех сторон ее будет окружать ваша электроника, которую вы можете сделать так, как вам угодно — и блок питания, и экранирование корпуса и интерфейсы…

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

Как вариант, кстати, купить вот такой модуль

image

Обязательно себе такой закажу потестировать. Тут железо сходное с этими роутерами, но в виде удобного девелопмент-модуля и вообще без лишней обвязки — только процессор, рам, нанд. И куча гпио и интерфейсов. И размером он 40х40 мм.
Ставите в центр своей платы и ваяете сверхзащищенное решение, не тратя времени на разработку процессорной части. Очень удобно, на мой взгляд.
А где купить такой модуль? Спецификация есть?
На ebay можно купить, спецификация есть, сборка линукса под него тоже есть, гуглите по запросу SOM2416, находится множество материалов.
Такие модуля стоят в планшетах Koby Cyros. Я оттуда для себя их драл
$40 за модуль что-то дороговасто, проще купить TP-Link TL-MR3020, хоть он для другого и предназначен, но в некоторых проектах сгодиться.
А документация на него есть?
Кстати, открыл тут планшет ZT-180 — там явственно видно модуль Zenithink
image
Там по идее куча GPIO и интерфейс LCD и тачскрина.
Debian на него встал, но очень медленно работает, аппаратное ускорение не подхвачено, до GPIO добраться понятия не имею как. А так — модуль очень интересный.
А как на SOM2416 ставится Linux?
А как выустановили Линукс? У этого модуля есть UART?
Проблема со все этим недорогим в времени реакции и надежности. Загрузка ядра Linux, кроме того я побоюсь ставить такие вещи для контроля за элэктропитанием. А Siemens LOGO можна выставить логику для контроля, что делать при сбое, в какое состояние перейти, и плюс в всего этого еще есть защита от высого напряжения и высокая надежность.
Так что стою на перепутье. Делать на PLC Siemens LOGO где очень надежно и быстро или на какой-то борде.
Но сколько влетит допиливание борды и добавка датчиков и упаковка всего этого в нормальный корпус чтобы не висело все на сполях.
Дык не надо на линукс вешать задачи реалтайма. Но в реальности реалтаймовых задач для бытовых нужд совсем немного.
«Контроль за электропитанием», разумеется, нужно делать на чем-то с устраивающим вас временем реакции, если ваша задача обнаружить превышение по току или перенапряжение и выключить системы.

А вот включать-выключать релюшки, управляющие люстрой, открытием форточем, разведением штор, либо стримить видео с домашней камеры наблюдения, либо мониторить температуры/влажность/etc — это все задача для системы на линуксе, вы легко сведете это воедино при помощи веб-фронтэнда и вайфая. Датчики подключить не проблема.
Реалтаймовые системы можно интегрировать в такое решение как модули, сообщающие о своем состоянии или принимающие команды от линуксовой платы, так, чтобы критичные решения они принимали сами в реалтайме а глобальное управление шло с системы на линуксе.
Посчитайте во сколько вам обойдётся качественная плата с надёжными контактами, з защитой от замыканий и высокого напряжения.
Проблема больше не в реалтайме, а в надёжности. Siemens, Allan-Bredley проверены временем и просто работают как и ожидаются, даже если один модуль засбоит, остальные останутся работоспособны. Я не сильно боюсь что они сбредят если сосед включит цыркулярку. С DYI, я такого с приемлиной стоимостью достичь не могу. Для рисования красивых графиков, агрегирования, обработки информации пожалуйста. Для оперативного контроля вряд-ли.
А потом ваш дом арестуют, за то, что он по ночам качал торренты.
Когда-нибудь я всё это пойму :)
Если сделаешь, то поймёшь…

Язык программирования не поймешь, не написав ни строчки кода, а уж работу с железом тем более…
А Вы по частям.
Начните с habrahabr.ru/post/128734/ -)

А железо описано, например, в ziblog.ru/2012/01/29/otladochnaya-plata-dlya-stm32-s-zhki-displeem.html, это стандартный способ взаимодействия компонентов.
Это же экран с резистивным тачем! Надо еще и тачпадом в систему представляться заодно… ммм… кавай и няяяяша!
Интересует все то же, только для VoGeek.
Это поделка из воговского журнала?
Если мне не изменяет память, там дисплей уже есть, зачем ему USB-видеокарта?

В принципе, драйвер, который я опишу в следующих статьях, никак не привязан к ОпенВРТ (за исключением того, что мы будем его вбилдивать в ОпенВРТшное дерево исходников), и его можно перекомпилять под любую машину с линуксом, в том числе и под десктоп и под ВоГик.
Я полагаю, что вопрос был о том, как вместо stm32 использовать VoGeek?
Именно так.
Использовать полноценный компьютер с линуксом в качестве контроллера дисплея? А оно надо?
Я бы лучше уж тогда взял какую-нибудь плисину, чтобы обеспечить быстродействие…

Если говорить о подключении по USB, нужно завести его USB-контроллер в роли хоста, он это может?
Можно выбрать другой интерфейс для общения, допустим, эзернет.
А есть еще такое легкое костыльное решение — ставите в ядро VFB в качестве драйвера фреймбуфера и каким-нибудь демоном периодически считываете его содержимое и кидаете по удобному вам интерфейсу. Тогда можно обойтись вообще без самописных дров.
*завести контроллер в роли клиента, конечно же.
Если что нибудь узнаете поделитесь) Хотелось бы подцепить этот экранчик к роутеру на wrt и на него инфу выводить. Вот тут описывают.
Функция задержки, полагаю, должна быть не
while(Tick);

а такая:
while (Tick) SysTick_Handler();
Нет, интеррапт же.
Хендлер сам дергается, каждую миллисекунду.
Ааа! Понял, спасибо.
Выложите, пожалуйста, исходники проекта! Мне просле простеньких проектов на AVR довольно трудно разобраться с необходимыми модулями и настройками. :-(
В принципе, после AVR я достаточно быстро перелез на STM32, но завести дисплей на борде STM32F103RBT6 у меня так и не вышло…
Мне бы тоже интересно полюбопытствовать…

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.