Raspberry Pi стал народным одноплатником почти сразу после своего появления, так как более дешевых, маленьких и универсальных одновременно SoC систем не было. Однако ныне настало время, когда китайцы выпускают дешевые, и компактные SoC вроде AllWinner A10 частотой до 1,2 GHz, которые смотрятся заметно заманчивее чем 0,7 GHz малинового пирога.
Есть конечно CubieBoard, которая имеет на себе казалось бы все что в принципе может понадобиться разработчику, и более мощный чем у RPi процессор, хоть и одноядерный, но Cortex A8 1,2 GHz, и оперативы у него Гиг, и SATA порт есть, и вообще наверное во всем он у RPi выигрывает, разве только кроме отсутствия аналогового видео, но есть у него один недостаток. Если RPi оффициально стоит 35$, хотя купить официальный RPi у дилера в России к которому шлет оф.сайт можно только за 2500 р. то у него хотя бы есть китайская копия на ebay за 40$, тогда как CubieBoard официально родом из Китая, но цена его на ebay составляет 83$, а иметь 2 менее мощных RPi по мне так уже заманчивее чем один мощный CubieBoard, да еще 100 рублей на
Однако есть богатырь китайский, готовый грудью лечь на острый частокол раздора между мощным процессором и дешевизной. Однако он совершенно непригоден для большинства проектов, под которые заточены вышеописанные машины. Он также был признан народным, по своей цене и мощности, но в другом классе девайсов, в классе бесшумных домашних медиасерверов, имя ему MK802. Не раз описанный и на Хабре, и во всем интернете Android miniPC MK802 с возможностью загрузки Linuxов с microSD карты ставит его в один ряд по мощности процессора с CubieBoard и соответственно выше Raspberry Pi, но имеет он главный недостаток — никакого GPIO. Это почти что ставит крест на возможности использования его в качестве мощного процессора, скажем для мозгов робота, или системы умного дома.
Но он имеет USB Host, да не один, так почему бы не посмотреть переходники USB-GPIO? Однако результат не слишком воодушевляющий. В основном такие девайсы являются прерогативой компании FTDI, которая производит замечательные устройства и модули, например вообще идеальным был бы вот такой:
Однако есть загвоздка, цена. Например тут он стоит как сам MK802, дешевле найти не удалось.
Но. Чем Дурина не GPIO? Ведь стоимость Arduino Nano на ebay всего 350 р.
Конечно злые языки скажут, а зачем тогда вообще MK802? Ну про процессор я молчу, действительно, для большинства проектов Atmega328 хватит за глаза, но возьмем хотябы две первыми бросающиеся в глаза функции, WiFi и USB host. Для подключения их к Arduino нужно два модуля, которые стоят 550 р за самый дешевый USB host и 1800 р за аналогичный WiFi shield, все вместе это будет стоить около 2800 р и выглядеть примерно вот так:
Ну по всем параметрам не конкурент Cubieboard. Тогда как MK802 + Arduino nano это 1500р, и следующие параметры:
Кроме прочего и по размеру MK802 выигрывает у конкурентов, это может стать немаловажным фактором скажем для авиамоделиста желающего поставить на свой квадрокоптер вебкамеру и управлять им по WiFi, Наличие Arduino не сильно увеличивает толщину девайся по сравнению с RJ-45 разъемом на RPI и CubieBoard. Но Arduino занимает USB port, точнее miniUSB port т.к. на MK802 один из портов USB host выполнен в таком форм-факторе, то целесообразнее наверное использовать его. Как-то так например.
Хотя логичнее все же выпаять оба разъема miniUSB, и просверлив пару дырочек в корпусе соединить их 4-мя короткими проводами.
И тут всплывает главный вопрос, ради которого и создан топик. Arduino Nano есть процессор ATMega 328 c обвесом (кварц, пассивные элементы, стветодиодики...) и FDTI чип USB-UART преобразователя. Но вот в чем вопрос, зачем нам использовать USB дважды? На плате MK802 выведены не все пины кристалла Allwinner (Например нет Line-in audio, что прискорбно), однако UART выведен в виде 4 круглых медных площадок рядом с SoC к которым не подпаяется только ленивый.
На этот UART повешена консоль для отладки мертвых девайсов. Но к консоли можно подобраться и из оси(если ваш девайс конечно загружается) И в интернете есть описания как на эти пины вместо консоли можно подключить IRDA приемник. А можно ли его заставить прошивать ATMega328? Ну к примеру уже с бутлоадером Arduino. Как самый минимум запары возьмем вот этот девайс по имени Arduino mini:
Что являет собой просто разведенный проц с бутлоадером Ардуино и кварцем. Стоит 150р (как обычно на ebay). Интересующие нас пины, кстати выведены на левую (по картинке) кромку платы.
Так вот. Процесс заливки скетча с компа на ардуину, это посылка спец. команды на UART вход Arduino во время ее загрузки, с последующей пересылкой по этому же UART скомпилированного скетча. Закономерный вопрос, как заставить Arduino IDE для Linux воспринимать UART как COM port, и чем можно перезагрузить arduino программно? Скажем светодиод какой-нибудь, или еще какой-нибудь пин индикации использовать в качестве GPIO для импульса перезагрузки. Или же это все не слишком реально? Вопрос к опытным Linuxоводам и ARMоводам.
Ведь если это реализуемо, то мы получаем за максимум 1300 р, т.е. по цене китайской копии Raspberry Pi машинку меньшего размера, с более мощным процессором, памятью, встроенным WiFi и прочим, 2-мя свободными USB, 22 GPIO, а так как ATMega328(а может и Arduino mini) уместиться внутри корпуса MK802, то и одномодульного девайса.
Повесь на него дешевую веб-камеру, подпаяв к ее укороченному кабелю miniUSB разъем, на GPIO подцепи пропеллеры, закрылки, колеса, гребной винт, плавники, краны, соленоиды, или привод электрошвабры, и у тебя домашний или полевой робот, вертолет, лодка, самоход, пылесос, поливатель цветов, манипулятор, охранная система или что угодно с сервером, конфигурируемое с работы, командировки, и откуда угодно по интернет и вайфай. За 1300 руб. но с мощью не самого топового ноутбука, энергопотреблением зарядки от iphone, и бесшумностью сада камней. Поставил его на вертолет, в свободный USB port воткнул 3G modem, и полетел над дачей летать, а он по WiFi наловленный интернет раздает, ты развлекаешься, жена почту проверяет (это конечно шутка, но в стиле Because we can).
Про ИК-порт здесь и вообще много полезного.
Картинки, кроме саморисованных из поиска google по тегам «MK802, Arduino» и с сайта FTDI
UPD
Примерные цены взяты с Ebay.com, на всякий случай укажу откуда конкретно, но заранее извиняюсь если листинги истекут, как стало с копией RPi за 40$ которую я теперь не нахожу, зато вместо нее появилась за 35$. В общем указанные цены действительны на момент написания статьи, доставка расчитана в Россию.
Raspbery Pi Вот копия за 1100р (обещанные правообладателям 35$) Вот за 1300р.
CubieBoard Вот самый дешевый комплект с доставкой который удалось найти 2600р.
Но позже в комментах neepolas подсказал что вот тут сам девайс по акции стоит 50$, а доставка стоит 10$, соответственно сейчас самый дешевый Cubieboard стоит 1800р, не вдвое, но пока еще дороже RPI и MK802.
MK802 1GB RAM за 1300р.