Да, та самая консоль в виде флэшки за 1500 - вполне полноценный компьютер с схемотехникой, в которой разберется даже студент.
А все потому что консоль состоит из трех основных блоков: чипсета Rockchip RK3032 с двумя ядрами Cortex-A7, 256МБ оперативной памяти типа DDR2 и нескольких DC-DC преобразователей, формирующих основные шины питания - 3.3В, 1.8В и 0.9В. И... это все, на плате больше ничего нет, даже постоянной памяти.
И это не мешает данной малютке запускать большинство библиотеки до пс1 включительно без каких то особых проблем. А ведь по сути это одноплатник...
Российский компьютер Antex Gate, разработанный энтузиастами и использующий модуль Raspberry Pi CM4, теперь совместим с новым Raspberry Pi Compute Module 5 (CM5).
AntexGate – это компьютер, выпускаемый в России на базе Raspberry Pi CM4 CM3 уже несколько лет.
Интерфейсы: Gigabit Ethernet, USB 2.0, HDMI, PCIe Gen 2 x1
Теперь, по предзаказу у разработчиков Antex Gate, можно приобрести компьютер с установленным Raspberry Pi CM5. Это значительно расширяет возможности устройства.
Краткие характеристики Raspberry Pi Compute Module 5 (CM5)
Процессор: Broadcom BCM2712 (4 ядра Cortex-A76, ARM v8.2-A, 2.4 ГГц)
Оперативная память (RAM): 4 ГБ, 8 ГБ или 16 ГБ LPDDR4X-4267
Хранилище: 16 ГБ, 32 ГБ, 64 ГБ
Основные интерфейсы:
PCIe Gen 2 x1 (совместимость с CM4)
2× USB 3.0 (вместо USB 2.0 на CM4)
2× HDMI 2.0 (4K@60, вместо одного на CM4)
2× MIPI CSI/DSI (камеры/дисплеи)
Gigabit Ethernet
Wi-Fi 6 (802.11ax) и Bluetooth 5.0 (в версиях с беспроводными модулями)
Единственным ограничением совместимости между платой AntexGate и Raspberry Pi CM5 является невозможность использования внутреннего Watchdog таймера. Все остальные интерфейсы и разъемы полностью совместимы.
Благодаря этому, на базе компьютера Antex Gate теперь можно создавать рабочие места для решения широкого спектра задач, включая системы автоматизации, обработку и распознавание изображений, а также другие ресурсоемкие приложения, доступные благодаря возможностям Raspberry Pi CM5. По данным Jeff Geerling, CM5 в 2-3 раза быстрее CM4.
Невероятный подарок от Raspberry до нового года мы уже не ждали. Многие любители малинок из средней школы не поймут о чем речь, однако Raspberry CM5 - это то что мы так ждали, так еще и в том же форм факторе что и CM4.
Raspberry cm4
Raspberry cm5
Для многих не понятно, что обычную малину нельзя использовать в индустриальном секторе, но используют, а потом спешат менять SD карты в самых дальних точках нашей страны.
Зная все преимущества Raspberry в плане поддержки сообщества и высокого качества сборки мы выпустили еще 5 лет назад компьютер, который как раз работает на этом вычислительном модуле. Спустя 5 лет накопили статистику и с гордостью заявляем, что наших компьютеров вышло из строя 3 штуки (1 рассыпалась память emmc, два убила гроза) из двух тысяч проданных, еще два клиента включили их сразу в сеть 220в (вместо 24в) думаю нет смысла это считать.
Несущая плата AntexGate для Raspberry CM4-CM5
Поэтому нам в отличии от предыдущего Upgrad-а raspberry нужно только сменить модуль. В итоге мы получаем совершенно другое по мощности устройство.
Глобально аппаратно Raspberry cm5 это коммерческая (индустриальная версия -20 +80) копия raspberry pi5 поэтому у кого получилось что-то вроде ежа ниже:
Взято в интернете
Стоит рассмотреть железо на подобии нашего компьютера, мы постарались и реализовали все на плате, поддержку дисков NVME, LTE модем и многое другое.
Особенности устройства:
Интерфейс Etnernet 100Mb — 1шт;
Интерфейс Etnernet 1Gb — 1шт;
Интерфейс CAN-BUS – 1шт;
Интерфейс RS485 ISOLATED– 2шт;
Интерфейс RS232 – 1шт;
Интерфейс 1Wire – 1шт; Интерфейс USB – 2шт;
Дискретные входы оптопара- 4шт;
Релейные выходы – 2шт;
Выход оптопара – 1шт;
Разъем mPCIe – 1шт (на выбор):
Lora;
WiFi;
3G/LTE;
NB-IOT;
Разъем m.2 – 1шт Для диска NVMe SSD
Разъем HDMI;
Разъем для подключения GSM-антенны;
Разъем для подключения WiFi-антенны;
Рабочая температура: -25°C… +80°C.
Потребляемая мощность Питание: клеммы DC 12-48В; Passive Poe AC/DC 12-48В; Мощность: 1.56-5.8 Вт в зависимости от конфигурации.
Системные характеристики Процессор: BCM2711 на базе Raspberry Pi CM4; ЦПУ: 4-ядерный Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz Flash: 8/16/32GB eMMC. RAM: 1/2/4/8GB
Поддерживаемые протоколы ModBus; Dmx 512, MQTT, Profinet; LoRaWAN; CAN; OPC UA и другие
Поддерживаемых платформы и ПО
NodeRed; OpenHab; CoDeSys; MasterSCADA 4D; Home Assistant; iRidiumMobile; Совместимый софт с raspberry pi4
Поддерживаемые веб-сервисы ApacheHTTP; NGINX.
Операционная система Поддержка Linux, Ubuntu, Debian, Astra Linux, OpenWrt
Всех с наступающим Новым годом!
Нас ждут тесты новой CM5 на новогодних праздниках.
Просим присоединиться к нашему сообществу в Telegram, там можно подробнее обсудишь это устройство с живыми людьми, кто уже использовал его на базе CM4
Мои давние читатели наверняка знают о том, насколько сильно я люблю необычные нетбуки с диковинными процессорами и необычными операционными системами на борту. Один из таких девайсов сегодня попал ко мне на стол: Toshiba AC-100, который вышел как нетбук для серфинга интернета за 200$ в далеком 2011 году и отличался тем, что работал на крайне диковинной платформе - ARM-чипсет NVidia Tegra 2 вкупе с десктопным мультиконтроллером и Android в качестве ОС. Но вот беда: в устройстве не работала подсветка дисплея. В сегодняшней статьей мы с вами: узнаем предысторию нетбуков и как появился AC-100, отремонтируем шлейф подручными средствами и посмотрим на такого замечательного красавца на практике. Интересно? Тогда жду вас под катом!
❯ Предыстория
Пожалуй, начать можно с того, для кого и зачем позиционировался такой интересный девайс, как ARM-нетбук, да ещё и на Android. Сейчас ноутбуком на чипсете Qualcomm никого не удивишь, многие известные вендоры активно выпускают собственные девайсы на чипсетах X-Elite и полноценной Win10 For ARM на борту, а Apple вот уже несколько лет успешно использует чипы серии M даже в топовых макбуках.
История бюджетных нетбуков (компактные ноутбуки выходили и в 90-х, но стоили очень дорого, поэтому я подчеркнул бюджетные) начинается в 2007 году, с выходом Asus EEEPC, который стал первым действительно массовым и доступным компактным портативным ПК. Первые модели EEEPC разбирали как горячие пирожки на вокзале и многие производители, наблюдая успех новинки, рванулись делать свои собственные нетбуки. Однако первый EEEPC использовал весьма интересный процессор — Celeron M ULV 353 (также использовавшийся в UMPC), который был не слишком производительным (примерно на уровне Pentium III, и при этом наследует его же архитектуру, как и все современные процессоры Intel), но всё же альтернатив по сути и не было, кроме AMD Geode, который берёт корни от Cyrix MediaGX 1997 года выпуска. Очевидно, что нужен был новый процессор, разработанный специально для ноутбуков и планшетов...
В 2008 году Intel представила новую линейку процессоров Atom — не слишком мощных, но зато экономичных и относительно холодных, построенных как x86-совместимые, но при этом не наследующие микроархитектуру своих «больших» десктопных собратьев (вышеупомянутый Celeron M использовал архитектуру Dothan, являющуюся прямым потомком Pentium III). В серии Atom, Intel экспериментировала не только с тепловыделением и энергопотреблением, но и с использованием необычных GPU в качестве встроенных — например основой GMA 3600 стала мобильная графика PowerVR SGX 545, являющаяся близким братом видеоускорителя первого iPad и показывающая себя вполне неплохо в играх начала 2000-х годов.
После выхода Atom, многие производители ринулись делать свои собственные нетбуки, их производительность росла, число форм-факторов увеличивалось (у меня, например, есть EEEPC-трансформер с резистивным тачскрином!) и до массового появления недорогих Android-планшетов, нетбуки оставались крайне популярными устройствами для потребления контента в сети. Однако один из главных конкурентов Intel на мобильном поприще, а именно ARM, не спали и в 2007 году представили ядро Cortex-A9, реализующее набор инструкций ARMv7 и способное работать на частоте выше 1ГГц. В начале 2010 года, компания NVidia представила второе поколение чипсетов Tegra, построенное на базе ядра Cortex-A9.
Компания Toshiba, будучи ветераном на рынке ноутбуков, тоже производила свои собственные нетбуки, однако в 2011 году решилась на весьма интересный шаг, а именно выпуск нетбука не на привычной x86-платформе, а на свеженьком ARM-чипсете Tegra 2. Причём в качестве ОС была выбрана не Windows (которая в те годы хоть и умела работать на ARM устройствах, но ARM-версия в свет пока ещё не вышла), не Linux-дистрибутивы как на гиковских Sharp Zaurus, а... Android! Причём версии 2.1, совершенно не адаптированной не только для нетбуков, но даже для планшетов!
Я очень большой фанат нетбуков на необычных архитектурах и с необычными процессорами. Обожаю устройства и на MIPS, и на ARM, и на SH3/SH4, хотя их очень сложно находить на барахолках (хотя иногда мне помогают подписчики, а время от времени даже дарят для будущего контента!). Год назад читатель с Хабра под ником @inkvizitor68slподарил мне AC-100, которому я посвятил одну из своих статей и даже чуть-чуть видео, за что ему огромное спасибо. Недавно подписчик Андрей написал, что ищет интересные и необычные Android-устройства к себе в коллекцию, на что я ему посоветовал купить себе AC-100.
Читатель купил его на вторичке за 1800 рублей. Но вот незадача, по приезду оказалось что подсветка девайса не работает от слова совсем! Я решил помочь подписчику и разобраться в чем дело, а вот как происходил процесс ремонта — давайте с вами и узнаем!
❯ Ремонтируем
Сначала девайс необходимо разобрать. Для разборки дисплейного модуля необязательно разбирать нетбук полностью, но я обещал вам показать кое-что очень интересное под его капотом!
Разборка нижней части начинается с выкручивания винтов с обратной стороны устройства (не забываем потайные винты по бокам отсека АКБ) и снятия клавиатуры путем аккуратного нажатия на «язычки» плоской отверткой. После откручивания винтов можно снять топкейс и увидеть материнскую плату устройства.
Как мы с вами видим, основная плата здесь очень компактная, а в качестве маркировки красуется LA-xx, означающая что ноутбук разработан и произведен компанией Compal (один из крупных OEM-производителей ноутбуков). В первую очередь, в глаза бросается чип ENE, представляющий из себя мультиконтроллер: он отвечает за обработку кнопки включения и внешних GPIO, светодиоды, общение с аккумулятором через шину SMBus, а также являющийся контроллером клавиатуры. И вот здесь опытные читатели могли озадачится: ведь мультиконтроллеры свойственны для классических x86-ноутбуков (где изначально в процессоре особо нет ни GPIO, ни контроллера клавиатуры), ARM-устройства их никогда не использовали, поскольку всё необходимое обычно уже включено в сам чипсет устройства!
Именно «полудесктопная» платформа и отличает AC-100 от других ARM-нетбуков и делает его уникальным. Например здесь разведен Mini PCI-e слот и используется некий чип Texas Instruments, являющийся эдаким контроллером питания, но который скорее всего выполняет также и роль чарджера.
Посмотрим же на сердце устройства, а именно чипсет NVidia Tegra 2. В нём расположились два ядра ARM Cortex-A9, работающие на частоте 1ГГц, графический ускоритель GeForce ULP, видео-декодеры и DSP и контроллер дисплея. Расположен он под термопрокладкой и охлаждается пассивно за счет металлической части топкейса, а именно подложки клавиатуры и в процессе работы почти не греется! Вспоминаем среднебюджетные ноутбуки с горяченными Turion 64 X2, которые при наличии серьезного охлаждения и не очень продуманного теплоотвода вполне могли обжечь руку...
Далее мы видим две банки DDR2 ОЗУ, по 256Мб каждая, образующие в сумме 512Мб. Объём памяти считался однгим из главных недостатков AC-100, поскольку по мнению некоторых пользователей её было мало, однако не стоит забывать что в те годы, в топовые планшеты и смартфоны ставили максимум 1Гб. Так что такой объём не так уж и плох для бюджетного нетбука, да и Android 2.1 кушал далеко не так много ресурсов, как Android 4.x например. Снизу расположился чип флэш-памяти Toshiba на целых 32Гб. Информации о том, eMMC ли это или обычный NAND у меня нет, но подключался он напрямую к контроллеру флэш-памяти в чипсете и его вполне можно назвать SSD-накопителем. Здесь AC-100, однако, был далеко не первым — ещё в 2007 году вышел первый Asus EEEPC, где в качестве флэш-памяти использовалась NAND-флэшка на 4Гб.
Обратите внимание на площадку для TSOP-48 NAND флэшки
Вот так выглядит наш красавец под капотом. Переходим к разборке дисплея: снимаем две резиновые заглушки снизу и выкручиваем винты, а затем поддеваем клипсы и снимаем пластиковую рамку. Учтите что пластик уже старый и есть шанс, что пару клипс может лопнуть при разборке.
Ищи себя в техноавторах Хабра!
Затем откручиваем винты от самого дисплея, вынимаем его, отключаем шлейф и отклеиваем черный изолирующий скотч. Важно понимать, что в отличии от смартфонов и планшетов, на ноутбучных матрицах питание подсветки формируется с помощью бустера на плате дешифратора (т. е. на самой матрице), а не на материнской плате устройства, поэтому при отсутсттвии подсветки в первую очередь стоит смотреть присутствие сигнала BLEN (может также называться BKOFF и т.п, отвечает за включение бустера подсветки) и наличие ШИМа на PWM - это регулировка яркости дисплея. Если оба сигнала присутствуют — значит можно переходить к диагностике платы дисплея, а в нашем случае — к осмотру шлейфа подсветки.
На первый взгляд кажется что всё нормально, однако если отключить его от платы и развернуть то мы видим что он поврежден... Загнутые шлейфа часто применяются в ноутбучных матрицах, однако конкретно эта пострадала из-за того что шлейф слишком толстый и потерял свои гибкие свойства, поэтому нам остаётся только его восстановить. Сделать это просто: сначала зачищаем верхнюю часть шлейфа от пластикового изолятора, лучше всего делать это иглой (если шлейф тонкий) или тонкой плоской отверткой. Но делать это нужно очень аккуратно, иначе есть риск совсем порвать шлейф. После очистки изоляторов, когда медные дорожки явно переливаются, необходимо их залудить.
После того как мы залудили дорожки на шлейфе, нам необходимо припаять к обеим его сторонам перемычки в виде тонких жилок (я использую специальную проволоку для восстановления дорожек). В моем случае получилось некрасиво из-за того, что на другой стороне шлейфа оказался вонючий пластиковый-изолятор, который испортил всю красивую картину и создал ощущение будто у меня грязное жалко с кучей нагара :( Как я его не счищал — всё равно немного пластика осталось и испортило изначально красивую картину :)
Как нам правильно зафиксировать наши перемычки и заодно заизолировать их? Правильно, с помощью специальной УФ-маски, которая выполняет роль компаунда. Подключаем обратно шлейф, загибая под нужным углом, наливаем немного компаунда и светим УФ-фонариком. Через время он застывает и не только изолирует проводники, но и предотвращает дальнейший разрыв шлейфа подсветки.
Теперь можно подключить шлейф обратно и проверить работоспособность устройства. И о чудо, подсветка появилась!
Собираем девайс обратно и видим что все работает нормально, а значит процедура ремонта прошла успешно!
❯ Знакомимся поближе
В прошлой статье с участием AC-100 я рассказывал о накатывании Ubuntu и опыте её использования на этом устройстве. Однако Андрей хотел, чтобы на устройстве оставалась официальная Android 2.1, поэтому смотреть в сегодняшней статье мы будем именно на неё. Изначально в устройстве была установлена CyanogenMod на базе Android 4.2 — но кастом работал очень криво, не было нормального режима сна, нетбук быстро разряжался и сильно грелся, поэтому было принято решение прошиваться на сток, благо торрент с образами разделов всё ещё доступен.
На стоковой прошивке девайс выглядит как минимум необычно. Видно что лаунчер Toshiba допиливала своими руками, но всё равно остается ощущение что интерфейс планшетный.
Поскольку девайс был ориентирован на серфинг сети, просмотр фильмов, работу с документами и конечно же игры, в нём есть браузер. Сейчас Opera Mobile (та самая, с Presto) уже едва ли открывает Хабр и Пикабу, все стили вообще не работают... но для кого-то это даже плюс, больше текста на экране :)
Благодаря довольно шустрому Tegra 2, девайс отлично справляется с эмуляторами, причём благодаря наличию полноценного USB-разъема, можно без проблем подключить геймпады и гонять в классику. Дисплей хорошего качества, также есть и HDMI, так что девайс вполне можно использовать для ретро-гейминга в дороге. Родной аккумулятор как в моей AC-100, так и в герое нашей статьи вполне держит даже спустя 13 лет после выхода — так что с этим проблем не будет.
Также девайс тянет нативные игры. Quake 2 в OpenGL-рендерере и в HD? Вообще легко! Правда наверняка читатели спросят мол «отлично, а в софтрендере HD потянет?» :)
Но с некоторыми играми есть и проблемы. GeForce ULP был довольно свежим GPU и игры под него адаптировались, поэтому в Angry Birds, например, есть проблемы.
Но в целом вот такой крутой и вполне полезный в наше время девайсик получился. Конкретно этот АС-100 отправится в коллекцию Андрея, который будет его время от времени включать и наслаждаться выглядящим диковинно в наше время Android 2.1, восхищаясь инженерами Toshiba (или Compal?). А я продолжу искать нетбуки на необычных процессорах, чтобы писать про них новые статьи, даже нерабочие — ведь восстановление крутых ретро-девайсов это всегда интересно!
❯ Заключение
Вот таким нехитрым образом мы восстановили с вами интереснейший ARM-нетбук. У меня есть вопросы к самому себе насчет реализации: уж сильно грязно получилось из-за материала конкретного этого шлейфа и из-за отсутствия микроскопа я не могу восстанавливать совсем тонкие шлейфа, но зато я наглядно показал что некоторые шлейфы можно вполне восстановить и в домашних условиях. Надеюсь, вам было интересно!
А как вам AC-100? Интересный нетбук? Пишите своё мнение в комментариях! Также у меня есть Telegram-канал «Клуб фанатов балдежа», куда я публикую различные мысли связанные с ремонтом, моддингом и программированием под различные девайсы прошлых лет. Если интересно — подписывайтесь!
Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11 Pro Max: мой ударник, контроллер дисплея калится и изображения нет :( Было бы интересно поколупать и КПК самого начала нулевых годов (PPC2002, а то и WinCE или PalmOS) — пишите, если таковые есть.
Понравилась статья?
Знали ли вы о AC-100?
Недавно несколько читателей сказали мне, что я скатился и мои статьи тоже. Так ли это?
Друзья, для подготовки следующей статьи о моддинге и программировании для необычных девайсов (можете посмотреть примеры у меня в профиле), я ищу китайские ARM-нетбуки конца нулевых-начала десятых годов. Стоили такие девайсы очень дешево (около 50 баксов за новый нетбук), имели 7 или 9 дюймовый дисплей и работали на базе процессоров WonderMedia WM8650/WM8505, а также Ingenic JZ4720. Готов приобрести такой девайс для подготовки крутого контента с ним! Также ищу Ben NanoNote - миниатюрный ARM-нетбук с OpenWRT на борту из 2010 года. Связь мейл - bodyawm@gmail.com или тг @monobogdan
Китайские инженеры не перестают удивлять. Практически каждый год они умудряются в очередной раз уронить планку цены ниже плинтуса и представить рабочее полноценное устройство за довольно небольшие деньги. Примеров тому достаточно: новые кнопочные телефоны с цветными дисплеями по 500 рублей, планшеты со здоровыми 10" матрицами по 2-3 тысячи рублей, полнофункциональные смартфоны за 2 тысячи рублей. Недавно мне удалось пощупать ещё один плод сумрачного гения из Китая: миниатюрный нетбук с дисплеем 7" из далекого 2011-2012 года, который продавалсяновымза 40$. Да, это полноценное устройство: с аккумулятором, дисплеем, клавиатурой, Ethernet, Wi-Fi и тачпадом! Более того, устройство поддерживает дуалбут в Windows CE, Linux, Android, а ещё у устройства есть множество интерфейсов к внешнему миру, что превращает его в очень дешевый и довольно перспективный «одноплатник». Интересно, что за девайс придумали китайцы? Тогда добро пожаловать под кат!
❯ Как они вообще появились?
Ещё в середине нулевых с момента появления первых интернет-планшетов, за подобными девайсами широко закрепилось названиеMID— Mobile Internet Device. Это были миниатюрные устройства, которые имели довольно широкие мультимедийные возможности и необходимый минимум для доступа в интернет: Wi-Fi/Bluetooth/Ethernet и встроенный браузер, позволявший грузить полноценный Web 2.0 страницы.
MID были довольно дорогими устройствами и предназначались скорее для гиков, нежели для обычных людей. Примерно к 2010 году на рынке дешевых и довольно производительных чипсетов уже появилось, как минимум, несколько игроков: Ingenic с MIPS-чипсетами JZxxx (известные как процессоры журнала VOGUE и чипсет Dingoo A320), Actions Semiconductor со своими MIPS-чипами для MP5-плееров, в некоторой степени SiRF со своими SoC для навигаторов на Windows CE (тоже, если не ошибаюсь, MIPS) и тайваньский гигант VIA Technologies, который уже был известен как один из немногих производителей x86 процессоров. Помимо разработки x86 процессоров, у компании VIA было подразделение, ответственное за разработку ARM-чипсетов —WonderMedia Technologies.
В задачи этого подразделения входила разработка высоко-интегрированных решений, которые можно было бы использовать в нетбуках и планшетах — очень популярный сегмент рынка в конце 2000-х начале 2010-х годов. Тайваньские и китайские инженеры хотели сделать действительно очень дешевые нетбуки, где взаимозаменяемо всё: материнские платы, дисплеи, клавиатуры, динамики и разъёмы. Так и произошло: на dealextreme, aliexpress и иных онлайн-маркетплейсах появилось довольно большое количество различных нетбуков по 50 баксов, что по тем деньгам было около 1.500-1.700 рублей. Однако работали они далеко не всегда на WM8650: я встречал устройства и на иных чипах, иногда совершенно мне неизвестных. Но подавляющее число подобных буков работали именно на WM8650 — именно по названию процессора их до сих пор иногда можно найти на онлайн-барахолках за копейки.
Судя по утекшей схеме на WM8650, разработкой референса занималась сама WonderMedia и давала производителям электроники практически готовую платформу, на базе которой те могли разрабатывать свои устройства. И всё бы ничего, однако компания, судя по всему, поставляла сразу готовые процессорные модули (также известные как System on Module — системы на модуле) с определенной конфигурацией по NAND и ОЗУ, которые оставалось припаять к основной плате, на которой уже будет разведена необходимая периферия. Это кардинально снижало сложность выпуска уже готового устройства. При желании, плату для WM8650 можно хоть дома протравить, запаять на неё модуль и попытаться запустить!
Я уже давненько искал подобные девайсы себе в коллекцию: они отнюдь не редкие, но большинство из них либо отправились в металлолом, либо у них есть какие-либо дефекты. Однако недавно, шерстя «юлито», я всё же нашёл себе вполне живой экземпляр за 650 рублей. К сожалению, у устройства отгрызли пару кнопок на клавиатуре и разбили дисплей, однако для меня это отнюдь не было проблемой — в девайсе ведь хотелось покопаться, ранее у меня уже текли слюнки и я обсуждал сdlinyjэтого красавца. :)
Когда девайс пришёл, я осмотрел его и понял, что проблемы гораздо серьёзнее, чем казалось на первый взгляд: АКБ уже не держит, петли разболтаны до ужаса, а матрицу кто-то разбил прям «в хлам» (вероятно, кулаком). Давайте разберем его и рассмотрим поближе!
❯ Что внутри?
Несмотря на то, что это ультрадешёвое устройство, разбирается оно вполне как и обычные ноутбуки: откручиваем задние винты крышки аккумулятора, отключаем АКБ (осторожно, на таких устройствах они очень дутые, хоть и посажены в ноль), вытаскиваем клавиатуру, отщелкивая несколько клипс, отключаем шлейф и снимаем поддон, отключив шлейф тачпада.
А вот и наша основная плата. Однако самое интересное здесь с обратной стороны: давайте сначала глянем на шлейф дисплея и разберем рамку. В устройстве используется TN-матрица с 50pin шлейфом (они стандартизированы), TTL-интерфейсом и разрешением 480х800. Такие матрицы найти не проблема: в основном, встречаются они найти в планшетах 2011-2012 года и в современных 7" игровых консолях. Не исключено, что вы сможете найти их в автомобильных телевизорах, магнитолах, или, например, домофонах. Сразу же нашлась причина слабых петель: винтики банально вылетели из резьбы, однако сама резьба была целой (вероятно, что-то очень резко дёрнул устройство со психу).
Замена нашлась сразу: я взял дисплей с китайской реплики iPad тех же лет и… на том же WM8650! Обратите внимание на модуль Wi-Fi: сам он выполнен в виде USB-свистка и расположен около матрицы, а от него идёт 4 провода прямо к пятачкам USB на плате. Здесь много что реализовано на USB. :)
После установки нового дисплея, я подсобрал устройство и попробовал включить: девайс был полностью рабочим и дал изображение!
Дальше устройство разбирается крайне просто: мы откручиваем петли, откладываем экран в сторону и вытаскиваем плату. Судя по ручной пайке периферии, девайс собирался либо в подвальных, либо в полуподвальных условиях, но здесь есть много интересного! Первым делом мы смотрим на процессорный модуль, который припаивался поверх основной платы: на его выводах есть подписанные пятачки, а на сам модуль есть схема в интернете. При желании, его можно выпаять и попробовать запустить его самому. А можно подпаяться к его интерфейсам (i2c/spi/uart) и получить к ним доступ из под Linux или WinCE!
Помимо чипсета WM8650, на плате также можно найти NAND-память и две банки ОЗУ по 128Мб, а также SPI флэш-память с записанным на неё «BIOS» этого устройства — SPL и загрузчиком U-Boot.
Дальше на плате встречается чарджер АКБ, контроллер клавиатуры от производителя процессора Тетриса — Holtek HT82B40A (вероятно, USB), USB-хаб GL850G (чуть ли не второй по важности чип в этом устройстве, почему — читайте позже), сетевой контроллер VIA VT6113, сетевой контроллер физических уровней (по простому — именно этот чип преобразует байты в дифференциальные сигналы Ethernet) S16013LF, кодек VT1603A. Да, это всё :) Конечно на плате дисплея есть ещё бустер напряжения подсветки, но в целом — это практически весь нетбук. Да, такой простой! Его и дома при большом желании развести можно — благодаря простоте платы, в целом можно было наладить простенькое производство плат и масок и вручную собирать подобные девайсы в условиях настоящего подвала!
В целом, это вся конструкция нетбука. Да, как говорится, всё гениальное — просто! Исходя из информации, полученной анализом платы, мы приходим к следующему выводу:
Чипсет: ARMv5 600мгц, одно ядро, нет GPU, но есть 2D-ускоритель и блок декодирования видео.
С аппаратной частью разобрались. Мне лично очень понравилась простота конструкции данного девайса. Учитывая, что некоторые пятачки подписаны, есть возможность превратить девайс в эдакий одноплатник — только с уже готовым дисплеем, клавиатурой и тачпадом. Давайте посмотрим, что же это за девайс в программном плане!
❯ Софт
В программном плане девайс тоже весьма интересен. Для WonderMedia есть порт аж 3 ОС: Windows CE, Linux и Android (тесно связанный с портом Linux). Windows CE считается основной: её есть возможность как дуалбутить с USB-флэшки (чем пользовались некоторые вендоры для тотальной экономии и вместо NAND-чипа распаивали 2гб USB-флэшку… почему это было дешевле — мне неизвестно), так и с NAND или SD. Кроме того, вендоры часто предоставляли возможность перепрошивки устройства на Android 2.2. Бегает он здесь не очень быстро, но достаточно сносно: по крайней мере, в своё время этого хватало для базового сёрфинга интернета и просмотра мультимедиа. А порт дистрибутивов Linux, насколько я понимаю, развивали уже сторонние разработчики. Прошивки всё ещё можно найти на профильных сайтах типа 4pda — и никаких проблем с их поиском не будет.
Прошивки можно легко модифицировать и миксовать между собой, не забывая сохранять ядро вашего устройства — поскольку половина девайса выполнена в виде USB-модулей, никакой devicetree не нужен. Однако, прошивка для 10" нетбука не встанет на 7" — у вас будет белый экран из-за несовместимости драйверов дисплея. Теоретически, можно попробовать воткнуть прошивку от китайского айпада на этом чипсете, но это уже близко к извращению.
Мы же посмотрим на WinCE такой, каким его представляет нам производитель. Китайцы довольно сильно заморочились, дабы устройство походило на обычный нетбук на старой доброй Windows XP и даже дописали свой софт!
Девайс включается довольно долго — около 3-4 минут при «холодном старте». Занимательно, что даже анимацию загрузки U-Boot замаскировали под эдакий «типа Windows». :) Видно что инженеры хотели сделать что-то типа OLPC (One Laptop Per Child).
После загрузки девайс работает весьма сносно. Производительность далека от современных девайсов и находится примерно на уровне… Win98 машин на Pentium III. Но в целом, за свою цену машинка работает весьма сносно. Другой вопрос, что в 2011-2012 году, настоящий ноутбук на P III можно было взять в пределах тех же 2-х тысяч рублей, а то и дешевле!
В девайсе из коробки работает и Wi-Fi и Ethernet, никаких внешних манипуляций не нужно. В целом, машинка может весьма пригодится как терминал: устройство очень компактное и легкое, живет от нормально АКБ относительно долго, а под устройство есть как клиенты RDP/VNC, так и SSH/Telnet (порт Putty).
Девайс может пригодится не только сисдаминам и DIY-щикам, но и стать «гаражным» нетбуком или резервным устройством для просмотра кино или… даже игр! В WM8650 (но не в WM8505) есть аппаратный декодер h263 видео, вплоть до 720p. Поскольку сам дисплей здесь 480p, то какого-либо смысла в дисплеях высокого разрешения нет.
Когда-то здесь был даже YouTube!
Знакомо?
А что касается игр — ну, тут самое время вспомнить hpc.ru и раздел Windows Mobile на 4pda. Так уж вышло, что многие приложения для Windows Mobile без проблем запускается и на WinCE без изменений — даже программы на .NET! Тут мы и можем разгуляться.
На устройство можно накатить и десктопный дистрибутив Linux! Правда, готовьтесь к тому, что часть софта придется собирать вручную — armv5 и armv6 уже очень давно не поддерживаются в основных дистрибутивах. Поскольку материнская компания WonderMedia, VIA — уважаемая компания, которая (вроде бы) ни разу не нарушала GPL, с релизом устройств был опубликован исходный код порта ядра Linux 2.6 для Android. Путем правки конфигов конфига и сборки ядра, пригодного для десктопных дистрибутивов Linux, энтузиастам удалось портировать Debian (есть только в виде полупустой системы с нужными модулями, без GUI, однако пакеты можно поставить, добавив armlf архивы в sources.list) и arch (с GUI-интерфейсом). Обе системы накатываются на флешку за 5 минут и не заменяют собой WinCE: можно легко сделать дуалбут.
Не было скриншотера в репозиториях :(
У устройства довольно «горячий» чипсет без какого-либо охлаждения. Судя по всему, никакого динамического скейлинга частоты ядра нет: процессор всегда «молотит» на полную, что сказывается и на времени работы. Однако, ощутимого нагрева на корпусе не наблюдается. По ощущениям, чипсет греется до ~45-50 градусов.
❯ Заключение
Важно отметить, что подобные аппараты были отнюдь не в новинку даже на момент выхода. По сути, это увеличенные в размерах и кратно удешевленные наладнонники из начала 2000-х годов — HPC! Посудите сами, девайс ниже, разработанный компанией Sharp, тоже работал на базе Windows CE, тоже имел полноценную клавиатуру, а некоторые устройства и тачскрин, и тоже предназначался примерно для тех же целей, за исключением просмотра видео.
Касательно аппаратного моддинга — это тема для отдельной статьи. С «процессорной платы» выходят несколько протоколов, которые потенциально можно заюзать для своих проектов — как минимум, I2C и UART. Я не уверен насчет возможности использования i2c в юзерспейсе на Windows CE, но вот UART (если он не занят системой) можно будет использовать без проблем. Под Linux всё ещё проще: можно «выкинуть» устройства, которые используют SPI/I2C и подгрузить i2cdev/spidev прямо в юзерспейс! Таким образом, можно попробовать смастерить всякую всячину.
Я лично думал впаять сюда SIM800 и написать фронтэнд для него, а затем попробовать походить как с телефоном. А что, нетбук реально крошечный и легко поместится в карман зимней куртки! Звучит как дикий изврат но я, bodyawm, люблю подобное. :) Иначе не стал бы пилить прошивку под NoName-смартфон 2012 года!
Каждый год выпускается с десяток новых моделей одноплатных компьютеров. Свежие девайсы представляют как старые и уважаемые фирмы по типу Raspberry Pi, Orange Pi или Banana Pi, так и относительные новички на рынке — Repka Pi, или, например, Lctech Pi. Одноплатники работают на достаточно большом парке железа: кто-то использует чипы AllWinner, кто-то Amlogic, кто-то Beoadcom, а кто-то… мобильные! Пару лет назад Orange Pi отличились выпуском нескольких одноплатников на базе чипсетов очень бюджетных мобильников 2013-2015 годов — 2G IoT и 3G IoT. На данный момент, выпуск 3G IoT завершен, а компания предлагает купить абсолютно новый одноплатник с 3G, Bluetooth, Wi-Fi, GPS, поддержкой Linux и Android всего за 1.000 рублей (500 само устройство и 500 доставка). На что оно способно и стоит ли его брать — узнаем в статье!
Что за устройство?
IoT устройство уже прочно закрепились в нашей жизни. Сейчас уже есть возможность приобрести полноценный внешний GSM-модуль за пару сотен рублей, который способен будет выйти в сеть или обрабатывать SM. Однако, в мире одноплатников всё не так просто: большинство из этих устройств использует планшетные чипсеты, которые обычно не обладают встроенными модемами для работы в GSM-сетях. На помощь приходят внешние модули, но чем выше необходимое поколение связи, тем выше цена. И есть 200 рублей за 2G модуль — это совсем немного, то 3G, а тем более LTE модули могут влететь в копеечку. Конечно в мейнлайн дистрибутивах уже есть драйвера на некоторые модемы Huawei, благодаря чему можно просто воткнуть копеечный USB-свисток но это не совсем спортивно.
С весьма интересным решением пришла компания Orange Pi. Несколько лет назад они представили весьма занимательное устройство: 2G IoT, которое работало на базе давным-давно забытого мобильного чипсета RDA8810, который является родственником Spreadtrum SC6820 — чипа, который использовался в очень многих китайских ультрабюджетниках 2012-2014 годов. Устройство отличалось весьма неплохими характеристиками за низкий прайс:
Процессор: RDA8810, Cortex-A5, 1Ghz.
ОЗУ: 256 мегабайт DDR2.
ПЗУ: 512 мегабайт NAND памяти + возможность загрузки с MicroSD флэшек.
Дисплей: 40-пиновый коннектор, мимикрирующий под стандартизированный. Однако производитель предлагает свой дисплей от мобильниках втридорого, а распиновка несколько отличается от общепринятой — нужно делать переходник.
Питание: 5в от USB, до 2А нагрузки при работе с сетью, 3.7в от АКБ с встроенным контроллером питания.
Звук: Микрофон + встроенный в чипсет ЦАП для вывода звука из системы.
Причина низкой цены и хорошего функционала очень проста: Orange Pi просто взяли референсную плату ультрабюджетного смартфона за 1.500-2.000 рублей и развели из нее одноплатник, который затем начали производить. На момент выхода одноплатника, смартфоны на 8810 не производились, так что отпускная цена на чипы была копеечная, в то время как на AllWinner'ы спрос весьма хорош. Год назад они продавались по 700 рублей с учетом доставки, но сейчас их окончательно распродали и найти их можно только на вторичке.
3G IoT — следующая ветвь развития IoT линейки OPi, которая на этот раз работает на базе чипсета MediaTek и имеет полноценную поддержку 3G. По сути, возможности остались те же, однако возможности вывода на HDMI до сих пор нет — теперь производитель предлагает LVDS матрицу, опять же, втридорого. Однако схема есть, чисто теоретически есть возможно купить какой-нибудь бюджетник от ZTE/Huawei, найти схему платы и сделать переходник с шлейфа нашей матрицы на коннектор одноплатника. Драйвер матрицы можно взять в исходниках ядра и без изменений перенести. Работает девайс на базе чипа для бюджетных смартфонов, однако теперь в нашем распоряжении целых два ядра!
Характеристики девайса такие:
Процессор: 2х-ядерный MT6572, Cortex-A7, 1.2Ghz.
ОЗУ: 256мб.
ПЗУ: 512мб eMMC флэшка от Leahkinn + возможность загрузки с MicroSD.
Дисплей: MIPI DSI, LVDS.
Питание: 5в, до 2А в пике, 3.7в с контроллером питания.
Весьма недурно, согласны? На момент выхода статьи, этот одноплатник можно заказать на всем известном сайте за 1.000 рублей — это с учетом доставки. Идет недели 3, поставляется в фирменной коробочке. Гребенка уже распаяна с завода.
Ну что-ж, предлагаю посмотреть, что может предложить нам такой одноплатник и стоит ли его вообще брать?
Накатываем систему
На выбор у нас есть Android и Linux. Учтите, что GSM стек работает только в Android! Теоретически есть возможность связаться с модемом из под Linux, но это требует дальнейшего изучения местного factory-режима. Впрочем, GSM под Android не так уж и плохо — нужное вам поведение, вероятно, можно реализовать в виде службы. Но управлять Android придется только, и только через ADB, если у вас нет дисплея.
Для установки ОС можно использовать как внутреннюю память (только Android, rootfs линукса туда не влезет), так и на MicroSD. Оба способа требуют прошивки eMMC с помощью фирменого флэшера — SP Flash Tool. Суть в том, что выбор варианта загрузки с SD/NAND реализован здесь в виде настройки точки монтирования: ядро так или иначе будет находится на eMMC, но в зависимости от выбранного образа boot, будет загружать систему с соответствующего носителя. Примерно как это реализовано здесь. Мы будем ставить Linux: качаем SP Flash Tool, выбираем scatter-файл и ставим Format All + Download. Осторожно, форматирование сотрет NVRAM и IMEI, так что лучше сделать бэкапы (хотя их все равно можно легко перебить из системы вручную):
На первом проходе, флэшер переразметит внутреннюю память, но ругнется на отсутствующий раздел System. После этого, нужно вернуть режим Download only, снять галку с System и прошить устройство еще раз — после этого, плата будет загружаться с MicroSD:
Теперь нужно записать саму систему на флэшку. Образы записываются как обычно — берем флэшку на 4-8гб, вставляем в кард-ридер и записываем образ через Win32DiskImager. Флэшку желательно брать 10-класса, но у меня и «пятерка» работала с адекватной производительностью:
После записи, вставляем флэшку в устройство и запитываем его. Возможны варианты питания как напрямую от БП, так и от аккумулятора — в таком случае, при подключении БП, контроллер питания будет заряжать аккумулятор, а за статусом зарядки можно следить через устройство battery в /sys/class/power_supply/ (и в Linux, и в Android).
Для общения с системой через консоль, нам понадобится UART-преобразователь. Я для этого использую плату ESP32-WROOM с выпаянным чипом ESP32. Подтыкиваемся (или подпаиваемся) к UART'у, запускаем putty, ставим бодрейт 115200 и вперед наблюдать за консолью!
Настраиваем Linux
Тут ничего особо сложного нет, лишь некоторая подготовка к полноценному использованию системы. Если для вас написанное малопонятно — можете просто скопипастить, все должно работать без проблем.
Итак, система запустилась и требует логин, а кроме этого — сыпет логами в UART. Стандартный логин — root, пароль orangepi, лучше смените пароль сразу. Надоели логи? Пишем:
dmesg -n 1
Можно сразу записать эту команду в rc.local, если не хотите после каждого ребута писать команду по новой.
После этого, нам нужно настроить Wi-Fi. В системе предустановлен wpa_supplicant, поэтому для подключения мы идем в /etc/network/ и редактируем с помощью nano файл interfaces:
nano interfaces
... Дописываем
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "Имя вашей сети"
wpa-psk "Пароль вашей сети"
Жмем Ctrl + X, сохраняем и перезапускаем сервис networking service networking restart Возникли проблемы? wpa_supplicant жалуется на существующий контекст? Удаляем wpa_supplicant из /run/, если все равно не работает - отправляем систему в ребут, должно заработать.
Имейте ввиду: плата без проблем питается от стандартных 5В/0.5А USB-порта ПК, но если подключить к ней USB-устройство во время работы — то плата начнет уходить в ребут при попытке поднять Wi-Fi, даже если вытащить флэшку. Лечится легко: обесточиваем плату, затем включаем снова.
Подключиться можно хоть к точке Wi-Fi от вашего смартфона, дабы объединить их в локальную сеть. Тогда с помощью VNC можно будет вывести изображение с одноплатника на экран разбитого сяоми — чем не применение старому гаджету? Пингуем гугл, сеть есть — отлично!
Теперь ставим icewm из репозиториев, tightvnc и пошло поехало… ан нет! Debian Stretch уже выкинули из официальных репозиториев, перенеся его в архив. Пользовались старыми версиями убунты/дебиана? Тогда следующая операция для вас будет знакома:
Теперь мы можем ставить официальные бинарные пакеты из репозиториев. Нам доступна куча софта, в том числе с более старших Raspberry Pi и Orange Pi — ABI то одно! Можно поставить TightVNCServer, запустить его и без проблем подключиться к нашей машинке (5900 — базовый порт, 5901 — будет для первого дисплея и.т.п).
Но сейчас у нас просто маленький и слабенький десктоп. Надо же использовать возможности одноплатника по полной, верно?
GPIO
У устройства есть гребенка с 40 пинами, часть из которых мы без проблем можем использовать для наших целей. Друзья, если вы уже имели опыт с другими одноплатниками, то знаете что для Broadcom/AllWiiner и других иных чипсетов уже есть готовые библиотеки для работы с GPIO. Под MediaTek их нет, но ничего сложного в работе с ними из user-space нет. Рассмотрим схему подробнее и два способа работы с ними:
Первый из официального мануала, подразумевает чтение и запись в специальное виртуальное устройство — mt_gpio, а вернее — в его дебаг-режим. В него можно писать хоть из shell-скрипта при желании. Виртуальное устройство расположено по пути/sys/devices/virtual/misc/mtgpio/pin. Если просто начать читать из него, то мы получим список всех пинов и их состояние:
Чтобы записать состояние, нам нужно послать специальную строку:
echo -wdout<номер пина> > 1/0
Чтобы выбрать направление пина, нам нужно послать:
echo -wdir<номер пина> > 1/0, где 0 - вход
Чтобы получить состояние пина, нужно прочитать все строки устройство pin и потом распарсить, например, с sscanf (хотя поскольку одно поле — один char, можно взять абсолютное смещение от начала строки). Если читаем — то 3 столбец после двоеточия будет состоянием нашего пина. Я уже все проверил, все точно работает без каких либо проблем, главное не забывайте за режим GPIO :)
Пожалуйста, согласовывайте уровни! GPIO у MT6572 имеют лог. уровень 1.6в. Часть периферии чипсета работает на стандартных 3.3в. Как это работает? См.в исходниках ядра.
Такой способ подойдет для приложений, где не требуется сильно высокая скорость работы. Для шелл-скриптов или даже полноценных нативных приложений таким методом можно управлять пинами без проблем — если вы конечно не реализовываете SPI софтварно :)
Есть и второй способ — использовать mt-gpio напрямую через вызов ioctl. Я этот режим пока еще не пробовал, но он гораздо быстрее — для юзерспейса самое то, а работать с ним довольно легко. См. исходники драйвера здесь.
UART
Это второй способ коммуникации с внешним миром, доступный из коробки. На устройстве целых два канала UART, которые могут работать как минимум со скоростью 921600б/с (или 115200 килобайт в секунду). лучше всего использовать эту шину для общения с другими микроконтроллерами или ПК.
Получить доступ к UART можно благодаря соответствующему character-устройству /dev/ttyMTxx. При стандартных настройках (921600б/с), можно без проблем работать с UART из shell-скриптов, как с самым обычным терминалом: echo для записи, cat — для чтения. Из нативных программ, есть такая же возможность открыть ttyMT и читать/писать при стандартных настройках, а если конфигурацию необходимо изменить, то на помощь приходит termios.
SPI/I2C
А вот тут уже все гораздо интереснее. Как известно, в Linux драйвера шин делятся на два типа: kernel-mode, для работы с драйвером SPI/I2C из других драйверов (например, драйвер камеры хочет получить информацию о модуле через i2c) и user-space i2c-dev/spi-dev. Последние два есть из коробки в большинстве дистрибутивов для «взрослых» одноплатников, но их забыли включить в текущий релиз ядра 3G IoT. Почему? Не ясно — драйвера для i2c и spi у MediaTek точно есть.
На гребенке есть один I2C и один SPI. Исходники ядра для платы можно найти на гитхабе OrangePi. Чуть позже надо будет попробоваать скомпилировать i2cdev и spidev в виде отдельных модулей ядра, которые можно будет загрузить через modprobe.
Я хочу бэйр-метал, а не эти ваши линуксы!!!
И такая возможность есть, но лишь частично. Orange Pi открыли исходники вторичного загрузчика MediaTek — lk (альтернатива u-boot) или Little Kernel. При некоторой модификации логики lk, можно реализовать свою прошивку используя почти всю мощь чипсета. За этим — сюда.
Для чего он еще может пригодится?
Давайте смотреть сами. У нас есть полноценный десктопный Linux, есть Android, есть 2 неплохих ARMv7 ядра, работающих на частоте 1.2ггц, есть 256 мегабайт ОЗУ. Чем он может еще пригодится:
Сервер: Нет, речь конечно же не о NAS. Однако поднять простенькую домашнюю страницу, или попытаться реализовать на нем умный дом можно вполне.
Сбор информации с датчиков: В паре с микроконтроллером, на таком устройстве можно собирать, обрабатывать и хранить довольно большое количество данных с высокой скоростью опроса.
Ретро-машинка для эмуляторов: При условии, что Вы купили фирменный дисплей, поскольку через VNC поиграть не получится. К сожалению, ни одного вывода на ТВ, данный чипсет не имеет, поэтому либо пытаться прикрутить дисплей от китайчика, либо покупать фирменный.
Хитрая и дешевая сигнализация с GPS: В целом, для сигнализации такую плату можно рассматривать как System On Module: сразу и линух есть, и GPS из коробки, и 3G. Выйдет дешевле, чем купить отдельно GPS, ESP32 и 3G модуль.
В целом, можно найти еще кучу всяких разных применений данной плате в embedded.
Я считаю, что подобных ультрадешевых плат должно быть гораздо больше на рынке, ведь не все готовы платить несколько тысяч рублей за одноплатники. Однако, такие решения не подойдут для тех людей, которые хотят «купить и чтобы работало, с кучей гайдов» — у таких плат банально околонулевая поддержка. Да, Orange Pi уважаемая компания, они предоставляют полный исходный код не только ядра, но и загрузчиков — чего они делать не обязаны были, но по сути они просто произвели на свет эту плату, а разбираться в ней придется конечному пользователю. Без мануалов, без гайдов.
Стоит ли такую себе брать? Я лично не пожалел :) Плата очень перспективная, а ковыряться в исходниках ядра я люблю. Попробую сделать из неё что-то полезное!