Монобогдан ищет китайские смартфоны-подделки в любом состоянии!
И снова ищем китайчиков! Как многие пикабушники уже вероятно знают, я пишу статьи об оживлении, моддинге и программировании под различные старые девайсы! Но некоторые девайсы найти проблематично: большинство оказалось на свалке, а на онлайн-барахолках их не найти из-за запрета на контрафакт. Для будущего материала, я ищу китайские подделки из начала 2010х: в основном китайские игровые консоли, Android-реплики айфонов, айпадов, Samsung Galaxy, Nokia Lumia/HTC/Sony Xperia и другие подделки на популярные бренды. Можно невключайки/нерабочие/зависающие, почти любое состояние - все постараюсь оживить и поднять. Что с ними происходит потом? Смотрите сами: На помойку? Никак нет! Пишем нативные приложения для китайских кнопочников, Сам себе Linux-смартфон: Выкидываем Android из старого Fly и пилим свою оболочку, Сам себе экосистема, портируем свежий Android на NoName-смартфон, на грани отвала eMMC: переносим Android на MicroSD, накатываем чистый Android на китайский iPhone 5s, бомж-гейминг за копейки с отвальной консолью. Так что не сомневайтесь, девайсы попадают в хорошие руки :) Все стараюсь поднять, оживить и написать про них материал! Есит что-то подобное? Пишите в комменты или в тг @monobogdan. Спасибо!
Сам себе 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-режим терминала:
tcgetattr(modemFd, &tio);
tio.c_iflag &= ~(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!
Вы хотите головоломок?
Их есть у нас! Красивая карта, целых три уровня и много жителей, которых надо осчастливить быстрым интернетом. Для этого придется немножко подумать, но оно того стоит: ведь тем, кто дойдет до конца, выдадим красивую награду в профиль!
Не работающий корпоративный подарок китайского производства
Уже почти 5 лет я работаю с индустрией промо-подарков и корпоративного мерча. И не перестаю удивляться, насколько в этой сфере популярны дешевые подарки плохого качества (Китай – лучшее место для их производства).
Но сегодня я расскажу об уникальном подарке – китайских электронных устройствах, которые вроде бы неплохие, но… не работают. При этом они пользуются большой популярностью и продаются значительно лучше товаров должного качества.
В своё время я написал пост Как мы продавали дешёвый китайский товар, который все ругали и… просили ещё. Дело было в том, что у товара была правильная цена. Этот материал является одним из самых популярных в разных социальных сетях, рекомендую ознакомиться.
Сегодня рассказ будет о хороших устройствах, произведенных в Китае. Устройствах, которые преподносят в подарок в крупных фирмах и корпорациях. Особенностью этих устройств является то, что они… не работают.
Как и почему – разъясню ниже.
При разработке корпоративного мерча или участии в тендере рекламному агентству, которое создает концепт и стилистику, очень важно вписаться продать свою идею и вписаться в бюджет клиента. Порой креатив и бюджет получается подружить только так, что клиент соглашается на поставку неработающих подарков. Другого определения для подобных устройств у меня нет.
Судите сами. С насыщением рынка устройств с поддержкой беспроводной зарядки, возросла и популярность устройств, которые эту беспроводную зарядку обеспечивают. Я бы отметил сильное увеличение интереса в 2021-м году, и на данный момент интерес только увеличивается.
Мы к росту этой популярности приложили руку, а на мировом рынке сейчас немало копий наших самых успешных разработок.
Разные торговые марки предлагают внешние аккумуляторы, зарядные станции и даже настольные лампы с поддержкой беспроводной зарядки. Внешние аккумуляторы для зарядки нужно просто прислонить к чехлу смартфона, на станциях обычно можно заряжать смартфоны, часы и наушники, а лампы, помимо основной функции, имеет площадку для зарядки гаджета.
Некоторое время назад удешевить станции беспроводной зарядки можно было за счёт использования модулей зарядки с меньшей мощностью. Сейчас разницы между мощным и слабым модулем фактически нет и слабые выпускать почти перестали.
Была опция использования дешевого пластика, но поскольку это очень сильно влияло на внешний вид устройства и делало подарок непривлекательным, она редко использовалась (однако, не значит, что не использовалась совсем).
Самый популярный удешевления устройств с беспроводной зарядкой заключается в удалении из комплекта адаптера питания, который оказывает сильное влияние на себестоимость. Стоимость качественного адаптера питания в Китае составляет около 20-ти юаней или 3-х долларов (в зависимости от выходной мощности и соответствия требованиям сертификации). Более мощные и лицензированные адаптеры стоят ещё дороже. А не мощные для работы зарядных станций и ламп с беспроводной зарядкой не подходят.
При использовании обычного адаптера станция просто не сможет обеспечить мощность, которой будет достаточно для зарядки смартфона, часов и наушников. Или зарядка будет идти настолько медленно, что смысла в ней не будет. Это легко проверить если в ноутбук с разъемом USB Type-C вставить зарядку от смартфона (см. картинку ниже). Система сразу выдаст предупреждение, что используется слабый адаптер питания. Номинально заряд будет поступать, но темпы разрядки батареи будут значительно выше.
Удаление из комплекта станции или лампы с беспроводной зарядкой адаптера питания позволяет снизить себестоимость. Но после этого ни станция, ни лампа не работают.
При этом названный способ «оптимизации», который активно используется в России и соседних странах я бы назвал истинно китайским.
Продавцы и маркетологи при этом активно убеждают, что неработающий подарок остается хорошим, так как адаптеры питания в большом количестве «есть у всех». Но действительности это так же не соответствует.
У меня дома много старых адаптеров питания, которым 4-5 лет. Но старые адаптеры питания, для станции или лампы с беспроводной зарядкой не подойдут, так как у них недостаточно мощности. Не работающий подарок со старыми адаптерами включится, но качественной зарядки не получится.
Несколько лет «яблочная» корпорация так же исключила из комплекта своих смартфонов зарядные устройства, объясняя это «заботой об экологии», так как старые зарядные устройства были дома у каждого приверженца продукции этой компании. По факту, в это время появились уже новые технологии зарядки, которые позволяли заряжать устройства быстрее, но стоили дороже.
Предлагать пользователям оставаться с устаревшими технологиями было губительно для имиджа, а комплектовать адаптерами с новыми технологиями – дорого. Поэтому и была придумана эта «забота об экологии». Поскольку Эпл остается главной технологической компании и то, что можно им, сразу становится можно другим, тенденцию «заботы об экологии» подхватили многие другие, включая корейские и китайские торговые марки.
Адаптеры питания стало нужно покупать в дополнение к покупке недешевого смартфона, а их розничная цена (на качественные, мощные адаптеры) в торговых сетях на лето 2023 начинается от 800 рублей. То есть «не нужным» и «запасным» адаптерам питания в последнее время стало особо неоткуда взяться, а старые адаптеры уже не способны поддержать мощность и быструю зарядку современных устройств.
Не работающие устройства и станции с беспроводной зарядкой предлагают все поставщики корпоративного мерча.
Вот, например, лампа, которая из коробки не светит и не заряжает смартфон. Но её кому-то подарят:
Вот зарядная станция с часами, которая не заряжает, а часы которой не работают.
Фото, кстати, тоже вводит в заблуждение, так как на снимке не видно кабеля, а без подключения к сети устройство не включится. Но и это чудо кому-то достанется.
Вот красивый коврик для беспроводной зарядки. Который не заряжает.
Кстати, если подобные устройства через кабель подключать к ноутбуку или другим электронным устройствам, мощности будет недостаточно. Зарядка будет идти, но выход будет очень слабым.
Итого для того, чтобы «оптимизированный» подарок заработал, получателю нужно заплатить 25-30% от его стоимости (средняя розничная цена на станции и лампы с беспроводной зарядкой в торговых сетях на лето 2023 составляет около 3000 рублей).
С одной стороны, доплата за то, чтобы бесплатный подарок заработал, не такая большая. С другой – далеко не все сразу поймут, что подарок не рабочий, и его нужно дополнительно укомплектовать адаптером питания. Я сторонник того, чтобы предлагать пользователям устройства, которые работают. А плохие подарки я не люблю.
При этом, если обратиться к реалиям рынка, то они от моей точки зрения отличаются: продажи не работающих подарков без зарядных устройств намного выше, чем продажи устройств работающих. Цена и здесь играет ключевую роль.
Что скажете по поводу не работающих подарков?
***
Двенадцать лет занимаюсь производством и закупками электронных товаров в Китае. Делюсь опытом. Пишу о своих проектах, специфике поставщиков и современной жизни Поднебесной.
Веду телеграм-канал «Китайцы: руководство по применению», издал одноименную книгу (можно скачать на LitRes, Ozon и Ridero).
Всегда рад новым подписчикам.
Ох уж эти превью, будоражат воображение
а может вся электроника из китая это..... да не, бред какой то
Акумулятор у дома
Сам оригинал #comment_234495895
Рынок электроники в Китае - кнопочные телефоны снова в тренде
Рынки электроники в Китае славятся на весь мир. Здесь можно найти абсолютно любые запчасти как для современной техники, так и для моделей, которые не выпускают уже много лет. А масштабы торговых рядов в городах Гуанчжоу и Шэньчжэнь (который является Кремниевой Долиной Поднебесной) поражают масштабом.
Продавщица на китайском рынке
Я отправился на рынок электроники в "маленьком" провинциальном китайском городке, с населением "всего-то" пять миллионов(!) человек, и был приятно удивлен обилию товаров. А больше всего в глаза бросился новый тренд 2021 - кнопочные телефоны. Что примечательно, на некоторых даже нанесены логотипы российских операторов.
Кнопочные телефоны снова в моде
С чем связано появление столь большого числа прославившихся в нулевых "Нокиа", и ее различных клонов - для меня вопрос. Однако, кнопочные телефоны на любой вкус и кошелек представлены в избытке. Тут есть модели, способные держать заряд батареи целый месяц, бюджетные мобильные (стоимость менее 1000 рублей) и даже золотые "вертушки", которых я не видел уже много лет.
Магазин батарей, заверяют, что оригинал)
А посмотреть своими глазами что продают на рынке электроники в Китае 2021 - можно в видео.
Примечательно, что каждый желающий может собрать свой собственный смартфон. Для этого на прилавках также представлено все необходимое - от инструментов и установок, до, запчастей-комплектующих. В основном, конечно же, торговля идет на опт. Однако, и в розницу также можно закупиться, хотя цена будет и выше.
"Кэмэл"
Обязательный атрибут любого рынка в Китае - кафе. Тут также представлена зона отдыха. Полдень - без нотки иронии священное время для китайцев, когда прекращаются все дела и жители Поднебесной дружно обедают. А после трапезы китайцы любят поспать. Поэтому лучше отправляться на рынок электроники либо утром, либо же после 2 часов дня, дабы продавцы были в расположении духа и шли на торг.
Магазин запчастей в Китае
Вот и хотелось бы не материться, да китайцы не дадут...
-У тебя есть ХУЙКЕ?
- Да вайлом....))
Что надо успеть за выходные
Выспаться, провести генеральную уборку, посмотреть все новые сериалы и позаниматься спортом. Потом расстроиться, что время прошло зря. Есть альтернатива: сесть за руль и махнуть в путешествие. Как минимум, его вы всегда будете вспоминать с улыбкой. Собрали несколько нестандартных маршрутов.