Как найти телефон потерянный в лесу, где нет связи
Если вы потеряли свой телефон в лесу, даже если там нет связи, еще не все потеряно. Существует несколько способов найти свой телефон, даже если он потерян в глубоком лесу.
1. Воспользуйтесь поисковиком
Если у вас был включен интернет на момент потери телефона, попробуйте найти его при помощи поисковика. Введите в строку поиска "Найти мой телефон" и выберите приложение, которое вы использовали на своем телефоне для отслеживания его местоположения. Если устройство попало в радиус действия GPS, вы должны суметь определить его местоположение.
2. Используйте приложения поиска устройства
Если у вас есть специальное приложение для поиска устройства, установленное на вашем телефоне, вы можете попробовать воспользоваться им. Эти приложения обычно используют GPS или сеть Wi-Fi для отслеживания местоположения вашего телефона. Они также могут позволяют блокировать и удаленно удалять данные, если телефон может быть использован другими людьми.
3. Воспользуйтесь маяками
Если ваш телефон поддерживает функцию маяков или вы сами новоручные создатели и сможете собрать примитивный маяк из доступных материалов, можете использовать его для поиска телефона. Маяки могут использоваться для отправки сигналов передачи местоположения на специальные устройства, способные его принимать. Если ваш телефон отмечен маяком, вы можете посмотреть на специальное устройство и определить его местоположение. Маяки можно легко сделать, просто привяжите к лучшей видимой точке что можете найти.
4. Используйте резервную батарею
Если у вас есть резерная батарея и дополнительное зарядное устройство, вы можете попробовать зарядить свой телефон и использовать его для поиска сигнальной сети. Если ваш телефон начинает получать сигналы, вы можете посмотреть, где они наиболее сильные и двигаться в этом направлении.
5. Используйте знакомых в лесу
Если в лесу, где вы потеряли телефон, есть другие люди, вы можете попробовать обратиться к ним за помощью. Расскажите им о вашем пропавшем телефоне и спросите, нет ли у них возможности связаться с мобильной связью. Если у них есть сигнал, вы можете воспользоваться этим, чтобы зафиксировать местоположение телефона.
Надеемся, эти советы помогут вам найти ваш потерянный телефон. Никогда не теряйте надежду и продолжайте искать свой телефон, пока вы не найдете его.
Подскажите пожалуйста, как найти телефон, если я его потерял в Лесу, очень далеко. и даже без понятия, где именно.
В нашей современной жизни мобильные телефоны стали незаменимой частью нашей коммуникации и хранят множество важной информации. Однако, к сожалению, мы иногда можем потерять свои телефоны, особенно в таких крупных и труднодоступных местах, как лес.
Потеря телефона в лесу может оказаться серьезной проблемой, но есть несколько шагов, которые можно предпринять, чтобы увеличить шансы его обнаружения. Ниже приведены некоторые полезные советы, которые могут помочь вам найти потерянный телефон.
1. Сохраните спокойствие и не паникуйте
Первое и самое важное — сохраните спокойствие. Паника только усложнит поиск и снизит вашу сконцентрированность. Подумайте, когда вы видели свой телефон в последний раз и попытайтесь вспомнить, в какой момент вы его потеряли. Это может помочь вам сузить область поиска.
2. Используйте другой телефон или помощь друга
Если у вас есть другой телефон или вы можете попросить помощи друга, используйте его для звонков на свой потерянный телефон. Если ваш потерянный телефон находится где-то в пределах слышимости, вы можете услышать его звонок. Будьте готовы двигаться вокруг и максимально использовать пространство для поиска звука.
3. Воспользуйтесь GPS или приложением отслеживания телефона
Если вы использовали функцию GPS на своем телефоне или установили на него приложение отслеживания телефона заранее, попробуйте найти его с помощью этих средств. Если у вас есть доступ к Интернету, вы можете зайти на соответствующий сайт и найти местоположение своего телефона на карте. Это может сузить радиус поиска и упростить его нахождение.
4. Визуальный обзор и систематический поиск
Визуальный обзор окружающей местности и систематический поиск могут быть очень полезными. Прогуляйтесь вокруг места, где вы думаете, что телефон может быть утерян, и обратите внимание на любые предметы, которые они могли покрывать или спрятать ваш телефон. Помните, что поврежденные или сломанные телефоны могут быть трудно обнаружить, поэтому будьте внимательны к мелким деталям.
5. Попросите помощи
Не стесняйтесь обратиться за помощью к людям, находящимся поблизости. Объясните им свою ситуацию и попросите их быть внимательными к возможной находке телефона. Чем больше глаз будет устремлено на поиски, тем больше шансов вы имеете найти потерянное устройство.
6. Обратитесь в местные службы
Если вы все еще не можете найти свой телефон, не стесняйтесь обратиться в местные службы, например, в полицию или регистрационные сервисы. Они могут предоставить вам контакты или направить вас к людям, которые могут помочь в восстановлении вашего потерянного телефона.
В любом случае, потеря телефона является неприятным событием, и важно предпринимать действия как можно быстрее. Следуя вышеуказанным советам, вы можете повысить свои шансы на успешный поиск и обнаружение потерянного телефона. Так что сохраняйте спокойствие и начинайте поиски, искренне надеясь на положительный результат!
Что делать, если потеряли телефон?
В современном мире, к сожалению, потерять телефон приравнивается практически к потере паспорта и потере связи с внешнем миром.
Я понимаю, что телефоны не только теряются, но еще их и тырят, и многие люди не знают правильный порядок действий в такой ситуации и начинают звонить на него, писать, блокировать симки и т.п.
Я расскажу своё видение в порядке действий в такой ситуации в связи с утерей. Действия будут описываться для android устройств с google-сервисами (простите, хуавеи 21го года).
Самое важное правило — Симку сразу блокировать только в двух случаях:
1) Если Вы уверены, что его именно украли и Ваш телефон УЖЕ выключен.
2) Если он был утерян и он сел.
В остальных случаях сперва делаем то, что указано ниже.
Самый первый этап, который нужно сделать это. заблокировать телефон через гугл (mi) аккаунт.
Да, так можно. А еще в том же окне можно посмотреть на текущее местоположение телефона.
Делается это в гугл-аккаунте (в который можно зайти через ПК или с браузера другого телефона) по пути:
Безопасность -> Найти потерянное устройство

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

