Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Лото — это классическая настольная игра, которая ассоциируется с тёплыми воспоминаниями из детства. Теперь вы можете играть в неё онлайн: соревноваться с другими участниками, выбирать из разных игровых режимов, общаться в чате и подниматься в рейтинге!

Наше лото

Настольные, Симуляторы, Для мальчиков

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 46 постов
  • AlexKud AlexKud 33 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
4
aid2022
aid2022
1 год назад

Стоит ли покупать мини-ПК в Китае с родным SSD? пример с мини-ПК Beelink U59 Pro⁠⁠

Источник

Заметка про скорость родного SSD из Китая, на примере Мини ПК Beelink U59 PRO. Если коротко ответить, то НЕТ, покупать ПК в комплекте с родным SSD не стоит - нет смысла, скорость SSD низкая, цена диска схожа с ценами в России. Ниже поясним наше мнение.

У таких ПК из Китая есть много положительных моментов для простых пользователей. По нашему мнению, один из неоспоримых плюсов - невысокая цена вкупе с довольно свежей конфигурацией. А именно, за 10-20 Крублей можно купить компактный ПК, с низким энергопотреблением, с относительно свежим процессором (пример Intel N100). Также есть быстрая wifi-карта, поддержка nvme, тихий вентилятор.

А еще китайские коллеги дают возможность купить готовый комплект, пример:

Конечно, это очень удобно - заплатил 15К, через 3-4 недели включил и работаешь. Но тут есть один подводный камень: большинство магазинов предлагают родной SSD SATA, не NVME. То есть по скорости диск будет в несколько раз медленнее, замеры скорости родного SSD на первом скрине заметки. Если взять среднестатистический NVME SSD, то у него скорости в 3-4 раза выше. Цена +- такая же.

Разница в цене ПК NO RAM/NO SSD и 8G/512G примерно 5Крублей:

А если нужен диск быстрее и более емкий, тогда точно лучше брать вариант без диска и памяти. Только вот Beelink, например, такие предложения даёт крайне редко.

Мораль заметки такая - покупать ПК нужно под свои нужды, не надо идти на поводу у продавца. Их цель - продать простой товар подороже!

Приведём еще несколько фотофактов про родной SSD на 512Гб:

