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

Башня

Аркады, Строительство, На ловкость

Играть

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

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

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

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

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

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

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Nix

23 поста сначала свежее
415
nixcosplay
nixcosplay
1 год назад
Косплей

Косплей Эйприл О’Нил⁠⁠

Косплей Эйприл О’Нил Косплей, Nix, Черепашки-ниндзя, Эйприл О’Нил, Мультфильмы, Мультсериалы, Фотография, Длиннопост
Косплей Эйприл О’Нил Косплей, Nix, Черепашки-ниндзя, Эйприл О’Нил, Мультфильмы, Мультсериалы, Фотография, Длиннопост
Косплей Эйприл О’Нил Косплей, Nix, Черепашки-ниндзя, Эйприл О’Нил, Мультфильмы, Мультсериалы, Фотография, Длиннопост

Мой Инстаграм https://www.instagram.com/nix_cosplays?igsh=OGRiaW0weTV5dHEy

Мой тг канал https://t.me/nix_cosplay

P.S. На последнем фото беру репортаж где прорвало мультивселенную)

Показать полностью 2
[моё] Косплей Nix Черепашки-ниндзя Эйприл О’Нил Мультфильмы Мультсериалы Фотография Длиннопост
72
9
pubcr4wler
pubcr4wler
1 год назад

Nix.ru вы ухи поели?⁠⁠

Заказал 1.03 ноутбук на nix.ru с доставкой 7.03 (самая ранняя). Позвонил мне оператор, цену и сроки подтвердили. Немного смутило что продажа доступна только с доставкой и нельзя было забрать самовывозом, но тем не менее, договорились что 6.03 со мной свяжутся и уточнят время доставки.

Ждал звонка вчера до самого вечера, его так и не последовало. Сегодня (7.03) звоню сам чтобы уточнить и первое что мне говорят: "вижу что с вами вчера связывались". Я говорю нет, у меня за вчерашний день вообще звонков нет и если бы был, я бы перезвонил так как жду эту доставку. "ожидайте" говорит оператор, я ставлю звонок на запись, так как уже интересно что будет дальше.

В итоге непонятно кто и непонятно как 5.03 снял резерв с ноута и ко мне он не приедет. Объяснений как и почему не последовало, само вот как-то получилось. Но поступило предложение еще раз оформить, ждать до 14.03 ну и, конечно, за больший ценник. На вопрос "а где гарантия что еще раз меня не кинут и не попросят большую цену?" оператор Максим на голуом глазу выдает "ну, если не соврать, такое бывает очень редко"

Если не соврать, это, конечно здорово. Но вот хочетсся понять что там за бардак творится в компьютерном супермаркете Никс и как там у них "само" в системе без следов такое происходит?

Артикул на сайте висит в увеличенным ценником.

[моё] Обман клиентов Доставка Никс Служба поддержки Защита прав потребителей Nix Мошенничество Текст Негатив
8
120
Alexmelyon
Alexmelyon
1 год назад
IT-юмор

Сложности перевода документации⁠⁠

Сижу, изучаю доки к новому для меня языку, который одновременно является пакетным менеджером и OS, круче него только Иисус, не иначе. И натыкаюсь на незнакомое слово:

Сложности перевода документации IT, Программирование, Nix, Мат

Океееееееееееееееееееей..... Значит просто не будет...

Доки, если кому интересно:
https://nix.dev/tutorials/first-steps/reproducible-scripts