С первым пунктом, думаю, всё понятно. Потеряли телефон в траве/в парке/в лесу не важно. Он где-то лежит (например, на беззвучном) и отдыхает. Подошли к примерному местоположению, включили звук, нашли.
ВАЖНО: не пытайтесь сразу звонить на устройство, если Вы поняли, что оно точно не при вас. Оно может лежать и быть незаметным, а звонок позволит его легче кому-то обнаружить и стырить.
Второй пункт чуть поинтереснее.

Здесь можно не просто заблокировать, но и указать информацию, которая поможет нашедшему связаться с Вами (мы же помним, что пароль от телефона он не знает, соответственно, разблокировать и позвонить сам не сможет). Еще здесь можно написать пугающее сообщение, которое поможет вернуть устройство без обращения в органы (у нас так сработало, написали адрес, где лежал телефон на этом же телефоне — нам позвонили и вернули со словами «Хотели в полицию потом отнести»)
Ну и третий пункт — просто стирает всю инфу с телефона (вдруг там государственная или коммерческая тайна) и сбрасывает его, но после этого доступ к отслеживанию пропадает, блокировка тоже слетает. Остается блокировка на ваш гугл-аккаунт при настройке устройства.
Если у Вас устройство Xiaomi и заведён mi-аккаунт — всё то же самое можно делать на сайте Xiaomi — https://i.mi.com/ в разделе «Найти устройство»
Функционал тот же, отличается только интерфейс. Есть плюшка поиске устройства по СМС (если на телефоне был отключен интернет), но для этого на счету должны быть деньги.

Всё, что было описано выше — это первый этап.
Если Ваш телефон стырили, а остался включён — следите за перемещениями устройства по карте и записывайте ориентиры и временные точки пересечения ориентиров. Эта информация поможет полиции в поиске злоумышленника по камерам в городе.
Если после первого этапа устройство найти не удалось и он отключился — блочим симку.
Следующий этап — вносим imei устройства как утерянное на сайте https://sndeep.info/ru
Уважающие себя сервисные центры/ломбарды при приёмке устройства проверяют его на предмет кражи на этом ресурсе. Еще есть ресурс https://www.imeipro.info (imei info -> Report stolen/lost phone), туда тоже можно внести, но пока не встречал, кто на нём проверяет, т.к. он скорее для Европы.
Ну и напоследок — обращение в полицию. Возьмите с собой коробку от телефона, товарный и кассовый чек, гарантийный талон и другие бумажки, которые от него есть. Обязательно направляйтесь именно в тот отдел, к которому относиться место обнаружения пропажи устройства. При подаче заявления обязательно расскажите все обстоятельства утери/кражи и маршрут движения устройства. Важно — даже если полицейский будет говорить о том, что «эти данные о местоположении получены несертифицированным устройством» настаивайте на записи этих показаний. Они действительно могут помочь.
И последний этап. Ждать.
P.S. Если телефон именно утерян и он разряжался к тому моменту — можно на свой страх и риск не блокировать симку, а просто заблокировать через гугл (mi)-аккаунт, т.к. если человек честный и он его нашел — поставит на зарядку и включит, а затем увидит экран блокировки с сообщением.
Конечно, можно еще помониторить соц.сети на предмет «Найден телефон», но поверьте, таких записей всего одна на 50 потерянных телефонов, если не меньше.
А вообще, желаю Вам не терять телефоны.

Если мой телефон украдут, то я, скорее всего, не получу его назад. Но пин на симку установлен.
А вот если потеряю и его найдет приличный человек — на экране блокировки высвечивается имя и номер телефона моего хорошего товарища, через которого можно и со мной связаться.
Только, вот, если делать это с незнакомого аккаутну устройства, например телефона жены, то гугл попросит доказать, что это ты, прислав подтверждение на утерянный телефон.
Пару недель назад потерял телефон. Расстроился, прикинул сколько будет стоить новый. На удачу решил позвонить с другого телефона. Берет девушка трубку, да нашла. Мы в парке приходите забирайте.
Ну я несусь в парк, звоню. Не берут. Вспоминаю, что он на бесшумном. А этот телефон как назло садится. Вспоминаю, что у гугла же есть функция Find my phone (ну или как то так).
Пытаюсь зайти с другого аккаунта, а он мне: «Хуй тебе! Подтверди, что это ты».
Так что если вы проебете телефон далеко от устройства которое также залогинено (в моем случае это был ноутбук, который в другом городе), то данная инструкция бессмысленна

Потерялся телефон
В городе Спасск — Дальний был потерян смартфон Самсунг А71 в районе вокзала. Отличительные признаки — на телефоне был чехол с картинкой парусного белого корабля. На экране блокировки был контактный номер телефона +7914. 90. На главном экране фото девочки — моей дочери. Нашедшему телефон, вознаграждение. Пожалуйста если нашли, верните. В тлефоне важная информация по работе — я воспитатель в детском саду, все наработки,детский репертуар был в памяти телефона. В случае находки, напишите. Я знаю, что сила пикабу помогает людям, может и мне повезет.
Подлость от Хуавей. Замена стекла на Huawei P60 Pro)
Сегодня я расскажу об отдельной вселенной в которой живут инженеры Хуавей и как я на их творении стекло менял)