Для себя мы выбрали такую замену родному ssd как HP EX900 Series (5XM46AA#ABB) с параметрами чтения/записи 2100/1700:

Это не реклама! Диск от HP - крепкий середняк, параметры для работы очень достойные.

Показать полностью 6
[моё] Минипк AliExpress Китай Китайские товары Гифка Длиннопост
18
9
aid2022
aid2022
1 год назад

Мини-ПК GMKTec G3 N100, часть 3 - тестируем ПК, подводим итоги⁠⁠

Источник t.me/freebsd2022 (https://t.me/freebsd2022)

В этой, последней части обзора, проверим работу ПК под Win10, проведём простые тесты. Предыдущие обзоры 1, 2.

Перед тестами решено было снять наклейки с памяти и SSD. На диск поставлен простейший радиатор с Али.

GMKTec G3 N100

GMKTec G3 N100

Про радиатор нечего рассказывать, было так:

без радиатора

без радиатора

А стало так:

с радиатором

с радиатором

На ПК поставлена штатная Win10 x64:

win10 x64

win10 x64

Приведём несколько скринов из Cpu-Z, просто для информации:

1/5

cpu-z

При тестах Winrar, 7-Zip диск нагревался до 65-70 градусов, при обычной работе на ПК температура до 60 градусов:

winrar bench

winrar bench

Производительность по тестам Cpu-Z ниже уровня I5-7600 (тоже 4 ядра), пример сравнения характеристик по ссылке:

cpu-z bench

cpu-z bench

Загрузка CPU и тест 7-zip:

7-zip

7-zip

Выводы будут субъективны:

  • свои затраты ПК полностью окупит, он компактный и экономичный, он крепкий середняк, дешевле ПК Beelink

  • ПК вполне подходит для работы с офисными приложениями, сёрфинга в Интернет, просмотра Youtube и фильмов. Можно дать ему прозвище "Студент"

  • он явно не для игр, 4 ядра и 16Гб памяти тут не помогут

  • лучше брать ПК без диска и памяти, их вполне можно подобрать под свои нужды (***)

  • для домашнего сервера под Linux/Proxmox ПК вполне подойдёт. Конечно, тут не будет RAID и быстрой памяти, но для тестов это и не нужно

(***) в качестве ориентира по ценам на январь 2024 (не реклама!):

  • ПК за 11500р (доставка ~2 недели)

  • память 16Гб - 2800р

  • диск SSD HP EX900 500Гб 4000р

Итог: 18300р (в ноябре 2023 комплект стоил на 3000р дешевле).

Показать полностью 12
[моё] Минипк AliExpress Китай Сервер Китайские товары Товары Электроника Длиннопост
16
6
aid2022
aid2022
1 год назад

Мини-ПК GMKTec G3 N100, часть 2 - память Patriot 16Gb и nvme ssd HP EX900⁠⁠

Источник t.me/freebsd2022 (https://t.me/freebsd2022) November 26, 2023

Часть 1.

В этой статье - продолжение знакомства с GMKTec G3, установка памяти и nvme ssd.

Как уже было сказано ранее, ПК был без памяти и диска. Решено было купить 16 Гб ОЗУ - Patriot DDR4 (SO-DIMM) 2666 МГц 16 ГБ (PSD416G266681S) на Ozon. Именно этот вариант устроил, так как ранее она заработала на Beelink. Но в этот раз выбрали 1 планку ну 16Гб. Интересное наблюдение - у мелких продавцов на Ozon стоит низкая цена на не очень ходовой товар, они "пристреливаются". Сразу после продажи нескольких позиций (товар стал популярнее) цена вырастает. Такую память на 16Гб можно было купить пару дней назад за 2600р, сейчас она уже дороже 3000р. Возможно, цену регулирует сама площадка. Именно поэтому цена непостоянна, кому-то может повезти.

SSD NVME был выбран простой и недорогой - HP EX900 Series (2YY44AA#ABB), скорость чтения/записи средняя (2100/1500) нас вполне устраивает.

Память и диск сразу заработали:

Patriot PSD416G266681S, HP EX900

Patriot PSD416G266681S, HP EX900

Далее было решено перепроверить всё в BIOS. Память есть:

16Gb

16Gb

Диск также появился в nvme:

1/3

HP SSD EX900

В конце мы решили развернуть родной образ WIN10, загрузившись с него:

Мини-ПК GMKTec G3 N100, часть 2 - память Patriot 16Gb и nvme ssd HP EX900

При запуске родного образа от производителя он развернул WIN10 на новом разделе:

Мини-ПК GMKTec G3 N100, часть 2 - память Patriot 16Gb и nvme ssd HP EX900

Цель достигнута - память и диск заработали, WIN10 установлен.

В следующий раз, вероятно, протестируем работу ПК и комплектующих, поставим ОС.

Показать полностью 7
[моё] Минипк Китай AliExpress Длиннопост
0
475
monobogdan
monobogdan
1 год назад
TECHNO BROTHER

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей⁠⁠



Китайские производители не перестают удивлять: многие видят явные перспективы рынка одноплатных компьютеров и стараются представить целую линейку девайсов на самых разных чипсетах, а разработчики стараются использовать уже привычное и поддерживаемое долгие годы железо. К ним относятся решения на чипсетах AllWinner, RockChip, Tegra. Другие же стараются взять малоизвестный, но дешевый чип для иного круга применений, развести на нем компактную плату и продавать по цене пачки сухарей, подобные решения появляются регулярно. Один из таких одноплатников я недавно купил на AliExpress — некий DongShan Pi Pico W, на базе экзотического чипсета SigmaStar SSD210, всего за 600 рублей. И тут действительно есть на что посмотреть: два ядра Cortex-A7, контроллер TTL матриц, 2D GPU, Wi-Fi, 64Мб ОЗУ и Embedded Linux на борту. Более того, девайс поставляется в виде System on Module с переходной Evaluation-платой, что позволяет использовать это устройство в составе других гаджетов! Что это за красавец и на что он способен? Читайте в статье!!

❯ Что это за девайс?


Думаю, большинство моих читателей когда-либо слышали об одноплатных компьютерах. Это компактные и достаточно мощные устройства, которые можно использовать как в качестве компактных серверов или даже десктопных машин, так и собрать своё устройство на базе готового одноплатного компьютера. Одноплатники используется во многих сферах: вендинговые автоматы, умные экраны, самопальные игровые консоли и смартфоны, DIY-ноутбуки!



Однако чаще всего можно увидеть обзоры и проекты на базе довольно известных устройств: Raspberry Pi, Orange Pi, Olimex. Эти платы, скажем так, достаточно дорогие: и если Orange Pi One/Zero ещё можно ухватить за 1.000 рублей на вторичке (один из таких я купил еще летом. Узнав о моем блоге, продавец стал моим читателем и вместо одного OPi прислал мне целых два — один в подарок!), а за RPi Zero придется выложить как минимум 2.000 рублей. Однако есть ещё один сегмент одноплатных компьютеров: ультра-дешевые, разработанные на базе чипов для конкретного применения. Один из самых известных представителей — MangoPi/CherryPi R3, который работает на базе AllWinner F1C200s — чипа для… электронных книг!



Информации по дешевым, почти неизвестным одноплатникам довольно мало. У них не очень хорошая поддержка (кроме AllWinner, там почти все чипсеты есть в mainline-ветке Linux), в них могут обнаружится аппаратные баги, да и многие люди вообще не замарачиваются с ними, предпочитая переплатить, но купить что-то более стабильное. Но не я! Я просто обожаю различные ультрадешевые девайсики, поэтому недавно по наводке моего активного читателя NutsUnderline, я заказал интереснейший девайс — DongShan Pi Pico-W. Устройство обошлось мне всего в 600 рублей, но в первую очередь, меня привлек форм-фактор устройства и его чипсет. Некий SigmaStar SSD210!




Я заказал сразу два устройства: первую партию очень быстро разобрали, поэтому я взял «с запасом». Сейчас конкретно этот одноплатник пока-что не доступен в магазине продавца, однако у него же продаются другие устройства на базе SSD210. Можете найти их по ключевому слову: «SSD210» (прямые линки публиковать не буду, дабы не сочли за рекламу). Через месяц оба красавца пришли ко мне и я принялся их изучать.



Какое же было моё удивление, когда я обнаружил, что это по сути System on Module, который вручную надо припаять к Evaluation-плате! Вкратце это значит, что на базе таких SoM вы можете развести плату, протравить её, а затем припаять одноплатник поверх нее и сделать своё полноценное устройство, «без соплей»! Производителю плюсик за такую гибкость — я не очень люблю одноплатники с штырьковыми гребенками. Хотя, конечно, это очень сильно помогает при разработке макета устройства.

❯ Характеристики


Но чем он так меня привлек, помимо SoM направленности? Своим крутым чипсетом! Давайте ознакомимся с его характеристиками поближе:

  • Процессор: SigmaStar SSD210. 2 ядра Cortex-A7, работающие на частоте до 1ГГц. 16Кб кэш инструкций и 16Кб кэш данных, плюс 128Кб L2-кэша. В процессоре есть FPU и поддержка SIMD-инструкций Neon (альтернатива SSE в x86). Нехило, правда?

  • Поддержка дисплеев: У чипсета есть выделенный модуль для работы с внешними матрицами. Поддерживаются TTL дисплеи (до 1024x768), SPI-матрицы с клоком до 54МГц (480x320), а также прямой RGB аналоговый RGB сигнал (этот интерфейс можно использовать для подключения к ТВ с тюльпанами или аналоговым матрицам). Про типы дисплеев, вы можете прочитать в моей статье.

  • 2D GPU: Поддержка отрисовки линий, прямоугольников, градиентной заливки, BitBLT, клиппинг, дизеринг, автоматическая конвертация формата пикселя (с RGB888 в RGB565). Это серьёзно снимает нагрузку с ЦПУ при рисовании графики, однако поддерживается ли он в Linux — вопрос другой.

  • ОЗУ: 64Мб DDR2 памяти «бутербродом» прямо с чипсетом, плюс поддержка до 512Мб DDR2 внешней памяти, до 1333Мб/с.

  • Звук: Один моно-выход DAC, два выходных канала I2S, вход микрофона. Входные каналы поддерживают частоту дискретизации до 96КГц. Можно организовать вывод звука лишь подключив внешний усилитель. Внешний ЦАП не обязателен, если вам не нужен стерео-звук.

  • Память: Контроллер NOR/NAND SPI-памяти, до двух параллельно подключенных чипов, плюс поддержка SDIO. BootROM поддерживают загрузку с MicroSD карт.

  • Сеть: Ethernet, на DongShan Pi есть Wi-Fi.

  • USB: Как хост, так и ведомое устройство

  • Периферия: 4 канала ШИМ, GPIO, 4 UART, 2 канала SPI, 2 канала I2C

  • Камера: До двух камер по интерфейсу MIPI CSI

  • Безопасность: Есть аппаратное шифрование.

  • Питание: 0.9В ядро, 1.8В ОЗУ, 3.3В I/O


Очень даже бодро, согласитесь? Вообще, производитель подразумевает SSD210 как чипсет для HMI-дисплеев — т. е. умные дисплеи, которые могут, например, служить стендами в музеях, или служить для заказа билетов в кино. Есть внешние HMI-дисплеи, которыми можно управлять используя другие МК: просто посылая команды и реагируя на нажатия кнопок. Тут мы и видим, как китайский производитель решил применить этот чипсет для другой сферы: одноплатный компьютер для DIY!

На SSD210 есть порт Linux, предлагается использовать Embedded Linux в качестве основной системы. Никаких дистрибутивов по типу Ubuntu для устройства нет — предполагается, что вы сами реализуете весь необходимый для ваших программ функционал (отрисовку графики, обработку ввода, звук и т. п.). Есть Build root и исходный код ядра, а также U-Boot.

Помимо этого, вендор предлагает целое SDK для разработки уже готовых устройств на этом чипсете. Но есть один нюанс: документации практически нет :( Такие пакеты предлагаются крупным коммерческим производителям устройств, поэтому и основная поддержка есть только для них. Есть некоторые сэмплы, как, например, использовать графические дисплеи (показан пример с TTL-матрицей 1024x600), но совершенно не ясно как использовать SPI-матрицы, поскольку они требуют отдельной инициализации.

Но сначала наш одноплатник нужно собрать и запустить. И здесь есть множество тонких моментов, которые необходимо знать перед покупкой такого девайса. Переходим к сборке!

❯ Сборка и запуск


Для более удобного процесса разработки нашего устройства, лучше всего заказывать сразу две платы: одну припаять к переходной плате с штырями, а другую использовать на нашем устройстве. Как я уже говорил ранее, одноплатник предлагается в виде System on Module, которые можно при желании распаять на переходной плате:

Честно сказать, я очень люблю такой тип монтажа и топлю за то, чтобы другие одноплатники не форсировали использование штырьков, а позволяли припаять себя «бутербродом» к другой плате. Обычно SoM дороже чем простые одноплатники, один из примеров — Olimex A20 SoM. Припаиваем основную плату к eval-плате. Обратите внимание, что припой должен находится «скосом» с внешней стороны пинов!

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

Теперь подключаем питание. На плате уже разведены Step-down преобразователи с 5В на 3.3В (основная логика), 1.8В (DDR2), и 0.9В/1.0В (ядро), нам достаточно подключить лишь 5В, либо запитать плату от 3.7В аккумулятора. Устройство стабильно работает и от 0.5А порта ПК (если не юзать Wi-Fi).

Для работы с одноплатником, обязательно нужен COM-преобразователь. Открываем Putty, задаем COM-порт, выставляем бодрейт 115200 и отключаем контроль четности. После подачи питания на устройство, в консоли побегут логи, U-Boot начнет загружать систему… однако, есть один важный нюанс…

Все платы прошиваются на заводе с помощью фирменного флэшера SSD210. Но фирменный флэшер, по каким-то причинам, на некоторых платах не может сохранить U-Boot Environment (переменные окружения, которые в том числе определяют таблицу разделов и коммандлайн ядра).

Поэтому если ваша плата повисла на CRC Error, нужно ввести следующие команды:

setenv mtdids nand0=nand0

setenv mtdparts ' mtdparts=nand0:0x140000(CIS),0x1a0000(BOOT0),0x1a0000(BOOT1),0x40000(ENV),0x40000(ENV1),0x20000(KEY_CUST),0x500000(KERNEL),0x500000(RECOVERY),0x600000(rootfs),0xa0000(MISC),-(UBI)

setenv bootargs ubi.mtd=UBI,0x800 root=/dev/mtdblock8 rootfstype=squashfs ro init=/linuxrc LX_MEM=0x3FE0000 mma_heap=mma_heap_name0,miu=0,sz=0x1E00000 cma=2M highres=off mmap_reserved=fb,miu=0,sz=0x300000,max_start_off=0x3C00000,max_end_off=0x3F00000 ${mtdparts}

setenv bootcmd ' nand read.e 0x22000000 KERNEL ${kernel_file_size}; dcache on ; bootlogo 0 0 0 0; bootm 0x22000000;nand read.e 0x22000000 RECOVERY ${recovery_file_size}; dcache on ; bootm 0x22000000

setenv autoestart 0

setenv sstar_bbm off

setenv ipl_version "##p3##gdf99011IPL_##########

setenv ipl_version "DUALENV=1 SILENT_CONSOLE=1 CFG_SDMMC_DISABLE=n ALK=1 SPINAND=1 CHIP=pioneer3""

saveenv

После этого отправляем плату в ресет и система загружается как ни в чем не бывало!

Поскольку на плате не разведен разъем USB, для прошивки нужно распустить нерабочий кабель для зарядки смартфона, либо купить внешний USB-разъем на плате. VBUS кидаем на вход питания, белый провод на DM-, зелёный на DM+. Не забывайте провести общую землю между UART-преобразователем и основным питанием платы, дабы не потерять логи.

Замыкаем два пина в центре платы пинцетом и жмем RESET. Плата определится как MSDC-флэшка (не удивляйтесь). Прошивальщик глючный и бывает не с первого раза может прошить устройство. Если девайс после прошивки не включается — введите команды в консоль U-Boot выше.

Теперь переходим к самой системе.

❯ Система


Девайс работает на базе ядра Linux 4.9. Тем не менее, производителем заявлена поддержка Mainline-ядра, что даёт надежду на поддержку устройства в будущем.

Таблица разделов устройства организована в виде ubifs. Вообще, предполагается, что для тестов можно будет запускать ваш софт без перезагрузки, однако когда речь заходит о серьезных модификациях, ребут и прошивка устройства глючным софтом — дело неизбежное.

«Из коробки» на устройстве доступен лишь i2cdev, благодаря которому можно свободно общаться с i2c-устройствами из юзерспейса. Хотите получить доступ к SPI? Готовьтесь качать билдрут, вручную включать spidev в конфиге и редактировать DeviceTree, дабы spidev мог получить доступ к физическим spi-устройствам ядра.

Кроме того, конечно же, есть доступ к GPIO из sysfs.

На самой плате, Wi-Fi реализован в виде внешнего USB-хаба + Wi-Fi адаптера. Чипсет также поддерживает Ethernet.

Для разработки устройств, производитель предлагает отдельное SDK для общения с периферией устройства из юзерспейса. С помощью этого SDK, можно получить доступ к камере, аппаратному декодеру, звуку и настроить матрицу. Судя по всему, общение происходит с помощью ioctl к необходимым устройствам. Это сделано для того, чтобы разработчики не копались в низкоуровневых драйверах, ведь например, ALSA, на устройстве нет совсем.

Если включить нужные нам модули в юзерспейс (spidev, i2cdev, gpio), то можно будет проектировать устройства более простым путем. Например, подключить дисплейчик и прямо из юзерспейса выводить на него графическую информацию. Это открывает перспективы для самых разных применений: опрос датчиков и хранение информации в внутренней памяти, умные сигнализации, самодельные часы, DIY игровые консоли, самодельные телефоны и т. п. Применений просто куча!

❯ Заключение


Вот мы и посмотрели с вами на дешевые одноплатники, где используются чипсеты, которые разработаны для использования в совершенно других сферах. Девайсы весьма своеобразные и для полноценной работы с ними нужно обладать навыками прожженного линуксоида и иметь навыки системного программирования. Но, чего уж точно нельзя отрицать, так это перспектив подобных девайсов для своих проектов. Да, под них нет готовых гайдов, как для Raspberry Pi или Orange Pi, информации по ним минимум… но если захочется — то всегда можно «сварганить» самопальное устройство за минимальный прайс!

Вероятнее всего, я применю один из этих одноплатников для своего проекта немного позже. И конечно же, я напишу об этом отдельный материал — ведь про экзотические чипсеты на Пикабу пишут не так часто!

Чуть позже выйдет материал про Repka Pi. Их одноплатник получился не менее интересным и как раз таки метит в нишу одноплатников с хорошей поддержкой, где есть уже готовые гайды, информация и даже сами разработчики могут помочь с решением некоторых проблем. Без косяков не обошлось: есть пару аппаратных проблем, о которых я расскажу открыто, но в целом девайс выглядит интересным!

Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud , дабы не пропускать свежие статьи каждую неделю!

Показать полностью 21
[моё] Гаджеты Покупка Девайс Одноплатный компьютер Компьютер Минипк Raspberry pi Orange pi Дешево Своими руками Embedded Электронные сигареты Разработка Linux Nix Длиннопост
49
8
aid2022
aid2022
1 год назад

Мини-ПК GMKTec G3 N100, домашний сервер или рабочее место - часть 1⁠⁠

Источник t.me/freebsd2022 (https://t.me/freebsd2022) November 24, 2023

Ранее мы несколько раз (1, 2, 3, 4) поднимали вопрос про выбор Мини-ПК для домашних нужд и экспериментов. Критерии выбора описаны в последней на данный момент статье про Beelink U59 Pro. Далее было решено развить тему, возможно, есть альтернативы этому решению из Китая. Тем более, что люди уже давно задаются такой целью - сделать что-то самостоятельно для дома. Или купить готовое решение. На Дзене есть целый раздел про это.

Ниже первый обзор нового решения из Китая - GMKTec G3 N100. Статья не является рекламной, это только лишь обзор одного из решений. Выбор в любом случае за вами!

GMKTec G3 N100

GMKTec G3 N100

Для себя поставлены требования:

  • компактность и низкое энергопотребление

  • невысокая цена на Али (10-15К)

  • возможность апгрейда/установки памяти/ssd не из Китая

  • минимум 4 ядра, относительно свежий процессор

  • 1-2 проводных сетевых интерфейса

  • возможность установки гипервизора, например, Proxmox

В процессе изучения этого ПК было обнаружено несколько интересных моментов, об этом и расскажем. Также надо отметить, что ниже мы будем сравнивать этот мини-ПК с Beelink, так как последний уже год достойно справляется со своими функциями.

По причине одного из требований, бюджета, при заказе был выбран вариант без RAM/SSD/OS:

без RAM/SSD/OS

без RAM/SSD/OS

Вариант без памяти и диска потенциально опасен, т.к. в случае неработоспособности ПК продавец всегда может свалить всё на покупателя. В нашем случае в итоге всё заработало.

После распаковки было интересно сразу проверить, заработает ПК с первого раза или нет. SSD sata взяли родной китайский от Beelink, поскольку было предположение, эти два ПК - близнецы-драконы, сделаны в соседних мастерских заботливыми руками китайских мастеров на все руки. Позже оказалось, что это не совсем так. Память мы взяли Patriot PSD48G266681S из прошлой статьи. ПК заработал, правда через несколько секунд - замечено, лаг по времени есть всегда после установки нового железа. Далее мы попали в BIOS, несколько скринов:

bios, product, cpu

bios, product, cpu

cpu

cpu

cpu temp, fan

cpu temp, fan

fan

fan

В разделе NVME было, естественно, пусто, так как Beelink идет с ssd sata:

no nvme

no nvme

Продавец утверждал, что для слота m.2 2280 есть поддержка nvme, в BIOS мы это видим:

boot

boot

Далее нас ждал первый сюрприз - при подключенном ssd sata 2280 ПК всё время отправлял в BIOS, хотя на двух протестированных SSD была WIN10. Опытным путём было установлено, что слот 2280 поддерживает только nvme-диски, а второй 2242 ssd sata:

слоты 2280/2242, наш ssd подключён по диагонали - не делайте так

слоты 2280/2242, наш ssd подключён по диагонали - не делайте так

После первого сюрприза всё стартовало, WIN11 из комплекта Beelink успешно загрузилась. Для примера обзорное фото двух НЕ близнецов:

Beelink вверху, GMKTec G3 внизу

Beelink вверху, GMKTec G3 внизу

На первый взгляд корпус Beelink более продуманный и вместительный. Отличия GMKTec G3:

  • более мощный процессор

  • 1 Ethernet (у Beelink 2)

  • 1 слот RAM (2 у Beelink)

  • более компактный корпус

Дальнейшее сравнение отдаётся на откуп читателю, на сайтах производителей всё подробно описано: Beelink, GMKTec G3.

Кстати, еще интересное - GMKTec предлагает скачать дистрибутивы. Страница техподдержки оформлена конечно очень коряво, но есть.

Проверить ПК мы решили загрузкой FreeBSD с флешки, всё работает очень быстро и чётко:

FreeBSD on GMKTec G3

FreeBSD on GMKTec G3

Еще поразила родная книжка GMKTec, там конечно много иероглифов, но сама суть поместилась на одной странице:

spec info

spec info

Хотя про второй m.2 слот и другие частности здесь не сказано. Спасибо за указание, что можно поставить более скоростную память на 3200.

Для старта всё нормально и даже не плохо: ПК запустился с первого раза. Цель на данный момент достигнута. Далее нам предстоит проверить работу с ssd nvme и неродной памятью. Время покажет!

Показать полностью 12
[моё] Минипк Китай AliExpress Длиннопост
9
1482
monobogdan
monobogdan
2 года назад
TECHNO BROTHER

Мы сделали вам плату, а дальше вы сами: Доводим дешевый одноплатник за "косарь" до ума!⁠⁠



В прошлой статье, мы с вами рассмотрели на что способен одноплатный компьютер, который стоит всего 1.000 рублей. Как мы выяснили, перспективы у данного девайса весьма неплохие, однако по факту, Orange Pi продаёт практически голую железку, которую нужно дорабатывать самому. Да, тут есть Ubuntu/Fedora, да, тут выведена гребенка с I2C/SPI — однако из коробки это всё работает криво-косо, либо не работает совсем. Даже обещанные шины SPI/I2C фактически не доступны в системе «из коробки». Материалов о доработке этого одноплатника в сети мало, поэтому я решил довести его до ума сам и поделится с вами — в том числе, готовыми бинарными образами! Интересно, на что способен доработанный одноплатник по цене ящика пива? :)

Над чем будем работать

В прошлой статье, мы с вами определились с потенциальными перспективами такого устройства. По цене 3х ESP32, производитель предлагает нам два полноценных вычислительных ARM-ядра, 256 мегабайт оперативной памяти, 512 мегабайт встроенной NAND-памяти, контроллер питания с возможностью работы от литий-ионных АКБ и 3G модем. Но в бочке меда нашлась ложка дегтя: никто не собирался это всё поддерживать и Orange Pi практически сразу «забили» на поддержку устройства, ограничившись портом Debian/Ubuntun на устройство.



Более того, производитель даже не описал как работать с GPIO и шинами устройства — что фактически превращало его из одноплатника в обычную ТВ-приставку, только без нормального видеовыхода. Меня крайне удивило, почему над такой дешевой платой не хотело работать коммьюнити — большинство людей только видели всю ситуацию и шли оставлять негативный отзыв, не попытавшись даже разобраться. А ведь для опытного линуксоида-эмбеддера здесь работы на день-два!

Ко всему прочему, в Linux не работает GSM-стек. Да, совсем. Производитель даже не стал кооперироваться с MediaTek, чтобы попытаться реализовать работу с модемом на уровне системы. А ведь фактически, вся работа с модемом происходит лишь на уровне AT-команд. Так в чем же проблема была?



Со всем этим мне и предстоит разобраться! Клонируем репозиторий с исходниками ядра и бежим собирать!

Собираем ядро. I2C и SPI.

Вместо типичного Buildroot, Orange Pi использует свою собственную простую систему сборки на shell-скриптах: в качестве тулчейна используется уже готовый linaro. Отчасти, это связано с самими чипами, на которых работают их устройства — MediaTek, например, не использует Mainline ядро и в процессе сборке имеет ещё кучу шагов для подготовки финального образа. Там даже menuconfig не работает и все изменения приходится делать в уже сгенерированной когда-то конфигурации.

Клонируем репозиторий с системой сборки и запускаем скрипт:

git clone https://github.com/orangepi-xunlong/OrangePi_Build cd OrangePi_Build ./Build_OrangePi.sh



Выбираем нашу плату — 3G IoT и ждем, пока система сборки фактически скачает все необходимое для сборки — исходный код ядра, папки external (драйвера, загрузчик и порт linux MediaTek). Обратите внимание, OrangePi даже систему сборки завязали на конкретной версии системы: только Ubuntu 18.04, но на самом деле, ядро соберется без проблем практически где угодно. После того, как все было скачано, переходим в папку с скриптом сборки и запускаем скрипт сборки:

cd ../OrangePi3G_iot/
./build.sh


А нет, не запускаем — скрипт жалуется на то, что не может поставить некоторые пакеты. Не беда — ставим bsdtar и python minimal вручную и идем править код скрипта. Находится в он scripts/general.sh: убираем оттуда устаревшие имена пакетов.



После этого, компиляция ядра должна пройти успешно. Обратите внимание на версию вашей платы — те, что продают сейчас — именно A. Если пытаться подкинуть им ядро для B, то они будут уходить в kernel panic из-за отсутствия eMMC.



Если mkbootimg будет жаловаться на libstdc++6, то ставим его x86 версию из репозиториев.

Готовое ядро будет лежать вoutput/kernel/boot.img, которое можно прошить на устройство. С одним маленьким нюансом — оно рассчитано на загрузку из внутренней памяти, которой критически мало для дистрибутива Linux! У нас нет boot_sd.img, который есть в оригинальном дистрибутиве. Попытка разобрать образ стандартным AndImgTool не увенчалась успехом — рамдиск встроен прямо в образ zImage, а не отдельно, как это обычно бывает у Android-образов.



Покопавшись в скриптах сборки, я так и не понял логику создания boot_sd, ничего связанного с sd я не нашел даже grep'ом по всей папке. Ну что-ж, тогда попробуем обходным путем: скомпилируем нужные драйвера в виде загружаемых модулей (ko). Идём в наш конфиг, расположенный в linux/arch/arm/configs/3giot_defconfig и меняем CONFIG_I2C_CHARDEV и CONFIG_SPI_SPIDEV на m. Пояснение: y заставит систему сборки скомпоновать драйвер статически с ядром, а m выделит его в виде отдельного модуля ko, который затем можно загрузить черезinsmod.



Снова собираем ядро, на этот раз компиляция занимает не больше минуты. Нужные нам файлы появятся в linux/drivers/spi/spidev.ko и linux/drivers/i2c/i2c-d-ev.ko. Переносим их на хост-пк, а затем и на само устройство с помощью SSH:



Загружаем модули ядра:

insmod i2c-dev.ko


И та-дам! Целых две i2c шины появилось в системе (/dev/i2c-0, /dev/i2c-1). Устанавливаем i2c-tools и идем проверять с помощью i2cdetect: первая шина полностью свободна под наши проекты, а на второй по некоторым адресам висит периферия (FM-радио как вариант):



I2C теперь точно работает! Но как насчет SPI?

insmod spidev.ko
Device or resource busy.



Увы! spidev нельзя подгружать динамически, только статически линковать с ядром, чего мы сделать пока не можем. Однако техническая возможность заставить работать SPI есть: например, написать свой драйвер, который транслирует команды из юзерспейса в SPI API, которое работает на уровне ядра.

GPIO

В прошлой статье, я вкратце рассказал, как работать с gpio из user-space на уровне терминала. Однако, большинство разработчиков потенциально будет пользоваться нативным API для GPIO — ну не всерьез же им парсить вывод состояния в консоль? Поэтому я решил написать крошечную библиотеку для работы с GPIO, такую же простую, как и DigitalWrite/DigitalRead!

Давайте сначала разберемся, как именно работать с драйвером GPIO. Для этого открываем исходники ядра и смотрим внимательно, что нам предлагает драйвер: в нашем случае, это вызовы IOCTL, да еще и простые и понятные. Это просто отлично! Я написал single-header библиотеку минут за 10: без проверки ошибок, но работоспособная.

void gpioInit();

void gpioSetDir(int num, byte dir);

byte gpioGetDir(int num);

void gpioWrite(int num, byte value);

byte gpioGetState(int num); byte gpioRead(int num);

void gpioSetPullState(int num, byte enabled, byte up);



Пример использования (141 — крайний пин на гребенке):

#define GPIO_IMPL

#include "gpio.h"

#include <stdio.h>

void testPin(int pin)

{

printf("Pin state %i is %i\n", pin, gpioGetState(pin));

gpioSetDir(pin, 1);

gpioWrite(pin, 0);

printf("Pin state %i is %i\n", pin, gpioGetState(pin));

gpioWrite(pin, 1);

printf("Pin state %i is %i\n", pin, gpioGetState(pin));

}

int main(int argc, char** argv) {

gpioInit();

testPin(141);

}



Модем

Скажу сразу: пока что завести модем мне не удалось, но я активно работаю над этим. В этой части статьи я распишу свои находки и догадки касательно модемов на чипах MediaTek.

В устройствах MediaTek, драйвер для общения с GPS, A-GPS и модемом один — ccci, судя по всему cross chip communication interface. Именно ccci создает устройства, с в которые поступает вход с микрофона и выход на динамики, а также он создает управляющие интерфейсы для общения с различными модулями этого SoC.

При старте ядра, ccci создаёт много устройств — ccci_ioctl, ccci_ipc, ccci_fs и самое нужное нам —ttyC0/ttyC1/ttyC2— в зависимости от количества СИМ-карт в системе. Кроме ccci, в системе есть некий 6620_launcher — бинарник, который загружает прошивку Wi-Fi и gsm0710muxd — специальный сервис, который позволяет в GPRS-сетях одновременно разговаривать и сидеть в интернете.

На смартфонах MTK есть factory mode — так называемый тестовый режим, который гоняют на заводах. Вы, вероятно, когда-то видели китайские меню похожее на рекавери — это и есть factory mode. Из этого режима можно дозвонится в 911 и активировать модем без запуска Android и RIL. Как это работает? Идём читать исходники ядра!

В factory-режиме, для каждого теста, программа активирует модем заново. Для этого есть функции тестового режима для работы с AT-командами и для инициализации модема. Сначала, она открывает терминал /dev/ttyC0 — именно там происходит общение с модемом с помощью AT-команд:



После этого, программа выводит модем из режима сна с помощью команды «AT+ESLP=0», инициализирует СИМ-карту с помощью команды «AT+ESIMS» и задает режим работы с помощью «AT+EFUN=1» и «AT+CREG=1». После этого, модем начинает искать сеть и доступен для обычного общения с помощью AT-команд. Однако, написав тестовую софтину для общения с модемом из под Debian, я получал ошибки вида Device not found. Почему? Пока не знаю. Однако я продолжаю изучать данный вопрос!

Заключение

Подготовленные мною файлы вы можете скачать на диске. Там скомпилированные модули ядра, библиотека для работы с GPIO и пару тестовых программ в качестве примеров.

К счастью, довести гаджет до ума мы смогли своими силами. Весьма странно, что такой крупный и уважаемый производитель как Orange Pi, банально решил «забить» на поддержку собственного устройства. И я лично считаю, что не стоит закидывать в долгий ящик их тем читателям, которые купили когда-то себе подобный девайс и забили, смирившись с отсутствием гайдов.

Немного энтузиазма, опыта и видения будущего проекта — и все получится :)

Показать полностью 11
[моё] Гаджеты Смартфон Программирование IT Orange Pi Одноплатный компьютер Linux Android Raspberry pi Минипк Дешево Покупка Моддинг Своими руками Embedded Длиннопост Авторская неделя на Пикабу
149
1835
monobogdan
monobogdan
2 года назад
TECHNO BROTHER

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива?⁠⁠



Каждый год выпускается с десяток новых моделей одноплатных компьютеров. Свежие девайсы представляют как старые и уважаемые фирмы по типу 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в от АКБ с встроенным контроллером питания.

  • Звук: Микрофон + встроенный в чипсет ЦАП для вывода звука из системы.

  • Интерфейсы: SPI, I2C, GPIO, UART, Wi-Fi, Bluetooth.



Причина низкой цены и хорошего функционала очень проста: 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в с контроллером питания.

  • Звук: всё так же, микрофон + ЦАП.

  • Интерфейсы: SPI, I2C, GPIO, UART, Wi-Fi, Bluetooth.



Весьма недурно, согласны? На момент выхода статьи, этот одноплатник можно заказать на всем известном сайте за 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 уже выкинули из официальных репозиториев, перенеся его в архив. Пользовались старыми версиями убунты/дебиана? Тогда следующая операция для вас будет знакома:


nano /etc/apt/sources.list

...

Меняем ftp2.cn.debian.org на archive.debian.org во всех строках. Ctrl + X, сохраняем.

Пишеv apt-get update. Ждём обновления списка пакетов.



Теперь мы можем ставить официальные бинарные пакеты из репозиториев. Нам доступна куча софта, в том числе с более старших 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. Если просто начать читать из него, то мы получим список всех пинов и их состояние:



PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [INV] [IES]
0:1000000-1
1:1000000-1
...

Чтобы записать состояние, нам нужно послать специальную строку:

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.

Схема платы доступна здесь:drive.google.com/drive/folders/19R66eFtCDVDVGs7P_WTTBaHTfshnIIqK

Заключение

Я считаю, что подобных ультрадешевых плат должно быть гораздо больше на рынке, ведь не все готовы платить несколько тысяч рублей за одноплатники. Однако, такие решения не подойдут для тех людей, которые хотят «купить и чтобы работало, с кучей гайдов» — у таких плат банально околонулевая поддержка. Да, Orange Pi уважаемая компания, они предоставляют полный исходный код не только ядра, но и загрузчиков — чего они делать не обязаны были, но по сути они просто произвели на свет эту плату, а разбираться в ней придется конечному пользователю. Без мануалов, без гайдов.



Стоит ли такую себе брать? Я лично не пожалел :) Плата очень перспективная, а ковыряться в исходниках ядра я люблю. Попробую сделать из неё что-то полезное!

Показать полностью 19
[моё] Гаджеты Покупка Сборка компьютера Одноплатный компьютер Android Arm Linux Девайс Минипк Компьютер Nix Embedded Длиннопост
270
120
monobogdan
monobogdan
2 года назад
TECHNO BROTHER

NUC для бедных — какой мини-компьютер на Windows я купил за 500 рублей?⁠⁠



В современном мире технологии производства чипов продвинулись настолько, что уже сейчас есть возможность уместить полноценный компьютер в один-два чипа. Ещё 20 лет назад сложно было представить миниатюрный компьютер размером с роутер, но в наше время можно купить такой гаджет за весьма скромные деньги! Недавно я купил себе тонкий клиент Dell Wyse за 500 рублей на базе ноутбучного процессора VIA Eden (C7-M) и обнаружил, что это по сути самый обычный x86 компьютер с возможностью апгрейда. Что у него под капотом и что он умеет в 2023 году? Предлагаю узнать под катом!

❯ Что за покупка?


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



И что самое интересное — большинство из таких устройств сами по себе являются компьютерами. Причем вполне себе полноценными: за исключением Sun Ray Station (которая работает вообще непонятно на чем), почти все подобные девайсы работают на базе стандартных Windows CE или спец. дистрибутивов Linux. И конечно же подобные устройства так или иначе добирались до энтузиастов, которые пытались найти им нестандартное применение: тонкие клиенты постоянно списываются из офисов и растаскиваются по домам, чтобы затем попасть на онлайн-барахолки в больших количествах и за копейки.



В железном плане, тонкие клиенты не отличались сильным разнообразием: большинство моделей из нулевых работали на базе процессоров AMD Geode, бывший Cyrix MediaGX — достаточно шустрый x86 процессор из 90х, примерно на уровне первого Pentium, предназначенный для применения в embedded устройствах с низким энергопотреблением. Тонкие клиенты на Geode обычно работали на базе Windows CE, но поскольку это стандартный x86 с полноценной реализацией BIOS, то можно поставить и DOS, и Windows 95.
Не менее часто встречались и решения на базе ARM: бывали тонкие клиенты на неких чипахChips. Я не могу особо про них рассказать, но знаю, что ТК на базе этих процессоров работали на Windows CE.



Современные ТК уже стали гораздо мощнее и вполне походят на мини-ПК: например, часто можно встретить тонкие клиенты на базе ARMv7 процессоров Marvell PXA, последователе того самого Intel PXA, что вероятно стоял в вашем КПК. Такие клиенты работают на базе обычного Linux и зачастую имеют распаянный на плате UART, благодаря чему можно получить доступ к консоли U-boot или рутовой консоли самой системы. Иногда можно встретить устройства на базе относительно современных x86 процессоров VIA с частотой 1ггц — коим и стал и сегодняшний девайс.



Нашим гостем сегодня станет Dell Wyse 2012 года выпуска на базе процессора VIA Eden — адаптации чипа C7-M под ещё более низкое энергопотребление и возможность работы с пассивным охлаждением. Устройство обошлось мне всего в 600 рублей, причём сразу вместе с блоком питания на 12в и переходником DVI — VGA. Девайс приглянулся своими неплохими характеристиками, поэтому я сразу же его заказал.

❯ Разбираем


Подобные устройства не только компактные, но и конструктивно очень простые: перебрать их по винтику не составляет никакого труда. Я специально не стал указывать конкретный перечень характеристик, чтобы мы смогли взглянуть на все сами:

Первым делом, нам нужно открутить всего один винтик, который держит верхнюю крышку. После этого, мы аккуратно снимаем кожух, благо не страшно сломать клипсы — весь корпус состоит из металла. Перед нами предстает совсем небольшая плата и сопутствующие модули — Wi-Fi и Disk on Module:



Вытаскиваем планку DDR2 ОЗУ производства Apacer, объём которой составляет1гб. Как вы уже поняли, есть возможность расширить и до двух — гаджет поддерживает двухсторонние модули.



Затем отщелкиваем пластиковую клипсу и осторожно вытаскиваем память в видеDisk On Module— это небольшая плата, которая состоит из NAND флэш-памяти и IDE-контроллера. Судя по всему, используется самый обычный 40-pin IDE разъем, так что сюда можно подключить и старый пылящийся 3.5 винт на 40 гигабайт. Объем этого накопителя составляет2гб:



Роль сетевого адаптера выполняет встроенный Ethernet-контроллер и внешний 6-pin Wi-Fi модуль Qualcomm. Я так и не понял, что за интерфейс здесь используется для подключения. USB? Антенну предполагается использовать внешнюю — как на роутерах.



После этого, нужно открутить три винтика, крепящие материнскую плату к нижней части корпуса и планку с охлаждением ОЗУ.



После этого, можно достать основную плату и полюбоваться на неё. Сердцем устройства является одноядерный процессорVIA Eden, работающий на частоте 1ггц. Как я уже говорил ранее, VIA в середине-конце нулевых активно пыталась занять нишу бюджетных ноутбуков с низким энергопотреблением. В некоторой степени, им это удалось (особенно в сравнении с Atom) с процессором C7-M и в тоже время они выпустили урезанную версию в виде Eden. Получился весьма неплохой процессор, благодаря которому появились такие «почти одноплатники». :) Часть логики интегрирована в процессор, а часть располагается в чипсете слева от процессора: его кристалл ощутимо больше, чем у самого процессора.



Обратите внимание на пассивную систему охлаждения: за весь теплоотвод с чипсета и процессора отвечает тонкая «двухэтажная» медная пластина. Этого хватает, чтобы держать относительно стабильные температуры на обеих чипах.



Полностью в разборе девайс выглядит так. Даже обслуживать его максимально просто и приятно:



Кроме того, важно отметить, что у неттопа 4 разъема USB 2.0, разъемы под аудио/микрофон, для вывода видео используется DVI (в комплекте переходник на VGA), Ethernet и порты PS/2.

Питается гаджет от обычного источника питания 12в, который можно найти, например, в нетбуках EEEPC. После переборки и некоторого обслуживания, предлагаю посмотреть, как себя ведет этот девайс под Windows XP (выше ставить смысла мало, но Server/Embedded версии могут пригодится).


❯ Под Windows


После накатывания чистого образа XP, встал вопрос установки драйверов. Благо с их поиском никаких проблем нет: на сеть, звук и видео находятся без проблем. После того, как все встало нормально, наш минипк приятно удивил производительностью: хотя после установки было свободно всего 170 мегабайт на внутреннем накопителе, вся система работала очень и очень шустренько. Загрузка процессора в простое было ~15-20%:


Средняя температура процессора при относительно активной работе держалась на отметке 70-75 градусов, что весьма много, но по меркам пассивного охлаждения — терпимо. В целом, можно установить ноутбучный небольшой кулер для отвода воздуха, дабы немного снизить температуры. В отличии от Geode, VIA поддерживает наборы инструкций вплоть до SSE3, что позволяет запускать относительно современный софт. Бенчмарк CPU Queen он не проходит по каким-то причинам, но в тесте AES уверенно держится на уровне Core 2 Extreme (это именно что касается шифрования), а в тесте ZLib на уровне… TransMeta TM5800/Celeron под PGA370. В целом, бенчмарки не отражают реальный экспиренс от работы системы.


Кроме того, здесь есть 3D ускоритель VIA Chrome9, который встроен в чипсет. Chrome — родственник графических ускорителей S3 Trio/Virge, которые стояли чуть ли не в каждой офисной машинке нулевых. Его производительность в играх мы проверим позднее. GPU поддерживает DX9 и отчасти OGL2.0, а также имеет поддержку SM 2.0.\


Я не вижу никакого смысла тестировать работу браузеров в системе, поскольку лаги будут жуткими. Однако старший брат VIA Eden, C7-M один раз выручил меня, когда я готовил статью про него самого, пусть и с большими тормозами, но я смог дописать статью про ноутбук на этомпроцессоре прямо на нем!

Ну а в каких то прикладных задачах, такой минипк покажет себя неплохо. Как офисная машинка для работы в ворде/экселе? Легко. Возможно какой-то бухгалтерский учет? Тоже потянет. SMB-диск с ромами? Да без проблем!

Однако можно ли поиграть на таком девайсе? Предлагаю узнать:

GTA Vice City в 640x480 при 16-битном цвете (для таких видяшек это важно) идёт примерно 10-15 кадров. Что-то на уровне Intel Extreme Graphics тех же годов. К сожалению, неиграбельно.


NFS Underground 2 при том же разрешении и низких настройках графики: идёт ещё хуже, чем GTA. К сожалению, видеочип совсем слабенький даже для подобных игр, однако я немного успел попрограммировать под него и это было весело. :)


Впрочем, эмуляторы 8 и 16 битных консолей он потянет без проблем. Да и в игрушки до 2000 года тоже можно поиграть: NFS High Stakes, или Quake — почему б и нет?Ноутбук на TM5800 едва ли даже такое мог! Ну и конечно же классика типа HoMM III здесь идёт замечательно:


Девайс также без проблем запускает мейнлайн ядро Linux и работает с адекватной производительностью. Благодаря этому, мы можем развернуть на базе такого устройства небольшой сервер, файловую помойку или что-то ещё в этом духе. Давайте же подведем итоги для такого устройства, куда его можно использовать сейчас:

  • Файловый сервер: Тут уже на ваше усмотрение. Внешние винты можно подключить через USB (причём сами разъемы висят на разных хабах, благодаря чему не режется скорость), либо можно подключить два IDE HDD с помощью обычного шлейфа. Организовать SMB/FTP сервер можно и под WinXP, и под Linux.

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

  • Ретро-игры: Сюда относятся игры из 90х и простых из начала 2000х. Собственно, а почему бы не подключить пару геймпадов, накатить nestopia и не получить дешевый аналог Game Stick Lite?

  • Мультимедиа: Помимо организации DLNA сервера, откуда можно тянуть видео с отдыхом в Сочи 2007, из такого девайса можно сделать некоторое подобие ТВ-приставки — при условии, что у в вашем ТВ есть разъём VGA.

  • Embedded: Неожиданно было встретить такой способ применения здесь, да? Конечно LPT здесь нет, пинами порулить не получится, однако устройство вполне может стать в аккомпонимент с Arduino/ESP32 для обработки и хранения большого количества показаний с датчиков или ещё чего-то в этом духе. Как плюс можно отметить компактность устройства и довольно низкое энергопотребление.

❯ Заключение


Как по мне, массовое появление подобных машинок за дешево на вторичке буквально дает им вторую жизнь: ведь устройство достаточно шустрое, кушает мало и на него можно накатить десктопную винду. Всего за 500 рублей можно получить весьма неплохие вычислительные мощности, а если присмотреть модель с LPT — то вообще получить как-бы одноплатник. :)


Сейчас рынок тонких клиентов вытеснили NUC'и. Однако они предназначены для похожих целей, но даже на вторичке стоят довольно ощутимо: одно дело 500 рублей, другое 2 тыщи. Так или иначе, у человека, у которого я купил себе этот девайс, в наличии около 50 девайсов из статьи. В полной комплектации: БП, антенна Wi-Fi, переходник DVI — VGA. Так что если вдруг такой гаджет заинтересовал, пишите в личку — скину ссылку, авось и вам будет интересна такая штука. :) Прямую ссылку по понятным причинам оставлять не буду — некоторые читатели могут счесть это за рекламу.

Показать полностью 22
[моё] Гаджеты Покупка Компьютер Минипк Ноутбук Одноплатный компьютер Стики Windows Windows XP Тонкий клиент Dell Дешево Диковинка Экономия Длиннопост
53
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии