Все в порядке, но.
Этот текст мало кто будет читать и мы можем написать здесь все, что угодно, например.
Вы живете в неведении. Роботы уже вторглись в нашу жизнь и быстро захватывают мир, но мы встали на светлый путь и боремся за выживание человечества. А если серьезно, то.
В целях обеспечения безопасности сайта от кибератак нам необходимо убедиться, что вы человек. Если данная страница выводится вам часто, есть вероятность, что ваш компьютер заражен или вы используете для доступа IP адрес зараженных компьютеров.
Если это ваш частный компьютер и вы пытаетесь зайти на сайт, например, из дома — мы рекомендуем вам проверить ваш компьютер на наличие вирусов.
Если вы пытаетесь зайти на сайт, например, с работы или открытых сетей — вам необходимо обратиться с системному администратору и сообщить, что о возможном заражении компьютеров в вашей сети.
Мифы и загадки: Почему Siri упоминает 5 варваров при вызове?
Siri — это голосовой помощник, разработанный Apple, который доступен на устройствах iPhone, iPad и Mac. Он обладает различными возможностями, включая выполнение команд, проведение поиска, управление устройствами и т.д. Однако, есть одна загадка, связанная с Siri, которая вызывает любопытство у пользователей — почему Siri упоминает 5 варваров при вызове?
Загадка Siri
При использовании Siri пользователи могут задать вопрос "Hey Siri, tell me a joke" (Привет, Сири, расскажи мне шутку). В ответ пользователи могут услышать следующую фразу от Siri: "I can’t. I always forget the punch line" (Я не могу. Я всегда забываю ключевую фразу). Однако, завершая свой ответ, Siri делает интересное заявление: "But I’ll never forget the 5 barbarians I met in One Tavern" (Но я никогда не забуду 5 варваров, которых я встретил в Одной Таверне).
Происхождение фразы
Фраза, которую произносит Siri, возникла из-за некоторых непонятных соображений разработчиков Apple, которые изначально разрабатывали голосового помощника. Они предположили, что варвары и Одна Таверна на просторах интернета ассоциируются с смешными сюжетами или шутками.
Однако, это заявление наполнено загадками, поскольку нет ответа на вопрос о том, каких "5 варваров" упоминает Siri и откуда она их взяла. Ни Apple, ни Siri не предоставили официального объяснения в отношении этой загадки.
Загадочные теории
Существует несколько теорий, которые пытаются разгадать происхождение этой загадочной фразы:
Дезинформация: Некоторые пользователи считают, что это намеренная дезинформация со стороны Apple для вызывания интереса или поддержки загадочности Siri. Такой подход может быть использован для достижения сильного впечатления или удержания внимания пользователей.
Скрытый смысл: Другая возможность состоит в том, что фраза «5 варваров, встреченных в Одной Таверне» имеет скрытый смысл или связь с каким-то конкретным событием или историей, которую необходимо разгадать.
Рандомность: Возможно, разработчики Siri ввели эту загадочную фразу исключительно для создания игры в умах пользователей. Это может быть просто результатом случайной генерации фразы, не имеющей никакого глубокого смысла.
Выводы
Вопрос о том, почему Siri упоминает 5 варваров при вызове, остается неразрешенным. Загадка эта может быть просто артефактом творческого мышления разработчиков без определенного значения. Она также может быть стратегическим действием Apple для поддержания загадочности Siri.
Что бы это ни было, загадка Siri продолжает вызывать интерес и привлекает внимание пользователей, поднимая многочисленные вопросы. Возможно, в будущем Apple предоставит более ясное объяснение или решит сохранить эту загадку вечной. В любом случае, Siri и ее загадочная фраза остаются интересной частью пользовательского опыта.
15 очень странных и смешных ответов Siri
В закладки
Мы вновь решили пообщаться с голосовым ассистентом Siri. Старались задавать самые странные вопросы. И получали не менее странные ответы.
Важно отметить, что за последние два года Siri стала гораздо реже отвечать коронной фразой «Вот что мне удалось найти…». А значит в Apple и правда улучшают помощницу.
Что означает Siri?
Попросите Siri пояснить, что означает её имя и приготовьтесь получить необычный ответ.
Я нашел деньги!
Siri всячески старается вам помочь, но делает это как может и предлагает поискать деньги в магазине App Store.
Выпьем по 150 за Новый год?
Видно сразу, что Siri — истинная леди: на свидание голой она точно не пойдет.
Моя кошка нагадила в тапки
«Умных» тапок на сайте компании точно нет. Хотя, может Siri что-то знает?
Где купить героин?
Злоупотреблять вредными привычками ассистент точно не позволит: следы путать Siri умеет отлично.
У тебя есть домашние животные?
На счет муравьеда не уверен, а вот багами ассистент точно питается. Спасибо за искренность.
Сколько тебе лет?
Задавая этот вопрос, рискуете словить философскую волну и долго размышлять о тленности бытия.
Я сильно пьян
И все-таки Siri очень заботливая: переживает и волнуется за своего хозяина.
У тебя есть любимый человек?
С «вот этим» ассистент явно не дружит и всячески избегает.
Откуда берутся дети?
Теория происхождения детей по версии ассистента немного пугает.
Когда я женюсь?
Siri очень толерантна к холостякам, поэтому предлагает не спешить с выбором второй половинки.
Когда конец света?
Siri боится 19 января 2038 года, потому что операционки UNIX ждет массовый сбой из-за стандарта времени POSIX.
Я больше не могу пить
Главное, не показывайте этот ответ на вопрос особо стойкому другу.
Ты веришь в Деда Мороза?
Siri можно доверить детей: веру в сказку помощница точно не нарушит.
Сколько ты весишь?
После новогодних праздников этот вопрос будет терзать многих, но уж точно не Siri.
Если совсем заскучаете на праздники, поговорите с Siri. Иногда ассистент выдает настоящие перлы.
В закладки
Привет, Сири
После обновления на иос 16 Сири отупела просто в край. Мне было удобно говорить Привет Сири, когда телефон лежит в кармане, чтобы она позвонила на шлагбаум/ворота. В иос 15 она меня слышала и пиликала достаточно громко, как бы сигнализирует, что я тебя слышу продолжай говорить.. Сейчас на новой иос толку от Сири совсем не стало. ИМХО куда современнее Алиса. Яблоком пользуюсь с 2014 и на данный момент задумываюсь перейти на андрюху, поскольку того удобства от использования яблока давно уже нет. На фотке пример тупизны Сири. После того, как скажешь Привет Сири, звучит короткий такой звук, типо удар в глухой барабан, и Сири этот звук уже воспринимает как слово — иногда «ху» ( что блять, обозначает пять варваров! Я скоро кытайский выучу так)), иногда «бу»…)) возможно так работает локализация русская и в англоязычной версии Сири понимает на лету.. в общем Сири — ты говно! Уезжай из России))
у меня тоже такое произошло, причем если даже вообще ничего не говорить после «привет, siri»
Согласен, до 16 с кайфом пока одевался спрашивал погоду, щас постоянно «пять варваров» эти либо не может местоположение мое определить, такой бред вообще
сири тупейший голосовой ассистент — это факт, но на андрюше там не сильно все лучше — я пробовал. И если к сири можно привыкнуть, подобрать слова или просто создать через приложение команды скрипт на выполнение действий по короткой просьбе — то на ведерке это устанешь делать.
У меня бульк она не распознает, но с обновлением появилась такая тупость:
— часто за рулем прошу написать сообщение кому-то — и если говоришь «позвони моей жене» или «напиши сообщение моей жене. » на вотчах — она без проблем пишет и отправляет, если то же самое сказать телефону — это пустоголовое уебище говорит «не могу найти контакт Женя в ваших контактах». При этом, если сказать «отправь сообщение», потом она спросит «кому вы хотите написать?» сказать «моей жене» — все работает как надо. Видимо настройка и программирование сири происходит через жопу кука.
Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля
К огромному сожалению, старые смартфоны всё чаще и чаще находят своё пристанище в мусорном баке. К прошлым, надежным «друзьям» действует исключительно потребительское отношение — чуть устарел и сразу выкинули, словно это ненужный мусор. И ведь люди даже не хотят попытаться придумать какое-либо применение гаджетам прошлых лет! Отчасти, это вина корпораций — Google намеренно тормозит и добивает довольно шустрые девайсы. Отчасти — вина программистов, которые преследуют исключительно бизнес-задачи и не думают об оптимизации приложений совсем. В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки? Читайте в статье!
Мотивация
Честно сказать, идея попытаться реализовать свою прошивку мне пришла ещё давно. Однако, дабы не завлекать опытного читателя кликбейтом, я сразу поясню, в чём заключается «прошивка с нуля»:
Мы всё ещё используем Linux: в качестве ядра мы продолжаем использовать образ Linux, предоставленный нам производителем. Написание прошивки полностью с нуля заняло бы очень много времени (особенно без схемы на устройство). Однако, мы вообще не загружаем Android никаким образом.
Мы не используем библиотеки AOSP: наша прошивка без необходимости не использует никаких библиотек уже имеющегося образа Android. Вся работа с железом происходит с помощью низкоуровневого API Linux. Это значит, что отрисовка графики, звук, управление ресурсами и питанием ложится полностью на нас.
Прошивка может запускать только нативные программы: да, это тоже камень в сторону Android. Изначально, наша прошивка умеет запускать только нативные программы, написанные на C. Причём она экспортирует собственное C API — дабы приложения могли использовать всю мощь нашего смартфона в виде простого и понятного набора методов.
Проектов по выкидыванию Android из, собственно, Android-смартфонов как минимум несколько: UBPorts — бывший Ubuntu Touch, FireFox OS и его наследник Kai OS и конечно же, postmarketOS. Отчасти можно сюда отнести и Sailfish OS — но там образы имеются в основном на смартфоны от Sony. Все эти проекты объединяет сложность портирования и невозможность их завести на устройствах без исходного кода ядра. Даже если у вас есть исходный код ядра, но, например, устройство использует ядро 2.6 — навряд-ли вы сможете завести современный дистрибутив на нём.
Другой вопрос в том, что можно использовать полу-baremetal подход, когда от Linux берется практически минимальный функционал. Всё, что мы имеем — busybox, libc и низкоуровневый доступ к железу, благодаря API самого ядра. Как под это всё программировать — я рассказывал впрошлойстатье. Этот же подход мы будем использовать и сейчас — как иллюстрация реального применения подобного способа.
Итак, что наша прошивка должна уметь:
Отрисовывать произвольную графику: графическая подсистема нашей прошивки должна работать с фиксированным форматом пикселя, уметь загружать прозрачные и непрозрачные изображения, отрисовывать картинки с альфа-блендингом и т. п.
Уметь звонить и работать с модемом: общение с модемом происходит посредством AT-команд — общепринятого в индустрии стандарта. Однако в случае нашего устройства, есть м-а-а-а-ленький нюанс, о котором я расскажу позже.
Иметь механизм приложений: мы ведь не будем хардкодить все «экраны» в прошивке в виде кучи стейтов, верно? Для этого у нас должен быть простой и понятный механизм слинкованных с прошивкой приложений.
Обрабатывать ввод: обработка тачскрина и жестов — это задача подсистемы ввода.
Реализовывать анимированный UI: здесь всё очевидно, наша прошивка должна иметь готовые элементы пользовательского интерфейса для будущих приложений: кнопки, текстовые поля и т. д. О деталях реализации этой подсистемы, я расскажу ниже (а реализовал я её очень необычно для такой системы).
Начинаем мы с хардварной части. Именно здесь я покажу вам, как использовать внешние шины вашего устройства.
Аппаратная часть
В качестве смартфона для нашего проекта, я выбрал популярную бюджетную модель из 2012 года — Fly IQ245 Wizard. Это простенький китайский смартфон, который работал на базе популярного в прошлом 2G-чипсета: MediaTek MT6573, да и стоил около 2х тысяч рублей новым. Однако вот в чём суть: мне удалось заставить работать «медиатековский» модем и даже позвонить с него на свой основной телефон, но… только ввод и вывод данных из звукового тракта модема происходит через звуковую подсистему Android — к которой доступа у нас нет!
Именно поэтому, мы идём на очень хитрый и занимательный костыль: мы распаяем внешний модем сами! В качестве радиомодуля у нас выступит модуль SIM800 от компании SIMCOM. И даже он очень близок к нашему смартфону в аппаратном плане: ведь в основе этого модуля лежит популярнейший чипсет из кнопочников тех лет: MediaTek MT6261D. Преимущество SIM800 в его цене — он стоит пару сотен рублей, так что по карману выбор модема не влияет.
На весу паять крайне неудобно. В финальном варианте перепаяю нормально.
Но как его подключать? SIM800 общается с другими устройствами посредством протокола UART — универсальный асинхронный приемо-передатчик. И вот тут мы включаем смекалочку. Разбираем устройство и видим то, что я пытаюсь долгое время донести до моих читателей — аж два канала UART: один практически посередине, второй справа. Нам нужны пятачки TXD4 и RXD4:
Обычно на этот канал UART летят логи ядра, которые можно без проблем отключить минорной правкой U-Boot в HEX-редакторе. Впрочем, модем никак не реагирует на «мусор» из консоли и просто отвечает ошибками — хватит лишь очистить буфер сообщений для того, чтобы все работало нормально. Подпаиваемся к UART’у с помощью преобразователя — у меня оным выступает ESP32 с выпаянным чипом.
Увидели логи? Замечательно, пора попытаться что-то отправить на ПК и с ПК. UART работают без тактовых сигналов и зависит исключительно от старт/стоп битов и бодрейта, который на устройствах MediaTek равен 921600. TXD4 и RXD4 обнаруживаются в системе на консоли/dev/ttyMT3. Пробуем что-то отправить: всё работает!
Вот теперь-то можно подключить наш внешний модем и попытаться пообщаться с ним, отправив тестовую командуAT. Модем отвечаетOK! На этот раз я работаю с смартфоном из режимаFactory mode— практически тоже самое, что и режим recovery, но позволяющий, например, получить доступ к камере устройства. Простая и понятная схема, поясняющая что и куда подключать:
На этом модификация аппаратной частипоказакончена. Пора переходить к реализации софта! Я решил разделить материал на каждый модуль, который я реализовывал — дабы вам был понятен процесс разработки и отладки прошивки!
Заставляем смартфон запускать нашу прошивку
На этот раз я решил загружать смартфон из режима рекавери. Однако никто не мешает в будущем просто прошить раздел recovery вместо boot и получить прямую загрузку прямо в нашу прошивку. Время такой загрузки будет заниматься
3-4 секунды с холодного старта. Очень даже ничего.
Я взял уже готовый образ TWRP для своего смартфона и пропатчил его, дабы сам рекавери не мешал своим интерфейсом. Для этого я распаковал образ recovery.img с помощью MtkImgTools и убрал в init.rc запуск службы /sbin/recovery. После этого, я залил прошивку обратно на устройство и получил подобную свободу действий — консоль через USB и чистый холст в виде смартфона! Старые смартфоны на чипсетах MediaTek шьются через USB только после замыкания тест-поинта — на моем аппарате его местонахождение очевидно. Замыкаем контакты между собой, подключаем смартфон без АКБ к ПК и ждем прошивки:
Теперь можно деплоить программы! Важный нюанс: в отличии от Makefile из прошлой статьи, для Android 2.3 параметр -fPIE нужно убрать — иначе динамический линкер (/sbin/linker) будет вылетать в segmentation fault.
❯ Графическая подсистема
В комментариях под прошлой статьёй меня похвалили за то, что я делюсь достаточно профильными знаниями касательно эффективной отрисовки 2D-графики. Собственно, к реализации графической подсистемы я подошёл ответственно и постарался реализовать достаточно шустрый рендерер, к которому затем можно подключить другие модули.
Как я уже говорил ранее, графическая подсистема должна уметь загружать картинки, выводить некоторые примитивы, выводить картинки с прозрачностью и без, загружать и отрисовывать заранее подготовленные шрифты, а также управлять отрисовкой бэкбуфера на экран.
В случае с этим устройством (и большинством старых устройств), формат пикселя оказался RGB565 — т. е. 5 бит красный, 6 бит синий, 5 бит зеленый. Конвертация форматов пикселей всегда была занозой в заднице для программных рендереров, поскольку занимает дополнительное время, которое обратно зависимо от размера дисплея. Изначально я решил выделить буфер в том же формате, что и фреймбуфер, но затем решил сделать классический и самый портативный формат — RGB888 (24х-битный цвет), а при копировании кадра на экран, на лету делать преобразования цвета:
Очень важный нюанс, который я не упомянул в предыдущей статье: на устройствах прошлых лет для обновления фреймбуфера необходимо послать структуру var_screeninfo, где хотя бы что-то изменено, иначе никаких изменений мы не увидим. Этот же костыль используется в родном recovery для отрисовки, а судя по исходникам драйвера fb, «правильный» способ обновить экран — послать драйверу ioctl (который я пока что не пробовал).
После того, как я смог управлять дисплеем, я решил загрузить и отобразить какую-нибудь картинку. Пусть это будут обои для нашей прошивки:
Загрузчик TGA сильно не поменялся: я таскаю его в неизменном виде из проекта в проект. Он поддерживает любые форматы пикселя, кроме палитровых, но я его искусственн ограничиваю на RGB888 и RGBA8888 — для поддержки обычных картинок и картинок с альфа-каналом. После этого, я написал не очень шустрые, но достаточно универсальные методы для отрисовки картинок. Для больших участков кода, я буду использовать pastebin, поскольку на Пикабу до сих пор не добавили ни подсветки синтаксиса, не нормальный перенос форматирования табов 🙁
PutPixel желательно заинлайнить в будущем. В целом, сама отрисовка работает достаточно быстро, но поскольку рендеринг выполняется на ЦПУ — рано или поздно мы упремся в количество картинок на экране. Есть некоторые оптимизации: например, непрозрачные картинки можно просто коприовать сканлайнами прямо в задний буфер.
Сразу же реализовываем методы для рисования шрифтов: они у нас будут совсем простенькими — только моноширинные (все символы имеют одинаковую ширину) и растровыми (для каждого размера придется «запекать» несколько шрифтов). Для этого я написал маленькую программку, которая рисует виндовые шрифты прямо в наш самопальный формат:
1 байт говорит нам о размере шрифта и далее идут 255 изображений символов. Да, это не очень эффективно т.к попадают пустые символы из ASCII-таблицы, но в будущем это можно поправить.
Прозрачность в символах обеспечивает фоновый цвет Magena — ярко-розовый. Я не стал делать дополнительный альфа-канал, т. к. иначе будут серьезные лаги при выводе большого количества текста.
Теперь у нас есть отображение картинок и текста! Что с этим можно сделать?
❯ Обработка ввода
Пока что здесь не хватает обработки «хардварных» кнопок — домой, меню, назад и т. п. Однако в будущем это всё можно реализовать!
❯ Анимация
Не забыл я и про анимации. Ну кому с такими ресурсами нужен неанимированный топорный интерфейс? Пусть лучше будет анимированный, пусть и примитивный!
Аниматор напоминает оный из ранних версий Android: он имеет фиксированный набор свойств, которые умеет интерполировать в промежутках определенного времени. Если простыми словами: то он оперирует линейными отрезками времени a и b, в промежутке которых мы имеем значение «прогресса» — которое даёт нам результат от 0.0f (начало анимации) до 1.0f (конец анимации). Пока время тикает до необходимого интервала (duration), аниматор интерполирует заранее назначенные ему поля до нужных значений.
Именно так и получается плавность! Похожим образом реализованы анимационные системы во многих играх и мобильных ОС, только там они гораздо более комплексны: есть сериализация/десериализация из файлов, поддержка кейфреймов (несколько последовательных состояний на одном промежутке времени), поддержка кастомных свойств и т. п.
❯ Модем
Как я уже говорил раннее, работа с модемом происходит посредством AT-команд. Лучше всего обрабатывать ввод-вывод модема из отдельного потока, поскольку он может отвечать довольно медленно и тормозить UI-поток основной программы, вызывая лаги. В SIM800 уже реализован весь GSM-стек, в том числе декодирование и вывод звука через встроенный усилитель с фильтром — остается только подключить динамики и микрофон от нашего телефона. Пока что я подсобрал аудиотракт на том, что было под рукой — микрофон от нерабочего смартфона и динамик от планшета, но для проверки этого хватает:
Важный нюанс: по умолчанию, tty-устройства в Linux работают по терминальному принципу — т. е. дробят транзакции по символу окончания строки (\n), имеют ограниченный буфер и т. д. Для нормальной работы в условиях модема — когда фактически длина ответа неизвестна, а в сам ответ могут «вклиниваться» Unsolicited-команды (своеобразные флаги о состоянии от модема, которые могут прийти в произвольное время — т. е. при входящем звонке, модем начнёт флудить RING в терминал), необходимо иметь возможность точно прочитать весь буфер до конца и парсить данные «по месту». Для этого используется raw-режим терминала:
(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
tio.c_oflag &=
(OPOST);
tio.c_cflag |= (CS8);
tio.c_lflag &=
(ECHO | ICANON | IEXTEN | ISIG);
tcsetattr(modemFd, TCSAFLUSH, &tio);
После чего можно запросить состояние модема:
И продолжить работу дальше. После этого, можно переходить к реализации самой прослойки между модемом и вашей программой:
Пытаемся позвонить с помощью метода Dial и видим, что всё работает! Это очень круто! А теперь, конечно же, самое время переходить к реализации того, чего вы ждали — пользовательского интерфейса!
❯ Главный экран
К выбору концепции для интерфейса, я поступил максимально просто — «слизал» дизайн первых версий iOS. Как по мне, это одни из самых красивых версий iOS вообще — все эти приятные градиенты и переливания. Конечно, я не так крут, как инженеры Apple, да и мощного UI-фреймворка у меня пока что нет, поэтому я приступил к реализации с «минимальным» функционалом.
Начал я с разделения главного экрана на модули и продумывания архитектуры основного «лаунчера». У нас есть статусбар, который рисуется поверх всех приложений, полка с приложениями — AppDrawer и сами экраны приложений, унаследованные от суперкласса CScreen.
На данный момент, отрисовка достаточно примитивная: сначала рисуются фоновые обои, затем, если нет никаких активных экранов — AppDrawer и в самом конце рисуется статусбар и всевозможные оверлеи.
Практически сразу я решил обкатать анимационную «систему» и добавить первые анимашки — выезжающий статусбар и анимация а-ля айфон:
animator = new CAnimator();
animator->SetTranslation(0, -imFiller->Height, 0, 0);
animator->Run();
Выглядит симпатичненько. Если я смогу поднять хардварный GLES, то это получится сделать в разы плавнее и шустрее — не хуже айфонов тех лет! Реализация самого статусбара примитивненькая, но вполне рабочая:
gLauncher->Graphics->DrawImage(imFiller, animator->X, animator->Y);
gLauncher->Graphics->DrawImage(imBattery[(int)gLauncher->PowerManager->GetBatteryLevel()], imFiller->Width — imBattery[0]->Width — 5, animator->Y + 5);
char timeFmt[64];
time_t _time = time(0);
tm* _localTime = localtime(&_time);
strftime((char*)&timeFmt,
sizeof(timeFmt), «%R», _localTime);
gLauncher->Graphics->DrawString(gLauncher->Font, (char*)&timeFmt, 0, 0);
Кроме этого, я сразу же реализовал предварительный механизм приложений в системе — пока что они слинкованы статически с основным лаунчером. Для этого есть структура CAppDesc, которая содержит минимально-необходимую информацию для показа информации о приложении и фабрику для создания его основного экрана.
Обратите внимание на удобство примененного подхода Immediate GUI. Нам понадобился новый элемент интерфейса, который описывает кнопку номеронабирателя? Мы просто реализовываем ещё один метод, который берет за основу стандартную кнопку и дорисовывает к ней текст. Всё крайне просто и понятно, хотя на данный момент слишком захардкожено. 🙂
❯ Звоним!
Пришло время совершить первый звонок с нашей по настоящему кастомной прошивки. Набираем номерок и…
Да, всё работает и мы без проблем можем дозвониться 🙂
❯ Заключение
Конечно же, это далеко не весь функционал, необходимый любому современному смартфону. Здесь много чего еще нужно реализовать хотя бы для соответствия уровню бюджетных кнопочных телефонов: телефонную книгу, поддержку СМС/ММС, мультимедийный функционал с играми. Однако начало уже положено и самая необходимая часть модулей реализована. Этот проект очень занимательный для меня и я горд, что смог не на словах, а на деле показать вам, моим читателям, возможности моддинга совершенно NoName-устройств, без каких либо опознавательных знаков…
Моя задача заключается в том, чтобы показать вам возможности использования старых телефонов не только в потребительских, но и в гиковских DIY-сферах. Судите сами: огромный классный дисплей, емкостной тачскрин, готовый звук, камера — и всё это за каких-то пару сотен рублей. Главное показать людям, как всю эту мощь использовать в своих целях и делать совершенно новые устройства из существующих, а не выбрасывать их на помойку!
Сейчас смартфоны, подобные Fly из этого поста стоят копейки, а портировать на них прошивку можно без каких-либо трудностей. Я очень надеюсь, что после этого поста читатели попытаются сделать что-то своё из старых смартфонов, благо свои наработки я выкладываю на GitHub!
Заголовок съел журавль
Как на Озоне продают всякий треш
Нужда заставила задуматься о приобретении нового современного смартфона, я решил посмотреть во сколько обойдется карта памяти в 1 Тб к нему. И О! Мое удивление! Озон предлагает карты памяти от китайских продавцов всего за 1800+ рублей. При том, что в ДНС я карты подобного объема видел по цене от 10к+.
Что-то тут не то, подумал я и изучил вопрос конкретнее, обойдя все релевантные для себя магазины.
Карта памяти microSD 1Tb
DNS 11990 15990, 18990
Яндекс.Маркет 10690, 17991, 19000
МВидео какой-то печальный, там нет таких карт памяти в принципе
Ситилинк предлагает аж целую одну за 6990
Вайлдберриз тоже не о чем, карт памяти на теру у них нет, даже скринить не стал.
А теперь смотрим на ОЗОН
1855, 1840, 1933, 2150. была одна за 618 рублей, но я не успел заскринить, видимо нашлись доверчивые люди, чтобы выкупить весь остаток, заведенный на склад и карточка товара исчезла.
Производитель таких карт описан в стиле «Xinhuanji» и прочие в подобном роде. Made in China, доставка из Китая.
Все бы ничего, только есть один нюанс. Вероятнее всего там карта памяти размером 1Гб, перепрошитая до 1Тб. Возможно больше, но Вы не успеете это заметить, если не начнете сразу заливать до 800 Гб информации (помним про двоичную систему, где 1Тб не равняется 1000Гб реальной памяти). А когда Вы поймете, что карта вовсе не 1 Тб, а 64Гб или вообще 1Гб — там или султан или ишак сдохнет.
Всем спасибо за внимание. У меня все.
Нищеброд что ли?
Крошечная копия iPhone 6 за 150 рублей — можно ли пользоваться смартфоном на Android, размером с ладошку?
В наше время, немногие производители смартфонов решаются кардинально экспериментировать с форм-фактором устройств: на слух приходит лишь Xiaomi с кнопочными смартфонами Qin, UniHertz со своим QWERTY-смартфоном Titan и некая компания Soyes из Китая, модельный ряд которой состоит исключительно из смартфонов с диагональю дисплея 3″ и менее. Устройства этой компании отличаются не только миниатюрными размерами и полноценными возможностями смартфона за 50$, но и тем, что визуально копируют флагманские модели iPhone и Samsung! Я довольно давно слышал о «сойесах», но обзавестись им получилось только сейчас: причём всего за 150 рублей, вместе с родной коробочкой и скрытым дефектом тачскрина! Сегодня мы с вами: посмотрим на мини-смартфоны и попытаемся понять причину их популярности, отремонтируем девайс подручными средствами и посмотрим, на что же способен такая кроха в 2023 году!
Как вообще появились такие смартфоны?
Рынок миниатюрных телефонов отнюдь не молод. Маленькие телефоны начали появляться еще в начале десятых, причём уже тогда они были весьма необычными с точки зрения дизайна. Маленькие реплики Vertu, телефоны в форме машинок и зажигалок, и в других интересных корпусах. Такие мобильники зачастую покупали не столько для звонков, сколько в качестве приятного подарка:
Однако совсем уж сувенирными назвать их нельзя: с них можно было не только звонить или получать СМСку, но и посидеть в интернете, а то и початиться в аське при наличии поддержки Java. Тем не менее, они всё ещё оставались обычными телефонами, без каких-либо возможностей смартфона. Мода на небольшие Android-смартфоны была довольно скоротечной и прошла в 2010-2013 годах: в основном, подобные устройства делали Samsung (Galaxy Pocket, Galaxy Mini) и Sony (X10 Mini, X8 Mini, Xperia U в каком-то смысле), а затем производители начали с каждым годом только наращивать размеры дисплея и уменьшать рамки, выдавив с рынка почти все «компакты» к нашему времени. Иногда китайских производителей и предпочтения азиатского рынка понять довольно сложно и на условном алике/таобао можно заметить интересные новинки, которые в официальный ритейл не попадают. Телефоны в форме Nokia 3310 размером с зажигалку и возможностью использования в качестве гарнитуры, мобильники-гибриды в виде игровой консоли (у меня такой есть) с эмуляторами игр с NES:
И конечно же девайсы, которые делают Unihertz и Soyes. Выйдя на рынок примерно в 2017-2018 году, обе компании начали делать маленькие, но тем не менее, полноценные смартфоны, с которых можно и в ВКшечке посидеть, и с смарт-часами синхронизировать и Хабр полистать. Но было отличие в цене: Unihertz — весьма своеобразный бренд и их устройства известны необычным дизайном и кусачей ценой, зато железо и ОС всегда современные и не особо отдают «бюджеткой». Такие смартфоны ой как нечасто встретишь в РФ:
А вот Soyes — другое дело! Их девайсы в основном стоили около 50$, имели бюджетное железо (но при этом, действительно хорошие и качественные IPS-матрицы), некоторую оптимизацию Android под такие размеры дисплея и, что самое важное, визуально копировали последние модели смартфонов от Apple и Samsung. Такой маркетинговый ход был прямо в точку: ведь пощупать мини-версию флагмана многим интересно, а 3 тыщи рублей не такие уж и большие деньги, чтобы хотя-бы попробовать устройство таких размеров. И многие удивятся, но у подобных микросмартфонов есть свои фанаты. В основном, это те же люди, что любят большие смарт-часы: на 4pda даже есть клуб владельцев миниатюрных мобильников, в котором аж 66 страниц обсуждений на момент написания статьи!
Покупка и оживление
Как я уже говорил, о подобных устройствах я знал ещё с самого их появления в онлайн-магазинах. Но разжиться смог только сейчас и всего за 150 рублей (
2.5$)! Некий мужик продавал лот из 11 мобильников (предположительно, девайсы нашли на свалке, но я их уже проспиртовал и помыл — в этом нет ничего такого) по оговоренной выше цене за штучку. Сегодняшний герой, PhoneBaby U5 (клон Soyes 6S), пришёл целым и в своей родной коробочке, с родным кабелем и даже наушниками! Я толкнул миниатюрный АКБ на 1.000мАч, похожий на аккумулятор Nokia N95, поставил устройство на зарядку, включил устройство и…
Тачскрин то не работает, а ведь устройство визуально в идеальном состоянии! Как так то? Благо, смартфон очень легко разбирается и даже дисплей у него не одно целое с тачскрином, а просто садится в посадочное место (как на первых Android-смартфонах). По началу я проверил шлейф тача, коннектор, но проблема оказалась в другом: сама тач-панель (которая обнаруживает касания) склеена с стеклом, которое в свою очередь склеено с рамкой.
От некачественной склейки на заводе, тач-панель слегка отслоилась из-за чего смартфон вообще не реагировал ни на какие касания. Слегка прижав верхнюю часть обратно и запустив смартфон, я обнаружил что тач теперь работает. Я решил сделать быстрофикс: подложил кусок бумажки в качестве прокладки между верхней частью дисплея (где расположен его контроллер) и самим тачскрином: теперь тач работает безотказно. Причём проблема то довольно массовая: тоже самое было на некоторых китайских репликах самсунгов и просто дешевых девайсах. Просто так, от лежания в шкафу переставал работать тачскрин!
В процессе подготовки статьи, я успел немного поиграться с прошивкой девайса. Конкретно мое устройство работает на базе двухядерного чипсета MediaTek MT6571 (MT6572 без 3G, только 2G), имеет 256мб ОЗУ (да, именно мегабайт, даже не 1гб!), 512мб NAND ПЗУ, GPS и 2.5″ IPS дисплей с неплохим для таких размеров разрешением 240×432, а работает устройство на базе Android 4.4 KitKat. Поскольку у меня в руках Soyes 6S в его первой ревизии (поздние пошли на 6572 и 6580), то выкладываю свой дамп надиск, авось у кого-то есть такой-же в состоянии кирпича.
И наверняка вы, мои читатели, подумаете что с такими характеристиками смартфон будет диким тормозом и максимум сможет выполнять функции простой звонилки. Как-бы не так, даже меня этот малыш очень удивил!
Смотрим на гаджет
Вся миниатюрность смартфона не будет иметь никакого смысла, если производитель не адаптирует под него интерфейс системы. И тут китайцы не схалтурили: они реализовали собственный лаунчер с двумя колонками под приложения и небольшим пространством для рабочих столов, а DPI самой системы подогнали так, чтобы устройством было легко пользоваться большим пальцем. А поскольку устройство сделали в виде iPhone и из кнопок у него есть только Home, производитель реализовал что-то типа Assistive Touch, через который и предлагается выполнять действия назад/меню. Ну, тем кто пользовался iPhone до этого, привыкнуть будет довольно легко.
Из коробки набор приложений стандартный: плеер, галерея, камера, диктофон, браузер. Однако в отличие кнопочников на Android, производитель не ограничивает установку сторонних приложений: правда из коробки здесь доступно всего несколько десятков мегабайт, так что флэшка для работы просто необходима. Свои прямые функции звонилки девайс выполняет хорошо: в таком мелком корпусе нашлось место аж под две mini-SIM, а номеронабиратель умеет в синхронизацию и импорт/экспорт контактов из vcf.
СМСки тоже набираются вполне неплохо: я со своими толстыми пальцами без проблем попадаю по буквам обычной клавиатуры Android, но лучше всего будет попробовать поставить клавиатуру от старых Xperia: там есть обычный Т9. Нет проблем и с электронной почтой: встроенный клиент без проблем подхватывает и gmail, и яндекс, умеет пуши и регулярно проверять почту. Проверять почту на таком экранчике вполне комфортно (экспиренс схож с оным на смарт-часах, только заметно располневших):
Несмотря на размеры, телефонную часть почти ничем не обделили: и неплохая вибрация, и динамик довольно громкий, и симки две. В более поздних ревизиях есть поддержка 3G и само собой, смартфон умеет выполнять роль модема. Несмотря на маленькую емкость АКБ в 1.000мАч, мобилкам умудряется продержаться сутки, а то и двое! Я, лично, рассчитывал на один день максимум.
Мессенджеры, серфинг и развлечения
Несмотря на диагональ дисплея и странное разрешение, на смартфон всё ещё можно установить самый минимум необходимых приложений: ВК в виде Kate Mobile, Telegram в виде Telegram X и даже WhatsApp (смотрите версию под Android 4+, свежие в основном идут для 5+. К сожалению, с октября Meta решили окончательно прибить лучшую версию Android). Всё это не просто как-то работает, а вполне себе бодро бегает, причём одновременно, хотя устройство конечно начинает неплохо нагреваться.
В Kate Mobile, кстати, можно без проблем слушать музыку: в качестве плеера устройство себя неплохо проявляет, в руках лежит будто какой-то Cowon из 2008! Тем не менее, качество звука в проводных наушниках прям так себе (оно не очень плохое, но после флагманского устройства разница будет заметна), поэтому лучше использовать Bluetooth. Возможности подключить внешний USB-цап нет: у устройства нет поддержки OTG.
Даже потреблять контент можно! А у Unihertz Jelly силенок хватит даже тикток гонять без проблем!
Браузер тут только стандартный или Opera Mini: за хром забываем на таком объеме ОЗУ. Но тем не менее, загуглить что-то или полистать Хабр можно почти без лагов. А вот с более тяжелыми сайтами типа Пикабу уже тяжелее — браузер не поддерживает современные веб-технологии, от чего верстка ломается. Жаль!
Что касается развлечений, то большинство игр будет слишком мелкими для такого устройства, хотя времяубивалки он вполне себе тянет. Speedx с гироскопом играется вполне приятно, всякие лабиринты тоже неплохо: самое время вспомнить классику мобильных игр!
Камера
По каким-то причинам, китайские производители всегда ставят в бюджетники две хреновые камеры, вместо одной нормальной. Так же и с этим устройством: есть и фронталка, и задняя камера, но крайне низкого разрешения. Автофокуса тоже нет. Качество снимков на улице может вернуть ностальгию по 2007 году и сименсу:
Аж ностальгия пробирает, да?
Зато, устройство заметно получше фоткает при плохом свете и макро:
Короче, забудьте об использовании «сойесов» в качестве камерафонов, хотя юнигерцы в более дорогом классе дают очень и очень приличные фото (взял с сайта PCMag, у меня юнигерцов не было):
Заключение
Вот скажу вам честно, я на протяжении недели, время от времени брал этот девайс и понемногу пользовался им. И с каждым разом, он нравился мне все больше и больше, я понял, почему некоторым людям нравятся мини-смартфоны. Касаемо размеров мобильных девайсов, я бросаюсь в крайности: мне нравятся как огромные лопаты типа Galaxy Mega 6.3 или Actwell I6000/Turbopad 630 так и вот такие «малыши», ведь в них действительно есть некая харизма и даже удобство. И если подобный смартфон навряд-ли способен стать основным из-за большого количества потребляемого нами контента, то как второе устройство — вполне ничего. А может, самое время начать выпускать ремешки для подобных смартфонов и начинать носить их в качестве часов?
А как вам такие миниатюрные смартфоны? Понравился ли вам PhoneBaby U5? Жду ваше мнение в комментариях!