Как вы уже знаете из предыдущих постов — я люблю браться за интересные аппараты, от которых все привыкли отказываться из за отсутствия запчастей или сложности замены стекла. Возможно потому что меня в детстве уронили головой на работающую циркулярную пилу несколько раз. А возможно потому что мне просто интересно когда я сорвусь и убегу жить в лес к медведям без этих ваших смартфонов. Поэтому когда мне написали с предложением переклеить свежий хуавей, то я долго не рассуждал)
Так вот рубка свежая и вышла 3 месяца назад на момент написания поста и на него нет НИЧЕГО. Нет даже видосов на ютубе с разборкой. На весь Питер есть только один дисплей, который появился в продаже пару дней назад за не самые гуманные 20к славянских рупий. Но у меня уже есть стекло на него, а владелец разбил его не успев долго попользоваться.
А вот и потерпевший. Знакомьтесь Huawei P60 Pro.

Разбит вроде не сильно, но осколков по бокам так много, как будто сахара насыпали)

Красивая крышка с тактильно приятным пластиком и огромной базукой из блоков камер. Но такое сейчас на всех флагманах, поэтому пора привыкнуть)

С трудом вскрываем данную вундервафлю и видим опять кучу герметика на крышке. Ещё и мои любимые винты разного размера, которые не примагничиваются отверткой и их приходится убирать пинцетом. Потому что Huawei просто так ремонтироваться не должны. Ибо если вы решили вскрыть хуавей, то вы должны осознать надвигающуюся головную боль, которую вам подкинули любители риса и летучих мышей в соусе терияки)

Черные пятна — это полиуретановый герметик, из за которого крышка снимается только с трехэтажным матом)
А тут у нас есть тут кое что интересное. А именно камера. Точнее огромная дура посередине)

Прям на самом объективе огромных размеров катушка, которая нужна для изменения диафрагмы. На самом деле такая же штука была и на Samsung s10 ещё 4 года назад. Но там и камера была меньше, да и самсунги никогда своими камерами не отличались. Их максимум прифотошопить луну на снимке при использовании зума)
Для чего это нужно? — Размыть фон и круто снимать в любое время суток. Тк чем шире диафрагма, тем больше света матрица сможет захватить. А в ночное время суток или при ярком солнце это очень важный параметр для хорошей съемки.

Убираем все лишнее оставляя только голый корпус с дисплеем.
Зазора между дисплеем и рамкой почти нет и все залито герметиком, который просто так не вытащить. Красота)

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

И низ матрицы вываливается полностью потому что его держал только герметик. У меня уже тогда закралось чувство что с этим дисплеем что то не так)

И после выклейки дисплея я все таки понял что с ним не так. Проклейки плагозащитной по краям то и нет. Только сверху и посередине. По краям только куски скотча вперемешку с герметиком. Никогда такого не видел.

А так же огромный шмат белого герметика в двух местах сверху в районе динамика.

Получается дисплей не вклеен от слова совсем и держится только на герметике по краям на раме. По сути сверху сквозная дырка куда зальется водичка и дисплей начнет гнить. Как на Mi 11 ultra. Хотя до пикселей с самсунгами тут все равно далеко. Они вообще все поголовно гнилые, особенно после любителей под краном телефон помыть. Китайцы в плане влагозащиты тут явно преуспели больше)
Чистим матрицу от клея и проверяем что все работает после срезки стекла.

Матрица чистая без черных пятен и разноцветных полос. Даже тачскрин работает без проблем. Значит пора ехать дальше.
Достаем новое стекло для замены.

Чистим матрицу до зеркального блеска от в антипылевой комнате.

Пресс форм на такую дичь вы никогда не найдете, поэтому центровать будем руками.
И вот тут кроется подлость от китайцев. Стекло снизу не плоское, как на всех гнутых. Оно ещё снизу и сверху с загибом, что может потенциально ушатать шлейф матрицы и дать разноцветные полосы при прессовке тк он получается загнут не с 2 сторон, а с 4 как mi 11 ultra

Закидываем матрицу с новым стеклом в вакуумный пресс, предварительно замазав жидким силиконом царапины на поляре по краям и достаем готовый модуль.

Результат идеал, ни единой пылинки, все царапки закрашены и отцентрован в идеал.
Наносим на рамку дорогущий термоклей. Чтобы ничего не отвалилось)

И собираем обратно данную вундервафлю матерясь на немагнитные винты.

Бомба ракета пушка гонка)

Ну и не забудем про олеофоб, куда же без него)

Выдаем чудо китайской инженерии обратно владельцу и обмениваем его на деньги
По цене вышло 10000р
Отправить мне вашего потерпевшего можно Сдеком.
Всем удачных ремонтов.
Интересные посты (Осторожно! Много букв):
А так же приглашаю всех желающих в комменты для совместного веселья)
Ну а тем, кто напишет, что пост реклама — пришлю мемы с Бредом Питтом. Всем Добра)


Друзья! Ищем ништяки для контента, снова! 🙂 Китайские мобилки — сюда
Привет! Вероятно, половина обитателей Пикабу так или иначе уже видели и читали мои статьи — я пишу о подручном ремонте, моддинге, программировании и использовании гаджетов прошлых лет. Довольно большого количества статей возможно и не вышло бы без вашей помощи — именно читатели помогают мне найти некоторые достаточно экзотические гаджеты, про которые я готовлю подробный материал.
Прямо сейчас я составил небольшой список девайсов, которые могут быть вам не нужны, но которые были бы интересны для оживления и будущего контента. не стесняйтесь писать в комментах, если у вас есть что-то подобное, а то часто бывает что начинаю искать какой-то гаджет, а люди пишут «где ж ты был месяц назад! Я целый грузовик их выкинул!» 🙁
Китайские реплики флагманских и дорогих смартфонов начала 2010х годов. Сюда относятся китайские айфоны 4/4s/5/5s/5c/6/6s, galaxy s2/s3/s4/s5/mega/note, htc one x, подделки на Lumia и.т.п. Работали эти реплики на подрисованном в эппловскую систему Android’е и обычно не очень шустро.




Если у кого-то хорошая память на бренды, то вот известные китайцы: ORRO (именно так, не OPPO), SciPhone, Feiteng, HTM, Vinko, BML. Если ваш друг или знакомый когда-то торговал подобными гаджетами (почти в каждом городе были рынки с такими «серыми» телефонами) и ему приносили бракованные подобные девайсы — тоже можно скинуть контакт, поговорить, возможно куплю болячки там обычно не существенные.




Довольно ранние реплики на винде и самых первых андроидах (1.5-1.6). Про них большинство забыли за давностью лет:



И максимальная дичь — реплики айпадов, макбуков и прочей техники Apple. Да, я люблю подобные девайсы собирать в эдаку экосистему))



Топ 20 необычных и прикольных телефонов найденных на Алиэкспресс

Необычный мини-телефон с ручкой, камерой, двумя SIM-картами, слот для карты памяти, сверху можно вставить пропеллер и обдувать лицо =)Стоит такой примерно 2700 руб. Ссылка на источник

Миниатюрный телефон-раскладушка в виде спорткара. Стоит такой где-то 2400 руб.ссылка

Телефон в форме пивной бутылки, камерой, двумя сим-картами. Стоит такой кнопочный телефон около 1500 руб. ссылка

Миниатюрный кнопочный телефон в стиле Бентли. Стоит такой около 1700 руб. ссылка

Миниатюрный маленький смартфон на Android 11. Стоит такой где-то 18 000 руб. ссылка на источник
6) Мобильный телефон Olmio

Крошечный прикольный телефончик, который еле помещается в руке. Стоит такой около 1600 руб. ссылка
7) Сотовый телефон 1,77″

Плоский мобильный телефон размером чуть больше банковской карты. стоит такой примерно 1500 руб. ссылка
8) Детский телефон

Забавный телефон-раскладушка для детей. стоит такой где-то 2 200 руб. ссылка
9) Синий мини-телефон

Маленький кнопочный телефон «Феррари» с MP3 и Bluetooth. стоит такой 1700 руб. ссылка на источник
10) SOYES Super Mini

Супер-мини смартфон с экраном 2,5 дюйма. Стоит такой около 3 900 руб. ссылка

Прикольный телефон в форме автомобиля. стоит такой около 2000 руб. ссылка

Мобильный GSM телефон для девочек в розовом цвете. стоит такой около 3400 руб. ссылка

Забавный телефон с радио и ушами. стоит около 2200 руб. ссылка

Стильный мини-телефон с экраном 1,77 дюйма. стоит такой около 2400 руб. ссылка

Крохотный телефон с гарнитурой. стоит такой 1300 руб. ссылка

Мини-смартфон с 3 ГБ озу . Стоит такой примерно 11 000 руб. ссылка

Супер мини-кнопочный телефон по форме пивной банки. Стоит около 3300 руб. ссылка

Забавный аксессуар в виде трубки от старого телефона и с разъемом 3,5 мм. стоит такая примерно 660 руб. ссылка

Ретро-телефон с функцией PowerBank. Стоит около 2900 руб. ссылка
20) Огромный ретро-телефон

Мощный телефон с мощным аккумулятором 7200 мАч, способный делиться энергией с другими устройствами, закрученная антенна для поддержки мощного сигнала сотовой связи. Стоит такой «Кирпич» около 6000 руб. Ссылка на источник.
Ответ на пост «Случилось невозможное, но долгожданное»
Никто вам не будет делать быстросъёмные батареи! Интернет завалили фейковыми заголовками! В законе пишут СОВСЕМ о другом. Ниже выдержка из статьи на хабре.
В законопроекте говорится, в частности, что аккумуляторы должны быть «съемными», а заменить и можно «доступными в широкой продаже инструментами без использования специализированных средств. Если все же замена потребует использования последних, производитель устройства должен бесплатно их предоставить». Также отдельно оговаривается, что аккумуляторы должны устанавливаться без использования клея или иных средств, которые требуют нагревания или прочих сложных действий со стороны пользователя.
К сожалению, эти правила пока что будут вводиться лишь в странах ЕС. Это означает, что производители телефонов могут беспрепятственно продолжать выпускать устройства с аккумуляторами, заменить которые может лишь сервисный центр или уж очень опытный пользователь, который знаком не только с отверткой и пассатижами.
Статья целиком на хабре

Bada — незаслуженно забытая платформа. Какой была «iOS» от Samsung?

Мы с вами уже давно привыкли, что при покупке нового смартфона приходится выбирать всего из двух программных платформ — Android и iOS. Большинство читателей едва ли помнит, что дуополия на рынке была далеко не всегда: на заре развития смартфонов как повседневных устройств для всех и каждого, некоторые производители представляли свои собственные платформы. Но если Windows Phone всё ещё вспоминают с теплотой, то о другой системе, которая позиционировалась как конкурент Android, забыли практически полностью. И имя этой системе — bada! Недавно я купил себе парочку полностью рабочих bada-фонов с AMOLED-дисплеями по 300 рублей. Были ли у bada шансы в сравнении с Android и что из себя представляла эта система «под капотом»? Узнаете в статье!
❯ Текст
По сравнению с обычными кнопочными телефонами, современный рынок смартфонов зародился не так уж и давно — всего около 13 лет назад. На стыке нулевых и десятых шла активная борьба за карман и предпочтения пользователя: Android 1.6 потихоньку заменял современный Android 2.0/2.1 Eclair, первые три модели iPhone шли победоносной поступью благодаря наличию джейлбрейка и полной кастомизации системы, да и практически каждый крупный производитель мобильных устройств имел собственную платформу, на которой базировались её устройства.

В середине-конце нулевых, большинство пользователей были не искушены фишками полноценных операционных систем — они привыкли жить без многозадачности (за исключением пользователей Sony Ericsson и S60), без нативных приложений, без плавных анимаций и ускорения 3D-графики. Людей подкупал встроенный функционал телефонов: если там была встроенная читалка RSS и предустановлен клиент популярных в то время соц. сетей (мой мир :)), то обладатель устройства обычно пользовался именно ими. Конечно же, уже тогда были смартфоны, напоминающие нам современные устройства: помимо Apple, свои устройства предлагали Nokia (Symbian), Sony Ericsson (Symbian/Windows Mobile), HTC (Windows Mobile), но цены на них действительно очень «кусались».

Huawei U8500, или Билайн E300 — один из первых реально доступных Android-смартфонов в РФ. Ценник был около 6-7 тысяч рублей в конце 2010 года.
После выхода iPhone, производители потихоньку начинали отказываться от привычных кнопок и выпускать всё больше моделей с тачскрином. А поскольку попробовать новый способ управления хотелось всем, начали появляться относительно недорогиетачфоны— обычные телефоны, обладающие сенсорным дисплеем и кучей сетевых возможностей. Примеры одних из самых популярных тачфонов своих лет, это конечно же Samsung S5230 Star, Samsung S3650 Corby, LG Cookie и LG Cookie Fresh. В те времена, встретить человека с таким телефонов было не просто, а очень просто и в каких-то отдаленных местах это даже был предмет для хвастовства!

Когда уже было очевидно, что полноценные смартфоны в ближайшем будущем станут основным портативным устройством, Samsung решили взять предыдущий опыт и наработки SHP (Samsung Handset Platform — платформы S5230) и влить их в разработку совершенно новой смартфонной платформы, имя которой была —bada(с корейского — море). Новую платформу представили с свежей линейкой смартфонов Samsung Wave, а первым устройством был S8500 — смартфон на базе bada 1.0 с ёмкостным тачскрином и AMOLED-дисплеем. Вышел девайс в том же году, что и первый Android-флагман S-серии — Samsung Galaxy S…

И с этим связан очень интересный казус, ведь «под капотом», S8500 был очень похож на своего Android-собрата: использовался тот же чипсет Exynos 3110 «Hummingbird» (он же использовался и в iPhone 4 как Apple A4 с некоторыми доработками) с тем же радиомодулем. Конечно остальные характеристики были немного скромнее Galaxy S (384мб ОЗУ против 512мб, 8гб ПЗУ вместо 16, AMOLED-матрица немного меньше по диагонали), но и сам смартфон стоил ощутимо дешевле Android-собрата. Немудрено, что энтузиасты начали пытаться портировать Android на S8500 — и у них это получилось, хоть полноценный порт появился примерно через 2 года после выхода устройства на рынок.

Но почему большинство пользователей хотели перепрошить своё устройство на Android и чем была bada? Предлагаю узнать в практической части!
❯ Сегодняшние герои
Недавно я листал онлайн-барахолки в поисках интересных и несколько диковинных смартфонов для будущих статей. Выборка, как обычно для моего блога, стандартная: чем дешевле, тем лучше. И тут я вспомнил, что были когда-то смартфоны на базе bada — я будучи школьников даже успел потыкать Wave 525 у знакомого.

E300 я тоже решил прихватить — за 300 рублей предлагался девайс с родной коробочкой!
Однако не все бадафоны представляли для меня интерес. В первую очередь, меня интересовали смартфоны с GPU, которых не было у самых бюджетных устройств (Wave 525) и одной из главных хотелок был крутейший SuperAMOLED дисплей. После недолгих поисков, я нашёл на юлито интересующие меня девайсы за… 300 и 500 рублей.

«Дефект» первого смартфона заключался в забытом пароле. Это всё обходится буквально за 5 минут установкой свежей прошивки, но мне даже этого делать не пришлось: паролем оказался «1111» 🙂 S7250 работает на базе bada 2.0 — последней версии этой платформы от Samsung, до слияния с Tizen.

Второй смартфон был полностью рабочим и исправным. Ему не требовалось никакого обслуживания совсем, хотя можно найти целые варианты на пароле из 200-300 рублей. Что занимательно — S8500 работал на базе bada 1.0, что даёт нам возможность напрямую сравнить их!


❯ Что у них под капотом?
Я намеренно не называю bada операционной системой. По сути, это лишь программная платформа (если очень условно — лаунчер), которая предоставляет набор API и интерфейс смартфона, но при этом сама может быть запущена на любой ОС — будь это Linux, или собственная RTOS, которая применялась во всех устройствах на базе bada 1.0.

После адаптации ядра Galaxy S к S5800, многие люди переходили именно на Android, несмотря на то, что система от Google была ощутимо прожорливее. Под первый Wave выходили разные прошивки — от 4.1 JellyBean, до 4.4 KitKat, старичок долгое время оставался достаточно актуальным.

Требования платформы были отнюдь невысокими, гораздо ниже оных у Android: bada могла легко работать на смартфонах с <128мб ОЗУ (у Wave 525 завялено 80мб, по факту скорее всего 128, где 48 зарезервировано системой), чипсетом с частотой
200мгц и весьма небольшим объёмом ПЗУ. При этом в отличии от тачфонов, bada предоставляла механизм пакетов и предлагала разрабатывать приложения аж на трёх языках:
Java — в платформе была реализована полноценная поддержка J2ME приложений, что в те годы сразу устраняло недостаток приложений в магазине. При этом, Java-приложения не умели одни из самых важных фишек новой системы: уведомления и (возможно) ускорение 3D-графики. Кроме того, у Samsung не очень удобный джойстик для «кнопочных» игр.
C++ — основным языком для разработки приложений под bada были «плюсы». Платформа сразу выбрала «нативные» рельсы — что само по себе очень хорошо, однако из-за некоторых казусов, это обернулось проблемами. Найти SDK и эмулятор для разработки под bada можно и сейчас — я уже успел немного почитать документацию и посмотреть на сэмплы. И в целом, именно с точки зрения разработки, bada была весьма интересной — эдакой смесью костылей Symbian (нет исключений, полное отсутствие RAII и инициализация отдельно от аллокации) и простоты Java (приятная и удобная библиотека собственных дженериков, абстракций над базовыми типами и приятное API для построения интерфейса с конструктором форм). При этом, поддерживались все остальные фишки плюсов — в том числе и STL.
JavaScript — да, bada решила выбрать концепцию PWA, как одну из основных. При этом в JS было экспортировано часть API самой системы — что позволяло делать интерфейс как на JS, так и с использованием нативного фреймворка.
И с виду всё звучит просто замечательно, просто и понятно. Однако, серьёзные проблемы тянулись с самой первой версии платформы:
Отсутствие многозадачности — ядро, на которой работала bada, само по себе было многозадачным: в приложениях поддерживались потоки. Однако сами программы, за исключением предустановленных, всегда работали в однозадачном режиме. Почему так — неизвестно, возможно часть оптимизации под совсем слабые устройства типа Wave 525. Полноценная многозадачность появилась уже в bada 2.0.
Отсутствие адаптивности интерфейса — да, это не шутка. Samsung предлагали адаптировать приложение под каждое разрешение экрана отдельно, а всё позиционирование велось в пикселях. Если честно, именно этот шаг мне понятен меньше всего — Android с самого выхода предоставлял очень крутой механизм позиционирования интерфейса, да и в iOS тоже были какие-то инструменты для адаптивного UI. Это была одна из самых главных проблем bada — по сути, мы возвращались в эпоху Java-приложений а-ля 240×320/320×480.
Нестабильность системы — не на всех телефонах фирменная прошивка работала максимально стабильно. На некоторых моторолах ребут не был таким уж редким явлением, а некоторые китайчики могли начать перезагружаться после манипуляций в инженерном меню. Однако ожидать этого от смартфона в 2010 было странно — по некоторым слухам, даже если сторонняя программа вывалится с Access Violation (SIGSEGV), то в ребут уйдет вся система! Возможно, RTOS не умела нормально работать с MMU, однако если все программы действительно работают в «flat»-адресном пространстве, а не с виртуальной памятью, то это создаёт очень серьёзные уязвимости (и потенциал для моддинга прошивки).
Но были у системы и очень вкусные «плюшки», например — из коробки полностью поддерживалось хардварное ускорение 3D-графики (при наличии GPU), причём сразу свежий OpenGLES 2.0 — с поддержкой шейдеров! Благодаря этому, перспективы в новой платформе были и для разработчиков игр — я знаю как минимум несколько полноценных 3D-игр с iOS и Android для ОС от Samsung. Добавляем к этому потенциал реализации 3D-ускорения Java-приложений и получаем действительно годное устройство для прохождения такой годноты, как Galaxy On Fire 2 в 60 FPS! Кроме GPU, bada поддерживала виджеты и т.н «Хаб» — приложение-агрегатор событий из соц. сетей.

Именно на «болячки» жаловались пользователи чаще всего, забывая про положительные стороны устройства. И да, даже во время собственного использования, я встречал баги и сам — но всё ли так плохо, учитывая то, что Samsung действительно работала над своими ошибками и пыталась привлечь как можно сторонних разработчиков к своей платформе? Предлагаю узнать, взяв смартфон в руки самому!

❯ Смотрим на устройства
Первое, на что обращаешь внимание, когда берешь смартфоны начала 2010х в руки — это их компактный размер. Причём компактность здесь отнюдь не в ущерб юзабилити: в своё время, размер дисплея Wave был типичным среднячком — на уровне как 5.5″ сейчас. Но при этом дисплей смартфона действительно очень классный и приятно удивляет и сейчас. Однако, здесь есть нюанс — помимо S8500, выходил так-же S8530 — практически такой же смартфон, но с SC-LCD (Samsung IPS) матрицей. В те годы, корейская компания часто давала выбор между различными типами матриц в пределах одной модели. Да что там говорить, иногда даже серьезные различия в чипсетах были!
На моем экземпляре, к сожалению матрица немного выгорела, в самом проблемно месте — верхней шторке. Увы и ах, но заметно это не так сильно, поэтому я лично обратил на это внимание только на второй день использования. Во всём остальном, я не чувствую никакого дискомфорта от «старых» OLED-дисплеев — могу без проблем юзать их часами. Wave M — устройство попроще и там используется обычная TN-матрица. Но тем не менее, её размер в 2010-2011 году был весьма впечатляющим.

Сам интерфейс системы здесь напоминает Symbian и Android одновременно. Оно в целом и не удивительно: Samsung долгое время была участником Symbian Foundation и разрабатывала обновления для этой ОС, а также выпускала свои смартфоны на базе этой системы. Ко второй версии bada, концепцию UI сильно поменяли в сторону Android, из-за чего Wave M больше похож на смартфон с Android 2.x на борту — и лично по мне, этот интерфейс около-идеален!

Сам девайс работает достаточно плавно. Здесь практически нет 60, или хотя-бы 30 FPS анимаций, но зато сама платформа отнюдь не «лагучая» в отличии от ранних версий Android.
Весьма занимательный способ установки приложений придумали пользователи бадафонов в своё время: система проверяет сертификаты и покупку только во время установки приложения, при этом вся установка заключается в распаковке zip-архива в специальную директорию на SD-карточку. По итогу очень скоро обнаружилось, что можно просто скопировать уже готовую купленную игру, скачать какое-нибудь бесплатное приложение, подменить файлы в его папке на файлы игры — и получить приложение бесплатно! В bada 2.0 этот баг поправили, но всё равно это выглядело весьма забавно для компании такого уровня.

Что насчёт юзабилити бадафонов в наше время? Ну, базовые функции они точно смогут выполнять достаточно достойно. С основной функцией «звонилки» корейцы справлялись всегда хорошо — тут и удобная синхронизация контактов с Kies (программа для синхронизации с ПК), и возможность передавать контакты через BT.
Здесь, само собой, есть Wi-Fi и 3G, но ни о каком сёрфинге речи практически не идёт. Почему практически? Потому что Opera Mini 7 всё ещё работает и уходить на покой явно не собирается — а значит прочесть материал или зайти на википедию в экстренной ситуации точно получится. bada 2.0 уже поддерживала в том числе и HTML5, но судя по всему, частично (CSS3 анимации у меня не работали). В целом, если у вас есть большое желание поставить «бадафон» в строй — то можете запилить для себя PWA-приложения, которые реализуют необходимый вам функционал. Так и клиент ВКшечки можно реализовать, и почту листать, и СМСки от банков обрабатывать.

Зато почтовый клиент работает!
Один из самых важных критериев для меня — это наличие в смартфоне годного аудиотракта. У моего BlackBerry Priv качество звука просто отменное, притом что используется встроенный ЦАП в Snapdragon 810. И плеер, и качество звука здесь очень даже ничего. Плеер удобный, есть DLNA для трансляции мультимедиа на телевизор.
Лично у меня сложилось впечатление, что в середине десятых, качество звука через 3.5мм джек заметно просело у смартфонов, по сравнению с народными музыкальными Nokia — как например 5310.

Ну и не забывая про мультимедийную часть смартфона, я проверил камеру — когда-то, у Galaxy S была весьма достойная камера, учитывая его ценовой сегмент. У Wave камера тоже вполне ничего, правда с теми же «болячками», что и у других мобильных камер прошлых лет — крайне плохое качество при съемке в темноте. Ну и автофокус забрали. 🙁


Поскольку у смартфонов был GPU и Samsung всерьез старались привлечь разработчиков игр под свою платформу, на bada выходили и 3D-игры с очень годной, по тем временам, графикой.
В целом, недостаток нативных приложений в какой-то степени компенсируется наличием J2ME, но именно отсутствие нормально поддержки от Samsung и странная политика в отношении безопасности, в конечном итоге добили bada. После того, как превосходство Android стало очевидным, Samsung решили сделать упор в Tizen — идеологическом продолжении MeeGo, мобильной ОС, которая разрабатывалась Intel и Nokia. Компания выпустила сразу несколько устройств на новой платформе — Samsung Z (без Galaxy), после которого вышло ещё несколько смартфонов и Tizen окончательно обосновался на холодильниках/часах/телевизорах. Мобилок на Tizen я пока ещё не видел, хотя покопать их с технической точки зрения и сравнить с N9 было бы интересно — но в РФ они достаточно редкие.

Ну а несколько лет назад, Samsung закрыла магазин приложений Tizen, что формально означает полный провал «вертушки» 🙁
❯ Заключение
Samsung в плане самопальных платформ напоминает Microsoft — те тоже умудрились сделать действительно крутую и необычную Windows Phone, отвоевать какой-то процент рынка и заполучить фанов своей системы, но затем пришли эффективные менеджеры и решили рубить всё на корню.
И даже если команды разработчиков самих этих платформ горят идеей запилить что-то крутое, бабло и желание улучшить отчетность делают своё дело. Но раз в год и палка стреляет — не зря ведь инженеры Nokia основали свою компанию Jolla, которая пилит Sailfish OS. А ведь «Аврора» — прямой наследник Sailfish! 🙂
Но если говорить конкретно о бадафонах — то несмотря на баги и некоторые глупые решения, это были весьма годные девайсы, учитывая действительно низкую цену. Настоящим конкурентом бюджетных бадафонов была лишь Nokia 5228/5230, которая хоть и имела настоящий Symbian, но не была оснащена Wi-Fi, GPS и даже 3G. Но вот с кем bada могла конкурировать в верхнем сегменте рынка?

Топ 10 хитроумных устройств для защиты от угона, кражи и потери
1) Автомобильное реле с дистанционным отключением подачи топлива

Автомобильный GPS-трекер для слежения за местоположением вашего автомобиля, встраивается в электрическую схему бензонасоса, питание берет из аккумулятора машины. Противоугонная система с мониторингом позволит отслеживать его местоположение и при необходимости даже отключить подачу топлива. Стоит такой около 1 500 руб. ссылка на источник
2) GPS-трекер с встроенным аккумулятором

Мощный мини трекер-брелок со встроенным аккумулятором, способным работать без подзарядки до 14 дней, ГЕО-сигнализация и сигнализация о превышении скорости, встроенная высокочувствительная антенна GPS и GSM, отслеживание движения трекера на смартфоне. Незаменимая вещь для тех, кто беспокоится за свой автомобиль, велосипед, детей и тд. Стоит такой около 1600 руб. ссылка
3) Водонепроницаемый трекер с мощным аккумулятором

Устройство ST-915 способно работать в режиме ожидания до 120 дней, благодаря батарее 10000 мАч. Позволяет смотреть карту перемещения в режиме реальном времени. Стоит такое где-то 5500 руб. ссылка
4) OBD GPS адаптер

Автомобильные трекер, работающий от 16-контактного разъема OBD II. стоит такой примерно 1400 руб. ссылка
5) Защита велосипеда

GPS-трекер SinoTrack для велосипеда с беспроводным управлением, водонепроницаемый, предоставляется бесплатное веб-приложением для отслеживания. стоит такой где-то 3800 руб. ссылка

Брелок-метка, позволяет найти предметы в радиусе 10 метров, можно повесить на сумку, ключи и тд., одного заряда хватает на 1 год, работает со смартфоном через Bluetooth. Стоит такая около 1300 руб. ссылка
7) Трекер в прикуриватель

GPS-трекер для автомобиля, работающий от прикуривателя с гнездами зарядки. Стоит такой около 3800 руб. ссылка

‘Часы’ для детей и пожилых людей с gps-трекером для отслеживания их местоположения, с возможностью запрограммировать 2 номера для голосового вызова (звонка) прямо с ‘часов’. Стоят такие около 4500 руб. ссылка
9) Видеорегистратор с трекером

Хитроумное устройство для авто/мото с системой глобального позиционирования. стоит такой около 7300 руб. ссылка
10) Трекер для собак

Мини 4G GPS-Трекер ошейник для домашних животных. Стоит такой около 4 000 руб. Ссылка на источник
Классический мэмас


Сам себе 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!
Помогите — украли всё! Цифровая безопасность — миф?
По мотивам моего предыдущего поста про слежку.
Все написанное мной ниже — прошу считать исключительно плодом моего больного воображения и было на самом деле 🙂
Думаете отпечатком пальца, своим красивым лицом или многозначным паролем на Вашем устройстве надёжно заперли свои данные? Как бы не так.
Допустим, человек потерял телефон. Ну бывает — пятница, праздник, корпоратив. Веселились, ели, пили — пили много. Дальше помнит плохо — ездил в такси, вызывал, садился, куда-то ехал, выходил. Слава Богу добрался до дома.
Проснулся утром. Похмелье, головная боль и короткие обрывки памяти вчерашней ночи. Маленького электронного друга нигде нету — все усилия вспомнить, где мог его пролюбить, тщетны, концов не найти. В первую очередь подумал о банках. С телефона жены позвонил в Сбербанк и узнал, что по его счёту ночью было много интересных транзакций.
Тинькофф сообщил, что ночью, с его счёта в Тинькове были переведены все имеющиеся средства на счёт в Сбербанке.
Ещё один, менее известный банк ошарашил тем что ночью, ОНЛАЙН была выпущена, заранее одобренная, кредитная карта на 100 тыс. рублей, но перевод с неё в банк Азербайджана был заморожен службой безопасности банка.
Слегка придя в себя, человек собрался и пошёл с этими фактами в полицию. Вы думаете там удивились? Оказалось, практически каждый день к ним приходит много людей с подобными заявлениями. У всех транзакции, банки, электронные кошельки и тому подобное.
Но как? Человек ведь не дурак — Face ID, отпечатки, пароли, графические ключи. Никто из нас, в повседневной жизни, не задумывается, что наш маленький, или не очень, гаджет с сияющим экраном это ещё и электронный ключ к огромному количеству возможностей — наш электронный пропуск в современный мир.
А сердце этого пропуска, самый главный ключ – это наша с вами SIM КАРТА!
Ветераны пользования мобильным телефоном ещё помнят как в начале расцвета мобилок — sim-карту ты получал вместе со специальным конвертиком, в котором была комбинация из четырёх цифр PIN-код и коды PUK один, PUK два и PUK три.

С ростом «мобилизации» населения — все мобильные операторы упразднили и удешевили конверты, начав выдавать пластиковую штампованную карточку с sim-картой и по определению задали pin-код 0000.
Глобальная эра воровства вашего «цифрового Я» начинается как раз в то время.
Технология мошенников очень проста — из украденного или найденного защищённого вашим пальцем, лицом или паролем мобильного телефона, мошенники извлекают sim-карту и вставляют её в любой другой телефон. Чтобы узнать номер вашего телефона — достаточно набрать код-команду или позвонить на короткий номер оператора. Можете попробовать сами — МТС: *111*0887# Билайн: *110*10# Мегафон: *205#. При помощи телеграмм бота — по номеру телефона получают абсолютно все данные человека-владельца sim-карты, включая ФИО, паспортные данные и адреса (раньше стоило от 20 до 50 руб. в РФ за 1 человека).
Ну а дальше — полёт фантазии безграничен.
В приложениях, мошенники восстанавливают доступ к интернет-банкам — ведь обычно логин для входа это и есть ваш номер телефона. Ну или его можно восстановить по номеру. Узнать какими банками вы пользуетесь проще простого — можно начать перевод по СБП и система услужливо подскажет все варианты получателя. Банк, полный заботой о клиенте — отсылает sms-сообщение с необходимыми кодами для входа. В данном случае — смски попадают на телефон, в котором спокойно установлена ваша симка, изъятая из вашего заблокированного телефона. Ваш телефон, с этого момента, интереса не представляет. Ну разве как источник запчастей.
На телефоне мошенников восстановлен доступ ко всем банкам-приложениям и дальше идёт перечисление ваших денежных средств куда угодно, списание денег со всех кредитных карт, включая свежеоформленные, оплаты чего угодно. Чтобы вы знали — ряд банков, по паспортным данным открывает кредит до 1 млн рублей. А ещё можно на сайте госуслуг переоформить недвижимость, если вы её единственный владелец. Удобно и быстро же, ну? Ключевые слова в нынешнее время — легко, быстро и просто, не так ли?
Полиция вам особо не поможет — примет заявление и всё. Кредиты останутся до конца судебных разбирательств.
Защита сим-карты и в целом, ваша цифровая безопасность это ваше личное дело!
На 100% себя обезопасить не получится никогда (могут по голове дать и пальчик приложить, например).
Итак, что нам нужно сделать для того чтобы жить спокойнее:
1. Установить пароль (пин-код) на сим-карту (спросите у яндекса или гугла где конкретно в вашей модели телефона это можно сделать)
2. Убрать всплывающие уведомления от банков поверх экрана блокировки.
3. На госуслугах подать заявку на оформление недвижимости только в личном присутствии.
4. Можно в самые популярные банки отнести письменные заявления с запретом на онлайн-оформление кредитных продуктов — это можно отменить в любой момент и делать сколько угодно раз.
5. Написать заявление оператору сотовой связи на запрет смены SIM-карты по доверенности (да-да, это тоже весьма распространённый случай)
6. Не сообщать данные карт и одноразовые пароли всяким «службам безопасности» (ну это уже, надеюсь, должно быть, как «отче наш» известно) и не переходить по сомнительным ссылкам.
Заботимся о Вашей цифровой безопасности, ремонтируем и делаем профилактику Ваших гаджетов уже более 8 лет.
По всем вопросам касающимся ремонта или профилактики мобильной техники — можно писать по ссылке в профиле, в сервисную телегу или whatsapp.
Не теряйте и не теряйтесь, ещё увидимся! 🙂