image

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

image

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

image

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

image

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

image

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

image

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


Но чем он так меня привлек, помимо 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!

image

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

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

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

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


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

image

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

image
A20-SoM

image

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

image

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

image

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

image

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

image

Поэтому если ваша плата повисла на 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

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

image

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

image

image

image

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

image

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

Система


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

image

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

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

image

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

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

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

image

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

Заключение


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

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

image

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



Возможно, захочется почитать и это:


Комментарии (49)


  1. bodyawm Автор
    07.12.2023 08:08
    +9

    Обещанный материал про вуду выйдет к концу года :) Скоро буду заказывать вуду 2. Напомню: мы не просто рассмотрим архитектуру видеокарты но и напишем 3д игру под нее полностью с нуля на родном графическом API!


    1. bodyawm Автор
      07.12.2023 08:08
      +5

      А ещё на днях читатель подарил мне сурфейс рт - арм планшет на почти полноценной Винде!

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


      1. bodyawm Автор
        07.12.2023 08:08
        +1

        Ну и по классике, дабы никто не был против, оставлю ссылку на свой тг в комментах. Никакого мусора и флуда, только посты по теме и бэкстейдж!


  1. kotenev
    07.12.2023 08:08
    +4

    По таким гуманным ценам  ~700 рублей у упомянутого Вами продавца ничего подобного и близко нет. Есть что-то похожее, но за 1700 рублей.


    1. bodyawm Автор
      07.12.2023 08:08

      Я ж написал почему. Они небольшими партиями производятся пока что. Ближайший аналог - cherry pi r3


    1. NutsUnderline
      07.12.2023 08:08

      была. мы это еще летом обсуждали в треде где зашла речь про alwinner


  1. udik_chudik
    07.12.2023 08:08

    фреймбуффер из коробки есть?


    1. bodyawm Автор
      07.12.2023 08:08
      +3

      Да, само собой. Девайс ведь поддерживает TTL и SPI матрицы, есть даже готовый пример инициализации.

      Ток надо глянуть распиновку чипсета (можно ли к выведенным на плату пинам подцепить TTL-матрицу) сначала


  1. DungeonLords
    07.12.2023 08:08
    +1

    Вот что бывает, когда поддержка процессора как-бы есть в mainline ветке Linux, но в процессоре используется GPU MALI


  1. sdy
    07.12.2023 08:08
    +1

    Что то на алике нет такой платы и чипсета тоже. Подскажите где можно заказать такое


    1. bodyawm Автор
      07.12.2023 08:08
      +1

      Блин, они чет совсем пропали( Есть ток непонятный лот с RPi Pico, где RP2040 похоже как сопроцессор юзается.

      https://aliexpress.ru/store/1100086087


      1. sdy
        07.12.2023 08:08
        +1

        Там похожий модуль на MP1 есть. Похоже хотели сделать дешевый вариант на китайском чипе. Кстати, какое у вашего модуля потребления при средней загрузке проца?


        1. bodyawm Автор
          07.12.2023 08:08

          Потребление не замерял. В даташите надо глянуть, не думаю что больше 100мА


    1. sim2q
      07.12.2023 08:08

      внутренним поиском не находит (с трудом сдерживаюсь послать лучи г.... благопожелания вернуть старый добрый али), но через гугль есть


  1. x89377
    07.12.2023 08:08
    +2

    У этой конторы (и других тоже) есть примерно такие же модули на не менее интереснеёшем чипе
    SigmaStar SSD202D


  1. Bluewolf
    07.12.2023 08:08
    +1

    "Поддерживаются TTL дисплеи (до 1024x768), SPI-матрицы с клоком до 54МГц (480x320), а также прямой RGB аналоговый RGB сигнал"

    А кто такие эти TTL дисплеи, если уж не спрашивать сразу о том, точно ли "прямой RGB аналоговый RGB сигнал" поддерживает RGB-кодировку цвета?


    1. bodyawm Автор
      07.12.2023 08:08
      +1

      Я линк на свой материал с рассказом о типах матриц оставлял в статье.

      Вкратце, дисплеи с TTL-интерфейс - это контроллеры дисплеев, у которых обычно нет собственной памяти (однако некоторые контроллеры допускают RGB-режим при наличии, например, 8080-режима работы) и картинка на них передается посредством параллельной передачи всех битов цве. Например для RGB565 мы получим 16 линий цвета + 2 линии синхронизации (HSYNC + VSYNC). Для таких дисплеев критичны тайминги - если, например, контроллер на хосте думает слишком долго - "память" прошлых пикселей теряется и мы получаем белый экран. Такие дисплеи использовались на планшетах 2010х годов, навигаторах и других устройствах.

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


      1. Bluewolf
        07.12.2023 08:08
        +1

        Я в общем-то повозмущалась использованию термина TTL. Да, исторически так иногда называют дисплеи с параллельным RGB-интерфейсом, но это некорректно. TTL - это просто тип схемотехники логики, а также соответствующие ему входные и выходные уровни напряжений. Например - для 5В TLL: "1" - 2-5 В, "0" - 0 - 0,8 В; CMOS: "1" - 3,5-5 В, "0" - 0-1,5В.

        В современных дисплеях и уровни 99% - CMOS, в чем легко убедиться по даташитам, и, собственно, логика на CMOS-ячейках. При этом и у параллельного, и I2C, и SPI интерфейсов дисплеев логические уровни одинаковые (CMOS).

        Кратко: TTL, LVTTL, CMOS, LVDS - уровни напряжений, RGB565, 8080, SPI - протоколы обмена.


        1. bodyawm Автор
          07.12.2023 08:08

          Ну дак я то знаю об этом. Просто их принято называть либо RGB, либо TTL, однако RGB может ввести в заблуждение, поскольку раньше существовали дисплеи с контроллерами, которые не только аналоговый RGB умели, но и CVBS напрямую


  1. nikolz
    07.12.2023 08:08

    Вот есть такое но цена?


    1. NutsUnderline
      07.12.2023 08:08

      увы и ах


  1. NutsUnderline
    07.12.2023 08:08
    +1

    еще из относительно дешевого в этой области есть LuckFox - тянет уже на 1000-1500 с доставкой


    1. dlinyj
      07.12.2023 08:08
      +10

      Как по мне, сомнительная экономия на спичках. В массовом проекте ещё имеет хоть какой-то смысл, в домашних нет совершенно. Лучше купить дороже малинку или иже с ним с нормальной убунтой, чем ходить по детским граблям со сборкой Linux.

      Я просто так наелся этой самодеятельности, в своё время роутеры покупали по 600 рублей и собирали для них OpenWRT, даже радио было на таком. В сути всё это хорошо, когда времени просто вагон. В остальном, пользы от этого мало.


      1. bodyawm Автор
        07.12.2023 08:08

        Сабж может быть оч интересным если было бы больше документации, а чипсета доступнее


        1. dlinyj
          07.12.2023 08:08
          +6

          Для этих целей был прекрасный одноплатник Omega2 – Onion. Который в лабазах с самой конской наценкой стоил пару тысяч. Но что-то не взлетело.

          В общем, спасибо, но мы хлебали лаптем такое. Я тоже пытался развлекаться, когда мы реверсили одноплатник в виде SD-карты. На деле, проблем больше чем пользы.


          1. bodyawm Автор
            07.12.2023 08:08

            Ну смотри, Сереж, тут нюанс в том, что реально маленьких одноплатников с хорошей поддержкой и даже за большой прайс практически нет. Девайс из статьи - как раз пример платы, которую легко использовать для настоящих встраиваемых и мобильных устройств. Плата без проблем поместится и в телефон, и в часы ;)

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


            1. dlinyj
              07.12.2023 08:08
              +2

              Плата без проблем поместится и в телефон, и в часы ;)

              Засунуть железку в часы не так сложно. А вот заставить ПО работать на ней, это главная и самая дорогая проблема. И нет смысла для этих целей самодельщикам использовать непопулярное железо.


      1. Astroscope
        07.12.2023 08:08
        +3

        Как по мне, сомнительная экономия на спичках. В массовом проекте ещё имеет хоть какой-то смысл, в домашних нет совершенно.

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

        В сути всё это хорошо, когда времени просто вагон. В остальном, пользы от этого мало.

        Ну или если ковырятся в этом само по себе есть доставляющее удовольствие хобби. А так да, поддерживаю.


      1. NutsUnderline
        07.12.2023 08:08
        +2

        Да, это именно для тех кто не наигрался в такое. Я сам то поглядел на сабж, подумал и заказал OP Zero 2w - чуть дороже. Вообще так, есть очень узкие случаи когда есть готовый софт заточенный под линуск, но запускать надо максимально компактно. Ну в теории и еще для тех кто хочет помыргать лампочкой но ардуино не осиливает, а прям нужны питоны, яваскрипты и дотнеты. А любителей подешевле так вообще много.

        AllWinner F1C200s мне думалось в baremetal потыркать, оно уже будет альтернативой мощным stm32 и NEC RT1062, которые хорошо задокументированы, но (гораздо) дороже


        1. vadimk91
          07.12.2023 08:08
          +4

          для тех кто хочет помыргать лампочкой но ардуино не осиливает

          Сейчас популярны решения на подобных платах даже там, где раньше обходились элементарной железячной логикой типа триггеров и таймеров, поставим проц на 1ГГц вместо NE555 - работает же! Куда катится этот мир :))


        1. boojum
          07.12.2023 08:08
          +4

          для тех кто хочет помыргать лампочкой но ардуино не осиливает, а прям нужны питоны

          Для них есть микропитон на ESP32 меньше чем за 200р


          1. NutsUnderline
            07.12.2023 08:08
            +1

            ЭЭэ нееет, там же этот ужастной UART :) :) :)


  1. N-Cube
    07.12.2023 08:08

    за RPi Zero придется выложить как минимум 2.000 рублей

    Raspberry Pi Zero 2 W около 15$ стоит. 4 ядра с большей частотой и никаких проблем с нестабильностью, неожиданным перегревом, отсутствием документации и неподдерживаемым SDK, чем грешат китайские поделки. Притом купить можно именно по указанной цене, а не в разы дороже, как обсуждаемую в статье плату. Если хочется дешевле - берем дешевый и популярный роутер уже с блоком питания, портами и прочим, и разбираемся, как на нем дебиан или убунту поставить.


    1. dlinyj
      07.12.2023 08:08
      +1

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

      Не надо на роутер ставить убунту. OpenWRT наше всё. Но на деле, всё выйдет печальнее, дороже и сложнее, чем тот же Zero. Тем более, что разница там будет в 500 рублей, время стоит дороже.


      1. N-Cube
        07.12.2023 08:08

        В свое время, лет 15 назад, я вот с парой таких роутеров экспериментировал: https://en.m.wikipedia.org/wiki/NSLU2 Уже тогда на них можно было поставить дебиан, тикль и даже постгреэскуэль. А уж на современных чипах дебиану ресурсов более, чем достаточно. Кстати, отличная практика для сборки своих дистрибутивов дебиана для лайвсиди и всякого эмбеддед. Плюс дает опыт для разработки хорошо оптимизированного софта. А OpenWRT дает лишь возможность сделать из роутера роутер…


        1. dlinyj
          07.12.2023 08:08

          А OpenWRT дает лишь возможность сделать из роутера роутер…

          Ох, не скажите. Прям вообще. Возможностей тоже очень много, а главное очень быстрая система и лучше подходит для самоделок, чем Debian

          OpenWRT - это конструктор, который легко собрать и разобрать, при этом ещё и все тулчейны сам подтянет.


          1. N-Cube
            07.12.2023 08:08

            Почему вы думаете, что постгрес или вычисления на OpenWRT будут выполняться быстрее, чем на дебиане? Что касается скорости запуска системы, если это важно, то в дебиане можно почти все сервисы отключить, и initd заменить на более подходящий для эмбеддед. Система управления пакетами в дебиане отличная, а опыт создания своего репозитория пакетов и пересборки с нужными оптимизациями пригодится и для облачных инстансов и для выделенных серверов и для эмбеддед. Да даже для выполнения GitHub Actions тестов и запуска сложных задач на Google Colab нужно именно debian/ubuntu знать. OpenWRT вроде нигде не используется, кроме как в роутерах, смысл на него время тратить?


            1. dlinyj
              07.12.2023 08:08

              Эм... Я работал и с тем и с тем, ваши доводы мне кажутся, как минимум странными. Не настроен спорить, так как вижу просто отсутствие компетенции у вас в этом вопросе.

              Дебиан не плох и не хорош, как и опенврт. Оба линукса, с соответствующими особенностями. И оба можно использовать во взаимозаменяемых задачах. Но у OpenWRT из коробки идёт при сборке подтягивание тулчейнов и прочего, допустим вы решите сделать свою сборку под роутер, то для Дебиана вам надо будет искать кросскомпилятор. Тогда как в OpenWRT просто выбрать в make menuconfig процессор и у вас всё само подтянуто будет.

              По поводу системы управления пакетами, чем вам не нравится система управления пакетами в OpenWRT?


              1. N-Cube
                07.12.2023 08:08
                -2

                вижу просто отсутствие компетенции у вас в этом вопросе.

                То есть вы вообще не поняли, о чем вам говорят, но очень хотите поспорить.

                для Дебиана вам надо будет искать кросскомпилятор

                Вы не понимаете, о чем говорите - достаточно поставить нужные пакеты и будет вам поддержка кучи архитектур, более чем достаточных для популярных роутеров:
                https://wiki.debian.org/CrossToolchains

                чем вам не нравится система управления пакетами в OpenWRT

                apt-get я использую 20+ лет и собрал сотни своих пакетов под разные архитектуры, а бэкпортировал еще больше и не раз. Вы вот пробовали в OpenWRT самую последнюю сборку того же постгреса поставить, да с кучей модулей, бэкпортированную на текущий набор пакетов системы (часть из которых пересобрана по разным причинам с другими опциями и патчами)? К примеру, в стандартных сборках SQLite нет нужных расширений, а чтобы их собрать, требуются дополнительные пакеты и так далее. И это я уж не говорю про возможность одни и те же пакеты исходников дебиана собрать под разные архитектуры, так что можно сделать тестовый стенд, дублирующий продакшен сервер на роутере. Как вы это все сделаете на OpenWRT? Думаете, веб интерфейса с базовыми пакетами «хватит всем»?


                1. NutsUnderline
                  07.12.2023 08:08

                  во первых с кучей пакетов для всего чего угодно, во вторых - какой еще веб-интерфейс, рулим чисто из консоли


                  1. dlinyj
                    07.12.2023 08:08
                    +2

                    Да не нужно ему ничего объяснять и доказывать.
                    Он просто совершенно не понимает о чём говорит. Мне в одном треде доказывал, что паяльная станция TS-100 имеет громадный размер, не то что его малюсенькая паяльная станция. Когда я ему показал сравнение размеров его станции и TS-100 слился с беседы.

                    OpenWRT обычный линукс, как и все остальные. Просто сильно упрощённый и имеет низкий порог входа. Плюс, его точно можно поставить туда, куда никаким богом Debian не встанет. Я устанавливал на роутер с 8 мб памяти.


                    1. zuek
                      07.12.2023 08:08
                      +2

                      Я устанавливал на роутер с 8 мб памяти.

                      Надеюсь, 8 МБ оперативной памяти, а то у меня валяется в "некрополе" роутер с 8 МБ флэш-памяти - думается, что OpenWRT туда вместить будет несколько проблемно... хотя, Debian ещё проблемнее =)


                      1. dlinyj
                        07.12.2023 08:08
                        +1

                        Вот на такой и ставил. Вопрос количества пакетов и версии OpenWRT.


                      1. boojum
                        07.12.2023 08:08
                        +2

                        OpenWRT встаёт и на 4MB флеш. Вот на такие A5-V11 ставил.


                      1. Astroscope
                        07.12.2023 08:08
                        +2

                        роутер с 8 МБ

                        Сайт OpenWRT глаголит о 4MB минимум, правда с оговоркой, что GUI выйдет из чата. А так - минимум 8MB, как раз ваш случай.

                        У меня другой вопрос, не к вам лично, а вообще. Роутер - он чисто аппаратно "заточен" под то, чтобы быть роутером. Это не хорошо и не плохо, это просто данность. Сферический же одноплатник в вакууме (я про вакуум техдокументации на китайские компоненты и какой-либо поддержки) - у него GPIO присутствует с вероятностью несильно уж и ниже ста процентов, зачастую что-то мультимедийное есть вроде аудио кодека и выхода на монитор, ну и так далее. В самоделках довольно часто нужно не просто запустить Linux как самоцель, а чтобы оно что-то делало и как-то взаимодействовало с периферией. И в этом смысле роутер оказывается аутсайдером.

                        Мои пять копеек, не обращайте внимание.


                      1. boojum
                        07.12.2023 08:08
                        +1

                        Монитор - да, его в роутере не будет, а вот GPIO найти как правило не проблема.


                      1. NutsUnderline
                        07.12.2023 08:08
                        +1

                        С другой стороны, в качестве одноплатника любят советовать андройдные тв боксы, там же ведь коробочка и дешевле... и никаких Gpio и не надо, крутят homeassistant, всяко серверное. для zigbee, нужен usb/uart, но тут уж конечно никаких мегабайт, оперативки гиг, а лучше - два. ну и самое смешное когда одноплатники работают роутером, debian/openwrt но железо то не "роутерное" и wifi тоже


                      1. bodyawm Автор
                        07.12.2023 08:08
                        +1

                        Уарт на тв боксах обыно есть и доступен легко


                    1. NutsUnderline
                      07.12.2023 08:08
                      +1

                      Жаль, а я то уже хотел заскриншотитить вывод htop под openwrt в виртуалке под андройдом. А то скажут тоже... дебиан, понимаешь.