- Разработка одноплатного компьютера с нуля. Пособие для начинающих / Хабр
- Проектирование
- SoC bringup
- U-Boot
- SD/MMC
- Linux kernel
- ODYSSEY-X86J4125 — Intel встречает Arduino и Raspberry Pi
- Различные персональные компьютеры и NAS
- Raspberry Pi 3 Model B+
- Вариант 1: ASUS Tinker Board S
- Вариант 2: Banana Pi M64
- Вариант 3: Atomic Pi
- Вариант 4: Rock64
- Вариант 5: NVIDIA Jetson Nano Developer Kit
- Вариант 6: Onion Omega 2+
- Вариант 7: NodeMCU
- Вариант 8: ODroid XU4
- Вариант 9: NanoPi NEO4
Разработка одноплатного компьютера с нуля. Пособие для начинающих / Хабр
Разрабатываю электронику. Это началось относительно недавно, когда микроконтроллеры Atmel стали известны благодаря платформе Arduino. Так что меня это особо не интересовало: в то время я уже программировал их из AVR Studio, читал рассказы DiHalt и мечтал разработать собственный автопилот. Студентка 3 курса, Новосибирск, НГУ — было интересно…
Но я с интересом наблюдаю за развитием и ростом области встраиваемых и портативных систем: появление RaspberryPI, множества SoC и плат на их основе, систем для умного дома, Интернета вещей, смартфонов с растущей вычислительной мощностью — все это фантастическая сфера деятельности. Результатом наблюдения стало желание участвовать: испытать себя в разработке простой платформы, изучить и набраться опыта. Проекты на базе микроконтроллеров мне изрядно надоели — подводных граблей очень мало, достаточно сложно ошибаться, все начинается «из коробки» — никакой гибкости, никакой сложности. С системами на кристалле — SoC (System on Chip) мне раньше особо нечего было делать — кроме компиляции ядра и загрузки Debian. Поэтому я решил запустить простую SoC, которая должна переключаться со схемы на работающий Linux на борту. Да, в будущем я не буду правильно называть SoC процессором, надеюсь, это никого не смущает.
У меня был небольшой выбор, который определялся сложностью изготовления платы: только выходной корпус, без BGA, максимум четырехслойный дизайн и все потому, что я собирался прикрепить свой шарф к относительно простому рабочему проекту. Это также означало, что в будущем я получу с производства распаянную плату, готовую для экспериментов.
Проектирование
Посмотрев на доступные SoC, я выбрал iMX233 от Freescale. Пакет вывода, 454МГц, контроллер памяти DDR, интерфейс карты памяти SD / MMC, порт отладки — отличный набор для новичков. Также: композитный видеовыход («тюльпан»), аудиовход / выход, SPI, I2C, UART, USB, LCD. Будет чем заняться на досуге.
После прочтения статей о платформе BlackSwift среди потенциальных кандидатов появился Qualcom Atheros AR9331, но его смутило отсутствие подробной информации в открытом доступе. Простите, забавный кандидат.
Меня интересовала минимальная конфигурация, достаточная для запуска на ней Linux. В результате для процессора была выбрана микросхема памяти на 32 МБ (256 МБит) (по простому принципу, по которому она у нас была в наличии). На тот момент еще не читал на десятках форумов о наличии трудностей с этим процессором, просто изучил рекомендации производителя по трекингу и довольный как слон сделал все по рекомендациям.
Вообще, процессор (или, вернее, SoC) интереснее с точки зрения того, что при запуске конструктивные ошибки обходятся намного дороже. Например, неправильная компоновка памяти DDR может проявляться как минимум в последующих ошибках чтения-записи, максимум в невозможности инициализировать память. Цепи питания процессора — ошибка приведет к сгоранию процессора при первом включении, интерфейсы — потере периферийных устройств на этих интерфейсах и т.д.
Поэтому проще начать с просмотра готовых отладочных комплектов, например, официальной платы и документации к ней. У меня не было доски, но документация доступна всем. Кроме того, полезно изучить все инструкции по применению, почитать форумы (это уже жизненный опыт :)) — в общем, изучить всю доступную информацию о жертве. После учебы начинается механическая работа: рисование схемы, а затем платы. Четыре слоя, минимальная ширина проводника 0,2 мм, расстояние 0,2 мм, отверстие 0,3 мм.
Подключил все, что можно безболезненно подключить — аудиовходы и выходы, вывел видеосигнал на контактные площадки, любую простую периферию — микросхему памяти с интерфейсом I2C, еще одну с SPI, держатель для карты uSD, конфигурацию перемычек, отладку порт, а то и свободное место — это все, что осталось. Плата получилась небольшой — 70х40 мм, с минимумом компонентов. Для NAND-памяти места больше не было, но я планировал начать с SD / MMC. Работает на одну ночь.
Получилось некрасиво. Слева направо: верхний, два внутренних, нижний слой. Процессор на верхнем уровне, память внизу; по одному на каждый сигнальный проводник интерфейса DDR; длины проводов выровнены, их средняя длина находится в пределах рекомендуемого диапазона, многоугольник масс между процессором и памятью почти не имеет зазоров и т д
Затем плата спроектирована, оформлена документация, все это передано в производство, и можно начинать подготовку к приему плат с производства. Начинаю изучать материалы по нюансам запуска процессора и натыкаюсь на форумы в сотни страниц, с описанием проблем и трудностей при запуске.
Становится неудобно: у людей проблемы до третьей обработки карты, процессор не работает с некоторыми модулями памяти, встроенная подсистема питания очень нестабильна, процессор очень требователен к питанию, некорректный (документ с описанием ошибок на процессор) на многие проблемы реагирует «ничем помочь не можем», ПО открыто доступно, даже внутреннему загрузчику нужен патч от производителя, в общем возникают серьезные проблемы. Скачал у производителя BSP (пакет поддержки карт) — там бардак из сотен скриптов и пакетов. Веселье начинается.
Через месяц приходят платы и я начинаю экспериментировать. Что-то в уголке подсознания всплывает в связи с проблемами сборочного производства.
Снять со счета
Мне также понравилась эта система на кристалле, потому что она включает в себя все регуляторы мощности, необходимые для ее срока службы — как DC / DC (импульсный), так и LDO (линейный). В комплекте зарядное устройство для Li-Pol аккумулятора. Включите 5 вольт от USB на SoC — вы получите выход 1V8, 2V5, 3V3 и 4V2. Что-то идет в сам процессор, что-то идет в память, можно аккумулятор подзарядить. Комфортный. Можно все сразу сжечь 🙂
SoC bringup
Вдали от сомнений, дайте пищу! И никаких признаков жизни. Это хорошо, хорошо, потому что дыма нет. Балансирую кнопку «Power», смотрю осциллографом ножку кварцевого резонатора, запускаю — на кварце генерация идет. 24 МГц, плохо, но есть. Пробник осциллографа с делителем, пассивный, напишем. «Дедушка старый, ему все равно»
Начинается самое интересное — обучение. Как в этом контексте можно кратко перевести этот термин на русский язык? Пытаетесь вдохнуть жизнь? Это не звучит.
У процессора есть свой начальный загрузчик, который при включении проверяет условия загрузки: куда и что загружать. Он также отвечает на запросы через шину USB. Его можно настроить с помощью перемычек на плате или с помощью одноразовой флэш-памяти OTP. Если еще смогу перепаять перемычки, маловероятно перепрошить неперепрошивку. Снимаю перемычки, включаю питание и вот: первые байты данных поступают из порта отладки! Это означает, что процессор доволен питанием, его самые основные узлы запущены и что-то можно сделать позже. Что означают эти коды, я узнал из искаженного заголовочного файла в виде PDF-документа с расплывчатыми пояснениями, пропусками и авторством huashan. Все чисто.
Что ж, для максимально быстрой работы с платой оптимальнее было бы подключить ее по кабелю и загрузить исполняемый код нажатием кнопки. Хорошо, подключаю его через USB к своему компьютеру. И ничего.
Никаких USB-транзакций, даже генерации кварца. Плохой. Я начинаю думать, изучаю доску, помню все тонкие моменты. Например, на этой плате рядом с процессором я поставил свой DC / DC преобразователь, рассчитывая питать любую потребительскую нагрузку, подключил его к шине питания USB 5V и ничем не нагружал. Измеряю осциллографом: 5 вольт на входе, 5 на выходе. Слова производства плавают, что-то на резисторе. Да, это так — сопротивления в цепи обратной связи нет. (- Капитан, капитан, якорь всплыл! — Хммм, плохая примета…)
Припаял резистор, и о чудо! Карта определяется по USB! Перед этим смотрел уровень напряжения планки питания: 5,1 вольт, ни существенного шума, ни пульсаций. Но процессор знает лучше. После пайки резистора источник DC / DC тоже начал работать без нагрузки, но, по крайней мере, он перестал мешать процессору. Ну что дальше.
Далее нужно позаботиться о первоначальном запуске процессора и проверить работу DDR. Начинаю копать и в процессе исследования собираю серию утилит и «бутлетов» — исходников, позволяющих инициализировать подсистемы питания, связку памяти контроллера DDR и подготовить систему к дальнейшей работе. Что вам нужно, так это простейший исходный код с обилием индуистского кода, но больше всего они работают.
Утилиты позволяют загружать эти бутлеты в память процессора и запускать их на исполнение. Все настолько сложно, потому что после включения встроенного загрузчика он ничего не знает про внешнюю оперативную память и поскольку памяти нет, некуда загружать, например, ядро Linux. Получается цепочка из нескольких звеньев, в которой на каждом этапе делается небольшой шаг.
Отступление Для подключения к последовательным портам, реализации всевозможных внутрисхемных отладчиков JTAG, программаторов и подобных задач в другом проекте был реализован мост USB-UART на FT2232. Двухслойная конструкция, оба порта зачесаны с шагом 2 мм. В этом проекте история другая: мост USB-UART + карта сбора данных расположены в центре основной платы, а конструкция устройства предполагает ее удаление. Те платы без отверстия по центру просто не поместятся в устройство. Выбрасывать текстолит мне показалось нерациональным, и я внес свои творческие изменения: описанный выше мост USB-UART (меньшего размера) и контроллер (MSP430FR5738) с датчиком тока, напряжения, электромеханическим реле, источником тока и термометр. Вся эта «горячая» часть гальванически изолирована от интерфейса RS485 с помощью пары ADuM1281 и изолированного DC / DC (еще не установленного на плате). Стек Modbus работает в контроллере, например, дюжина таких карт может быть объединена в сеть, данные карты могут быть перенесены в систему SCADA, а произвольные процессы могут быть автоматизированы. В частности, мы будем использовать эти шарфы для тестирования устройств при -40 / + 60 в термокамере. Я кладу их на тестируемое устройство, сижу и смотрю, как изменяются токи, напряжения и температуры в критических узлах.
Все эти платы были разработаны параллельно, поэтому я быстро установил одинаковые размеры и гибкие возможности подключения. Не зря 🙂
Отлично, я компилирую исходники, создаю этот конструктор, загружаю его и получаю первые несколько строк из порта отладки! Подсистема питания запущена!
PowerPrep start инициализирует источник питания… Напряжение аккумулятора = 0,65 В Аккумулятор не обнаружен или неисправен !!! Отключите измерения напряжения батареи. EMI_CTRL 0x1C084040 FRAC 0x92926152 power 0x00820710 Frac 0x92926152 start change cpu freq hbus 0x00000003 cpu 0x00010002 или обнаружена неисправная батарея !!!. Отключение измерения напряжения батареи. EMI_CTRL 0x1C084040 FRAC 0x92926152 power 0x00820710 Frac 0x92926152 начальная частота модификации процессора hbus 0x00000003 cpu 0x00010002 запуск теста памяти, при 0x4000000 конец теста памяти, при 0x41FFFFFC Отлично! Тест памяти пройден! Это очень хорошо, теперь можно туда что-то посерьезнее выложить.
U-Boot
Более серьезным для меня является U-Boot. Я хорошо знаю эту систему, она мне кажется вполне адекватной и функциональной. Он позволяет работать с периферией: текущие версии работают с USB, SD / MMC, Ethernet, выгружают образы из разделов FAT / ext2, контролируют передачу и, самое главное, мигают светодиодом — все, что вам нужно для счастья и более гибкой отладки в начальное состояние. Поэтому, не долго думая, скачиваю текущую версию из официального репозитория, беру ближайшую конфигурацию, компилирую, собираю с индусскими бутлетами в один файл и загружаю в процессор: PowerPrep start инициализирует питание… Напряжение батареи = 1,74 В Аккумулятор не обнаружен или неисправный !!! Отключение измерения напряжения батареи. EMI_CTRL 0x1C084040 FRAC 0x92926152 power 0x00820710 Frac 0x92926152 start cpu modify freq hbus 0x00000003 cpu 0x00010002 start memory test, at 0x4000000 end test memory, at 0x41FFFFFCU-Boot 2015.04-ga74-00409
ЦП: Freescale i.MX23 rev1.4 при 227 МГц ЗАГРУЗКА: USB DRAM: 32 МБ MMC: MXS MMC: 0 MMC0: Тайм-аут занятой шины! MMC0: Тайм-аут занятой шины! MMC0: Тайм-аут занятой шины! MMC0: Тайм-аут занятой шины! Плата не реагировала на подбор напряжения! Ошибка инициализации MMC с использованием среды по умолчанию
In: serial Out: serial Err: serial Сеть: инициализация сети пропущена. Ethernet не найден. Нажмите любую кнопку, чтобы остановить автоматический запуск: 0 =>
И U-Boot выключен! Отлично, но карта все равно запускается на проводе. Нам нужно позаботиться о карте памяти. Ну, перепаял резисторы выбора загрузки, вставил плату — ошибка процессора в терминале. Достаю карточку, еще одну. Какой поворот! ©
SD/MMC
Начинаю искать, поиски приводят к русскоязычному форуму, 380 страниц полезного и интересного обсуждения. Боюсь, ребята до сих пор крепко вспоминают эту SoC.
Оказывается, чтобы загрузиться с карты SD / MMC, вам нужно прошить биты OTP, чтобы что-то еще могло сработать. В частности, необходимо перенастроить в OTP Register: 24 бита SD MBR Boot 3 — прошить на одной и SD_POWER_GATE_GPIO 21:20 — выбрать NO_GATE — управление питанием карты в моем проекте не предусмотрено.
«Как-то неловко получается». Это означает, что вы не можете создать загрузочную карту памяти, которую можно использовать для пакетной прошивки готовых устройств, вместо этого вам нужно будет подключить каждое устройство и вручную прошить эти неудачные биты OTP. Конечно, я не буду использовать этот процессор в каких-либо серьезных проектах, но вы не должны забывать такой момент. Качаю утилиту Windows, прошиваю эти биты, вставляю карту памяти, аккумулятор… Система запускается и перезагружается циклически. Дерьмо!
PowerPrep start инициализирует питание… Напряжение аккумулятора = 3,75 В Запуск от аккумулятора. Вход 5 В не обнаружен
PowerPrep start инициализирует питание… Напряжение аккумулятора = 3,75 В Запуск от аккумулятора. Вход 5 В не обнаружен
PowerPrep start инициализирует питание… Напряжение аккумулятора = 3,75 В Запуск от аккумулятора. Вход 5 В не обнаружен…
Исправляю исходные коды бутлета, в частности добавляю еще отладочные сообщения и перехожу в проблемный раздел кода: PowerPrep start инициализирует питание… Напряжение батареи = 3.75V Загрузка от батареи. Вход 5 В не обнаружен Тест poweron_pll Тест turnon_mem_rail Останавливается при подаче питания на память DDR. HM. Я уже где-то об этом читал. Как это работало раньше? Ладно, нестабильность обнаружена, нам нужно выяснить.
Вокруг микросхемы памяти находятся ее легальные разделительные конденсаторы, 8 шт. 100 нФ каждый. Но на выходе встроенного в SoC блока питания памяти я поставил 2х10 мкФ, хотя производитель рекомендовал только 1 мкФ (инструкцию читал, если ничего не помогает, да). Ломать, а не строить: вскрываю конденсатор, подключаю аккумулятор, и система запускается!
На самом первом фото показан этот конденсатор: вокруг него грязь и он приварен всего одним контактом.
PowerPrep start инициализирует питание… Напряжение аккумулятора = 3,75 В Запуск аккумулятора. Вход 5 В не обнаружен Тест poweron_pll Тест Turnon_mem_rail Тест init_clock EMI_CTRL 0x1C084040 FRAC 0x92926192 Тест init_ddr_mt46v32m16_133Mhz мощность 0x00820710 Frac 0x92926192 запустить модификацию cpu000x3 fre hp1000
initcall: 3e09f908 (перемещен в 40002908) initcall: 3e0a013c (перемещен в 4000313c) initcall: 3e0a2ec0 (перемещен в 40005ec0) initcall: 3e0a2ea8 (перемещен в 40005ea8) initcalletcall = 3 3 ### main_loop вставлен: bootdelay = 3
### main_loop: bootcmd = «mmc dev $ {mmcdev}; если mmc rescan; затем, если запустить loadbootscript; затем запустить bootscript; иначе, если запустить loaduimage; затем запустить mmcboot; else» Нажмите любую клавишу, чтобы прервать автоматическую загрузку: 0 => =>
Эхе, работает! Хорошо, я запишу этот факт как причину потенциальной нестабильности в будущем, потому что осталось еще 10 мкФ, что также может осложнить вашу жизнь. Сейчас пробую с внешним питанием. PowerPrep start инициализирует источник питания… Напряжение батареи = 3,74 В Обнаружен источник 5 В. Обнаружено допустимое напряжение батареи. Запуск от аккумуляторного источника напряжения. 18 марта 2015 07:59:13 Тест poweron_pll Тест Turnon_mem_rail Тест init_clock EMI_CTRL 0x1C084040 FRAC 0x92926192 Тест init_ddr_mt46v32m16_133Mhz power 0x00820710 Frac 0x92926192 запускает период изменения частоты Внешний ЦП запускается регулярно с 5Vu Опять же, исправляю код, выключаю, переключив процессор на PLL, ядро продолжает работать на 24MHz. Все стабильно. Я меняю делитель ФАПЧ, перекручиваю частоту, и плата успешно загружается до 320 МГц.Мы должны попробовать рекомендацию производителя: конденсатор 100 пФ в импульсной цепи постоянного / постоянного тока. Поставил место на плате под конденсатор. Я вернусь к этому вопросу позже.
Linux kernel
Итак, на данный момент есть карта, которая запускается с карты памяти и загружает U-Boot. Далее по плану нужно загрузить ядро.
Я скачиваю текущие исходные коды ядра с kernel.org, распаковываю его и собираю ядро в три клика.
make ARCH = arm CROSS_COMPILE = $ {CC} mxs_defconfig make ARCH = arm CROSS_COMPILE = $ {CC} menuconfig make ARCH = arm CROSS_COMPILE = $ {CC} -j4 zImage modules Эти три щелчка мышью При настройке ядра вы должны строго указать ядро параметры слияния + dtbBoot -> Использовать большой двоичный объект дерева устройств, добавленный в zImage —-> Интегрировать добавленный DTB с традиционной информацией ATAG. Функции отладки ядра низкого уровня должны быть включены вместе с printk впереди А также включить динамическую поддержку printk () и видео подсистема должна быть отключена и наполовину бесполезна и не много драйвера
А также собрать dtb — blob дерева устройств, структуру, описывающую основные вещи ядра — объем памяти, периферийные устройства SoC и т.д.
сделать ARCH = arm CROSS_COMPILE = $ {CC} imx23-olinuxino.dtb И поместить все в файл cat arch / arm / boot / zImage arch / arm / boot / dts / imx23-olinuxino.dtb> arch / arm / boot / zImage_dtb Затем вы можете скопировать ядро на прошивку.
Я запускаю его и получаю панику ядра. По логике, корневой файловой системы еще нет.
ODYSSEY-X86J4125 — Intel встречает Arduino и Raspberry Pi
Разъемы GPIO важны для производителей при подключении датчиков, сервоприводов, двигателей и т.д. Microchip SAMD21 Cortex-M0 + микроконтроллер, совместимый с Arduino. В дополнение к этому, также доступен разъем Raspberry Pi для дополнительных возможностей расширения.
Мы протестировали плату с Windows 10 Enterprise и Ubuntu 20.04, и все работало, как ожидалось, но вентилятор может быть немного громким, а разъем Raspberry Pi поддерживался только в Ubuntu. Документацию можно найти в Wiki
Хотя получить ODYSSEY-X86J4105 SBC должно быть непросто, так как процессор постепенно прекращается, новый ODYSSEY-X86J4125 SBC с более быстрым процессором и теми же функциями продается по цене 218 долларов без хранилища или 269 долларов с 128 ГБ eMMC с флэш-памятью и Corpus Re_Computer.
Различные персональные компьютеры и NAS
И вот мы подошли к «тяжелой артиллерии». Персональные компьютеры и дорогие решения».
Я, наверное, начну с Synology. Это сетевые репозитории с достаточно мощными «мозгами», позволяющими устанавливать огромное количество дополнительных программ и систем. Все, что касается мультимедийного контента, файловых решений, торрентов и т.д. — все это есть. И самое крутое, что туда можно установить Docker. А Docker, в свою очередь, позволяет установить практически все, что угодно. Что такое докер? Например, вот статья о переносе умного дома с малины на Synology NAS.
Одним из недостатков является то, что эти хранилища дороги сами по себе, плюс стоимость жестких дисков делает решение прибыльным только в том случае, если у вас уже есть такой NAS.
Китаеведение НАН
Самостоятельно собранный или готовый ПК
или новый неттоп
Intel Compute Stick
Intel Nuc
Неттоп с авито или бездомный ПК
Но потом мы перейдем к различным персональным компьютерам. Какой твой выбор? Фантастически огромный! Можно собрать ПК для умного дома из комплектующих, можно купить готовый компьютер или почти готовый неттоп с довольно мощным процессором. Есть и неплохие решения от Intel: Intel Compute Stick или Intel Nuc. Также можно «променять» на авито и найти какие-нибудь дешевые ПК для «сборки бомжей».
Все эти решения имеют ряд преимуществ. Во-первых, это уже не ARM, а полноценные процессоры x86 и x64. Они намного быстрее.
Во-вторых, возможность использовать жесткие диски SSD для установки и эксплуатации системы просто божественна. Особенно после розыгрыша карт и их провала.
В-третьих, вы можете создать комплексное решение. Медиа-файлы и серверы, умный дом, сервер резервного копирования, сервер видеонаблюдения и все, что вы можете придумать. Потому что масштабирование — важное преимущество.
Но есть и недостатки. И они относятся конкретно к умным домам и системам с открытым исходным кодом. Дело в том, что платформ и компонентов ПК слишком много. А если где-то что-то глючит, то даже на бесчисленных форумах будет очень сложно найти проблему. Просто потому, что большая часть информации в сети посвящена умным домам, установленным на Raspberry Pi. Поэтому можно терпеть и продолжать жить или искать выходы. Например, вы можете установить Docker на любой ПК, установить на нем систему умного дома и при этом получать огромное количество информации о решениях Docker.
Raspberry Pi 3 Model B+
Хотя Raspberry Pi3 Model B + не является последней версией полноразмерного Raspberry Pi, он считается более надежным, пока не будут исправлены ошибки Raspberry Pi4.
3B + использует классический процессор и имеет все необходимые обновления, включая адаптер Wi-Fi 5 ГГц и порт Ethernet, который работает на скорости выше 100 Мбит / с, с возможностью PoE (power over Ethernet). В то время как ЦП остался прежним, система охлаждения была значительно модернизирована, чтобы разогнать его до 1,4 ГГц, что примерно на 17% больше, чем у предыдущего Pi, но стоимость остается прежней и составляет 35 долларов$.
- Процессор: Broadcom BCM2837B0, 64-битный 1,4 ГГц Cortex-A53 SoC
- Графический процессор: Broadcom VideoCore IV
- Память: 1 ГБ LPDDR2 SDRAM
- Память: карта microSD
- Wi-Fi: 2,4 ГГц и 5 ГГц IEEE 802.11.b / g / n / ac
- Ethernet: Gigabit Ethernet через USB 2.0 (максимальная скорость 300 Мбит / с)
- Bluetooth: 4,2, BLE
- Порты: полноразмерный HDMI; четыре USB 2.0; 4-контактный стереоразъем, композитный видеосигнал
- GPIO: 40-контактный расширенный разъем
- Подключения: камера CSI, дисплей DSI
- Источник питания: 5 В постоянного тока / 2,5 А через порт Micro-USB, поддержка PoE
- Размеры: 3,37 дюйма (В) x 2,22 дюйма (Ш) x 0,67 дюйма (Г)
- Стоимость: 35 долларов США
Где купить Raspberry Pi 3 Model B +? Оптимальный вариант — купить девайс на Алиэкспресс. Базовая конфигурация — вид или расширенная — вид.
Вариант 1: ASUS Tinker Board S
Tinker Board S производится под известным брендом ASUS, поэтому многие ИТ-энтузиасты знают, что все функции здесь реализованы на высшем уровне.
Этот гаджет часто сравнивают с дорогой Raspberry со стероидами из-за высоких технических характеристик. Форм-фактор Tinker Board S полностью идентичен стандартному Pi, включая конфигурацию портов и 40-контактный разъем, который ASUS обновила с помощью цветовой кодировки и кодирования, что очень удобно при частом использовании контактов GPIO.
В то же время устройство имеет очень мощный центральный и графический процессор, который помогает решать задачи, требующие большого количества вычислений, например, рендеринг видео.
Если в проекте будет использоваться сетевой доступ, Tinker Board S оснащается адаптером Gigabit Ethernet, что делает это устройство идеальным для создания точек доступа, таких как Pumkin Pi, которые обычно используются для перехвата информации с гаджетов, подключенных через Wi-Fi.
Большим нововведением в Thinker Board S является использование внутренней памяти eMMC емкостью 16 ГБ, которая имеет значительно более высокую скорость записи и чтения, чем microSD, используемый в Pi.
Все эти мощные опции стоят 92 доллара, но если вас не волнует цена и вам нужна большая вычислительная мощность, то Tinker Board S может быть вашим лучшим выбором. Однако в случае ограниченного бюджета вы можете получить две платы Raspberry Pi 3B + по той же цене+.
- Процессор: Rockchip Quad-Core RK3288
- Графический процессор: ARM Mali-T764
- Память: 2 ГБ, двухканальная DDR3
- Память: карта microSD; Встроенный 16 ГБ eMMC
- Wi-Fi: 2,4 ГГц IEEE 802.11 b / g / n
- Ethernet: гигабитный Ethernet
- Bluetooth: 4.0 EDR
- Порты: полноразмерный HDMI; четыре USB 2.0; стерео разъем; MIC в
- GPIO: 40-контактный разъем
- Подключения: камера CSI; Дисплей DSI
- Электропитание: 5 В постоянного тока / 2-3 А через порт Micro-USB
- Размер: 3,37 дюйма (В) x 2,125 дюйма (Ш)
- Цена: $ 91.99
Где купить ASUS Tinker Board S? Самый простой способ купить устройство — это заказать на Алиэкспресс.
Вариант 2: Banana Pi M64
Banana Pi M64 — это усовершенствованная 64-разрядная версия Banana Pi, которая поддерживает Android, Ubuntu, Debian, OpenBSD, Windows 10 и многие другие операционные системы. Устройство имеет вдвое больший объем оперативной памяти, чем Pi 3 B +, встроенную высокоскоростную память eMMC и адаптер Gigabit Ethernet. На этом этапе становится ясно, что Raspberry Pi Foundation уже отстает от своих конкурентов в производстве модулей Ethernet.
Между тем, Banana Pi M64 имеет только два порта USB, в отличие от Raspberry, у которого их четыре. Также это устройство имеет нестандартный форм-фактор, но есть традиционный 40-контактный разъем GPIO, с которым знакомы многие программисты.
Уникальной особенностью Banana Pi M64 является встроенный инфракрасный приемник, который позволяет дистанционно управлять интегрированной системой. В итоге M64 — отличное решение для реализации любой идеи в области IT-технологий, но недостатком этого оборудования является полное отсутствие технической поддержки и документации. Так что, если вы готовы рискнуть купить китайскую электронику на AliExpress, то этот товар — один из лучших в своем сегменте рынка.
- Процессор: Allwinner A64 (4x Cortex-A53 @ 1,2 ГГц)
- Графический процессор: Mali-400 MP2
- Память: 2 ГБ DDR3 SDRAM
- Память: от 8 ГБ до 64 ГБ eMMC; Карта MicroSD (до 64 ГБ)
- Wi-Fi: 2,4 ГГц IEEE 802.11 b / gn
- Ethernet: гигабитный Ethernet
- Bluetooth: 4.0
- Порты: полноразмерный HDMI; два USB 2.0; Micro-USB OTG; стерео розетка
- GPIO: 40-контактный разъем
- Подключения: камера CSI; Дисплей DSI
- Источник питания: 5 В / 2 А, постоянный ток через разъем 4,0 мм
- Размер: 3,62 дюйма (В) x 2,36 дюйма (Ш)
- Цена: $ 52-80
Где купить Banana Pi M64? Самый простой способ купить устройство — заказать его на Алиэкспресс.
Вариант 3: Atomic Pi
Atomic Pi — это совершенно новый игрок на рынке мини-ПК, построенный на 32-битной архитектуре и оцененный всего в 35 долларов. Около четырех лет назад характеристики этого ПК сделали бы его мощным планшетом или следующим компьютером вычислительной техники (NUC).
Наряду с этим, чтобы использовать все функции Atomic Pi, вам также потребуется приобрести плату отключения питания за 15 долларов, что значительно увеличит размер платформы, которая станет непригодной для миниатюрных систем. При этом мощность этого оборудования сравнима с бюджетным ноутбуком, поэтому, если вы планируете использовать его как стационарное устройство с операционной системой Linux, такая покупка будет хорошим решением.
- Процессор: Intel Atom x5-Z8350 (до 1,92 ГГц)
- Графический процессор: Intel HD Graphics (Cherry Trail)
- Память: 2 ГБ DDR3L-16000
- Память: 16 ГБ eMMC; Карта MicroSD (до 256 ГБ)
- Wi-Fi: 2,4 ГГц и 5 ГГц IEEE b / g / n / ac
- Ethernet: оборудование Gigabit RJ45 Ethernet RTL8111G
- Bluetooth: 4.0
- Порты: полноразмерный HDMI; USB 3.0; четыре USB 2.0
- GPIO: 26-контактный разъем
- Подключения: н / д
- Мощность: 5 В / 2,5-4 А постоянного тока
- Размеры: 5,12 дюйма (В) x 3,94 дюйма (Ш) x 1,97 дюйма (Г)
- Цена: 44–49 долларов
Где купить Atomic Pi? Устройство можно купить на Amazon — заказать на Amazon.
Вариант 4: Rock64
Rock64 — надежная замена Pi с более быстрым процессором и объемом оперативной памяти больше гигабайта по той же цене. Кроме того, есть возможность расширить оперативную память до 4 ГБ всего за 45 долларов, а также установить дополнительный диск eMMC в дополнение к встроенной карте microSD.
Одним из важных отличий Rock64 от Pi 3B + является наличие всего трех USB-портов, один из которых работает по высокоскоростному протоколу 3.0, что также позволяет выполнять форк через USB-концентратор. Кроме того, Rock64 поддерживает обработку видеопотока 4K со скоростью 60 кадров в секунду, что делает его незаменимым для проектов обработки видео высокой четкости.
- Процессор: четырехъядерный Cortex-A53 (до 1,5 ГГц)
- Графический процессор: двухъядерный ARM Mali-450MP2
- Память: LPDDR3, варианты ОЗУ: 1 ГБ, 2 ГБ, 4 ГБ
- Память: карта eMMC; карта microSD
- Wi-Fi: с модулем
- Ethernet: гигабитный Ethernet
- Bluetooth: с модулем
- Порты: полноразмерный HDMI; USB 3.0; два USB 2.0; композитное видео
- GPIO: 40-контактный разъем
- Подключения: н / д
- Электропитание: 5 В постоянного тока / 3 А через разъем 3,5 мм; Поддержка PoE
- Размеры: 3,35 дюйма (В) x 2,2 дюйма (Ш)
- Цена: 24,95-44,95 долларов
Где купить Rock64? Устройство можно купить на Amazon — заказать на Amazon.
Вариант 5: NVIDIA Jetson Nano Developer Kit
Если вы планируете разработать самообучающийся нейронный алгоритм, систему распознавания объектов или Ai, то вам определенно понадобится Jetson Nano, который был специально разработан для разработки концепции искусственного интеллекта, а также Интернета вещей (IoT).
Сам модуль имеет размер стандартной карты памяти ноутбука (SODIMM), и это сделано для упрощения интеграции устройства в крупномасштабное производство нанотехнологической электроники.
Jetson Nano обладает достаточной мощностью для управления интеллектуальными роботами, с которыми вы уже можете общаться, почти как с настоящими людьми. Здесь также важно обратить внимание на отсутствие адаптера Wi-Fi, который дополнительно подключается через припаянный к плате интерфейс M.2.
- Процессор: четырехъядерный ARM A57 с тактовой частотой 1,43 ГГц
- Графический процессор: 128 ядер Maxwell
- Память: 4 ГБ 64-разрядной LPDDR4
- Память: microSD
- Wi-Fi: клавиша M.2 Mi
- Ethernet: гигабитный Ethernet
- Bluetooth: с модулем
- Порты: полноразмерный HDMI; четыре USB 3.0; Micro USB
- GPIO: да
- Подключения: камера CSI; DisplayPort
- Электропитание: 5 В / 4 А постоянного тока через разъем 3,5 мм; Входное напряжение 5 В / 2 А постоянного тока через порт Micro-USB; Поддержка PoE
- Размеры: 3,94 дюйма (В) x 3,15 дюйма (Ш) x 1,14 дюйма (Г)
- Цена: 99 долларов
Где купить NVIDIA Jetson Nano? Устройство можно купить на Алиэкспресс — заказать на Алиэкспресс.
Вариант 6: Onion Omega 2+
Если вы ищете альтернативу Raspberry Pi Zero W, покупка Omega 2+ — отличное решение, так как размеры этого устройства в четыре раза меньше стандартного форм-фактора SBC, что очень удобно использовать для различных интегрированных устройств оборудование. Он поддерживает работу с операционной системой Linux Embedded Development Environment на основе OpenWRT, предназначенной для разработки новейшего оборудования IoT.
При этом Omega 2+ оснащена разъемом U.FL, который позволяет подключать к нему внешние антенны Wi-Fi для увеличения дальности действия беспроводной сети. Это дает ему ощутимое преимущество перед Zero W, у которого иногда не хватает мощности сигнала для реализации каких-либо идей.
- Процессор: 580 МГц MIPS CPU
- GPU: нет данных
- Память: 128 МБ оперативной памяти DDR2
- Память: карта microSD; 32 МБ флэш-памяти
- Wi-Fi: 2,4 ГГц IEEE 802.11 b / g / n
- Ethernet: с модулем
- Bluetooth: с модулем
- Порты: есть поддержка USB 2.0
- GPIO: 18-контактный разъем
- Подключения: н / д
- Мощность: 3,3 В постоянного тока
- Размеры: 1,69 дюйма (В) x 1,04 дюйма (Ш)
- Цена: 13-15 долларов
Где купить лук Омега 2+? Устройство можно приобрести на официальном сайте Onion.io.
Вариант 7: NodeMCU
Некоторые простые устройства, такие как детекторы движения или сигнализация, не требуют большой производительности, поэтому имеет смысл использовать микроконтроллеры, такие как NodeMCU.
В основе этого устройства лежит популярный Wi-Fi-чип ESP8266, ранее использовавшийся только в модулях беспроводной сети. Однако со временем ИТ-инженеры начали понимать, что во время простоя между передачей данных через Wi-Fi можно использовать вычислительную мощность этого адаптера для различных полезных функций без зарядки центрального процессора.
Если, например, вам нужно измерить объем оперативной памяти и накопителей в килобайтах, NodeMCU отлично справится с этой задачей, несмотря на то, что его стоимость очень низкая. Это устройство одноразового использования, в отличие от своих дорогих конкурентов, включая Asus Tinker Board S и несколько других устройств. Производством NodeMCU занимаются многие разные китайские производители, поэтому качество продукта не всегда может быть приемлемым, но мы рекомендуем приобретать устройство с маркировкой CP2102 вместо CH340.
К сожалению, работа с NodeMCU очень ограничена из-за необходимости использования программного обеспечения на языках C ++ и Arduino, так как здесь не удастся установить даже небольшую версию Linux, как на другие микрокомпьютеры на наш список.
- Процессор: 32-битный 80 МГц RISC L106 CPU
- GPU: нет данных
- Память: 128 кБ
- Память: встроенная флэш-память 4 МБ
- Wi-Fi: 2,4 ГГц IEEE 802.11 b / g / n
- Ethernet: нет данных
- Bluetooth: с модулем
- Порты: Micro-USB
- GPIO: 15-контактный разъем
- Подключения: н / д
- Источник питания: 5 В постоянного тока через порт Micro-USB
- Размеры: 1,93 дюйма (В) x 0,96 дюйма (Ш) x 0,51 дюйма (Г)
- Цена: 5-20 долларов
Где купить NodeMCU? Устройство можно купить на Алиэкспресс — заказать на Алиэкспресс.
Вариант 8: ODroid XU4
Odroid XU4 — очень мощный SBC, который превосходит Pi 3B + и даже ASUS Tinker Board S, но уступает заявленной производительности при тестировании. Стандартного 40-контактного разъема нет, и интерфейсные порты тоже необычны, но Odroid XU4 имеет встроенные энергонезависимые часы реального времени (RTC), что очень важно при разработке некоторых высокотехнологичных систем.
Все это вместе делает XU4 отличной платформой для разработчиков, которую не имеет смысла использовать только для развлечения, поскольку вы можете купить две карты Pi 3B + или Pi Zero W за те же деньги.
- Процессор: Samsung Exynos5422 Dual-Core 2 ГГц Cortex-A15 и Cortex-A7
- Графический процессор: Mali-T628 MP6
- Память: 2 ГБ, LPDDR3, RAM, PoP, в стеке
- Память: eMMC; карта microSD
- Wi-Fi: с USB-адаптером
- Ethernet: гигабитный Ethernet
- Bluetooth: с USB-адаптером
- Порты: полноразмерный HDMI; два USB 3.0; USB 2.0
- GPIO: 30-контактный разъем
- Подключения: последовательный
- Мощность: 5 В постоянного тока / 4 А
- Размеры: 3,27 дюйма (В) x 2,28 дюйма (Ш) x 0,87 дюйма (Г)
- Цена: 50-80 долларов
Где купить ODroid XU4 Аппарат можно приобрести на Алиэкспресс — заказать на Алиэкспресс.
Вариант 9: NanoPi NEO4
Nano Pi Neo4 по сути является половинным эквивалентом Pi 3B + с немного более высокой производительностью благодаря шестиядерному процессору.
Самым большим преимуществом здесь является меньший форм-фактор для использования в миниатюрных цифровых продуктах, требующих скорости стандартного одноплатного ПК Pi 3B +. Устройство также оснащено высокоскоростным портом USB 3.0 с возможностью подключения питания USB-C.
- Процессор: двухъядерный Cortex-A72 (до 2,0 ГГц) + четырехъядерный Cortex-A53 (до 1,5 ГГц)
- Графический процессор: графический процессор Mali-T864
- Память: 1 ГБ DDR3-1866
- Память: разъем eMMC; Карта MicroSD до 128 ГБ
- Wi-Fi: 2,4 ГГц IEEE 802.11 b / g / n
- Ethernet: гигабитный Ethernet
- Bluetooth: 4.0
- Порты: полноразмерный HDMI; USB 3.0; USB 2.0; USB Type-C
- GPIO: 40-контактный разъем
- Подключения: камера CSI
- Источник питания: 5 В постоянного тока / 3 А через порт USB Type-C
- Размеры: 2,36 дюйма (В) x 1,77 дюйма (Ш)
- Цена: 50 долларов
Где купить NanoPi NEO4? Устройство можно купить на Алиэкспресс — заказать на Алиэкспресс.