PS: В Linux shebang (#!) — это специальная строка в начале сценария, которая сообщает операционной системе, какой интерпретатор использовать при выполнении сценария. Эта строка, также известная как хэшбанг, шабанг или «резкое восклицание», является первой строкой тире и начинается с «#!» за которым следует путь к интерпретатору

Тыщу раз это использовал, но я не знал, что это называется shebang

Показать полностью
[моё] IT Программирование Nix Мат
20
472
monobogdan
monobogdan
1 год назад
TECHNO BROTHER

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост



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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост



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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост



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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост




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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост



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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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


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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

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

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

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


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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост
DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост
DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост
DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

❯ Система


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

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

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

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

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

❯ Заключение


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

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

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей Гаджеты, Покупка, Девайс, Одноплатный компьютер, Компьютер, Минипк, Raspberry pi, Orange pi, Дешево, Своими руками, Embedded, Электронные сигареты, Разработка, Linux, Nix, Длиннопост

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

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

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

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android⁠⁠

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост



Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!

❯ Что нам нужно знать?


Даже относительно старые устройства флагманского сегмента обладают весьма неплохими характеристиками. Зачастую они гораздо мощнее современных дешевых одноплатников и могут выполнять самые разные задачи: эмуляция консолей, работа в качестве плееров, да даже просто сделать настольные часики самому было бы здорово. Но есть одно но — это Android. Платформа от Google может тормозить даже на достаточно мощном железе, что резко ограничивает потенциально возможные применения подобных гаджетов. Да и многие программисты не особо хотят заморачиваться и учить API Android для реализации каких-то своих проектов.

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


Но конечно же, есть один способ писать нативные программы, при этом используя все ресурсы смартфона/планшета. Для этого нужно понимание, как работает процесс загрузки на многих Android-гаджетах:

  1. Первичный загрузчик (BootROM) инициализирует какую-то часть периферии и загружает вторичный загрузчик (U-boot/LK).

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

  3. После загрузки ядра Linux и подключения ramdisk начинается выполнение процессов системы.


Как раз в третьем пункте и лежит ключ к способу, который будем использовать мы. Дело в том, что в смартфоне обычно есть несколько boot-разделов и у каждого свой образ ядра Linux со своим ramdisk. Первый из них — это знакомый моддерамboot.img, который отвечает за загрузку системы и инициализирует железо/монтирует разделы/подготавливает окружение к работе (.rc файлы) и запускает главный процесс Android —zygote. При этом используется собственная реализация init от Android.

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


Второй, не менее знакомый многим раздел —recovery, отвечает за так называемый режим восстановления, в котором мы можем сбросить данные до заводских настроек/очистить кэши или прошить кастомную прошивку. Вероятно, многие из вас замечали, насколько быстро ваш девайс загружает этот режим, гораздо быстрее, чем загрузка обычного Android. И именно в его реализацию нам нужнозаглянуть(я намеренно выбрал бранч версии 2.3 — т.е Gingerbread для простоты):

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


А recovery оказывается самой обычной нативной программой, написанной на C со своим небольшим фреймворком для работы с графикой и вводом. В процессе загрузки режима recovery, скрипт запускает одноименную программу в /sbin/, благодаря которому мы видим простую и понятную менюшку. Так почему бы не использовать этот раздел в своих целях и не написать какую-нибудь нативную программу самому?

Как я уже говорил выше, в этом режиме доступны многие аппаратные возможности вашего смартфона, за исключением модема. Используя полученную информацию, предлагаю написать наше небольшое приложение под Android-смартфон без Android сами!

❯ Подготавливаем окружение


В первую очередь, хотелось бы отметить, что программы под «голый» смартфон можно писать не только на C/C++. Нам доступен как минимум FPC, который довольно давно умеет компилировать голые бинарники под Android. Кроме того, мы можем портировать маленькие embedded-версии интерпретаторов таких языков, как lua, micropython и duktape (JS).

Однако в случае нативных программ, есть два важных правила, которые необходимо понимать. Во-первых, в Android используется собственную реализацию стандартной библиотеки libc — bionic, в то время как на десктопных дистрибутивах используется glibc. Между собой они не совместимы — именно поэтому вы не можете просто взять и запустить консольную программу для Raspberry Pi, например.

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


А второе правило заключается в том, что начиная с версии 4.1, Androidтребует, чтобы все нативные программы были скомпилированы в режиме -fPIE — т. е. выходной код должен не зависеть от адреса загрузки программы в виртуальную память. Для этого достаточно добавить ключ -fPIE, однако учтите, что если вы разрабатываете программу под Android 4.0 и ниже, то fPIE наоборот необходимо убрать — старые версии Androidнеподдерживают такой способ генерации кода и будут вылетать с Segmentation fault.

Для разработки нам понадобится ndk — там есть все необходимые заголовочники и компиляторы для нашей работы. Я используюndk r9c, поскольку в свежих версиях Google регулярно может что-то сломать.
ndk-build, к сожалению, здесь работать не будет, поэтому Makefile придется написать самому. Я составил полностью рабочий Makefile, который без проблем скомпилирует валидную программу, вам остаётся лишь поменять NDK_DIR.

NDK_DIR = D:/android-ndk-r11c/

TOOLCHAIN_DIR = $(NDK_DIR)toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/

GCC = $(TOOLCHAIN_DIR)arm-linux-androideabi-g++

PLAT_DIR = $(NDK_DIR)platforms/android-17/arch-arm/usr/

LINK_LIBS = -l:libEGL.so -l:libGLESv1_CM.so

OUTPUT_NAME = cmdprog

build:

$(GCC) -I $(PLAT_DIR)include/ -L $(PLAT_DIR)lib/ -fPIE -Wl,-dynamic-linker=/sbin/linker $(LINK_LIBS) -static -o $(OUTPUT_NAME) main.cpp micro2d.cpp


После этого пишем простенькую программу, которая должна вывести «Test» и компилируем её.

❯ Деплоим на устройство


Несмотря на то, что грузиться мы будем в режим recovery, нам всё равно будет доступен adb, через который мы сможем запускать и отлаживать нашу программу. Это очень удобно, однако по умолчанию adb включен только в TWRP, который нужно сначала найти или портировать под ваш девайс (на большинство старых брендовых устройств порты есть, на нонейм придется портировать самому — гайды есть в интернете). Под ваше устройство есть TWRP? Отлично, распаковываете recovery.img с помощью так называемой «кухни» (MTKImgTools как вариант):

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


Открываете init.recovery.service.rc и убираете оттуда запуск одноименной службы (можно просто оставить файл пустым).

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


Запаковываем образ обратно тем же MTKImgTools и прошиваем флэшером для вашего устройства — в моём случае, это SP Flash Tool (MediaTek):

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


Заходим в режим рекавери и видим зависшую заставку устройства и звук подключения устройства к ПК. Если у вас установлены драйвера, то вы сможете без проблем зайти в adb shell и попасть в терминал для управления устройством. Теперь можно закинуть программу — прямо в корень рамдиска (записывается программа в ОЗУ, но при переполнении, телефон уйдет в ребут — осторожнее с этим). Пишем:

adb push cmdprog /: adb shell chmod 777 cmdprog ./cmdprog


И видим результат. Наша программа запускается и работает!

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


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

❯ Выводим графику


Для вывода графики без оконных систем, мы будем использовать API фреймбуфера Linux, которое позволяет нам получить прямой доступ к массиву пикселей на экране. Однако учтите, что этот способ полностью программный и может оказаться тормозным для вашего приложения: скорость работы прямо-пропорциональна разрешению дисплея вашего устройства. Чем выше разрешение, тем ниже филлрейт. В моём случае, матрица была с разрешением 960x540, 32млн цветов, IPS — очень недурно, согласны?

Фреймбуфер Linux может работать с самыми разными форматами пикселя, имейте это ввиду. На некоторых устройствах может быть 16-битный формат (262 тысячи цветов, RGB565), на моём же оказался 32х-битный с выравниванием по строкам (имейте это также ввиду). 32х битный формат. Работать с ним легко: открываем устройство /dev/graphics/fb0, получаем параметры (разрешение, формат пикселя), делаем mmap для отображения буфера с пикселями на экране в память нашего процесса и выделяем второй буфер для двойной буферизации дабы избежать неприятных мерцаний.

void m2dAllocFrameBuffer()

{

fbDev = open(PRIMARY_FB, O_RDWR);

fb_var_screeninfo vInfo; fb_fix_screeninfo fInfo;

ioctl(fbDev, FBIOGET_VSCREENINFO, &vInfo);

ioctl(fbDev, FBIOGET_FSCREENINFO, &fInfo); fbDesc.width = vInfo.xres;

fbDesc.height = vInfo.yres;

fbDesc.pixels = (unsigned char*)mmap(0, fInfo.smem_len, PROT_WRITE, MAP_SHARED, fbDev, 0); f

bDesc.length = fInfo.smem_len; fbDesc.lineLength = fInfo.line_length;

backBuffer = (unsigned char*)malloc(fInfo.smem_len); memset(backBuffer, 128, fInfo.smem_len);

printf("Framebuffer is %s %ix%ix%i\n", (char*)&fInfo.id, fbDesc.width, fbDesc.height, vInfo.bits_per_pixel, fInfo.type);

}


Если не сделать предыдущий шаг и запускать нашу программу параллельно с recovery, то они обе будут пытаться друг друга «перекрыть» — эдакий race condition:

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


После этого пишем простенькие функции для блиттинга картинок (в том числе с альфа-блендингом). В инлайнах и критичных к скорости функциям лучше не делать условия на проверку границ нашего буфера — лучше «отрезать» ненужное еще на этапе просчета ширины/высоты:

__inline void pixelAt(int x, int y, byte r, byte g, byte b, float alpha)

{

if(x < 0 || y < 0 || x >= fbDesc.width || y >= fbDesc.height) return;

unsigned char* absPtr = &backBuffer[(y * fbDesc.lineLength) + (x * 4)];

if(alpha >= 0.99f)

{

absPtr[0] = b;

absPtr[1] = g;

absPtr[2] = r;

}

else {

absPtr[0] = (byte)(b * alpha + absPtr[0] * (1.0f - alpha));

absPtr[1] = (byte)(g * alpha + absPtr[1] * (1.0f - alpha));

absPtr[2] = (byte)(r * alpha + absPtr[2] * (1.0f - alpha));

} absPtr[3] = 255; }

for(int i = 0; i < image->height; i++)

{

for(int j = 0; j < image->width; j++)

{

byte* ptr = &image->pixels[((image->height - i) * image->width + j) * 3]; pixelAt(x + j, y + i, ptr[0], ptr[1], ptr[2], alpha);

}

}


И загрузчик TGA:

CImage* m2dLoadImage(char* fileName) {

FILE* f = fopen(fileName, "r");

printf("m2dLoadImage: Loading %s\n", fileName);

if(!f)

{

printf("m2dLoadImage: Failed to load %s\n", fileName);

return 0;

}

CTgaHeader hdr;

fread(&hdr, sizeof(hdr), 1, f);

if(hdr.paletteType)

{

printf("m2dLoadImage: Palette images are unsupported\n");

return 0;

}

if(hdr.bpp != 24) {

printf("m2dLoadImage: Unsupported BPP\n");

return 0;

}

byte* buf = (byte*)malloc(hdr.width * hdr.height * (hdr.bpp / 8));

assert(buf);

fread(buf, hdr.width * hdr.height * (hdr.bpp / 8), 1, f);

fclose(f);

CImage* ret = (CImage*)malloc(sizeof(CImage));

ret->width = hdr.width;

ret->height = hdr.height;

ret->pixels = buf;

printf("m2dLoadImage: Loaded %s %ix%i\n", fileName, ret->width, ret->height);

return ret;

}


И попробуем вывести картинку:

m2dInit();

test = m2dLoadImage("test.tga");

test2 = m2dLoadImage("habr.tga");

while(1)

{

m2dClear();

m2dDrawImage(test, 0, 0, 1.0f);

m2dDrawImage(test2, tsX - (test2->width / 2), tsY - (test2->height / 2), 0.5f);

m2dFlush();

}

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост



Не забываем про порядок пикселей в TGA (BGR, вместо RGB), меняем канали b и r местами в pixelAt и наслаждаемся картинкой на большом и классном IPS-дисплее:

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост
Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


Производительность отрисовки не очень высокая, однако если оптимизировать код (копировать непрозрачные картинки сразу сканлайнами и убрать проверки в инлайнах), то будет немного шустрее. Google для подобных целей сделали собственный простенький софтрендер —libpixelflinger.

Есть вариант для быстрой и динамичной графики: использовать GLES, который без проблем доступен и из recovery. Однако, насколько мне известно (в исходники драйверов посмотреть не могу), указать фреймбуфер в качестве окна не получится, поэтому в качестве Surface для рендертаргета у нас будет служить Pixmap (так называемый off-screen rendering), которому нужно задать правильный формат пикселя (см. документацию EGL). Рисуем туда картинку с аппаратным ускорением и затем просто копируем в фреймбуфер с помощью memcpy.

❯ Обработка нажатий


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

Каждое устройство, которое может передавать данные о нажатиях, находится в папке /dev/input/ и имеет имя вида event. Как узнать нужный нам event? Нам нужен mtk-tpd — реализация драйвера тачскрина от MediaTek (у вашего чипсета может быть по своему), для этого загружаемся в Android и пишем getevent. Он покажет доступные в системе устройства ввода — в моём случае, это event2:

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост


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

// Open input device evDev = open(INPUT_EVENT_TPD, O_RDWR | O_NONBLOCK);


После этого, читаем события с помощью read и обрабатываем их. На устройствах с резистивным тачскрином, передается просто ABS_POSITION_X, на устройствах с поддержкой нескольких касаний — используетсяпротокол MT. Когда пользователь нажал на экран, посылается нажатие BTN_TOUCH с значением 1, а когда отпускает — соответственно BTN_TOUCH с значением 0. Разные драйверы тачскрина используют разные координатные системы (насколько я понял), в случае MediaTek — это абсолютные координаты на дисплее (вплоть до ширины и высоты). На данный момент, я реализовал поддержку только одного касания, но при желании можно добавить трекинг нескольких нажатий:

void m2dUpdateInput()

{

input_event ev;

int ret = 0;

while((ret = read(evDev, &ev, sizeof(input_event)) != -1))

{

if(ev.code == ABS_MT_POSITION_X) tsState.x = ev.value;

if(ev.code == ABS_MT_POSITION_Y) tsState.y = ev.value;

if(ev.code == BTN_TOUCH) tsState.isPressed = ev.value == 1;

}

tsState.cb(tsState.isPressed, tsState.x, tsState.y); }


Теперь мы можем «возить» логотип Хабра по всему экрану:

void onTouchUpdate(bool isTouching, int x, int y) {

if(isTouching)

{

tsX = x;

tsY = y;

}

}

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

printf("Test\n");

m2dInit();

test = m2dLoadImage("test.tga");

test2 = m2dLoadImage("habr.tga");

printf("Volume: %i %i\n", vol, muteState);

m2dAttachTouchCallback(&onTouchUpdate);

while(1) {

m2dUpdateInput();

m2dClear();

m2dDrawImage(test, 0, 0, 1.0f);

m2dDrawImage(test2, tsX - (test2->width / 2), tsY - (test2->height / 2), 0.5f);

m2dFlush();

}

return 0;

}

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android Гаджеты, Смартфон, Linux, Телефон, IT, Хакеры, Hacking, Программирование, Embedded, C++, Одноплатный компьютер, Nix, Unix, Ядро, Kernel, Android, Длиннопост



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

