LINUX.ORG.RU

идейки для практики

 , ,


1

3

Добрый день, уважаемое сообщество, мне нужен совет. В данный момент нахожусь в состоянии переквалификации в разработчика встраиваемых систем из обычного разработчика. Уже есть некий маленький опыт создания таких систем. Но на работе проблема с такими задачами. Хочу сам поставить себе цель и сделать устройство, которое будет хотя бы чуть-чуть полезно мне. (Вот тут самые сложности, так как я такой аскет, что мне всегда ничего ненадо) Но я хочу работать в этой сфере, хочу набраться опыта, потому прошу, помогите с выбором заачи (и возможно с выбором железа для ее выполнения), мне главное цель, а пути ее решения я как-нибудь найду. Устал уже кодить хеллоуворлды и алгоритмы, никакой более-менее серьезной практики, а мотивация тухнет день ото дня. Подскажите, что я могу сделать? В данный момент интересуют микропроцессоры, ацп, шины, си/си++ и, конечно же, linux.


у меня есть робот, который ездит по комнате и строит её план, только этот гад не умеет ездить идеально ровно и поворачивать на ровно сколько-то градусов, сделай такого, а я тебе скину ПО, которое им управляет, строит маршруты и отображает в opengl план=)

pseudo-cat ★★★
()

Можешь начать с OpenEmbedded (oe-core) или BuildRoot. Хотя, если тебе для хобби ковыряться в «маленьких железках с линупсом», то можно ограничиться и тем что по дефолту идет на флэшках в несколько гигабайт.

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ничуть не злой: если воткнуть 1-2МБ внешней ОЗУ, получится очень даже мощная машинка. По крайней мере, намного мощней того, на чем Линус первые ядра компелял.

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

Я так понимаю ТС-у интереснее поработать с embedded в плане реализации практических устройств, которые что-то делают, нежели епстись с портированием некоего софта туда, где даже профи не станут так бездарно тратить время.

Взял Raspberry Pi или что угодно подобное - цепляй датчики и вот уже интересно.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Deleted

Интересует опыт? Делал вот что, тут летали мои темки про ацп и spi, так вот, я прошил плату линуксом, прицепил к нему ацп, написал драйвер, который не написали создатели ацп(точнее написали только не для версии ядра 2.6), подключил тензодатчик снял показания, скомпилировал приложение добавил туда qt скросскомпилил его для моей платки, зашил туда. Вот получилось некое устройство. Сейчас оно в стадии заморозки из-за всякой разной бумажной волокиты, а я еще хочу. Ардуино и распбери не подходят. Ардуино - хелловорлды, распбери - обычный комп, который довольно таки сильно греется.

Интересует что-то типа: http://en.stkshop.com/Study-Dev/ARM-board-simulator/samsung-s3c2440-board.html или типа sbc6845, который у меня уже был.

n1l
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Почему openembedded и buildroot? Мне не для хобби, я переквалифицироваться хочу.

«Научись работать с простейшими датчиками»

Датчики это круто, но мне нужно их связать в идею. Понимаете? Т.е. я не могу вот так вот взять сесть приклеить датчик и смотреть как его подключить. Понимаете? Мне нужен хотя бы какой-то мелкий проект, который я бы начал и закончил, показал кому-то результат, услышал отзывы, что-то для себя понял. Получил опыт. Как вот студенты учатся, делают лабораторные работы, дипломные проекты. Вот мне нужен своеобразный дипломный проект, точнее идея для него. :)

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

Что такое embedded в моем понимании? Это нечто, во-первых малогабаритное и малопотребляющее (и к счастью, на нынешнем железе могущее обеспечивать удобную ОС Linux), во-вторых общающееся с внешним миром непосредственно через датчики и реле.

Почему OpenEmbedded/Buildroot? Потому что это обеспечит компактные малогабаритные сборки Linux-а, потребляющие мало RAM и умещающиеся на малогабаритных SPI-флэшках. Но отмечу, что на твоем текущем уровне, можешь этот этап смело пропустить, ибо ничего кроме экономии памяти и флэша оно не дает. Используй на встраиваемом железе, я предполагаю и рекомендую обычное железо с архитектурой ARM (начни с Raspberry Pi например), обычный Debian и прочее как на обычном ПК.

Даю идею, чтобы научиться: создать устройство, которое бы считывало данные с датчика температуры или влажности (уж какой купишь) по I2C или SPI через стандартные для Linux библиотеки, и предоставляло эти данные через web-интерфейс (можешь взять http://www.webtoolkit.eu/wt чтобы легко создать такой интерфейс на C++ без особых проблем и без изучения web-технологий). Кроме того, устройство должно позволять включать и выключать светодиод через web-интерфейс.

Почему web-интерфейс? Потому что удобный способ работы с embedded-устройствами, у которых есть Ethernet, но нет монитора и клавиатуры. Почему датчики? Потому работая с ними ты можешь создавать более сложные устройства в этой области.

Так что дерзай, начни с примитивного датчика и светодиода + удаленного управления и получения данных от него. Проще не придумаешь, а опыт существенный.

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 2)
Ответ на: комментарий от n1l

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

anonymous
()

Квадрокоптер-шпион с возможностью находить электричество в полевых условиях.

PolarFox ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ок, у меня есть распбери, я в первую встречу на него залил дебиан, и оставил, так как разницы с обычным компом не увидел. Можно сделать так, что бы там крутилась какая-то легковесная линукс сборка, пусть даже обучное ядро, а отладку его вести через rs232 или что-то подобное? Или как вы представляете мою на нем работу?

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

Ох... Я расстрою, но скажу что по моему личному мнению Embedded Linux не отличается от обычного Linux, разве что просто портирован на крошечные устройства с низким энергопотреблением, и монитора с управлением может не быть.

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

Легковесная сборка, как я уже говорил, это ПОТОМ, не сейчас. Сделай тупо управление светодиодом через web-интерфейс.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Странная встройка в твоем понимании (:
встройка, в большей части, это обработка и управление в реальном времени. ну и ниша предоставления интерфейсов на сверх дешевой компонентной базе. остальное давно переползло на обычные вычислительные мощности, комплектуха позволяет

anonymous
()

Нагугли «умный дом» и сделай что понравится.

vazgen05 ★★★
()

Поиграйся с AVR - это тебе даст опыт работы с ну очень слабым железом. Конкретный пример (требует пайки и знания электроники) - сделать USB клаву на пару кнопок.

По части Linux - возьми машинку на проводном управлении и всунь в нее R_PI вместо пульта управления (опять же требует знания электроники). Дальше выкинь Debian нафиг и запили свое минималистичное Linux-окружение с Xenomai для real-time управления машинкой (для хадркора). Придумай интересный алгоритм движения. Прицепи камеру и научи заезжать в женский туалет и потом быстро валить.

Pavval ★★★★★
()
Ответ на: комментарий от pseudo-cat

у меня есть робот, который ездит по комнате и строит её план, только этот гад не умеет ездить идеально ровно и поворачивать на ровно сколько-то градусов, сделай такого, а я тебе скину ПО, которое им управляет, строит маршруты и отображает в opengl план=)

А теперь купи умный пылесос и зафигачь на него свой код как открытую прошивку:)

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

+1, годная идея - машинка на WiFi управлении с камерой, в детстве я о такой мечтал, а сейчас сам могу сделать, но уже нафиг не уперлось :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Тут 2 лагеря, которые друг друга не поймут никогда: RC-шники, которые хотят сами управлять и программисты, которым интереснее запрограммировать, и чтобы оно само летело/ехало/бежало. Я из второй группы. ТСу тоже она IMHO тоже больше подходит.

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

Если бы была, я тут не сидел. Так как насчет идей. Я все еще жду ваших.

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

Какие именно платки посоветуете для игр с avr? На данном этапе я не смогу сам развести и спроектировать более менее серьезную плату с процессором.

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

да ну, робот получает простые команды, типа <move 100/> <turn-right 1/>, при обнаружении препятствия сам решает остановиться и уже по факту, когда не важна пару мс, шлёт xml и ждёт новую команду

pseudo-cat ★★★
()
Ответ на: комментарий от n1l

Я не лгу.

Я верю :)

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

Ну, например, я в свободное от основных дел время занимаюсь т.н. «умным домом».

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

Никогда не пробовал (потому нужно предварительно прогуглить), но думаю что выйдет заюзать платы от Arduino с выкидыванием самого софта Arduino с пользу того же plain С.

Pavval ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ну ладно, я пока сделаю что-то на распберри с датчиками, линуксом, веб сервисом и т.д.. В данный момент компилю для него ядро с openembedded.

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

В данный момент компилю для него ядро с openembedded.

Ох... вот там тебя и ждут нежданчики :) И в попытке разрешить эти траблы, задавая вопросы в этой теме, ты и разберешься.

Сначала неудачная попытка сборки, затем у тебя появится вопрос - «а есть ли layer для raspberry pi» :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Да есть конечно, у Buildroot'a. Я в курсе.

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

Чет не могу найти готовй образ кстати.

http://www.raspberrypi.org/downloads - рекомендую NOOBS, на название просьба не обижаться, это тупо ссылка на готовые образы - залил и поехал (пользуюсь Raspbian на RPI, у меня на столе лежит)

Если речь по OpenEmbedded - то вот layer для raspberry pi: https://github.com/djwillis/meta-raspberrypi - однако чтобы его собрать надо изучить центнер доков, не говорю тонны, но страдать надо :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от n1l

http://www.openembedded.org/wiki/Getting_started http://www.openembedded.org/wiki/OE-Core_Standalone_Setup bitbake core-image-minimal

добейся чтобы у тебя, пусть и для x86, но просто собрался этот minimal образ, посмотри что у него внутри, будет лежать в build/tmp.../deploy/images/.../

а потом уже все остальные вопросы: как то, как это, что чтобы и т.д.

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

Больше вопросов с закачкой билда на флеш

n1l
() автор топика
Ответ на: комментарий от I-Love-Microsoft

скомпилил свой дистр из поки и опенэмбеддеда. Какой датчик посоветуете?

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