Объективно - геморройный набор от "фирмы" ioncs. Сборка усложняется и самой формой модели (длинная и плоская), и тем, что сцепление деталей всё-таки не как у LEGO (не прям чтоб рассыпается в руках, но и железной уверенности, что одно неловкое движение не приведет к частичному разрушению конструкции, нет).
Удивило (раньше не встречал) наличие "служебных" деталей - деталей, которые устанавливаются только в процессе сборки и позже снимаются и не используются. Типа такие костыли или ребра жесткости.
Детали под счет, сколько указано в инструкции для пакета - ровно столько и будет.
Собрала! Где ж его теперь хранить?... Отвечая на прошлый пост: не выгорело тогда (поэтому не считово!). И да, не оригинал. Но по тактильным ощущения то самое!
Мы уже сопоставили заявленные характеристики лампочки от производителя Rev ее фактическим и теперь самое время измерить температуру работы микросхем, измерить световой поток и также разобраться с количеством кристаллов светодиодов в лампе.
Данное видео специфично и будет интересно скорее людям с инженерными склонностями.
Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках. Интересно? Тогда жду вас под катом!
Содержание:
Не J2ME едины
Аппаратные ресурсы
Кроссплатформенный рантайм
Кроссплатформенный рантайм: Win32
Кроссплатформенный рантайм: MRE
Кроссплатформенный рантайм: VXP
Наконец-то пишем игру
Тестируем на реальных девайсах
Заключение
❯ Не J2ME едины
Думаю, многие мои читатели помнят о такой платформе, как J2ME. Java-приложения стали фактически основной возможностью расширения функционала телефонов в 2000-х годах. API для них был достаточно хорошо стандартизировано, программы не зависели от архитектуры процессора и ОС устройства, а порог вхождения для написания собственных приложений был довольно низкий и даже новички могли за пару дней написать свою игрушку или какое-нибудь GUI-приложение!
Однако не одним J2ME мы были едины: существовало множество платформ, которые так или иначе пытались занять нишу Java на рынке. Некоторые из них я упоминал в своей прошлой статье о написании 3D-игры под Sony Ericsson с нуля: например, была такая платформа на телефонах Sony Ericsson серии T, как Mophun, а CDMA-телефонами с чипсетами Qualcomm использовалась нативная платформа BREW. Пожалуй, я не буду упоминать о .sis и .cab — поскольку это форматы нативных приложений для смартфонов, а не простых «фичефонов».
В какой-то момент, ближе к 2006-2007 году, прилавки российских официальных ритейлеров (по большей части это были телефоны Fly) и неофициальных продавцов на рынках заполонили различные китайские телефоны, которые предлагали какой-то немыслимый функционал для тех лет за копейки, да ещё и визуально напоминали флагманские модели известных брендов. Пожалуй, одним из самых популярных таких телефонов была Nokla TV E71/E72 (да, именно «нокла»), вышедшая примерно в 2008 году и производившаяся аж до 2011 года! За 2-3 тысячи рублей (это менее 100 баксов), пользователь получал здоровый 2.4" дисплей с разрешением 240x320 весьма неплохого качества (когда в те годы многие продолжали ходить с 176x220), да ещё и с тачскрином, гироскоп, огромный громкий динамик (пусть и не очень качественный), поддержку SD-карточек до 32Гб, нередко фронтальную камеру, а также премиальный дизайн с вставками из алюминия. Частенько китайцы заботливо клали в коробку ещё чехольчик и дополнительный аккумулятор :)
Были даже полные копии существующих устройств от Nokia. Особенно китайцы любили подделывать массовые модели на S40: они были очень популярными и китайцы хотели откусить свой кусок рынка у Nokia. Пусть и рынка серого импорта — очевидно, в салонах связи подделки никто не продавал:
Но была и ложка дёгтя в этой бочке меда: китайские телефоны очень часто не имели поддержки Java, из-за чего многие пользователи разочаровывались в них из-за отсутствия возможности установить необходимые им приложения. Никакой тебе оперы, аськи, игр… Скорее всего, это связано с необходимостью отчислений Sun, а также разработчикам реализации J2ME-машины (JBed/JBlend) и установки чипа флэш-памяти чуть большего объёма.
Но многие пользователи не знали, что такие девайсы не просто поддерживали сторонние приложения, но и умели выполнять настоящие нативные программы, написанные на полноценном C! Всему помешала китайская костыльность и тотальная закрытость. Платформа предполагалась для работы на внутреннем рынке. Для вызова менеджера нативных приложений необходимо было вводить специальный инженерный код в номеронабирателе, предварительно скопировав приложение в нужную папку, а SDK долгое время было платным и доступно только для компаний из Китая. Кроме того, далеко не все приложения могли запустить на конкретном девайсе — были серьезные проблемы с совместимостью.
Всё как вы любите: HiTech-девайсы на фоне ковра, который старше автора лет на 30 :)
В ранних китайских телефонах использовалась платформа Mythroad (MRP, MiniJ) от китайской компании SkyWorks, которая лицензировала свою технологию производителям чипсетов. Поддержку MRP можно было встретить на телефонах с чипсетами MediaTek, Spreadtrum, а также MStar (и возможно Coolsand). Mythroad предоставлял некоторое API для работы с железом телефона и разработки как UI-приложений, так и игр, кроме того, Mythroad позволял хранить ресурсы в одном бинарнике с основной программой и даже имел какой-то интерпретируемый язык помимо возможности запуска нативного кода. Для работы таких приложений необходимо было скопировать менеджер приложений dsm_gm.mrp и игру в папку mythroad во внутренней памяти устройства или на флэшке, а затем набрать в номеронабирателе код *#220807#, иногда при отключенной первой SIM-карте. Костыльно? Костыльно! Откуда об этом знать среднестатистическому пользователю? Не откуда! Но работало!
Эта платформа поддерживалась на большинстве подделок под брендовые устройства Nokia, Sony Ericsson и Samsung, а также iPhone и на многих китайских кнопочных телефонах 2008-2010 годов.
Ближе к 2010 году MediaTek разработала свою собственную платформу, которая должна была заменить MRP — WRE (VXP). Эта платформа была гораздо шире с точки зрения функционала (например, был доступ к UART) и её API был вполне удобно читаем для программиста, а SDK свободно доступен для всех. Один нюанс всё портил — приложения без подписи привязывались к IMSI (даже не IMEI) симки в девайсе и на некоторых девайсах требовали переподписания под каждую конкретную SIM или патчинг дампа оригинальной прошивки телефона на отключение проверки подписи. Эта платформа поддерживалась на многих кнопочниках и смарт-часиках 2010-2020 годов: к ним относятся новодельные телефоны Nokia, телефоны DNS и DEXP, Explay и т. п. Для запуска приложений достаточно было выбрать файл с разрешением VXP в проводнике и просто запустить его. Но с совместимостью всё равно имелись проблемы: если запустить VXP для версии 2.0 и выше, мы получим лишь белый экран. Ну хоть не софтресет, и на том спасибо!
Далеко не все такие часы поддерживают MRE, смотреть нужно от устройства к устройству
❯ Аппаратные ресурсы
Большинство китайских кнопочных телефонов работает на базе одних и тех же чипсетов. В конце нулевых чаще всего использовались чипсеты MT6225, SC6520 и некоторые чипы от Coolsand. Средние хар-ки девайса были следующими:
Процессор: ARMv5 ядро на частоте ~104МГц, ARM926EJ-S. Нет FPU, есть Thumb. Большую часть процессорного времени программа могла забрать себе.
ОЗУ: ~4Мб SDRAM. Программам было доступно 512Кб-1Мб Heap'а. Это, в целом, довольно немало для большинства применений.
Флэш-память: ~32Мб, пользователю доступно пару сотен килобайт. Да, вы не ослышались, килобайт! Однако можно без проблем использовать MicroSD-флэшки до 32Гб.
Дисплей: от 128x128 до 320x480, почти всегда есть 18-битный цвет (262.000 цветов), в случае TV E71/E72 используется очень неплохая TN-матрица с хорошими углами обзора и яркой подсветкой. Иногда есть тачскрин.
Звук: громкий динамик, наушники.
Аккумулятор: ~800мАч, на некоторых девайсах может быть и 2.000мАч, а то и больше!
Ввод: клавиатура, иногда была поддержка QWERTY.
Внешние шины: почти всегда был доступен UART, причём его можно было свободно взять прямо с платы — он был явно подмечен! Взять GPIO с проца не выйдет (кроме, возможно, вибромотора), SPI и I2C также напрямую недоступны. Внешние шины можно реализовать с помощью UART через GPIO-мост из микроконтроллера.
В итоге мы получаем очень неплохие характеристики для устройства, которое сочетает в себе сразу всё. На базе такого девайса можно сделать и сигнализацию, и HMI-дисплей с интерфейсом для управления каким-нибудь устройством, и игровую консоль с эмуляторами… да на что фантазии хватает! И это за какие-то 200-300 рублей, если мы говорим о б/у устройстве или 600 рублей, если говорим о новом. Это дешевле, чем собирать девайс с подобным функционалом самому из готового МК (например, RP2040) и отдельных модулей. Кстати, дешевые 2.4" дисплеи на алике — это ни что иное, как невостребованные остатки дисплеев для подобных китайских телефонов на складах! А вы думали, откуда там значки на тачскрине снизу?
Однако в рамках данной статьи мы не будем ограничиваться лишь теорией и на практике напишем примитивную 2D-игрушку, которая будет работать сразу на трех платформах без каких-либо изменений в коде самой игры: Windows, MRP (Mythroad) и VXP. Но для того, чтобы достигнуть такого уровня абстракции от платформы, нам необходимо написать рантайм, который оборачивает все необходимые платформозависимые функции для нашей игры.
Игрушка будет простой: 2D скролл-шутер с видом сверху, а-ля Asteroids. Летаем по космосу, и стреляем по враждебным корабликам, стараясь не попасть под вражеские лазеры. Всё просто и понятно :)
❯ Практическая часть: Кроссплатформенный рантайм
Итак, что нам необходимо от абстракции для такой простой игры? Давайте посмотрим:
Графика: очистка экрана, отрисовка спрайтов с прозрачностью (без альфа-блендинга, только колоркей), отрисовка текста. При возможности, желательно использовать нативное API системы для рисования графики, а не городить собственный блиттер. Формат пикселя фиксирован: RGB565 (65к цветов).
Ресурсы: хранятся в одном образе с основной игрой. Фактически, все ресурсы упакованы в виде обычных массивов байт в заголовочных файлах. Я пользуюсь вот этой тулзой для конвертации спрайтов в массивы байтов.
Звук: воспроизведение хотя-бы одного WAV-потока. Почему одного? Потому что далеко не на всех платформах есть доступ к аппаратному микшеру… да и вообще не везде есть прямой доступ к PCM (привет MRP), иногда разработчики ограничиваются лишь одним каналом для WAV-звука без возможности воспроизведения нескольких аудиофайлов одновременно.
Ввод: абстракция от клавиатуры классического моноблока: стрелки, OK, левый и правые софткеи.
Стандартная библиотека: не на всех платформах можно вызывать функции напрямую из stdlib. Как минимум в MRP и, например, «эльфах» для Motorola, нет возможности вызывать аллокатор, rand и некоторые другие функции из обычных заголовочников стандартной библиотеки. На таких платформах, системные инклуды дефайнами подменяют стандартные функции на своих реализации:
#define malloc system_alloc
#define free system_free
Но если у нас игра кроссплатформенная, то и платформозависимые инклуды мы использовать не будем.
Выглядит всё достаточно просто, верно? Примерно такого набора функций хватит для нашей игры:
❯ Win32
Давайте же перейдем к реализации рантайма на каждой платформе по отдельности. Начнём с Win32, поскольку адекватно отлаживать игру можно только на ПК.
На десктопе у нас будет фиксированное окно 240x320, в качестве GAPI будет использоваться аппаратно-ускоренный OpenGL, а для обработки ввода будет использоваться классически GetAsyncKeyState. Реализация точки входа, создания окна и инициализации контекста GL и главного цикла приложения у нас такая:
Реализация отрисовки спрайтов очень примитивная — OGL 1.0, полностью FFP, вся отрисовка — это 2 треугольника, формирующие квад. Спрайт заливается при первом использовании в текстуру, последующие кадры реюзается уже готовая текстура. Фактическая реализация всего рендерера — т. е. функций для рисования «просто картинок», без поддержки атласов, блендинга цветов (З.Ы - длинные листинги будут на пастбине, на Пикабу нет нормального тега для кода):
С вводом тоже всё просто. Есть биндинг кнопок клавиатуры к кнопкам на кейпаде телефона. inGetKeyState предполагается вызывать один раз за кадр, поэтому функция опрашивает ОС о состоянии нажатых кнопок на клавиатуре и назначает состояние виртуальных кнопок относительно состояния физических кнопок на клавиатуре.
Результат:
❯ MiniJ
Переходим к реализации рантайма для первой китайской платформы — MRP. Обратите внимание — я использую нативное API платформы для рисования спрайтов. Связано это с тем, что софтварный блиттер работает невероятно медленно даже с прямым доступом к скринбуферу устройства, а в чипсете предусмотрена отдельная графическая подсистема с командбуфером для быстрой отрисовки примитивов и графики:
SDK для MRE можно найти здесь (SKYSDK.zip): оно уже пропатчено от необходимости покупки лицензии. MRP не развивается более 10 лет, поэтому, думаю, его можно считать Abandonware. Компилятор находится в compiler/mrpbuilder.NET1.exe. За китайские SDK в публичном доступе нужно поблагодарить пользователя 4pda AjlekcaHgp MejlbHukoB, который раздобыл их на всяких csdn и выложил в свободный доступ :)
У MRP собственная система сборки, основанная на конфигурациях. Поскольку MRP может работать на устройствах с разными платформами и размерами дисплеев, под каждую можно настроить свой конфиг, который пережмет ресурсы в нужный формат. Дабы ничего не ломать, я заюзал абсолютные пути:
Компиляция приложения:
mrpbuilder.net1.exe game.mpr
Начинаем с функций обработки событий и инициализации, которые вызывает рантайм при старте приложения: mrc_init вызывается при старте приложения, а mrc_event при возникновении события. Вся инициализация очень простая: создаём таймер для обновления и перерисовки состояния игры и вызываем инициализацию игры:
С вводом тоже никаких проблем нет, нажатия кнопок прилетают как события в mrc_event. Переводим кейкоды MRE в наши кейкоды и сохраняем их состояние:
Опять же, отлаживать MRP-приложение под реальным устройством проблематично, поэтому платформозависимый код должен быть минимальным. Кроме того, обратите внимание, что некоторые функции в MRP зависят от библиотек-плагинов. Линкер слинкует вашу программу, но на реальном устройстве их вызов вывалится в SIGSEGV и софтресет устройства. Также нельзя использовать ничего из стандартной библиотеки именно в стандартных заголовочниках (т. е. stdlib.h, string.h и т. д.), часть стандартной библиотеки реализовывается MRP и дефайнится в mrc_base.h
Что интересно, защиты памяти толком нет. Если приложение падает в SIGSEGV или портит память — систему, судя по всему, ребутит Watchdog. Защиты памяти никакой, можно напрямую читать и писать в память ядра, а также писать в регистры периферии чипсета. jpegqs, покумекаем над этим? :)
Переходим к рендереру. Тут буквально две функции, gClearScreen очищает экран, а gDrawBitmap рисует произвольный спрайт с форматом пикселя RGB565. В качестве ROP используется BM_TRANSPARENT — таким образом, mrc_bitmapShowEx будет использовать левый верхний пиксель в качестве референсного цвета для реализации прозрачности без альфа-блендинга.
voidgDrawBitmap(CBitmap* bmp, int x, int y) {
mrc_bitmapShowEx((uint16*)bmp->pixels, x, y, bmp->width, bmp->width, bmp->height, BM_TRANSPARENT, 0, 0);
}
Да, всё вот так просто. Рантайм теперь запускается на реальных китайских девайсах и работает стабильно.
❯ VXP
Теперь переходим к VXP — платформе не менее неоднозначной, чем MRP. Пожалуй, начать стоит с того, что VXP существует аж в трёх версиях: MRE 1.0, MRE 2.0 и MRE 3.0. В MRE 2.0 и выше появилась поддержка плюсов (в MRE 1.0 только Plain C) и довольно интересного GUI-фреймворка, MRE 1.0 же предлагает реализовывать гуй самому. Платформа распространена на большинстве кнопочных телефонов и смарт-часиков на чипсетах MediaTek, примерно начиная с 6235 и заканчивания 6261D. SDK можно скачать вот здесь (см MRE_SDK_3.0).
VXP сам по себе более функционален чем MRE, поскольку ориентирован исключительно на телефоны с чипсетами MediaTek. Но что самое приятное — есть доступ к уарту без каких либо костылей! То есть, если сделать GPIO-мост на условной ESP32, то мы можем получить готовый мощный МК с клавиатурой, кнопками, дисплеем, звуком и т. д. Звучит не хило, да? Кроме того, у нас есть доступ и к BT, и к GPRS, и к SMS без каких либо ограничений.
Однако в бочке мёда нашлась и ложка дёгтя: для компиляции MRE-приложений необходимо накатывать и крякать довольно старый компилятор ADS, который сам по себе поддерживает только C89 (например, нет возможности объявить переменную в объявлении цикла или середине функции, только в начале, как в Pascal). ADS уже вроде как Abandonware, так что это вроде не наказуемо… но всё равно неприятно.
Кроме того, на некоторых девайсах (в основном, фирменных Nokia а-ля 225), прошивка требует подписи у всех бинарников, либо если бинарник отладочный, то должна быть привязка к конкретному IMSI.
К тому же, каждая программа должна фиксированно указывать в заголовке, сколько Heap-памяти ей необходимо выделить. Оптимальный вариант — ~500Кб, тогда приложение запустится вообще на всех MRE-телефонах.
Зато у VXP есть адекватный симулятор под Windows. Но зачем он нам, если у нас порт игры под Win32 есть? :)
Начинаем с инициализации приложения. В процессе вызова точки входа, приложение должно назначить обработчики системных событий, коих бывает несколько. Для обработки ввода и базовых событий хватает всего три: sysevt (события окна), keyboard (физическая клавиатура. Есть полная поддержка QWERTY-клавиатур), pen (тачскрин).
Переходим к обработчику системных событий. Обратите внимание, что MRE-приложения могут работать в фоне, из-за чего необходимо ответственно подходить к созданию и освобождению объектов. Что важно усвоить с самого начала — в MRE нет понятия процессов и защиты памяти, как на ПК и полноценных смартфонах. Любая программа может попортить память или стек ОС, более того, программа использует аллокатор остальной системы, поэтому если ваша программа не «убирает» после себя, данные останутся в памяти со временем приведут к зависанию. Впрочем, WatchDog делает свою работу быстро и приводит телефон в чувство (софтресетом) за 1-2 секунды. Но как и в случае с MRE, есть приятный бонус: прямой доступ к регистрам чипсета :)
Переходим к обработке событий с кнопок. Тут всё абсолютно также, как и на MRE, лишь имена дейфанов поменялись :)
И наконец-то, к графике! Пожалуй, стоит сразу отметить, что более 20-30 FPS на большинстве устройств вы не получите даже с прямым доступом к фреймбуферу. Похоже, это связано с тем, что в MRE довольно замороченная графическая подсистема с поддержкой альфа-канала (только фиксированного во время вызова функции отрисовки картинки/примитивов, сам пиксельформат всегда RGB565) и нескольких слоев. Кроме того, похоже есть ограничения со стороны контроллера дисплея.
Изначально, MRE предполагает то, что все картинки в программе хранятся в формате… GIF. Да, весьма необычный выбор. Однако для работы с пользовательской графикой, есть возможность блиттить произвольные картинки напрямую из RAM. Вот только один нюанс — посмотрите внимательно не объявление следующей функции:
dst_disp_buf — это целевой RGB565-буфер. Логично предположить, что и src_disp_buf — тоже обычный RGB565-буфер! Но как бы не так. Документация крайне скудная, пришлось посидеть и покумекать, откуда в обычном 565 буфере возьмется индекс кадра. С подсказкой пришёл пользователь 4pda Ximik_Boda — он скинул структуру-заголовок, которая идёт перед началом каждого кадра. В документации об этом не сказано ровным счетом ничего!
Сначала я реализовал софтовый блиттинг, но он безбожно лагал. Мне стало интересно, почему нативный blt быстрее и… вопросы отпали после того, как я поглядел в ДШ чипсета: тут есть аппаратный блиттинг. И даже с ним девайс не может выдать более 20FPS!
Для реализации более-менее шустрого вывода графики, необходимо сначала создать канвас (фактически, Bitmap в MRE), создать и привязать к нему layer, получить указатель на буфер слоя и только потом скопировать туда нашу картинку. Да, вот так вот замороченно:
И только после этого всё заработало достаточно шустро :) В остальном же платформа довольно неплохая. Да, без болячек не обошлось, но всё же перспективы вполне себе есть.
На данный момент, этого достаточно для нашей игры.
❯ Пишем геймплей
Рантайм у нас есть, а значит, можно начинать писать игрушку. Хоть пишем мы на Plain-C, я всё равно из проекта в проект использую +- одну и ту же архитектуру относительно системы сущностей, стейтов и т. п. Поэтому центральным объектом у нас станет CWorld, который хранит в себе на пулы с указателями на другие объектами в сцене, а также игрока и его состояние:
Система стейтов простая и понятная — фактически, между состояниями передавать ничего не нужно. При нажатии в главном меню на «старт», нам просто необходимо проинициализировать мир заново и начать геймплей, при смерти игрока — закинуть его обратно в состояние меню. Стейты представляют из себя три указателя на функции: переход (инициализация), обновление и отрисовка.
typedefvoid(CGameStateCallback)();
Поскольку мы хотим некоторой гибкости при создании новых классов противников, то вводим структуру CEnemyClass, которая описывает визуальную составляющую врагов и их флаги — могут ли они стрелять по игроку или просто летят вниз (астероиды), как они передвигаются (зигзагами например) и т. п.
Всё! Для текущего уровня реализации игры этого достаточно :) Переходим к реализации игровой логики. Вообще, динамический аллокатор в играх для китайских платформ лучше использовать как можно меньше. Heap'а довольно мало (~600Кб), да и не совсем понятно, как этот аллокатор реализован, есть вероятность, что используется аллокатор и куча основной ОС.
Начинаем с реализации полёта кораблика. Для этого он должен реагировать на стрелки и не улетать за границы экрана, а ещё для красоты он должен «вылетать» из нижней границы экрана при старте игры:
Переходим к динамическим пулам с объектами. Как вы уже заметили, их всего два — враги и летящие снаряды. Реализация спавна врагов/снарядов простая и понятная: мы обходим каждый элемент пула, если указатель на объект не-нулевой, значит объект всё ещё жив и используется на сцене. Если нулевой — значит ячейка свободна и можно заспавнить новый объект:
При обходе пула во время обновления кадра, мы обновляем состояние каждого объекта и если его функция Think вернула true, значит объект больше не нужен и его нужно удалить:
if (enemyThink(world.enemyPool[i]))
{
sysFree(world.enemyPool[i]);
world.enemyPool[i] = 0;
}
А вот и реализация Think:
boolenemyThink(CEnemy* enemy) {
enemy->y += enemy->_class->speed;
if (enemy->y > gGetScreenHeight() || enemy->health <= 0) return true;
return false;
}
Но кораблики должны же откуда-то появляться! Для этого у нас есть переменная nextSpawn, которая позволяет реализовать самый простой тип спавнера — относительно времени (или в нашем случае тиков):
world.nextSpawn--;
if (world.nextSpawn < 0) {
CEnemy* enemy = spawnEnemy(&enemyClasses[0]);
world.nextSpawn = randRange(40, 70);
}
Результат: мы уже можем полетать, пострелять и поуворачиваться от вражеских корабликов!
Уже что-то напоминающее игру! Осталось лишь добавить подсчет очков, менюшку, разные виды противников, возможно какие-то бонусы и у нас будет готовая простенькая аркада. В целом, выше приведена достаточно неплохая архитектура для простых 2D-игр на Plain C. Фактически, она может быть хорошей базой и для ваших игр: в теме о китах на 4pda я встречал немало людей, которые банально не знали, с чего начать.
❯ Что у нас получилось?
Но без тестов на реальных устройствах материал не был бы таким интересным! Поэтому давайте протестируем игру на двух реальных телефонах, как вы уже догадались, один — Nokla TV E71, а второй — клон Nokia 6700, который подарил мне мой читатель Никита.
На TV E71 игра идёт не сказать что очень бодро. Кадров 15 точно есть, что, учитывая разрешение 240x320, весьма неплохо для такого девайса.
а 6700,, даже учитывая более низкое разрешение — 176x220, дела примерно также — ~15FPS! Но поиграть всё равно можно. Уже хотите написать «автор наговнокодил, а теперь ноет из-за низкого FPS»? Ан-нет, я попробовал игры сторонних разработчиков — они идут примерно также :( К сожалению, таковы аппаратные ограничения устройства.
Исходный код игры с Makefile'ами и файлами проектов для Visual Studio и MRELauncher доступны на моём GitHub. Свободно изучайте и используйте его в любых целях :)
❯ Заключение
Но в остальном же, демка получилась довольно прикольной, как и сам опыт программирования для китайских телефонов. В общем и целом, китайцы пытались максимально упростить API и привлечь разработчиков к своей платформе. Если ради примера взглянуть на API для Elf'ов на Motorola, можно ужаснуться от state-based архитектуры платформы P2K. А тут тебе init, event, draw — и всё!
Но популярности помешала непонятная закрытость платформы, костыльный запуск программ, отсутствие нормального симулятора. А ведь сколько фишек было: даже возможность писать и читать память ядра! А вы как считаете? Можно ли вдохнуть в китайские кнопочники новую жизнь, узнав о наличии возможности запуска нативного кода на них?
P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады! Да и чего уж там говорить: эта статья уже сама по себе весьма наглядный пример! Найти меня можно в комментариях тут, на Пикабу, и в тг @monobogdan
Понравился материал? У меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!
Полезный материал?
Были ли у вас такие китайчики?
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
Подборка инструментов для мастеров различной спецификации, от ударного степлера до помпы для испытания трубопроводов.
1. Баллонный роторный ключ
Инструмент предназначенный для откручивания болтов и гаек с минимальным усилием благодаря планетарному редуктору, который усиливает крутящий момент устройства.
Основным преимуществом роторного ключа, является его способность справиться с самыми прикипевшими болтами и гайками.
Благодаря высокому крутящему моменту в 350 N/m, инструмент может с легкостью справиться с сильно закрученными или закисшими элементами крепления.
Передаточное отношение шестерни составляет 1:16, что означает, что для каждого оборота рукоятки ключа, ротор внутри инструмента будет совершать 16 оборотов, это обеспечивает большую силу и мощность при небольшом усилии, применяемом пользователем.
Инструмент, который используется для быстрого и удобного крепления материалов с помощью металлических скоб, он имеет особую конструкцию, что включает в себя боек для молотка и магазин, способный вместить до 65 металлических скоб.
Молотковые степлеры используются для различных задач, включая работу с текстильными материалами, крепление упаковок, монтаж подкладок и другие подобные задачи.
В комплект поставки молоткового степлера входит упаковка скоб, содержащая 400 штук, это позволяет начать работу сразу после приобретения инструмента, необходимого количества скоб будет достаточно для первого времени.
Размер и тип скоб могут варьироваться в зависимости от модели степлера и предназначения.
Молотковые степлеры являются практичными и удобными инструментами, которые находят широкое применение в строительстве, ремонте, упаковке и других областях, где требуется быстрое и надежное крепление материалов.
Необычная защелка, играет важную роль в создании прочного и надежного соединения между двумя половинами предметов мебели, она обеспечивает возможность скрепить две части мебели, например, столешницы, в стык.
Защелки для соединения мебели изготовлены из цинкового сплава. Цинк является прочным и долговечным материалом, который хорошо справляется с нагрузками и не подвержен коррозии, что гарантирует долговечность и надежность соединительной фурнитуры.
Защелка для соединения мебели является важным компонентом, который обеспечивает прочность и стабильность конструкции. Она позволяет избежать скольжения или разъединения двух половин мебели, обеспечивая единую и нерушимую структуру.
Предназначены для безопасной и эффективной установки и снятия поршневых колец без их повреждения, инструмент облегчает ремонтный процесс поршневой двигателя.
Клещи для поршневых колец доступны в трех размерах:
маленький - для работы с поршневыми кольцами в диапазоне от 50 мм до 100 мм;
средний - для поршневых колец диаметром от 80 мм до 120 мм;
большой - для работы с поршневыми кольцами диаметром от 100 мм до 160 мм.
Клещи для поршневых колец имеют специальные выступы, которые позволяют безопасно захватывать и удерживать кольца, они обеспечивают надежное сцепление с деталью, предотвращая скольжение или повреждение при установке или снятии.
5. Полые иглы для демонтажа электрокомпонентов плат
Удобное приспособление, предназначенное для безопасной и эффективной выпайки микросхем, трансформаторов, транзисторов, тиристоров и других деталей на платах.
Иглы позволяют демонтировать компоненты, когда использование традиционных демонтажных устройств, таких как оловоотсосы или медные оплётки, не является возможным или удобным.
В отличие от других методов демонтажа, полые иглы предоставляют более точный и контролируемый способ выпайки электрокомпонентов.
Они позволяют производить манипуляции без перегрева дорожек на плате, что важно для предотвращения повреждений и сохранения целостности печатных плат.
Набор включает иглы различного диаметра, которые идеально подходят для разных типов электрокомпонентов. Каждая игла имеет удобную рукоятку, что обеспечивает комфортный захват и управление во время работы.
Набор игл упакован в пластиковый кейс, который обеспечивает удобное хранение и переноску. Это позволяет вам легко организовать и защитить ваши инструменты, чтобы они всегда были под рукой, когда нужны.
6. Ручной насос для испытания водопроводной системы
Устройство представляет собой удобный инструмент, который позволяет создать давление до 16 атмосфер для проверки водопроводной системы на наличие проблем.
Насос является полезным средством для выявления потенциальных утечек или дефектов в соединительных фитингах труб или кранах.
Ручной насос может быть использован с различными системами, включая отопительные, холодильные системы, а также водяные или масляные трубопроводы.
Инструмент обеспечивает возможность подачи контролируемого давления на систему, позволяя выявить любые проблемы, которые могут возникнуть в результате утечек или повреждений.
Комплект поставки ручного насоса включает длинный шланг высокого давления, который обеспечивает достаточную гибкость и удобство при работе с системой.
Шланг позволяет достигнуть труднодоступных мест и обеспечивает надежное соединение с насосом.
Помпа устройства позволяет проверить герметичность соединений и идентифицировать возможные проблемы, прежде чем они приведут к серьезным повреждениям или потере эффективности системы.
Подборка интересных инструментов и приспособлений для домашнего мастера.
1. Автоматический ручной распылитель
Представляет собой высококачественное устройство, изготовленное из нержавеющей стали.
Распылитель обладает рядом преимуществ и функций, которые делают его удобным и эффективным инструментом для нанесения краски, лака или других жидкостей.
Распылитель оснащен четырьмя сменными форсунками с диаметрами 0.5, 1.0, 1.3 и 1.5 мм, это позволяет выбрать оптимальный размер сопла в зависимости от требуемого распыления и вида работы.
Например, меньшее сопло (0.5 мм) подойдет для детальной и точной работы, в то время как большее (1.5 мм) позволит быстро покрыть большие поверхности.
Управление потоком распыления осуществляется с помощью удобного регулятора, расположенного на корпусе устройства, который позволяет легко настроить интенсивность распыления и получить желаемый результат.
Регулятор обеспечивает плавное изменение потока краски от минимального до максимального значения, давая большую гибкость и контроль во время работы.
Кроме того, автоматический ручной распылитель имеет возможность подключения емкости для краски.
Можете выбрать способ подключения к емкости с краской - либо напрямую на корпус распылителя, либо с помощью шлангов, чтобы обеспечить более удобную работу и свободу передвижения.
Идеальное решение для всех, кто занимается работой по дереву. Станок сочетает в себе высокую мощность и превосходную производительность, чтобы удовлетворить самые требовательные запросы.
С мощностью 800 ватт и возможностью достигать скорости вращения двигателя до 30 000 оборотов в минуту, фрезерная машина обеспечивает высокую эффективность обработки различных материалов.
Независимо от того, нужно ли вам обработать твердое дерево, мягкую фанеру или другие материалы, этот инструмент справится с задачей без проблем.
Фрезер выполнен из прочного алюминия и пластика, что обеспечивает долговечность и надежность оборудования. Компактный и эргономичный дизайн устройства обеспечивает удобство в использовании.
Набор включает в себя разнообразные типы и размеры фрез, позволяя выбирать наиболее подходящую оснастку для каждой конкретной задачи.
Благодаря чему сможете создавать разнообразные формы, вырезы и узоры на обрабатываемых материалах, открывая для себя бесконечные возможности творчества.
Однако настоящая ценность этого устройства проявляется в положительных отзывах от множества пользователей, которые уже приобрели и опробовали данный товар.
Высокая оценка качества изготовления, надежность работы и превосходные результаты обработки материалов делают этот инструмент отличным выбором для столяров, а также для творческих людей, занимающихся деревообработкой.
Инновационное решение, которое обеспечивает удобство и эффективность при подъеме и перемещении грузов.
Цепная таль предназначена для использования в различных ситуациях, где требуется мощный и надежный механизм подъема.
Главной особенностью тали является возможность использования стандартного шуруповерта в качестве привода.
Больше не нужно полагаться на физическую силу для подъема грузов, просто подключите шуруповерт к тали, и вы получите мощный и контролируемый привод.
Компактный и портативный дизайн делает эту таль удобной в использовании и легкой в транспортировке, можете легко перемещать ее по разным местам и устанавливать в нужном месте без особых усилий.
Кроме того, таль оборудована системой безопасности, которая предотвращает случайное разматывание цепи и обеспечивает безопасность работы.
Устройство, которое обеспечивает оптимальные условия для растений и создает прохладу в жаркое лето.
Система позволяет быстро организовать капельный полив и увлажнение сухого воздуха, обеспечивая здоровый рост и развитие ваших растений.
Система капельного полива имеет простую конструкцию, что делает ее легкой в установке и использовании.
В комплект входят форсунки, которые равномерно распыляют воду в виде мелкого тумана, создавая приятное ощущение прохлады. Такой полив помогает увлажнить воздух вокруг растений и предотвратить пересыхание почвы.
Основное преимущество системы "Тумман" заключается в ее универсальности и гибкости, можете легко настроить систему, чтобы она соответствовала особенностям вашего сада или огорода.
Также можете регулировать интенсивность полива, направление форсунок и расстояние между ними, чтобы обеспечить оптимальное покрытие и подачу воды к каждому растению.
Кроме того, система зготовлена из прочных материалов, способна выдерживать различные погодные условия и использование в течение длительного времени.
Колесо специально разработанное для установки на тачки или инвалидные коляски.
Устройство отличается от мотор-колес, используемых на самокатах или электроскутерах, наличием внутреннего редуктора, который придает ему большую мощность крутящего момента, но при этом снижает скорость.
Мотор-колесо имеет размер 14,5 дюйма и может развивать скорость от 3 до 15 км/ч, в зависимости от выбранной настройки.
Номинальное напряжение питания может быть 24 В, 36 В или 48 В, что позволяет выбрать оптимальный вариант в соответствии с требованиями и предпочтениями пользователя.
Номинальная мощность колеблется от 250 Вт до 500 Вт, обеспечивая достаточную мощность для преодоления различных преград и неровностей дороги.
Одно из главных преимуществ этого мотор-колеса - его универсальность и простота установки, оно легко монтируется на тачку или инвалидную коляску, увеличивая маневренность и комфорт передвижения.
6. Тестер внутреннего сопротивления и напряжения литиевых аккумуляторов
Устройство, которое позволяет легко и точно измерить состояние литиевых аккумуляторов.
Прибор оборудован цифровым ЖК-дисплеем с подсветкой, предоставляет детальную информацию о внутреннем сопротивлении и напряжении аккумулятора.
Цифровой ЖК-дисплей обеспечивает ясное и четкое отображение результатов измерений. С подсветкой дисплея сможете легко считывать информацию даже при недостаточной освещенности.
Стоит отметить, что данный тестер не предназначен для измерения элементов питания типа АА или ААА, он специально разработан для литиевых аккумуляторов, которые используются в электронных приборах, электроинструментах и других портативных устройствах.
Необходимость в замене или зарядке аккумуляторов может возникнуть в самый неподходящий момент. С тестером вы сможете заранее контролировать их состояние и предотвратить ситуации, когда аккумуляторы неспособны обеспечить необходимую энергию.
Нож оснащен сменными лезвиями, что делает его удобным и практичным инструментом для многих задач.
Крючкообразная форма ножа идеально подходит для распаковки грузов, которые были утянуты полипропиленовой или полиэстеровой лентой. Благодаря острому и прочному лезвию, нож легко проникает в материал и позволяет вам быстро и без лишних усилий освободить упаковку.
Кроме того, этот нож отлично справляется с раскраиванием напольных покрытий, таких как линолиум.
Благодаря своей форме и острому лезвию, он обеспечивает точные и чистые разрезы, что делает процесс укладки или замены напольного покрытия более эффективным и удобным.
Питается от двух аккумуляторов формата 18650 или трех элементов питания типоразмера ААА. Прожектор обеспечивает яркое и длительное освещение в различных условиях, не завися от доступа к электричеству.
Мощность аккумуляторного прожектора позволяет обеспечить яркое освещение на значительном расстоянии, вы сможете использовать его для освещения рабочих мест, в аварийных ситуациях или любых других случаях, где требуется мощный и дальний свет.
Прожектор имеет различные режимы освещения: высокая, низкая яркость и режим мигания. Это позволяет вам выбрать подходящий режим в зависимости от потребностей и экономить энергию аккумулятора при необходимости.
Компактный и портативный дизайн делает этот аккумуляторный фонарь удобным для переноски и использования в различных условиях.
Интересная подборка инструментов с AliExpress способных в разы облегчить труд мастеровых людей.
1. Kingst LA1010
Высокопроизводительный логический анализатор, предназначенный для анализа цифровых сигналов в сложных микропроцессорных системах.
Частота захвата до 100 МГц - позволяет анализировать быстроизменяющиеся цифровые сигналы на высоких частотах, что важно для разработки и отладки микропроцессорных систем.
16 входов обеспечивают возможность одновременного отслеживания 16 цифровых сигналов, что делает прибор мощным инструментом для анализа комплексных систем.
Анализатор легко подключается к персональному компьютеру с использованием USB-порта, обеспечивая простоту в установке и использовании. Готовое включение в комплект поставки кабеля USB делает процесс подключения еще более удобным.
Высокая скорость обработки гарантирует эффективный анализ больших объемов данных, что важно при работе с сложными и объемными микропроцессорными системами.
Прибор предназначен для специалистов, занимающихся разработкой и отладкой сложных микропроцессорных систем, где точный и быстрый анализ цифровых сигналов является критическим важным.
Устройство компактно и портативно, что облегчает его перемещение и использование в различных рабочих условиях.
Интуитивно понятный интерфейс и программное обеспечение делают работу с анализатором удобной даже для менее опытных пользователей.
Этот логический анализатор представляет собой мощный инструмент для тех, кто занимается разработкой и отладкой цифровых систем, обеспечивая точный и эффективный анализ цифровых сигналов на высоких частотах.
2. Лазерный гравер AENBUSLM с ЧПУ, Wi-Fi и автономным управлением
Представляет собой высокотехнологичное устройство для точной и эффективной гравировки на различных материалах.
С мощностью 80 Вт и длиной волны 450 нм этот лазерный гравировальный станок идеально подходит для реализации творческих проектов и профессиональных задач.
Оборудование оснащено системой ЧПУ, что обеспечивает высокую точность и контроль при гравировке. Дополнительно, наличие Wi-Fi позволяет управлять гравером с удобного устройства, делая процесс более гибким и удобным.
Возможность автономного функционирования значительно расширяет возможности использования гравера. Вы можете загружать проекты и управлять процессом гравировки непосредственно через устройство, что делает работу более удобной.
AENBUSLM подходит для различных задач, включая создание украшений, персонализацию предметов, изготовление подарков и многие другие творческие проекты.
Интуитивный интерфейс обеспечивает легкость в настройке и управлении гравировкой, даже для пользователей без специального опыта.
Этот лазерный гравировальный станок станет надежным инструментом для всех, кто ценит качество и творческий подход в своих проектах.
Продвинутый программатор ЭБУ/ECU для легковых и грузовых автомобилей, предоставляющий мощные функции программирования и настройки.
С этим устройством мастера автосервиса и тюнинг-специалисты могут вносить изменения в программное обеспечение электронных блоков управления, оптимизируя работу двигателя и других систем автомобиля.
Прибор поддерживает широкий спектр ЭБУ, включая последние модели и прошивки, обеспечивая универсальное применение для различных марок и моделей автомобилей.
Устройство позволяет читать, записывать и редактировать программы в ЭБУ, а также изменять параметры для оптимизации работы двигателя, систем впрыска топлива и других важных компонентов.
Программатор обеспечивает точную настройку прошивки, что позволяет достичь оптимальной производительности двигателя, эффективности топливопотребления и других характеристик автомобиля.
Устройство оснащено удобным и интуитивно понятным интерфейсом, что делает его простым в использовании для профессионалов и даже тех, кто только начинает заниматься программированием ЭБУ.
ПО KESS MASTER регулярно обновляется, обеспечивая поддержку новых моделей автомобилей и улучшение функциональности программатора.
Программатор KESS MASTER 2.8 V5.017 является надежным и эффективным инструментом для специалистов, занимающихся профессиональным тюнингом и обслуживанием электронных систем управления автомобиля.
Универсальный инструмент, разработанный специально для проведения электромонтажных работ.
Плоскогубцы обладают несколькими функциями, которые делают их неотъемлемым помощником для электриков и специалистов по проводке.
Интегрированный кабелерез предназначен для безопасного и эффективного обрезания электрических кабелей. Это удобно при укладке и монтаже электрических сетей.
Плоскогубцы электрика оснащены съемником изоляции, который позволяет легко и аккуратно снять изоляцию с проводов.
В инструменте также предусмотрена возможность для обжима наконечников и гильз на концах проводов, это важная функция при создании надежных электрических соединений.
Еще инструмент оснащен острым ножом для зачистки проводов, рожковыми ключами диаметром 8 и 10 мм и специальными лезвиями для разделения 2-х и 4-х жильных кабелей.
Общая конструкция инструмента обеспечивает удобство использования и эффективность в процессе работы. Эргономичные рукоятки, надежные механизмы и прочные материалы делают пассатижи электрика надежным и долговечным инструментом для электромонтажных работ.
Аппарат контактной точечной сварки на основе ионисторов, суперконденсаторов или ультраконденсаторов, приобретенный на AliExpress, представляет собой компактное и эффективное устройство для сварки аккумуляторов, особенно литиевых.
Компактное и легкое устройство весит всего 1284 грамма, оборудовано двумя ионисторами LSUC емкостью 3000Ф каждый, соединенными последовательно для увеличения напряжения сварки до 5,4В. Максимальный ток отдачи составляет почти 2400А, обеспечивая высокую эффективность сварочных работ.
Поставляется с блоком питания на 12 Вольт и 5 Ампер, обеспечивающим достаточное напряжение и ток для работы аппарата.
Гибкие провода с сечением 35 мм.кв. и ручка с электродами обеспечивают удобство использования.
Управление режимами работ точечной сварки осуществляется с использованием энкодера.
Аппарат обеспечивает высокое качество сварочных точек на аккумуляторах, минимизируя риск перегрева.
Даже при использовании чистой никелированной ленты толщиной 0,2мм, аппарат демонстрирует стабильную и эффективную работу.
Аппарат точечной сварки на основе ионисторов представляет собой эффективное и доступное устройство для проведения точечных сварочных работ на литиевых аккумуляторах.
Компактный и удобный инструмент для домашнего использования, предназначенный для эффективной уборки от пыли и загрязнений в бытовых условиях.
Может служить не только для уборки, но и в качестве насоса для надувных матрасов, подушек, игрушек и других надувных изделий, это делает его универсальным инструментом для домашнего хозяйства.
Входное отверстие предназначено для забора воздуха, что позволяет использовать воздуходувку для спуска воздуха из надувных матрасов или лодок, обеспечивая быстрое и эффективное освобождение от воздуха перед упаковкой. Это также удобно при складывании надувных изделий для последующего хранения.
По выходному отверстию отверстию воздух поступает наружу при использовании воздуходувки для уборки или надувания предметов.
Работает от аккумулятора линейки Makita 18 вольт, что обеспечивает мобильность в использовании и избавляет от необходимости постоянного подключения к электросети.
Благодаря высокой мобильности и возможности использования в различных сценариях, инструмент экономит время при уборке и подготовке надувных изделий.
Аккумуляторная воздуходувка представляет собой удобный и практичный инструмент для разнообразных бытовых задач, обеспечивая высокую эффективность и удобство в использовании.
Термоподогреватель представляет собой устройство, специально разработанное для эффективной подготовки к монтажу и демонтажу компонентов, а также микросхем на печатных платах.
Применение устройства особенно актуально при работе с бессвинцовым припоем и чувствительными электронными компонентами.
Гарантирует равномерное распределение тепла по поверхности печатной платы, что существенно снижает риск срыва проводников и обрыва связи между слоями платы.
Модель обладает быстрой системой нагрева, позволяя оперативно достигнуть заданной температуры. Стабильное удержание температуры обеспечивает точность и контроль при работе.
Платформа оборудована эффективной системой охлаждения, предотвращающей перегрев и обеспечивающей долгий срок службы устройства.
Идеально подходит для снятия задних крышек, сенсорных панелей, модулей смартфонов и планшетов, делая его универсальным инструментом в сфере ремонта и монтажа электроники.
Интуитивный интерфейс обеспечивает удобство в настройке параметров подогрева, делая процесс монтажа и демонтажа более эффективным и безопасным.
Этот термоподогреватель станет незаменимым инструментом для специалистов, занимающихся ремонтом и сборкой электронных устройств, обеспечивая высокую производительность и качество работ.
8. Портативный термопринтер для стикеров и этикеток
NIIMBOT D110 - портативный термопринтер, который предоставляет отличную мобильность и простоту использования, позволяя создавать персонализированные этикетки всего в один клик.
Компактный и легкий дизайн принтера NIIMBOT D110 обеспечивает легкость переноски, позволяя печатать этикетки в любом месте, где это необходимо.
Можете создавать этикетки на своем устройстве, будь то смартфон, планшет или ноутбук. Простой интерфейс и интуитивное управление делают процесс печати максимально удобным.
Устройство предоставляет возможность печати этикеток для широкого спектра целей, от бизнеса и образования до домашнего использования, устройство может стать вашим помощником в различных сферах, помогая в организации и маркировке.
NIIMBOT D110 - это не просто принтер, это инструмент, который делает процесс создания этикеток и стикеров легким, эффективным и творческим.
С ним вы получаете неограниченные возможности для персонализации и организации ваших предметов и документов.
9. Детектор скрытой проводки и металла Fnirsi WD-01
Fnirsi WD-01 - это передовой детектор, созданный для точного обнаружения арматуры, труб, проводов и деревянных объектов в стенах.
Инструмент станет незаменимым помощником для строителей и специалистов, выполняющих монтажные работы, обеспечивая точность и безопасность в процессе поиска и маркировки скрытых объектов.
Fnirsi WD-01 обеспечивает высокоточное обнаружение объектов в стенах, включая арматуру, трубы и провода, это позволяет избежать нежелательных повреждений при выполнении строительных работ.
Информация о детектируемом объекте отображается на ярком экране, предоставляя оператору мгновенную обратную связь о его положении и глубине залегания.
Уникальная возможность определения точного положения центра обнаруженного объекта позволяет более точно планировать места бурения или монтажа.
Прибор отображает силу сигнала от детектируемого объекта, что является показателем глубины его залегания, обеспечивая дополнительную информацию для более точного планирования работ.
Интегрированная световая шкала предоставляет визуальную сигнализацию глубины залегания обнаруженных объектов, что упрощает восприятие информации
В центре детектора имеется проем, облегчающий разметку на стене и повышающий точность выполнения работ.
Питание от встроенного аккумулятора емкостью 300 мАч обеспечивает длительное использование, а современный разъем Type-C обеспечивает быструю зарядку и удобство подключения.
Fnirsi WD-01 - это надежный инструмент, который сделает процесс поиска и маркировки скрытых объектов быстрым, точным и эффективным. Устройство станет незаменимым помощником в работе строителей и профессионалов, которым необходимо точно определить расположение объектов в стенах.
Представляет собой мощный и удобный инструмент, идеально подходящий для контурного шлифования и отделки.
Возможность регулировки скорости позволяет точно настроить инструмент под требования работы, обеспечивая оптимальный контроль и результат.
Уникальная возможность изменения угла рабочей части ленточного узла дает больше гибкости при работе с различными поверхностями и контурами.
Эргономичная рукоятка обеспечивает удобство в использовании даже при работе в труднодоступных местах, минимизируя усталость рук при длительной эксплуатации.
Интегрированная система управления лентой обеспечивает легкость управления инструментом и предотвращает соскакивание ленты с роликов во время работы, что способствует более точному и безопасному шлифованию.
Ленточная шлифмашина станет надежным помощником в работе, обеспечивая высокую производительность и отличные результаты при выполнении задач по шлифованию и отделке.
Свежие предложения инструментов и приспособлений от китайских производителей, которые могут быть полезными в мастерской.
1. Смазка OVER TAKE
Идеальное решение для обеспечения максимальной производительности и защиты вашего велосипеда в любых погодных условиях.
Высококачественное средство, основанное на инновационной керамической формуле, которая образует непроницаемый защитный слой на поверхности трущихся деталей велосипеда.
Благодаря своей уникальной формуле, смазка обеспечивает долговечное и эффективное смазывание подвижных частей велосипеда, таких как цепь, звездочки и другие механизмы.
Масло устойчиво к различным воздействиям, включая влагу, грязь и пыль, что делает ее идеальным выбором для езды в экстремальных условиях или при плохой погоде.
Смазка OVER TAKE разработана специально для велосипедов премиум-класса, обеспечивая высочайший уровень защиты, её применение помогает увеличить срок службы деталей велосипеда, снизить трение и износ, а также улучшить общую эффективность передачи энергии.
Комплект поставки содержит 50-100 мл продукта, что обеспечивает достаточное количество для обслуживания велосипеда на протяжении примерно 150 км.
Независимо от погодных условий или интенсивности использования, эта смазка гарантирует, что велосипед всегда будет работать на пике своей производительности, обеспечивая комфорт и безопасность поездок.
Отличный инструмент для удаления гаек с диаметром резьбы от М8 мм до М16 мм и размером под ключ от 14 мм до 24 мм.
Инструмент основан на принципе работы гидроцилиндра, который обеспечивает мощное усилие (до 12 тонн) за счет поршня и гидравлического масла.
Гайкорез способен легко и эффективно справиться с задачей удаления сильно затянутых, закисших или слизанных гаек, где обычные инструменты не справляются.
Устройство предлагает удобство использования и простоту в обращении. Ручной привод позволяет контролировать процесс удаления гайки, обеспечивая точность и безопасность.
Надежный и прочный инструмент, изготовленный из высококачественных материалов, чтобы гарантировать долгий срок службы.
Инструмент для комфортного и эффективного сверления лунок на льду. Когда каждая минута имеет значение, использование ручного инструмента может быть утомительным и затратным по времени.
Шуруповерт-ледобур предлагает идеальное решение для этой задачи.
Устройство обеспечивает быстрое и эффективное вращение бура, позволяя быстро пробиться сквозь лед.
Благодаря его электрическому приводу, у вас нет необходимости прикладывать усилия для сверления, что значительно сокращает усталость и повышает производительность.
Шуруповерт обладает регулируемыми скоростями и крутящим моментом, что позволяет настроить инструмент в соответствии с потребностями.
Можете выбрать оптимальную скорость вращения и мощность, чтобы достичь отличного результата при сверлении лунок на льду.
Инструмент легкий и компактный, что позволяет легко переносить его на место использования.
Можете брать его с собой во время рыбалки или других зимних мероприятий, чтобы быть готовыми сверлить лунки в любой момент.
Удобное и безопасное устройство, предназначенное для перенаправления сжиженного газа с большого баллона в малый газовый баллончик.
Адаптер разработан с учетом безопасности и простоты использования, он обладает надежными соединениями и клапанами, которые обеспечивают герметичность и предотвращают утечку газа.
Управление устройством очень простое, нужно всего лишь подключить большой баллон сжиженного газа к адаптеру и малый газовый баллончик к другому концу адаптера.
Затем вы можете контролировать заправку, открывая или закрывая клапаны в соответствии с вашими потребностями.
Адаптер для заправки является универсальным и может быть использован с различными типами газовых баллончиков.
5. Полуавтоматический сварочный аппарат Decapower 4 в 1
Представляет собой новейшее многофункциональное устройство для сварки с использованием газа и без газа.
Аппарат оснащен микропроцессором серии Synergy, который обеспечивает высокую точность и контроль в процессе сварки, что позволяет полностью удовлетворить ваши требования.
Сварочный аппарат 4 в 1 обладает четырьмя режимами сварки, которые позволяют работать с различными материалами и толщинами. Устройство включает в себя MIG/MAG, TIG и MMA сварку.
Благодаря такому разнообразию режимов, сварочный аппарат идеально подходит для широкого спектра задач сварки в различных отраслях.
Decapower обладает удобным и интуитивно понятным пользовательским интерфейсом, что делает его простым в использовании для как опытных, так и начинающих сварщиков.
Микропроцессор Synergy позволяет автоматически настраивать параметры сварки, исходя из выбранного режима и условий работы, что обеспечивает максимальную производительность и качество сварочного соединения.
Устройство предназначенное для постоянного обновления свежего воздуха в помещении.
Прибор работает автоматически и может управляться с помощью смартфона, что обеспечивает удобство и гибкость в использовании.
Рекуператор оснащен дистанционным пультом управления, позволяющим легко и удобно контролировать его функции.
Можете регулировать скорость вентилятора и настраивать другие параметры работы в соответствии с вашими потребностями.
Встроенный фильтр воздуха класса G3 обеспечивает очистку поступающего воздуха от пыли и других загрязнений, что способствует созданию более здоровой и чистой атмосферы в помещении, это особенно важно для людей, страдающих от аллергий или проблем с дыхательной системой.
Рекуператор также оснащен электрическим обогревателем мощностью 50 Вт, который позволяет эффективно подогревать поступающий воздух в холодные периоды.
С четырьмя скоростями вентилятора есть возможность выбрать оптимальный уровень воздушного потока, чтобы создать наиболее комфортные условия для пребывания.
Можете настроить скорость вентилятора в зависимости от активности, времени суток или личных предпочтений.
7. Регулятор с манометром давления и отделителем влаги
Представляет собой устройство, которое используется для контроля и регулирования давления в пневматических системах.
Регулятор оснащен манометром, который позволяет точно измерить давление в системе и убедиться, что оно соответствует требованиям.
Водоотделитель, встроенный в регулятор, выполняет функцию отделения влаги от сжатого воздуха, что особенно важно, поскольку влага может негативно влиять на работу пневматических инструментов и вызывать коррозию внутренних деталей.
Водоотделитель имеет встроенный воздушный фильтр, который задерживает частицы влаги и грязи, предотвращая их попадание в инструменты.
Одной из ключевых особенностей этого регулятора является наличие кнопочного клапана для слива, который позволяет быстро и легко освободить накопившуюся воду.
Это очень удобно, так как не требуется разбирать регулятор или инструменты для удаления влаги, а можно просто нажать на кнопку и быстро выпустить воду.
Регулятор является легким и компактным устройством, его вес составляет всего 80 грамм, это позволяет использовать его с пневматическими инструментами без значительного увеличения их веса и удобно перемещать его при работе.
Представляет собой электрический инструмент, предназначенный для нагрева и нагнетания горячего воздуха, он обладает рядом удобных функций, которые обеспечивают точный контроль температуры и удобство использования.
С цифровым дисплеем на термофене вы можете легко увидеть и настроить текущую температуру, что позволяет точно контролировать процесс нагрева и поддерживать заданную температуру в течение работы.
Настраиваемая температура фена варьируется в диапазоне от 100 до 480°C, это позволяет выбрать оптимальную температуру для различных задач и материалов.
Термофен оснащен микропроцессорным контролем, который обеспечивает высокую точность и стабильность температуры.
Автоматический термостат контролирует нагрев и поддерживает заданную температуру, предотвращая перегрев или недостаточный нагрев.
Термофен также обладает автоматическим режимом работы, который позволяет удобно использовать инструмент без необходимости постоянно настраивать и контролировать температуру.
Режим ожидания сохраняет заданную температуру во время перерывов в работе, что экономит энергию и позволяет быстро восстановить работу без дополнительного времени на разогрев.
Специальный инструмент, разработанный для использования в электрических установках. Обладает рядом особенностей, которые делают ее удобной и эффективной при работе с электрическими компонентами.
Одной из ключевых особенностей этой отвёртки является храповый механизм на 36 зубьев.
Храповый механизм позволяет вращать отвёртку в одном направлении без необходимости перехватывания инструмента, это обеспечивает комфортную работу и позволяет осуществлять точные повороты, особенно при работе в труднодоступных местах.
Рукоятка отвёртки обладает эластичным захватом, что позволяет надежно удерживать инструмент и обеспечивает комфортное затягивание.
Тонкий хвостовик позволяет легко и удобно работать на клеммниках и других малогабаритных компонентах.
10. Кобальтовые ступенчатые сверла с винтовой канавкой
Высококачественные инструменты, предназначенные для сверления отверстий в различных материалах.
Сверла отличаются рядом особенностей, которые делают их универсальными и эффективными при обработке разнообразных поверхностей.
Одной из ключевых особенностей этих сверл является угол заточки в 135°, который обеспечивает оптимальную геометрию режущей кромки, позволяя достигать высокой скорости сверления при сохранении качества обработки.
Кобальтовые ступенчатые сверла предназначены не только для сверления металла, они также идеально подходят для обработки пластика, гипсокартона и дерева, а также многих других материалов.
Винтовая канавка на сверлах обеспечивает эффективное удаление стружки во время сверления, она помогает предотвратить заклинивание сверла и обеспечивает более плавное и быстрое продвижение в материале.