❯ Звук, модем и другие возможности


Для звука нам придётся использовать ALSA — поскольку эта подсистема звука сейчас используется в большинстве устройств на Linux. Судя по всему, тут есть режим эмуляции старого и удобного OSS, поскольку устройства /dev/snd/dsp присутствует. Однако, вывод в него какого либо PCM-потока не даёт ничего, поэтому нам пригодится ALSA-lib.

Другой вопрос касается модема и сети. И если Wi-Fi ещё можно поднять (wpa_supplicant можно взять из раздела /system/), то с модемом будут проблемы — нет единого протокола по общению с ним и кое-где, чтобы его заставить работать, нужно будет немного попотеть. Не стесняйтесь изучать исходники ядра (MediaTek охотно делится реализацией вообще всего — там и RIL, и драйвер общения с модемом) и смотреть интересующие вас фишки!

❯ Заключение


Как мы с вами видим, у старых девайсов все еще есть перспективы стать полезными в какой-либо сфере даже без Android на борту. На тех устройствах, где нет порта Ubuntu или обычного десктопного Linux, всё равно сохраняется возможность писать нативные программы и попытаться приносить пользу.

Не стесняйтесь лезть и изучать вендорские исходники — это даёт понимание, как работают устройства изнутри. Собственно, благодаря такому ежедневному копанию исходников системы и появилась данная статья! :)

Показать полностью 14
[моё] Гаджеты Смартфон Linux Телефон IT Хакеры Hacking Программирование Embedded C++ Одноплатный компьютер Nix Unix Ядро Kernel Android Длиннопост
138
1833
monobogdan
monobogdan
1 год назад
TECHNO BROTHER

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

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



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

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



С весьма интересным решением пришла компания 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.

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Причина низкой цены и хорошего функционала очень проста: Orange Pi просто взяли референсную плату ультрабюджетного смартфона за 1.500-2.000 рублей и развели из нее одноплатник, который затем начали производить. На момент выхода одноплатника, смартфоны на 8810 не производились, так что отпускная цена на чипы была копеечная, в то время как на AllWinner'ы спрос весьма хорош. Год назад они продавались по 700 рублей с учетом доставки, но сейчас их окончательно распродали и найти их можно только на вторичке.

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



3G IoT — следующая ветвь развития IoT линейки OPi, которая на этот раз работает на базе чипсета MediaTek и имеет полноценную поддержку 3G. По сути, возможности остались те же, однако возможности вывода на HDMI до сих пор нет — теперь производитель предлагает LVDS матрицу, опять же, втридорого. Однако схема есть, чисто теоретически есть возможно купить какой-нибудь бюджетник от ZTE/Huawei, найти схему платы и сделать переходник с шлейфа нашей матрицы на коннектор одноплатника. Драйвер матрицы можно взять в исходниках ядра и без изменений перенести. Работает девайс на базе чипа для бюджетных смартфонов, однако теперь в нашем распоряжении целых два ядра!

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Характеристики девайса такие:

  • Процессор: 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, поставляется в фирменной коробочке. Гребенка уже распаяна с завода.

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Ну что-ж, предлагаю посмотреть, что может предложить нам такой одноплатник и стоит ли его вообще брать?

Накатываем систему

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

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



На первом проходе, флэшер переразметит внутреннюю память, но ругнется на отсутствующий раздел System. После этого, нужно вернуть режим Download only, снять галку с System и прошить устройство еще раз — после этого, плата будет загружаться с MicroSD:

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Теперь нужно записать саму систему на флэшку. Образы записываются как обычно — берем флэшку на 4-8гб, вставляем в кард-ридер и записываем образ через Win32DiskImager. Флэшку желательно брать 10-класса, но у меня и «пятерка» работала с адекватной производительностью:

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



После записи, вставляем флэшку в устройство и запитываем его. Возможны варианты питания как напрямую от БП, так и от аккумулятора — в таком случае, при подключении БП, контроллер питания будет заряжать аккумулятор, а за статусом зарядки можно следить через устройство battery в /sys/class/power_supply/ (и в Linux, и в Android).

Для общения с системой через консоль, нам понадобится UART-преобразователь. Я для этого использую плату ESP32-WROOM с выпаянным чипом ESP32. Подтыкиваемся (или подпаиваемся) к UART'у, запускаем putty, ставим бодрейт 115200 и вперед наблюдать за консолью!

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост
Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Настраиваем Linux

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

Итак, система запустилась и требует логин, а кроме этого — сыпет логами в UART. Стандартный логин — root, пароль orangepi, лучше смените пароль сразу. Надоели логи? Пишем:

