Представьте себе следующую ситуацию: я хочу иметь крошечный и легкий сервер, на котором можно будет запускать некоторые службы, такие как базовый Интернет, ftp, серверы печати и подключение жестких дисков через USB.
Я хотел бы использовать его как инструмент для изучения встраиваемых устройств и программирования для этих архитектур. Я также намерен протестировать систему домашней безопасности с веб-камерой ...
Что было бы хорошей архитектурой, конкретным устройством, брендом или какой-либо рекомендацией для новичка? У меня есть опыт программирования как на Linux, так и на C.
Предпочтительны предложения с ограниченным бюджетом! ;)
Я сделал достаточно много встроенных хакеров для любителей, и у меня есть два предложения:
Linksys WRT600N (у которого есть USB) или Linksys WRT54GL с dd-wrt или какой-нибудь другой кастомной прошивкой. Получите настройку кросс-компиляции на своем рабочем столе и начните портировать некоторое программное обеспечение с открытым исходным кодом, которое вы, возможно, захотите запустить на них. Когда вы освоитесь со средой сборки, вы можете перейти к разработке собственных приложений. Если вы любите приключения, вы можете найти в Google проекты по взлому оборудования для WRT54GL. Например, у меня есть Серийный порт торчит сбоку. Другой проект добавляет к нему слот для SD-карты, который должен дать вам достаточно места, чтобы, возможно, не понадобиться жесткий диск USB для обслуживания файлов.
Digium AA50 или Бесплатная телефония IP04 это действительно забавные платформы для встроенной телефонии, работающие на процессоре Blackfin. Blackfin имеет встроенные возможности DSP, которые открывают множество интересных возможностей обработки мультимедиа в телефонной сфере. Я знаю, что вам нужен файловый сервер, но вы удивитесь, сколько вы узнаете, если создадите собственную встроенную АТС.
Если вам нужен ограниченный бюджет, вы хотите Шееваблок. Мой только что доставили несколько часов назад, и я не могу дождаться, когда приеду домой и начну проверять его.
По сути, это процессор ARM с 512 МБ ОЗУ, немного флеш-памяти, USB-порт и сетевая карта. Все встроено в розетку (!). Отсюда и название.
Очень крутой аппарат, маломощный, невысокая стоимость (менее 100 долларов).
Существует множество дистрибутивов Linux, работающих на архитектуре ARM. Debian, например, имеет полный порт ARM. Это немного отличается от IA32, но он отлично справится с упомянутой вами работой.
Вот несколько интересных карточек
Может быть, ты сможешь повеселиться с одним из них?
Раньше я использовал коробки Soekris. Мой домашний роутер один, в основном потому, что у него 5 сетевых интерфейсов.
Вы можете использовать одно из домашних NAS-устройств, на которое людям удалось установить Debian.
Simtec сделайте хороший комплект на основе Arm.
Существует целый ряд систем на чип-платах, которые вы могли бы использовать, если бы вам действительно нужна была небольшая среда для игры.
WRT54G уже упоминался, но я большой поклонник NSLU2. Это очень недорогое устройство NAS.
NSLU2 - это безвентиляторный, что для меня большой плюс.
Есть несколько альтернативных прошивок, и он может запускать debian: см. NSLU2-Linux.
На предыдущей работе я использовал PC104 системы для различных задач - очень крошечные, те, которые у нас были, хорошо поддерживались под Linux, и если вы посмотрите достаточно долго, вы можете найти систему с подходящим сочетанием интерфейса / памяти / флэш-памяти, которая вам нужна.
Одна вещь, которую следует учитывать, когда вы впервые начинаете работу со встраиваемыми системами, - это помнить, что вы не находитесь на многоядерной машине с несколькими гигабайтами ОЗУ. Если вы действительно настроены на создание небольшого файлового сервера, я бы выбрал материнскую плату с форм-фактором miniITX и небольшой корпус и держался подальше от «встроенных» форм-факторов.
Вы можете попробовать несколько устройств pc104. Но ИМХО, просто купите самый дешевый МОБО, какой только сможете, и начинайте взламывать. Аппаратное обеспечение можно заменить позже, и если вы используете Linux, есть большая вероятность, что вы даже можете изменить тип процессора (ARM-> x86 / 64bit ...) без изменения кода.
(Я пишу это вместо того, чтобы комментировать ниже, так как он длинный ...)
Или используйте набор инструментов и создайте полную систему с помощью uclibc. В моей предыдущей работе мы разработали небольшую АТС на базе BlackFin, у которой также был собственный DHCP-сервер.
Однажды я случайно подключил не тот порт УАТС к локальной сети, и в следующий раз, когда кто-то включил свой компьютер, он не мог просматривать веб-страницы. Это было странно, поскольку DHCP-сервер давал ему правильную аренду. Проблема заключалась в том, что аренда исходила от встроенной АТС, а не от полного DHCP-сервера, который у нас был (это был ПК IBM с Debian / Lenny).
Мораль этой истории заключается в том, что даже когда встроенное устройство работает на небольшом «процессоре» (BlackFin на самом деле не считается процессором), оно иногда может «работать» быстрее, чем полностью раздутые ПК.
Начать читать: http://www.uclibc.org/toolchains.html
Если вы ищете что-то более упакованное, вот два предложения.
FitPC
http://fit-pc2.com/wiki/index.php?title=Main_Page
Нетбук
Для этого подойдет ряд нетбуков. И в качестве бонуса вы можете использовать его и для других целей.
если вы хотите, чтобы он был действительно крошечным, вы могли бы пойти на фоксборд: http://foxlx.acmesystems.it/ это очень легкий. Потребляемая мощность 200 МГц и 2 Вт. Он может передавать потоковое видео с веб-камеры в Интернет и имеет gpios. очень "дружественный к пайке"
также взгляните на pcengines alix ... например. 3d3 ... 500 МГц AMD, 256 МБ оперативной памяти, 5 Вт Google для "alix 3d3"