dmesg -n 1

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Можно сразу записать эту команду в 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, даже если вытащить флэшку. Лечится легко: обесточиваем плату, затем включаем снова.

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Подключиться можно хоть к точке 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. Ждём обновления списка пакетов.

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Теперь мы можем ставить официальные бинарные пакеты из репозиториев. Нам доступна куча софта, в том числе с более старших Raspberry Pi и Orange Pi — ABI то одно! Можно поставить TightVNCServer, запустить его и без проблем подключиться к нашей машинке (5900 — базовый порт, 5901 — будет для первого дисплея и.т.п).

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Но сейчас у нас просто маленький и слабенький десктоп. Надо же использовать возможности одноплатника по полной, верно?

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



GPIO

У устройства есть гребенка с 40 пинами, часть из которых мы без проблем можем использовать для наших целей. Друзья, если вы уже имели опыт с другими одноплатниками, то знаете что для Broadcom/AllWiiner и других иных чипсетов уже есть готовые библиотеки для работы с GPIO. Под MediaTek их нет, но ничего сложного в работе с ними из user-space нет. Рассмотрим схему подробнее и два способа работы с ними:

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Первый из официального мануала, подразумевает чтение и запись в специальное виртуальное устройство — 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 :)

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



Пожалуйста, согласовывайте уровни! GPIO у MT6572 имеют лог. уровень 1.6в. Часть периферии чипсета работает на стандартных 3.3в.
Как это работает? См.в исходниках ядра.

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

Есть и второй способ — использовать mt-gpio напрямую через вызов ioctl. Я этот режим пока еще не пробовал, но он гораздо быстрее — для юзерспейса самое то, а работать с ним довольно легко. См. исходники драйвера здесь.

UART

Это второй способ коммуникации с внешним миром, доступный из коробки. На устройстве целых два канала UART, которые могут работать как минимум со скоростью 921600б/с (или 115200 килобайт в секунду). лучше всего использовать эту шину для общения с другими микроконтроллерами или ПК.

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



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

Одноплатный компьютер с 3G «за косарь». Что Orange Pi предлагает по цене ящика пива? Гаджеты, Покупка, Сборка компьютера, Одноплатный компьютер, Android, Arm, Linux, Девайс, Минипк, Компьютер, Nix, Embedded, Длиннопост



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

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

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед⁠⁠

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Многие из нас помнят компанию Nokia, как одного из лидеров мобильного рынка и производителя самых разных, необычных устройств, которые опережали свое время на много лет вперед! К сожалению, нынешняя Nokia — это уже совсем не та компания, которую мы любили и которой отдавали предпочтение при выборе мобильного девайса. Однако ещё во времена перехода под крыло Microsoft, практически под самый закат, финны сделали шедевральное устройство на десктопном Linux, которое до сих пор находит отголоски в современном мире смартфонов. И имя этому шедевру — Nokia N9! Недавно мне написал почётный хабровчанинdlinyjи предложил подарить этого красавца мне: причём с полным комплектом! Почему он оказался прорывным и что общего имеет с Lumia 800? Читайте подробнее в статье!

❯ Что за гаджет?


Когда-то у Nokia было две основных платформы, на базе которых они выпускали свои портативные гаджеты: S40, на которой работали функциональные Java-телефоны, сейчас их называют «фичефонами», и S60 — версия Symbian, на которой работало большинство смартфонов этой компании. Финская корпорация смогла занять серьезный процент практически в каждом сегменте рынка: бюджетники (1110, 1202 «фонарик», 2700c), средний класс (5310 XpressMusic, 5230/5228, 6300), флагманы (N95, N91, N72/N73) и, конечно же, бизнес-сегмент (8800 Arte/Luna, E90, в каком-то смысле Vertu).


Однако помимо выпуска девайсов на стандартных платформах была у Nokia и команда разработчиков, отвечавшая за гиковские устройства, которые были предназначены исключительно для энтузиастов. Началось всё с выпуска одного из первых устройств в классе «интернет-планшетов», имя которому было Nokia 770 Internet Tablet. Устройство, вышедшее за 5 лет до появления iPad, предоставляло обычному пользователю почти все возможности портативного компьютера тех лет: серфинг интернета через Wi-Fi, прослушивания музыки и просмотр видео с флэшек RS-MMC, а также работа с документами.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Но это если смотреть с точки зрения обычного пользователя. На самом же деле устройство обладало огромными возможностями для разработчиков благодаря тому, что работало на базе ОС Maemo — адаптации десктопного окружения Linux под мобильные устройства. Nokia не просто выпустили на рынок занимательный продукт: они полностью открыли исходный код всей системы, позволяя кастомизировать прошивку как угодно, реализовали «магазин приложений» в виде репозитория с различными пакетами и позволяли запускать абсолютно любое Linux приложение, скомпилированное под ARMv5.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



В то время это было как глоток свежего воздуха. Конечно же, уже существовали КПК на базе Windows Mobile, где пользователи вовсю кастомизировали прошивки: подменяли драйвера из устройства в устройство, делали патчи и твики реестра/ядра, русифицировали и подменяли встроенные программы. Однако WinMobile оставалась проприетарной операционной системой, где хоть и был доступ к исходному коду ядра для любого желающего (Platform Builder), без BSP (Board Support Package — порт системы на определенную материнскую плату) в этом практически не было смысла. Другое дело — пользователи планшетов от Nokia: там была полная свобода во всем!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Отдельной особенностью Maemo оставалось то, что даже пользовательский интерфейс строился по принципам обычного ПК и на базе тех же библиотек. В качестве официальной библиотеки интерфейса, Nokia предлагала GTK с набором виджетов для построения общего Look&Feel системы, но никто не мешал использовать Qt, или, например, wxWidgets.

И вот так, из года в год, выходили всё новые и новые устройств на базе Maemo. После 770 был успешный N800, а позднее в том же году появился и N810 с QWERTY-клавиатурой. В репозиториях появлялось всё больше и больше софта и, хотя едва ли обычный пацаненок с района мог увидеть у кого-то в руках такое устройство, именно они, в паре с КПК, стали прообразами современных смартфонов. Но был ещё один важный нюанс: ни один из интернет-планшетов от Nokia не имел радиомодуля. Выходить в интернет предлагалось с помощью Wi-Fi или через Bluetooth. Таким образом, эти девайсы нельзя было назвать полноценными коммуникаторами и смартфонами…

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



До 2009 года. Ведь именно в этом году Nokia представляет коммуникатор N900 с QWERTY-клавиатурой, который снабдили радиомодулем, благодаря которому он оказался способен как звонить, так и выходить в интернет через 3G. Кроме того, у N900 были все характеристики современного смартфона: достаточно мощный ARM-чипсет TI OMAP с частотой 600мгц, способный запустить Linux; 256 мегабайт оперативной памяти (топовые коммуникаторы имели 128мб); GPU PowerVR SGX530 (что вообще было редкостью в мобильниках тех лет и только Qualcomm встраивали Adreno вообще во все свои чипы); магазин приложений и, конечно же, тачскрин, пусть и резистивный! Подробнее про N900 читайте в моей соответствующей статье.


В 2010-2011 годах Android уже начал идти победоносной поступью, будучи предустановленным на самые разные гаджеты: от телефонов и планшетов до тв-боксов и электронных книг. iPhone уже успел полностью согнуть свою линию и доказать, что за гаджетами с емкостными тачскринами и мощным железом будущее. Symbian уже было тяжело конкурировать с мастодонтами рынка: не помогал даже Qt, а о нативном API системы говорить вообще не стоит (оно неплохое, но своеобразное), нужно было думать, куда двигаться дальше. Сделать свой Android смартфон? Продолжать работу над Maemo? Microsoft уже начали потихоньку потирать руки и пытаться прибрать мобильное подразделение Nokia к себе: сначала поставили в кресло CEO Стивена Элопа, а затем сменили курс компании с Symbian/Maemo на Windows Phone.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Symbian развивали и поддерживали до последнего, до 2012 года, когда Nokia совсем сдалась и прекратила выпускать серьезные апдейты, коим стал Symbian Bella. Nokia уже успела выпустить первые смартфоны линейки Lumia на базе Windows Phone и пыталась удержаться на плаву. Но у компании припасен ещё один козырь за пазухой. О котором знали в Microsoft, который действительно имел все шансы перевернуть мобильный рынок с ног на голову, и который развивали вместе с Intel. И имя ему — MeeGo!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Nokia действительно могла перевернуть мобильный мир, если бы ей не мешала Microsoft. И не нужны были бы ей смартфоны на Android, когда у них самих была такая классная система. И ведь кто-то подумает «ну было и было», ан-нет, отголоски MeeGo раздаются и сейчас. Часть инженеров Nokia ушли развивать MeeGo в виде отдельной компании Jolla с смартфонами на базе Sailfish OS — дальнейшее развитие перспективной системы от Nokia. И как бы необычно это не звучало, сейчас Sailfish развивают в… России! Ростелеком выкупил контрольный пакет акций Jolla, что позволило реализовать свой форк под знакомым многим из вас названием Aurora OS! Я даже рискнул оставить заявку на закрытое бета-тестирование, авось и я смогу подержать в руках устройство на Авроре и даже что-то запилить на него, например, 3D-игрушку! :)

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Nokia N9 стал первым и последним гаджетом на базе MeeGo, на который будет крайне интересно взглянуть и… понять, что мы пришли ко всему тому, что Nokia реализовала много лет назад! N9 мне подарил мой читатель, наставник авторского дела и просто крутой мужик Сергей "@dlinyj" Долин! Этот человек сыграл довольно большую роль в становлении меня, как автора: давал советы касательно фотографий, стилистики текста, кое-где поправлял меня. И в один день он скинул фотографию N9 в родной коробочке со словами «хочешь же?))», заранее зная мой ответ! Сергей и сам успел поработать над Авророй, поэтому наличие у него N9 не вызывает вопросов.
Этот материал я решил подготовить на круглую и праздничную для меня дату — день рождения моего блога! Ровно год назад, 16 июля 2022 года, я написал свою первую статью — обзор на Samsung X450. :)

❯ Распаковываем...


Поставлялся девайс в большой коробочке, фирменного синего цвета и с гравировкой логотипа, как и свойственно всем флагманам Nokia. В N900 на коробке гравировали даже кнопки QWERTY-клавиатуры на силуэте устройства — даже над дизайном такой мелочи поработали знатно. Нас сразу встречает заветная надпись: Nokia N Series!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Открываем коробочку и видим там комплект из: смартфона, буклетов, наушников и ЗУ. Всё весьма компактно и в чем то даже напоминает стиль iPhone.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Основные интерфейсные разъемы устройства расположены сверху: там и слот под SIM, и разъем для ЗУ, причем на магнитах (!).

Что самое интересное — у N9 был параллельный «собрат» на Windows Phone в виде Lumia 800. Несмотря на то, что работают они на совершенно разных чипсетах и имеет немного отличающийся тачскрин, у этих девайсов очень похожий дизайн корпуса, конструкция, полностью совместимые дисплеи с немного разной диагональю, у них даже есть некоторые сходства в разводке материнской платы.

Характеристики нашего устройства такие:

  • Чипсет: TI OMAP 3630, одно ядро Cortex A8 на частоте 1ггц.

  • GPU: PowerVR SGX530. Весьма неплохое видеоядро по тем годам, немного более мощное использовалось, например, в первом iPad. Есть поддержка OpenGL ES 2.0.

  • ОЗУ: 1гб. Очень серьёзный объем по тем временам, некоторые флагманы комплектовались лишь 512мб ОЗУ, что было стандартом индустрии в 2012-2013 годах.

  • ПЗУ: 16 или 64гб. По тем временам, очень серьезный объем памяти.

  • Камера: 8мп фотокамера с оптикой от Carl Zeiss. Данная оптика стала стандартом и визитной карточкой многих камерафонов от Nokia. Помимо съемки фото, смартфон способен записывать видео в 720p при 30 кадрах в секунду.

  • Дисплей: 3.9" AMOLED матрица 854x480.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост



Сергей прислал изначально полностью рабочий гаджет, что для моего блога обычно не свойственно — я люблю покопаться и в нерабочих девайсах. Однако некоторой адаптации под современные реализации смартфон всё же требовал и в первую очередь — обновление репозиториев.

❯ Патчим в программном плане


Поскольку MeeGo — это по сути, полноценный десктопный Linux, адаптированный под мобильные платформы, он точно также, как и Maemo, использует менеджер пакетов dpkg. Все приложения для этих систем распространяются в виде знакомым большинству линуксоидов пакетов .deb.

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

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


Установить файловый менеджер можно скачав соответствующий .deb и скинув его через Bluetooth. Я выбрал FileBox. Затем его можно установить в списке переданных файлов обычным тапом. Обратите внимание, что пакеты для MeeGo имеют подпись а-ля Symbian, поэтому если у вас не устанавливается ничего — проверьте дату и время.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


Некоторые программы можно установить только в терминале, вручную вызвав dpkg -i с необходимым пакетом .deb. Для активации режима разработчика, который добавляет возможность связи с ПК и эмулятор терминала, нам нужно сначала обновить зеркала репозиториев с пакетами, установивэтот .debи затем активировать девмод в настройках. Смартфон докачает и установит нужные пакеты, перезагрузится, и мы сможем свободно пользоваться терминалом.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


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

❯ Смотрим на MeeGo


В первую очередь, MeeGo ещё в 2011 году вводила концепцию полного управления системой жестами. Здесь вообще нет никаких кнопок «домой», «назад», «диспетчер приложений» — все это инженеры Nokia посчитали не нужным и реализовали всё взаимодействие благодаря простым и понятным свайпам. Обратите внимание, ничего не напоминает? Неужто кто-то с выходом десятки полностью позаимствовал фишку финского гиганта?



Кроме того, Nokia посчитали, что мобильной системе не нужен рабочий стол в его классическом виде. Схожий подход, где на домашнем экране сразу расположены все приложения, уже реализовала Apple еще в первом айфоне. Однако в айфоне домашний экран поделен на страницы, в то время как в MeeGo это список с возможностью создания подпапок. Причем рабочий стол с виджетами был до этого в Maemo, но Nokia решили не переносить его в MeeGo.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


UX системы вообще очень необычный. Он пытается сочетать все лучшее из iOS, WP и отчасти Android. Да, здесь есть шторка уведомлений, но выглядит она максимально минималистично и единственная настройка — громкость звука. Да, часть параметров приложений можно найти в настройках — прямо как в iOS. Да, здесь уже был относительно строгий полу-Flat стиль, немного напоминающий стиль iOS 7 (который вышел на 2 года позже MeeGo). Даже меню опций нет, лишь значки действий снизу — как и в N8 на Symbian.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


Кроме того, здесь довольно удобно реализован диспетчер задач. В Android он только-только появился в 3.0 Honeycomb, а в iOS он был реализован жутко неудобно. Однако, судя по всему, MeeGo не умеет сама закрывать или отправлять в сон приложения, как это делает Android и iOS — такова нативная линуксовая натура системы. Из-за этого, если открыть слишком много приложений, можно наблюдать небольшие лаги. Вообще, система действительно не сказать что работает уж очень плавно: яблочки тех лет работали гораздо шустрее и плавнее, однако по тем временам плавность системы достаточно приемлема.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


Я решил установить некоторые приложения и использовать N9 в современном мире. И в целом, для каких-то базовых действий он отлично подойдёт и сегодня!

В системе есть браузер на базе WebKit — тот самый браузерный движок, что используется и в Safari на iOS, и долгое время использовался в стандартном браузере Android. Благодаря дисплею, страницы выглядят очень сочно, но только те, которые загрузятся :) И дело даже не в веб-стандартах, большинство страниц браузер сможет худо-бедно переварить. Однако встает проблема с сертификатами — браузер их не умеет игнорировать, если они просрочены, и вываливается в ошибку, отказываясь загружать сайт. Кроме того, браузер не поддерживает SSL 1.2, который использует большинство сайтов на данный момент.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


Зато в системе полностью функционирует почтовый клиент, причем довольно удобный. И здесь открывается еще одна фишка системы: один менеджер для всех аккаунтов на устройстве. Подобную концепцию имеет Android почти с самого начала, но в MeeGo она выделена в отдельное приложение. Не исключено, что в будущем туда хотели добавить и менеджер паролей — было бы весьма удобно!

Что же касается самого клиента почты, то его без проблем можно настроить на Яндекс почту, и на gmail — только не забываем включить SSL (по умолчанию отключен) и использовать одноразовые пароли — двухэтапную аутентификацию большинство старых гаджетов не поддерживает.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост
Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


И, конечно же, девайс подойдет для прямого применения — звонков. Помимо весьма удобного приложения номеронабирателя, N9 полностью поддерживает Nokia PC Sync и без проблем позволяет синхронизировать как контакты из vcf/outlook, так и фото/видео/музыку. Есть поддержка и CalDAV и некоторых других сервисов для синхронизации по сети.

Помимо всего прочего, у девайса отличный аудиотракт. Музыка в наушниках звучит отлично, кроме того, есть улучшалки от Dolby, благодаря чему девайс вполне можно юзать как плеер. Сергей похоже так и юзал его, судя по трекам в плейлисте. Само приложение не менее удобное и создавалось для взаимодействие с Ovi Music — аналогом iTunes от Nokia. Уже потом, музыкальный сервис от Nokia начали использовать в устройствах на WP.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост


А ещё устройство неплохо подойдет в качестве камеры. На 2011 год качество снимков весьма на уровне! Как уже сказано выше, девайс умеет записывать и видео в 720p при 30 FPS.

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост
Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

Полный фотосет есть на imgur.

А ещё смартфон сможет статьи отличной платформой для прохождения отличных мобильных игр — без доната и таймеров!

Nokia N9 — уникальный Linux-смартфон, опередивший своё время на много лет вперед Гаджеты, Смартфон, Разработка, Linux, Android, Nokia, Meego, Nix, Unix, Мобильные телефоны, Операционная система, Железо, Microsoft, Windows Phone, Nokia Lumia, Видео, Вертикальное видео, Длиннопост

❯ Заключение


N9 получился первым гиковским устройством, которое могли без проблем использовать и обычные пользователи. Nokia вложили много сил и времени для того, чтобы привнести в N9 революционные по тем временам идеи, да так, что некоторые фишки потом у неё «позаимствовали» сами гиганты индустрии!

И очень хорошо, что история MeeGo не закончилась на этом. Кто знает, быть может эта система когда-нибудь сделает камбэк и скинет обросший кучу легаси Android? А вы как считаете? Жду ваше мнение в комментариях!

Показать полностью 23 1
[моё] Гаджеты Смартфон Разработка Linux Android Nokia Meego Nix Unix Мобильные телефоны Операционная система Железо Microsoft Windows Phone Nokia Lumia Видео Вертикальное видео Длиннопост
126
150
monobogdan
monobogdan
2 года назад
TECHNO BROTHER

Nokia N900 — Легендарный Linux смартфон⁠⁠

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост


Nokia N900— безусловно легендарный и уникальный смартфон на Linux, покоривший сердца тысяч гиков. Даже несмотря на высокую цену и сырую прошивку, устройство пользовалось большой популярностью не только у разработчиков, но и рядовых пользователей, а главной его изюминкой была ОСMaemo— полноценный Linux дистрибутив, с тем же окружением, что и на ПК, но оптимизированный под палец. Да, да, обычные «иксы», GTK, Gnome, dpkg — но всё это на смартфоне! Сегодня мы посмотрим на этот гаджет с физической QWERTY клавиатурой, оценим его перспективы в 2023 году и решим: а есть ли перспективы у подобных смартфонов сейчас? Давайте познакомимся с ним поближе!"


Предыстория

Многие из нас помнят, как Nokia в начале нулевых была на пике популярности, разрабатывая и продавая самые разные телефоны. В ход шли различные эксперименты: с форм-факторами, с железом, с системой. Казалось, больше ни одна компания на рынке телефонов не могла себе позволить подобной свободы экспериментов, как это делали в Nokia, которые умудрялись покрывать все сегменты мобильного рынка. Смотрите сами: игровой смартфон N-Gageс картриджами, эксперимент, на который не пошла бы любая другая компания кроме Nokia:

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Компактный и красивый «квадратик сыра» 7600 с необычной клавиатурой, на базе всё той же Symbian:

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Так или иначе, эти проекты обычно «выстреливали» и становились весьма популярными на рынке мобильников. Но такие необычные гаджеты были построены на весьма стандартном железе и программной платформе от Nokia, которая известна многим, в то время как отдельное подразделение Финской компании пыталось продвинуть в массы понятие «интернет-планшетов». Как мы уже с вами знаем, в нулевых Microsoft уже вовсю представила концепцию Tablet PC и своё видение планшета как таковое: он должен уметь то, что умеет десктоп. И кто-то даже помнит, как подобные девайсы выглядят: толстый корпус с полноценными VGA и USB (толщина обуславливалась аккумулятором и активной системой охлаждения), 10" TN дисплей с резистивным тачскрином и обычно Windows XP Tablet PC 2002 на борту. И стоили такие девайсы, мягко говоря, не мало.

Nokia тоже метила в этот рынок, однако видение интернет-планшетов у неё было своё. По её мнению, у планшета должны быть хардварные кнопки, он должен быть достаточно компактным, чтобы влезть в карман (дисплей всего 4", но по тем временам это было как сейчас 10-11"), но при этом работать на полноценном дистрибутиве Linux и иметь возможность беспроводного подключения к интернету. Nokia разработала свою ОС для подобных интернет-планшетов — Maemo, которая фактически была адаптацией «классического» Linux окружения для ARM планшетов с тачскрином. Судите сами: здесь у нас были обычные «иксы» (X-Window System, менеджер окон), «гном» (GNOME, окружение рабочего стола), в качестве официальной библиотеки для создания интерфейса использовался самый обычный GTK с некоторыми дополнениями, а в качестве менеджера пакетов — dpkg!

Например Android, несмотря на то, что основан на ядре Linux, реализует все необходимые системные компоненты сам. Оконная система — своя, механизм запуска приложений и установки пакетов — свой, врапперы между железом и самой системой — свои, даже стандартная библиотека своя — bionic. Под Android нельзя просто взять и скомпилировать какое-то приложение с интерфейсом, обязательно должна быть прослойка на Java, поскольку часть системы сама по себе написана на Java (в том числе и UI). Хотя возможность запускать обычные консольные приложения остается, но скомпилированы они должны быть собственным тулчейном — NDK.

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Подход Nokia оценили энтузиасты, поскольку это открывает простор к портированию десктопных программ на подобный гаджет. Ведь формально всё уже стандартизировано, а требования к планшетным программам на тот момент был не высок — главное чтобы можно было в интернете посидеть, да какие-то простые задачи выполнять. Важно то, что Nokia не позиционировала свои интернет-планшеты как замена телефону, у них не было своего отдельного радиомодуля: обладателю подобного гаджета всё равно приходилось носить с собой мобильник, а учитывая что телефоны не могли выступать точкой доступа Wi-Fi, то портативность подобного планшета резко снижалась. Его скорее можно было отнести к КПК для гиков: для всех остальных были КПК на WinMobile, где программ было в разы больше.

Шло время, в 2006-2008 годах популярность КПК была на пике, а устройства на WinMobile успели сильно подешеветь (привет Rover и ETen!) до относительно приемлемых 10-12 тысяч рублей за устройство. Nokia выпустила еще несколько планшетов, одним из которых был N810, который обзавёлся физической QWERTY клавиатурой в виде слайдера, который уже очень напоминал N900, но у него всё ещё не было радиомодуля. Его форм-фактор был действительно удобным, но ведь всё равно не комильфо носить целых два девайса одновременно для разных задач. Нужно было их объединить в один!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост


Nokia N810.

И вот, 2 сентября 2009 года, на мероприятии Nokia World, был представлен венец творения Maemo-коммуникаторов: Nokia N900! Свершилось! Nokia наконец-то добавила радиомодуль, превратив свой КПК в полноценный смартфон и дала возможность объединить два устройства в одно. При этом Maemo не позиционировалась как замена Symbian и не создавал внутренней конкуренции с такими красавцами, как Nokia N97, а лишь был устройством для относительно узкого круга лиц фанатов Nokia, как сейчас с устройствами Sony.

После череды переносов, устройство официально выпустили, в том числе начав официальные продажи и в России. Официальная цена устройства составляла адекватные 549 евро (для некоторых стран — 649 евро). Цена в РФ же начиналась от 29.000 рублей по курсу 2009 года, что было весьма немало.

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Под капотом, смартфоны от Nokia (как Symbian, так и Maemo) работали на базе чипсетов TI OMAP разных поколений с модемами собственной разработки. N900 не стал исключением и работал на базе одного из самых лучших смартфонных чипсетов 2009 года — OMAP 3430 с частотой 600мгц и GPU PowerVR SGX530. Что особенно интересно — этот же чипсет применялся в смартфонах Motorola 2009-2010 годов (Milestone например), Palm pre и даже Samsung Omnia HD!
У N900 было 256мб ОЗУ (в то время как у предыдущей модели 128), аж 32гб ПЗУ с возможностью расширения за счет MicroSD, дисплей 3.5" с разрешением 800x480 и резистивным тачскрином, а также камерой на 5мп с светодиодной вспышкой и автофокусом. Весьма недурно для тех лет!
TI OMAP и Nokia славились поддержкой open source сообщества. И речь не только о открытии исходников Symbian в 2009 году, но и поддержке интернет-планшетов: с этим всё было хорошо. Где можно было открыть исходники — они открывали и активно поддерживали коммьюнити.

N900 мне прислал мой читатель Вадим с Хабра, причём история получилась очень забавной. Почти в тоже время, как мне написал Вадим, читатель с пикабу с ником General 121 предложил мне прислатькитайскуюреплику N9001 в 1.

История китайской реплики занимательная: на момент выхода, про N900 трубили все. Смартфон был действительно флагманским и дорогим и моему читателю с пикабу тоже хотелось заполучить такой девайсик себе. Но поскольку девайс стоил дорого, а нарваться на подделку или ворованный девайс на рынке не хотелось, мой читатель обратился на ebay. И тут он увидел его: N900 всего за 7-9 тысяч рублей (что-то около 300$ из США)!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Смартфон приехал к нему и оказалось, что продавец отправил ему китайскую реплику. В диспуте решить ничего не получилось, да так девайс и остался лежать невостребованным… до 2023 года! Причём копия оказалась очень точной как по визуальной части, так и по механической: такой-же механизм слайдера, хардварная клавиатура с похожим тактильным ощущением, неплохой TFT дисплей, пусть и с разрешением в два раза ниже оригинала.
Однако реплика работает на стандартном «китайском» железе — чипсет MediaTek MT6225 (который такжеиспользуется в Nokia TV E72и китайских айфонах) и платформе MAUI на базе Nucleus RTOS, никаким смартфоном тут и не пахнет!

Вообще, в 2009 году китайские умельцы уже делали реплики и просто очень дешевыекоммуникаторына базе Windows Mobile. Средняя цена за новое устройство составляла около 150-200$, а работали они на базе WM 6.5 (видимо пиратской) и чипсета… TI OMAP на 200мгц, схожий с тем, что использовался в бюджетниках Rover/Highscreen! Копировали они и айфоны, и некоторые Android модели HTC (пришли копировать HTC на рынок, который по большей части захвачен HTC). Из тех, что я знаю: копировали HTC Desire и…iPhone(Daxian/SciPhone X999/T999/T32/M85). Прогрессивный SciPhone, который сделал себе имя на репликах айфонов, в 2009 году вообще пересел на Android и начал делать реплики BlackBerry Storm/Samsung Spica и других первых «андроидов» тех лет :) Вот что мешало сделать реплику N900 на WinMobile или Android? Это было бы очень круто!
Если у вас вдруг где-то осталась такие реплики на WinMobile и Android, и она вам не нужна — маякните, пожалуйста, в личку. Более полугода безуспешно ищу на всех площадках, даже пост нахабрепро них делал (воттутитутпримеры подобных девайсов).

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост


SciPhone N Series. Забавно, да? :) Девайс пародирует популярный в то время BlackBerry Storm

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост


iPhone 3G aka Daxian X999 на WinMobile. Такого мы точно не видели!

Возвращаясь к теме N900, Вадим купил его в 2019 году с рук за 5.000 рублей. Видимо он рассчитывал использовать как повседневное устройство, но увы, пришел удобный «телеграмчик» с «вкшечкой», а никто из друзей не хотел переходить на XMPP :( Поэтому девайс со временем отправился на полочку, а затем Вадим, став моим читателем, решил заслать такой девайсик и мне! Вадим и сам когда-то торговал подобными устройствами, с его слов, он работал в сфере продаж мобильных устройств в конце нулевых и N900 продавался очень неплохо!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Для большего интереса, я решил написать не просто статью про оригинал N900, а прямое сравнение с репликой в 2023 — ведь многие брали «китайцев» даже не зная, какой телефон она копирует: многие велись на сенсорный экран и классную «хардварную» клавиатуру! Кто-то из читателей вероятно скажет: «да это сравнение вообще некорректно!», но постойте-ка. Мы ведь хотим сравнить юзабилити смартфонов в 2023из коробки— т.е что они могут делать с завода! Мы с вами оценим: насколько реплика повторяет оригинал, производительность, удобство печати и совместимость с необходимыми приложениями. Давайте начнем!

Первые впечатления

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Оригинальный N900 своим дизайном ломает опыт использования большинства современных устройств. Он действительно ощущается больше как планшет, несмотря на дисплей в 3.5"! И суть вот в чём: Maemo спроектирована для работы в ландшафтной ориентации. То есть, большинство операций в ней можно выполнить только держа смартфон в горизонтальном положении! И это очень необычно на сегодняшний день.

Более того, Nokia отказались от хардварных кнопок на лицевой панели, оставив для навигации лишь кнопку включения (которая выполняет функцию «суперкнопки»), а весь интерфейс очень напоминает десктопный. Как я уже говорил — в системе используется самый обычный GTK, в который добавили лишь несколько нужных для N900 элементов интерфейса. И тут активно применяются техники UX, присущие для десктопов — контекстные меню, tool bar'ы, главные меню. И в целом, всем этим удобно пользоваться: программы не ощущаются перегруженными. Даже местами кажется, что Nokia использует место на экране эффективнее Android: панель со статусом компактная и почти не занимает места, а для менюшки и многозадачности выделена одна глобальная кнопка слева сверху. Вот и всё!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Получилось весьма удобно и даже несмотря на резистивный тачскрин, устройством легко пользоваться и пальцами. Из хардварных элементов управления, у нас также есть фирменный «бегунок» для разблокировки, двухпозиционная кнопка камеры, а также регулятор громкости. Кроме того, в устройстве есть ИК-порт. Всё! Никаких кнопок «назад», «контекстное меню», «многозадачность» — это всё реализовывает приложение в UI!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Китаец

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Китаец тоже довольно забавный, правда он почему-то копирует Symbian, а не Maemo. Но это можно объяснить: китайцы уже вовсю производили реплики X6, N97, N8, где такая «адаптация» интерфейса уже прижилась! И тем не менее, всё неплохо предусмотрено. Если в оригинале далеко не во всех приложениях можно управлять с клавиатуры, то у китайца клавиатура поддерживается почти везде. И при этом, здесь есть полноценный DPad!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Интерфейс реплики не вызывает каких-то нареканий, кроме мемного перевода и некоторой задумчивости телефона. Но в целом, всё выглядит вполне лаконично и работает нормально, более того — адаптировано под обе ориентации! Даже виджеты скопировали, когда их концепция еще только начала зарождаться!

Что забавно — в китайце используется АКБ большей емкости: BP-4L (1500мАч), чем BL-4U (1.000мАч), что позволяет ему работать несколько дольше оригинала. Но оригинал ведь смартфон!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост

Справа ништячный оригинал, слева ништячная копия!

Приложения

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Nokia предоставила основной необходимый набор приложений на выходе устройства: магазин (который использовал apt), браузер, музыка, контакты, номеронабиратель и.т.п. И сторонние разработчики не стеснялись что-то портировать на Maemo. BlackBerry в 2013 уже не могли затащить разработчиков на BlackBerry OS 10, даже рассылая девкиты, а тут люди сами шли в сторону Maemo.
Приложений было весьма немало в своё время.

Но через 3 года вышел Nokia N9 Harmattan и разработчики резко переключатся на MeeGo. И даже несмотря на то, что Nokia заявляла мол MeeGo 1.2 — это не MeeGo, а Maemo со «шкуркой» MeeGo, люди активно портировали приложения на свеженькую платформу. Проблем с приложениями на MeeGo особо не было: и Telegram, и ВК, и WhatsApp. Люди охотно шли в сторону Nokia, пока не пришел Стивен Элоп с WP и Nokia не свернули разработки в этом направлении, хотя часть разработчиков потом сделала Sailfish OS. Увы!

Как уже было сказано выше, приложения тут ставятся из .deb пакетов. При этом, нужно следить за зависимостями — всё как на ПК, не получится просто «установить .apk» в некоторых случаях :)
Можно добавить внешний репозиторий с пакетами (maemo extras) и получить таким образом магазин приложений.

На китайце тоже есть поддержка сторонних приложений, правда не .deb, а J2ME — т.е .jar. Здесь используется китайская вариация JVM, поэтому не все приложения здесь идут нормально. Однако здесь у китайца есть небольшое преимущество перед оригиналом: тут есть клиент VK (ViKa Mobile), да и софт под j2me всё ещё регулярно подвозится. Плюс, огромное количество самых разных j2me игр. Да, часть из них не будут работать корректно, но найти что-то под свой девайс вполне возможно!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Зато здесь довольно богатый набор приложений — и чтение электронных книг, и файловый менеджер, и Skype, и UCWeb.
Весьма странно, что китайцы не стали добавлять в прошивку возможность запуска приложений со своей проприетарной платформы MRP — тогда бы мы получили ещё и эмуляторNES, а это было бы неплохим подспорьем!

По играм выигрывает N900. Хоть на j2me и были годные игры, далеко не во все получится поиграть не реплике. А в оригинале уже есть полноценный GPU — PowerVR SGX530 с GLES 2.0! Поэтому тут есть несколько интересных игр:

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



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

❯ Использование по прямому назначению

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



У оригинала всего одна сим, а у китайца аж две. Казалось бы, победитель очевиден, но нет. Не стоит забывать еще и о других важных факторах: у N900 есть офигенная синхронизация с PC Suite, которая позволяет синхронизировать музыку, контакты, сообщения. И софт без проблем работает на Windows 10!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



У китайца очень громкий динамик и сами по себе они обычно дают неплохое качество разговора, но есть минус в лице серьезного ограничения на кол-во входящих СМС и контактов. Плюс, синхронизация есть, но… софтом от телефонов Fly :) И она не сравнится с PC Suite.
Зато есть приятная фишка: возможность подключить китайца к ПК и включить мост между модемом и ПК. Таким образом, можно подключится к мобилке через UART и отсылать автоматизированные команды на модем: например если хотите сделать сигнализацию, но под рукой есть только подобный китаец — можно использовать его.

На обоих девайсах удобно печатать с физической клавиатуры, тактильно они очень классные… если бы не одно но у китайца: QWERTY раскладку телефон понимает только английскую. Если переключить язык, то каждая кнопка будет переключать символы, как будто вы печатаете на обычном телефоне. 3 раза нажал «r» — получил «к». Весело, да? Но тут возможно дело в прошивке, клавиатура здесь только на английском. Возможно в «российской» версии девайса с этим уже всё хорошо, т.к я пользовался китайскими QWERTY-кнопочниками и там всё было нормально с этим.

❯ Мультимедиа


И оригинал, и китаец подойдут для прослушивания музыки: вопрос в качестве. И у оригинала тут есть очень крутая фишка: это смартфон со стерео-звуком! Да-да, у него действительно два очень хороших динамика по бокам, из которых играет звук с очень годным качеством. Аудиотракт у устройства тоже неплохой: он без проблем раскачивает большие наушники, а сам звук при этом приятный, на уровне iPhone 4 или может быть чуть выше (чисто ИМХО).
Как плеер телефон отлично подойдет: 32гб ПЗУ должно хватить для многих пользователей (если вы не слушаете lossless audio), у него есть FM-трансмиттер (!), который позволит передавать музыку на ближайший бумбокс/магнитолу в машине, а музыкальную библиотеку удобно синхронизировать с помощью того же PC Suite.

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Плеер у устройства не менее годный. Приложение «мультимедиа» совмещает в себе как музыку/видео, так и онлайн-радио (которое тут работает без проблем), с различными группировками. Но увы, нет эквалайзера — для меня, как любителя задрать высокие частоты, это минус.

Но и у китайца есть что предложить! Да, он не может похвастаться встроенной памятью (всего 256кб. Да, именно килобайт, но не забываем про слот MicroSD), зато он умеет воспроизводить обычное радио без наушников и у него очень громкие динамики (их тоже два, но в моно)! Но раскачать большие наушники он не в силах, зато без проблем поддерживает любые BT наушники!

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Что касается видео — то здесь выигрывает однозначно N900. Китаец из-за слабости железа не даст вам посмотреть фильм или видео в нормально разрешении, плюс на оригинале есть клиент YouTube! А для комфортного просмотра видео, инженеры Nokia предусмотрели вот такую подставку, которую можно вытащить около объектива камеры. Прикольно ведь?

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост

❯ Сёрфинг


Тут уж только про оригинал сказать можно. На реплике хоть и есть браузер, но он совсем ничего не умеет в наше время. Да, есть Opera Mini, но без поддержки аппаратной клавиатуры и 2G, пользоваться им смысла нет.
Но на оригинале я очень сильно удивился, открыв браузер…

Nokia N900 — Легендарный Linux смартфон Смартфон, Телефон, Электроника, Покупка, Технологии, Гаджеты, Ништяки, Девайс, Nokia, Linux, Nix, Unix, Мобильные телефоны, Гифка, Длиннопост



Это же самый обычный FireFox! Только с чуть другим фронтэндом. Однако встроенный браузер уже не в силах что-то открыть, а судя по информации в вики Maemo, не обновлялся с 2010 года. Но есть альтернатива: эмулятор j2me PhoneME и Opera Mini! Зато работает! А ведь когда-то на N900 был даже полноценный Chromium. В устройстве есть 3G, но увы, для серфинга оно подойдет слабо. Однако другие сетевые задачи еще выполнять можно.

❯ Баги


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

Но N900 отчасти экспериментальный, поэтому тут были свои болячки. Например, после отключения USB Mass Storage, внутренняя память обратно не примонтировалась до перезагрузки. Вроде-бы был даже один неприятный ребут, однако это может быть из-за АКБ. Кроме того, у устройства из коробки не было USSD. Стабильность немного ниже, чем у китайца, но часть багов пофикшена — ведь мобилка развивается исключительно силами коммьюнити!

❯ Заключение


Смартфоны на Linux отнюдь не пропали с рынка. Ребята из Jolla до сих пор выпускают свои смартфоны на Sailfish OS и портируют её на актуальные устройства от Sony, а UBports продолжает дело Ubuntu Touch, позволяя её запустить на, например, BQ Aquaris. Кроме того, всё ещё остается относительно дружелюбная к пользователю pmOS, которая стремительно развивается.

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

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

Показать полностью 24
[моё] Смартфон Телефон Электроника Покупка Технологии Гаджеты Ништяки Девайс Nokia Linux Nix Unix Мобильные телефоны Гифка Длиннопост
38
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии