Не так давно я собрал Портальную пушку из игры PORTAL. Сегодня расскажу о длинном пути по сборке наверно более знаковой для меня штуки из HALF-LIFE 2
Кто не знает, знакомьтесь:
Манипулятор энергетического поля нулевого уровня
или же просто Гравипушка.
Культовое оружие показывающая возможности физики объектов притягивая предметы и стреляя ими и всё в далёком 2004 году.
Начало банальное. куча печати на принтере длинной в 5 дней с перерывами
Далее не большие манипуляции с шпатлевкой и грунт, а пока сохнет занялся тахометром или как он там называется.
Сублимацией перевел и резал на лазере индикатор.
далее вырезал стрелку и приделал ее на м3 саморез с каплей клея, закрыл куском Пэта и на концы нацепил термоусадку.
После покраски показалось что просто чёрный цвет это не много не то и надо придать более металлический вид просто натерев все чёрные детали порошком алюминия (серебрянкой)
на фото выглядит белёсо но это свет так отражается. по факту выглядит как металл.
ну и через "маску" в виде малярной ленты в 2 цвета покрасил рукоятку.
пока что итог выглядит так.
оставил на корпусе серую полоску потому что захотелось больше сочетания цветов.
В данный момент как обычно у меня проблемы с электроникой которые я постепенно решаю и дабы не перегружать будет еще одна часть.
Я маргинал, который знает исключительно вершки-корешки и не умеет ни код нормальный писать, ни что то доводить до конца. Я не закончил три пту в своем городе из за того, что просто отбитый маргинал. Поэтому мне не светит ни госка, ни частная контора, ни даже работа на галере - у меня нет скиллов, а умело продавать себя я не умею и у меня не хватает хватки.
Так что фигня это все, мой максимум - второсортные развлекательные статейки, чисто как бульварное чтиво, только про IT. Почти как нейромусор.
Осторожно: Статья написана максимально простым языком. Так что если вы гик, но не умеете программировать - вам всё равно будет интересно!
Недавно я наткнулся на DIY-игровую консоль за 1.500 рублей - Waveshare GamePi13. Когда гаджет приехал ко мне, я запустил примеры игр от производителя... и оторопел от 5 FPS в Pong - это ж как плохо нужно код писать!
Не желая мириться с этим, я открыл схему устройства, даташит на RP2040 и принялся писать свой собственный BIOS. Если вам интересно узнать, как работают DIY-консоли «изнутри», можно ли запускать внешние программы на микроконтроллерах из RAM, как реализованы различные подсистемы BIOS, а в конце даже написать «Змейку» - добро пожаловать под кат!
❯ Предисловие
Иногда китайские производители выпускают на рынок дешевые гаджеты с ориентиром исключительно на гиков. Чего-уж говорить, с какой-нибудь R36s чего только не сделали: и кастомные прошивки, и порты игр с ПК, и даже достаточно сложные аппаратные модификации. Однако в тусовке DIY'щиков обычно всё куда хардкорнее...
«Андерграундные» консоли выходят чуть ли не каждый день, но лишь единицы из них становятся хоть сколь либо популярными и попадают на массовый конвейер. От «больших» консолей их отличает простая схемотехника, использование распространенных и дешевых микроконтроллеров общего назначения и полная свобода творчества — что хочешь, то и твори! По характеристикам они чаще всего близки к оригинальному GameBoy или GameBoy Advance, а покупают их инженеры, демосценеры и ретро-энтузиасты, которые не только играют во что-то готовое, но и пишут небольшие игрушки сами!
Самые известные консоли такого формата — это нашумевший Playdate и чуть менее известный Arduboy. Обе консоли сильно ограничены в характеристиках и это подстегивает интерес гиков к постоянной оптимизации кода и попыткам впихнуть «невпихуемое». Выделился даже российский «Микрон», представив свою DIY-консоль «для хардкорных ардуинщиков» — некий MikBoy на базе своего же МИК32 «Амур»!
Я уверен что Микроновцы будут читать эту статью... Если вдруг всё получится и MikBoy пойдёт в серию — то напишите мне пожалуйста сообщение :)
Подобным «ардуинщиком» являюсь и я. Ещё со школьных лет меня нереально тянет к микроконтроллерам и Embedded-электронике в целом. О консоли собственной разработки я мечтаю с 14 лет, при этом мне не просто хочется собрать прототип и «забить», но и запустить мелкосерийное ручное производство и продавать устройства подписчикам! К своим 24-годам я сделал два прототипа и развел три платы, но все эти проекты так или иначе откладывались в долгий ящик...
Один из ранних-ранних прототипов, предназначенный для обкатки драйвера дисплея.
И вот, 25 сентября мне стукнуло 24 годика. Уже взрослый мальчик получил в качестве подарка донат от постоянного читателя и пошёл изучать маркетплейсы в поисках интересного железа. По ключевым словам «tft lcd diy» был найден «ESP32 Bitcoin Miner V2» (выгодный девкит с 2.8" и ESP32-S2), девкит ESP32 с 4.3" дисплеем и емкостным тачскрином, а также некий Waveshare GamePi13, о котором мы сегодня с вами и поговорим!
Отдельное спасибо хотелось бы сказать тем самым подписчикам. Без вашей поддержки этой статьи бы не было!
Waveshare — знаменитый в кругах энтузиастов SBC производитель. В основном компания занимается дисплеями, модулями расширения и одноплатными компьютерами.
В тот же день я заказал устройство, и уже через 3 недели трепетного ожидания, GamePi13 оказался у меня на столе. На первый взгляд консоль показалась очень маленькой: её 1.3" дисплей был даже меньше, чем у Nokia 6230i, а кнопки оказались расположены непривычно близко друг к другу. Ко всему прочему, у консоли не было предусмотрено вообще никакого корпуса: ни «болванки» от производителя, ни STL-файлов для печати. Что-ж, это только придаёт брутальности нашему устройству!
Оба устройства помещаются в одну ладошку... А ведь когда-то 6230i казался реально большим!
Как вы уже могли заметить, консоль состоит из двух независимых модулей: платы разработки Waveshare RP2040-PiZero и «бутербродного» геймпада с дисплеем, который подключается к гребёнке основной платы. В этом и кроется главный секрет устройства: геймпад изначально рассчитан именно для «одноплатников» Raspberry Pi, но поскольку Waveshare также выпускает плату RP2040 с Pi-совместимой гребёнкой, они решили заодно адаптировать его и для PiZero.
❯ Что внутри?
Хоть PiZero и похожа на референсную плату в лице Raspberry Pi Pico, у неё есть несколько серьёзных отличий:
Во первых, на плате установлена SPI-флэшка объёмом аж в 16МБ. Это максимальный объём, который поддерживает XIP-контроллер в RP2040. В RPi Pico же используется флэш-память объёмом всего в 2МБ.
Далее внимание привлекает использование менее эффективного ULDO RT9193 вместо полноценного DC-DC преобразователя в оригинальном Pico. Сам микроконтроллер сможет работать при разрядке аккумулятора ниже 3.6В, а вот периферия — под вопросом. Иными словами, мы не сможем использовать «все соки» из аккумулятора и нам придётся реализовывать отсечку по напряжению.
На плате распаяна микросхема-чарджер литий-ионных аккумуляторов ETA6096 с током зарядки аж в 1А. Если захотите использовать аккумулятор меньшей емкости — стоит подобрать резистор ISET большего номинала, иначе есть риск перегрева.
Из разъёмов распаян HDMI (да, я тоже в шоке), слот для MicroSD (под него отдали весь SPI0) и два Type-C: один для аппаратного USB-контроллера в RP2040, второй для USB через PIO. В общем, пытались угодить всем.
Плата с геймпадом не менее интересная. С фронтальной стороны у нас расположилось 10 кнопок и 1.3" IPS-дисплей с разрешением 240x240, использующий контроллер ST7789. Вообще, для такой диагонали разрешение дисплея крайне избыточно: оно не только съедает драгоценные килобайты оперативной памяти для фреймбуфера, но и значительно грузит DMA-контроллер и всю шину SPI. Я бы на месте инженеров установил бы сюда «золотой стандарт» — недорогой 1.8" 128x160. Все кнопки подключены к отдельным пинам без сдвигового регистра и занимают значительную часть доступных GPIO.
Я бы сделал лучше!
С обратной стороны расположился небольшой динамик, усилитель, построенный на базе NS8002, 3.5мм джек для подключения наушников, а также токоограничивающий резистор подсветки и обвязка для дисплея. Подсветка подключена напрямую к VSYS и рассчитана на питание от 3.3В, так что никакой регулировки яркости и продвинутых режимов сна!
Производитель платы — компания SpotPear.
Ну что-ж, собираем наш бутерброд обратно, подключаем Type-C и смотрим на одну из представленных демо-игр — Тетрис!
Нет, это не пережатая гифка, игра действительно идёт буквально в 1 FPS и с мерцанием — и это на микроконтроллере с ядром Cortex-M0+ на частоте аж в 150МГц! Я напомню, что N-Gage с процессором TI OMAP на более старом ядре ARM926EJ-S с частотой 104МГц умудрялся тянуть первый Tomb Raider с полностью программным рендерингом в 25 FPS!!!
Далее я решил открыть официальный вики Waveshare и изучить информацию о консоли, где нашел несколько примеров игр для неё, одной из которых был Pong. Какое же было моё разочарование, когда я узнал, что обе игры написаны полностью на Python: игровая логика, маршалинг данных, работа с «железом» — всё это было на интерпретируемом языке и более того, написано плохо и крайне неэффективно!
Ни о каком подобии SDK или библиотеки для абстрагирования работы с железом даже речи не шло, практически всё, кроме номеров пинов, было захардкожено прямо в коде игры. О хорошей архитектуре тоже речи не идёт: один класс на всю логику с глобальными переменными... В общем, сэмплы писал либо новичок, либо прожженный эмбеддер :)
Драйвер дисплея даже не пытается использовать DMA, из-за чего даже Понг, состоящий из трёх прямоугольников умудряется тормозить.
def blit_buffer(self, buffer, x, y, width, height): """ Copy buffer to display at the given location.
Args: buffer (bytes): Data to copy to display x (int): Top left corner x coordinate Y (int): Top left corner y coordinate width (int): Width height (int): Height """ self.set_window(x, y, x + width - 1, y + height - 1) self.write(None, buffer)
Звуковая подсистема, состоящая из одноканальной тональной пищалки на аппаратном ШИМ-контроллере, тоже была со своими «приколами». Например «тишина» — это 0, то есть магнит всегда прижат к нижней части, хотя должно быть PWM_MAX / 2.
Под впечатлением от такого кода, я решил попробовать написать SDK для этой консоли сам. Однако моё видение идеальной DIY-консоли сильно отличалось от того-же Arduboy или Playdate!
❯ Архитектура
При проработке архитектуры будущего «BIOS», я сразу же поставил для себя несколько чётких задач:
Во первых, BIOS должен быть достаточно абстрактным для того, чтобы скрывать от игры детали реализации конкретного «железа». Иными словами, игра оперирует не DMA-контроллерами, FPU-сопроцессором и SPI, а набором простых и понятных подсистем: графика, ввод, звук, хранилище. Кроме того, это позволяет легко портировать игры для такого BIOS'а на другие платформы: можно без проблем реализовать симулятор (не эмулятор!) консоли на ПК или портировать её на ESP32 с минимальными изменениями.
Во вторых, мы ставим производительность в основной приоритет при разработке устройства. В конце-концов это же позорище, что простейшая игра тормозит и мерцает на мощном микроконтроллере, но при этом тетрисы с трёхмерной графикой вполне шустро работали на телефонах Sony Ericsson 2005 года. Именно поэтому для написания игр используются не скриптовые языки по типу Lua или JS, а самый обычный «C с классами».
В третьих, сам BIOS должен быть легко портируем между разными платами (у SpotPear есть вторая похожая плата — уже с 1.5" и стиком) и даже аппаратными платформами. Этот проект может стать основной прошивкой для консоли уже моей разработки и иметь вот такую «кроссплатформу» было бы отнюдь не лишним!
Руководствуясь критериями выше, я решил писать BIOS на C++ (на деле C с классами) с активным использованием интерфейсов и VMT. Это позволяет не только удобно структурировать модули и повышает читаемость кода игры, но и избавляет от необходимости вручную составлять таблицу системных вызовов к API. Тем не менее, в таком подходе есть один серьёзный нюанс: когда у подсистем появляются новые методы или добавляются перегрузки к прошлым, их необходимо по порядку добавлять в конец интерфейса, иначе VMT ломается.
vtable for CTest: .word 0 .word typeinfo for CTest .word CTest::Test() .word CTest::Abc() vtable for ITest: .word 0 .word typeinfo for ITest .word __cxa_pure_virtual .word __cxa_pure_virtual
В своё время Microsoft решила эту проблему в COM с помощью QueryInterface и миллиона вариаций этих самых интерфейсов: IDirectSound8, IDirectDraw7 и т.д, но мы можем не изобретать велосипед, а просто предоставлять «старым» играм такие же «старые» версии VMT.
Основным объектом в BIOS'е является CSystem, который содержит в себе ссылки на другие подсистемы консоли, а также на информацию о текущей аппаратной платформе:
/// @brief Primary system service, supplied to both games and system modules. class ISystem { public: virtual CSystemInfo* GetSystemInfo() = 0;
Несмотря на кажущуюся «динамическую» натуру системы, никаких IID я переизобретать не стал. BIOS должен реализовывать ровно тот минимальный функционал системы, который нужен. Экземпляр CSystem создаётся так называемым «портом» на конкретную плату, который должен заполнить структуру с указателями на реализации подсистем — прямо как machine-файлы в Linux! И RAII не нарушили, и полный контроль без костылей сохранили — ляпота!
void InitializePlatform() { CommManager = new CCommunicationManager(); CDebugService* dbgSvc = new CDebugService();
/* Print some userful debug information */ CJEDECFlashID* flashId = FlashManager.GetFlashID();
while (true) { /* Tick all platform-depend services here */ CommManager->Tick(); PowerStateManager.Tick(); InputService->Tick();
System->Tick(); } }
В целом, базовая архитектура примитивная и понятная. Перейдем же к деталям реализации конкретных модулей.
❯ Графика
Первая подсистема, которую я реализовал — была графической. Концептуально она разделена на два отдельных модуля: драйвер дисплея, который позволяет получить его параметры и в будущем управлять его состоянием, а также модуль для рисования на поверхностях. Прямо как в DirectDraw:
class IDrawingSurface : public ISystemService { public: virtualvoid Clear(CColor color) = 0; virtualvoid DrawBitmap(CBitmap* bitmap, int x, int y) = 0; virtualvoid DrawBitmapEx(CBitmap* bitmap, int x, int y, CSpriteInfo* spriteInfo) = 0; virtualvoid DrawRect(CColor color, int x, int y, int width, int height) = 0; virtualvoid FillRect(CColor color, int x, int y, int width, int height) = 0; virtualvoid DrawLine(CColor color, int x1, int y1, int x2, int y2) = 0; virtualvoid DrawString(CColor color, int x, int y, CAnsiChar* str) = 0; };
class IGraphicsService : public ISystemService { public: virtualvoid SetPowerState(bool isPowerEnabled) = 0; virtualvoid SetBacklightState(bool isBacklightEnabled) = 0; /* Maybe some controller-related functions in future? Like BIAS and HW rotation? */
Сам драйвер дисплея классический: в его задачи входит инициализация контроллера, выделение памяти под фреймбуфер и регулярное обновление изображения на матрице. Поскольку в таких устройствах используются стандартные MIPI DBI экраны с набором команд DCS, часть кода инициализации и работы с дисплеем стало возможным унифицировать:
/* Perform hardware reset */ gpio_put(PIN_LCD_RST, 0); sleep_ms(DISPLAY_INIT_SLEEP_TIME); gpio_put(PIN_LCD_RST, 1); sleep_ms(DISPLAY_INIT_SLEEP_TIME); /* Wait for display controller to complete initialization */
Reset(); /* Perform software reset to maintain default register state */ SendCommand(cmdSLPOUT, 0, 0); /* Disable sleep mode */ SendCommand(cmdCOLMOD, 0x05); /* Set color format and decoding*/ SendCommand(cmdINVON, 0, 0); /* Disable inversion */ SendCommand(cmdNORON, 0, 0); /* Enable normal mode */ SendCommand(cmdMADCTL, cmdMADCTL_RGB); /* Set pixel size */
uint8_t windowSize[] = { 0 >> 8, 0, DISPLAY_WIDTH >> 8, DISPLAY_WIDTH }; /* Set display window (note this is not safe for displays with sides not equal in size) */ SendCommand(cmdCASET, windowSize, 4); SendCommand(cmdRASET, windowSize, 4);
SetPowerState(true); /* Enable display */
Вероятно читатель может спросить: «зачем выделять целых 115КБ под фреймбуфер, если можно использовать команды CASET/RASET и рисовать отдельные спрайты прямо в память дисплея?». Дело в том, что в таком случае скорость отрисовки будет падать обратно пропорционально размеру и числу рисуемых изображений. Если мы попытаемся нарисовать параллакс-фон, состоящий из трёх картинок с размерами 240x240, то нашим узким местом станет не только цена обращения к XIP-кэшу, но и производительность SPI-контроллера (который напрямую тактируется от системного PLL) и мы получим те самые 1-2 FPS. Кроме того мы потеряем возможность использования DMA и нам придётся ждать каждой транзакции на экран: это проблема многих «самодельных» консолей, которую, впрочем, можно решить обратившись к опыту предков — а именно PPU.
В своём проекте я решил активно задействовать DMA-контроллер для отправки фреймбуфера на дисплей. Концепция простая: мы указываем ему переслать фреймбуфер, начинаем подготавливать следующий кадр и если транзакция ещё не завершена - то дожидаемся её окончания, дабы картинка оставалась целостной. Однако если обновление логики следующего кадра завершается быстрее, чем DMA-контроллер успевает отправить сканлайны - мы можем получить эффект тиринга.
/* Setup DMA for SPI */ dmaChannel = dma_claim_unused_channel(true);
Далее переходим к фактической отрисовке изображений. На данный момент поддерживается только один формат пикселей — RGB565, поскольку нет особого смысла использовать 8-битную палитру для изображений 32x32 (но есть смысл использовать 4х-битную, как на NES). Процесс рисования называется блиттингом и поскольку реализация полноценного альфа-блендинга слишком дорогая для реалтайм графики на микроконтроллерах, для описания прозрачности используется техника колоркеев.
ColorKey — это как ChromaKey, но для описания прозрачного цвета используется только базовый цвет, а не цвет + порог допустимых цветов. Помните как в играх 90-х были картинки с розовым фоном цвета Magenta? Вот это оно самое :)
Рисование текста реализовано знакомым для Embedded-инженеров способом: шрифты описываются в формате 8x8, где 8 битов каждого байта обозначают наличие или отсутствие пикселя в текущей позиции. Такие шрифты не только занимают очень мало места, но их также очень легко и быстро рисовать, а также масштабировать под различные разрешения экранов. На данный момент я задумываюсь — стоит ли добавлять в консоль поддержку полноценного UTF-16, если учесть что основной таргет на русскоязычную аудиторию, где и CP866 хватает с головой?
Какой же дисплей чёткий...
❯ Ввод
Далее мы плавно переходим к реализации драйвера ввода. Как я уже говорил выше, все кнопки подключены к своим отдельным GPIO без использования сдвигового регистра или I/O Expander'а, что с одной стороны и хорошо (некоторые китайские производители реализовывают консоли с кнопками, основанными на матричном (!!!) принципе), а с другой — отъедает большинство GPIO у RP2040. Свободными пинами мы могли бы выполнять множество полезной работы: получать уровень заряда аккумулятора у Fuel Gauge, управлять уровнем подсветки с помощью ШИМ-контроллера и ключа, или, в конце-концов, сделать порт для подключения периферии... но нет так нет.
Сам по себе драйвер ввода до жути примитивный: он позволяет получить состояние отдельных кнопок, осей (как Input.GetAxis в Unity) и проверить, нажата ли хоть какая-то кнопка:
Для удобства и портабельности BIOS'а между платами, кнопки геймпада маппятся к соответствующим GPIO в отдельной таблице трансляции, которая также содержит состояния этих самых кнопок:
// Should be layouted in order of EKeyCode enum CButtonState ButtonMapping[] = { { PIN_KEY_LEFT }, { PIN_KEY_RIGHT }, { PIN_KEY_UP }, { PIN_KEY_DOWN }, { PIN_KEY_A }, { PIN_KEY_B }, { PIN_KEY_X }, { PIN_KEY_Y }, { PIN_KEY_LEFT_TRIGGER }, { PIN_KEY_RIGHT_TRIGGER } };
Дело в том, что в нашем проекте недостаточно иметь лишь одно булево: нажата-ли кнопка или нет, для компенсации дребезга кнопок у нас также реализуется задержка перед следующей проверкой и дополнительное состояние для удобства реализации меню — «только что отпущена».
for(int i = 0; i < ButtonMappingCount; i++) { CButtonState* buttonState = &ButtonMapping[i]; bool gpioState = !gpio_get(buttonState->GPIO); // Buttons are pull-up to high when not pressed
// Check if there was elapsed enough time if(timeStamp > buttonState->LastStateChange) { if(buttonState->State == EKeyState::ksReleased) buttonState->State = EKeyState::ksIdle;
Таким образом, мы получаем куда более удобную подсистему ввода, чем условная битовая маска с обозначением каждой кнопки и ручной обработкой её состояний в игре...
Вот мы и подошли к, возможно, самой интересной подсистеме в нашем BIOS'е. Думаю многие читатели так или иначе интересовались тем, как же компилятор и линкер превращают исходный код и объектный файлы в пригодные для выполнения программы и библиотеки. Вопрос запуска нативных программ на микроконтроллерах интересовал и меня — я даже написал целых три статьи об этом: в первой мы поговорили о ESP32 и Xtensa, а во второй реализовали BinLoader путём реверс-инжиниринга и хакинга кнопочного телефона, а в третьей сделали полу-универсальный ElfLoader для нескольких моделей телефонов на разных платформах.
Но начнём мы с простого. Каждая программа делится на три основных секции:
.text — содержит в себе машинный код функций и так называемые Literal pools. Может быть как в ROM, так и в RAM. На системах, где есть возможность выполнять код и в ROM, и в RAM, есть отдельная секция - .iram.
.data — содержит инициализированные переменные, которые обычно попадают в оперативную память. Для статических констант есть отдельная секция, называемая .rodata.
.bss — содержит в себе не-инициализированные переменные, обычно это нули. В исполняемый файл секция .bss напрямую не записывается, остаётся лишь информация о том, каков её размер, а саму секцию затем выделит динамический линкер.
Куда попадут части программы определяет специальная утилита — линкер, которая на основе специального скрипта «раскладывает» данные по нужным секциям. Благодаря этому скрипту, мы можем, например, перенести часть функций в оперативную память для более быстрого исполнения или добавить в начало программы заголовок с описанием приложения.
В моём случае, я решил загружать игры в SRAM и дабы не реализовывать нормальный динамический линкер и релокации, решил выделить под игру фиксированный кусочек оперативной памяти объёмом в 128КБ. Для этого я отредактировал скрипт линкера Pico C SDK так, чтобы сразу после вектора прерываний шла наша программа:
Для компиляции программы также используется кастомный скрипт для линкера и особый Makefile, где после сборки программы мы копируем все её секции в выходной файл в «сыром» виде. Поскольку программа собирается под выполнение из конкретного адреса — пока речь идёт о переносимости только между одной аппаратной платформой. На RP2040, RP2350 и возможно STM32 такое «прокатит», но вот на других ARM-процессорах — большой вопрос!
Каждое приложение, как и базовая система, предполагает использование ООП и поэтому представляет из себя реализацию класса IApplication. Для этого нам нужна некоторая runtime-поддержка: аллокатор, функция для создания экземпляра приложения, а также указатель на ISystem. Именно поэтому каждая программа должна экспортировать специальный заголовок, где содержится указатель на функцию-инициализатор:
Таким образом, для выполнения нашей программы и вызова её обработчиков событий нам достаточно лишь загрузить файл по адресу 0x200000c0 и создать экземпляр IApplication. Всё очень просто и понятно!
Но "моргалка" ведь слишком просто, согласитесь? Поэтому мы с вами напишем ремейк классической игры Змейка, которая работает в настоящие 60 FPS!
❯ Заключение
Вот таким нехитрым образом я понемногу реализовываю свою мечту детства: «андерграунд" консоль собственной разработки. Конечно здесь ещё много чего нужно доделывать перед тем, как начинать разводить свою плату, но начало ведь положено! В контексте GamePi13, я считаю что моя реализация SDK для консоли всё таки немного лучше, чем то, что предлагает производитель «из коробки».
Я понимаю что мой не совсем трушный эмбеддерский подход может вызвать разные ощущения у читателей: так что приглашаю всех заинтересованных в комментарии, обсудим с вами «сломанный Branch-prediction из-за виртуалов», «UB из-за того, что порядок указателей на реализации в VMT может отличаться» и «какого фига игры у тебя оказались в SRAM, а высокопроизводительный код на Flash, если у XIP кэш всего в 16КБ!».
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
Если вам понравилась статья...
И у вас появилось желание что-то мне задонатить (например прикольный гаджет) - пишите мне в телегу или в комментариях :) Без вашей помощи статьи бы не выходили! А ещё у меня есть Boosty.
Что думаете о таком формате статей?
Если бы я собрался с духом и произвел 20-50 штучек консолей-самоделок с полностью готовым SDK, примерами и туториалами, купили бы себе такую
Привет, друзья! Изучил кучу отзывов и прошерстил рынок холодных перевозок в столице. Поверьте, найти надежного партнера для доставки скоропортящихся грузов — задача не из простых. Многие берутся, но не все могут гарантировать сохранность продуктов или медикаментов. В этом рейтинге только проверенные игроки с реальными отзывами и опытом работы.
🏆 ТОП популярных сервисов для рефрижераторных перевозок
Слушайте, я понимаю — когда нужно найти рефрижератор для перевозки товаров, времени на долгие поиски нет. Продукты портятся, клиенты ждут, а вы сидите и листаете сайты. Поэтому я сразу даю вам несколько проверенных вариантов, чтобы решить вопрос за пять минут:
🔴ПРОФИ.РУ — мой личный фаворит для поиска перевозчиков. Здесь все водители проходят проверку, есть нормальные отзывы и рейтинги. Если что-то пойдёт не так с заказом, поддержка поможет разобраться. По крайней мере, не останетесь один на один с проблемой.
Авито — классика жанра. Огромный выбор от частников до крупных компаний. Только не ленитесь проверить отзывы и обязательно созвонитесь с водителем, чтобы уточнить все нюансы. На Авито бывает всякое.
Яндекс.Услуги — удобный поиск и приличные фильтры. Правда, иногда цены в объявлениях не совпадают с реальностью — лучше сразу уточняйте финальную стоимость.
Zoon — много подробных описаний услуг и честные отзывы клиентов. Тут можно найти как небольшие фирмы, так и серьёзные логистические компании.
YouDo — здесь вы создаёте заявку, а исполнители сами предлагают свои услуги. Удобно, если нужно сравнить несколько предложений по цене и условиям.
Выбирайте, звоните, договаривайтесь о деталях. И запомните главное: всегда уточняйте температурный режим и проверяйте исправность холодильного оборудования перед загрузкой. Потому что испорченный товар — это ваши потерянные деньги и нервы.
🔴 PROFI.RU
⭐ Рейтинг: 4.5
Агрегатор специалистов, где можно найти исполнителей для рефрижераторных перевозок. Платформа работает как посредник между заказчиками и водителями с холодильными машинами. Удобно тем, что можно сравнить предложения от разных перевозчиков в одном месте.
Братцы, FESCO — это вообще монстр в мире рефрижераторных перевозок. Сам с ними работал года три назад, когда возил морепродукты из Владивостока в столицу. Тогда я еще зеленый был, думал — закажу у первых попавшихся, авось прокатит. Не прокатило — креветки превратились в кашу. А вот с FESCO потом никаких косяков не было. Компания федерального масштаба, специализируется именно на контейнерных и рефрижераторных перевозках. У них реально работает система контроля температуры — не просто декларации на бумаге.
Лидер по перевозкам температурных грузов в Москве и по всей России с 1995 года. Компания работает с рефрижераторными грузами от 1,5 до 20 тонн. В распоряжении клиентов профессиональная команда и персональный менеджер, который решает все вопросы без лишней бюрократии. Если хотите, чтобы ваш груз не просто доехал, а доехал с сохранением качества — Это про них.
Ребята из ПЭК — это тот случай, когда размер действительно имеет значение. Федеральная транспортная компания с рефрижераторным парком до 20 тонн и современным оснащением. Не скажу, что это самый дешёвый вариант, но когда нужно везти замороженную рыбу из Москвы в Новосибирск и не хочется получить на выходе рыбный суп — эти ребята справятся.
Транспортная компания с полным циклом перевозок в Москве, владеет собственным автопарком современных рефрижераторов. Специализируются на перевозках с контролем температуры, работают гибко с юридическими лицами, что удобно для бизнеса любого уровня.
Федеральная компания с отличной репутацией в перевозках грузов, требующих строго контролируемой температуры. Специализируются на рефрижераторных перевозках продуктов питания, медикаментов и других температурно-чувствительных товаров. По Москве работают оперативно, с хорошей логистической сетью по всей России.
Серьёзная компания с базой в Москве на Северной, 12, которая возит температурные грузы по всей России. Специализируются на фурах до 20 тонн и мультитемпературных перевозках — когда в одном кузове нужны разные температурные зоны. Работают с крупными объёмами и умеют подобрать транспорт под конкретную задачу.
Ребята из ЖелДорАльянса специализируются на рефрижераторных перевозках с акцентом на корпоративных клиентов. Знаю по опыту — когда нужно возить продукты регулярно, они умеют настроить логистику под конкретные потребности. Работают и по Москве, и по всей России, что удобно для сетевиков.
🌐 Официальный сайт: Сайта нет, работают через прямые контакты
➕ Плюсы:
Индивидуальные схемы маршрутизации — настраивают логистику под ваши потребности
Работают как со сборными, так и с индивидуальными грузами
Опыт работы с корпоративными клиентами
Покрывают всю Россию, не только Москву
➖ Минусы:
Нет сайта — все через телефон, что не всегда удобно в 2025 году
✅ Перейти на сайт ЖелДорАльянс>> (контакты: ул. Зеленоградская, 28, Москва)
💰 Цены:
Рефрижераторные перевозки по Москве: от 45 ₽/км
Сборные грузы: от 15 ₽/кг
Индивидуальная доставка: договорная, зависит от маршрута
Межгородские перевозки: от 35 ₽/км
📌 Доп. услуги:
Экспедирование груза
Упаковка и погрузочно-разгрузочные работы
Индивидуальная маршрутизация для постоянных клиентов
Работа с документооборотом для юрлиц
🔥 Цены и условия на ЖелДорАльянс >> (уточняйте по телефону)
СКОРОСТЬ
⭐ Рейтинг: 4.3
Региональная компания по рефрижераторным перевозкам, специализируется на доставке продуктов и медикаментов. Работают с температурными грузами до 5 тонн, что покрывает большинство потребностей малого и среднего бизнеса в Москве.
🌐 Официальный сайт: отсутствует
➕ Плюсы:
Высокий уровень сервиса и персональный подход
Точность доставки — важно для скоропортящихся товаров
Специализация на медикаментах, что говорит о понимании требований к температурному режиму
➖ Минусы:
Отсутствие официального сайта усложняет получение информации
Адрес: Москва, ул. Академика Королева, 19
💰 Цены:
Перевозка температурных грузов до 5 тонн — уточняется при звонке
Доставка продуктов — по тарифам компании
Медицинские перевозки — индивидуальный расчет
Услуги:
Рефрижераторные перевозки до 5 тонн
Доставка продуктов питания
Транспортировка медикаментов
Соблюдение температурного режима
ТК Кит
⭐ Рейтинг: 4.5
Большая федеральная транспортная компания, которая специализируется на перевозке продуктов питания рефрижераторами. Работают с автотранспортом грузоподъемностью до 10 тонн, имеют развитую логистическую сеть по всей России.
Когда мне нужно было перевезти крупную партию замороженного мяса из Владивостока в Москву, понял одну простую истину — железная дорога для рефрижераторных перевозок это не прошлый век, а самый надёжный способ. РЖД Логистика специализируется на перевозке грузов в рефконтейнерах по всей России, используя железнодорожную сеть и мультимодальные решения. Работают с температурными режимами от +12 до -25°C, контролируют всю логистическую цепочку.
Московская логистическая компания, специализирующаяся на рефрижераторных перевозках по Москве и области. Быстрая подача транспорта и адекватные цены делают её одним из немногих вариантов, когда тебе реально не хочется ждать и переплачивать. На вкус и цвет, конечно, у всех разные требования, но сервис за свои деньги вполне вывозит.
Портал-агрегатор перевозок, который реально помогает найти рефрижераторные перевозки в Москве без лишней мороки. Сервис собирает отзывы и данные с разных перевозчиков, так что не приходится тыкать вслепую. Удобно, что там большой выбор транспорта под любые задачи — от небольших замороженных продуктов до крупной партии. Сам пользовался — когда искал срочный рефрижератор для доставки овощей, помогло сэкономить и время, и деньги.
Знаешь, когда я впервые столкнулся с необходимостью везти замороженные продукты на дачу в жару +35, я понял — без рефрижератора тут не обойтись. GetTruck — это как раз тот сервис, который спас мою репутацию перед тёщей и её знаменитыми пельменями. Платформа работает по принципу "всё онлайн" — расчет, заказ, отслеживание. Базируются на Нижней Масловке, но работают по всей Москве.
Онлайн-платформа для заказа рефрижераторных перевозок с большим выбором транспорта. Работают по всей Москве, заказ оформляется через сайт с прозрачным расчетом стоимости. Специализируются на температурных перевозках — от замороженных продуктов до фармацевтики.
❓ Часто задаваемые вопросы по рефрижераторным перевозкам
Что такое рефрижераторные перевозки и чем они отличаются от обычных грузоперевозок?
Рефрижераторные перевозки — это специализированная транспортировка грузов в автомобилях, оснащенных холодильными установками, которые поддерживают необходимую температуру в грузовом отсеке. В отличие от обычных перевозок, здесь используются теплоизолированные камеры с климат-контролем, способные поддерживать температуру от +12°C до -38°C в зависимости от модели. Это позволяет транспортировать скоропортящиеся товары — продукты питания, медикаменты, косметику, цветы и другие грузы, чувствительные к температурным колебаниям. Основное отличие заключается в обеспечении непрерывного температурного режима на протяжении всего пути следования, что гарантирует сохранность качества и безопасности перевозимых товаров.
Какие температурные режимы поддерживают рефрижераторы и для каких товаров они предназначены?
Рефрижераторы классифицируются по температурным режимам на несколько классов. Класс А поддерживает температуру от +12°C до 0°C и подходит для транспортировки молочных продуктов, свежих фруктов, овощей и лекарственных препаратов. Класс В работает в диапазоне от +12°C до -10°C для охлажденного мяса, рыбы и морепродуктов. Класс С обеспечивает температуру от +12°C до -20°C для замороженных продуктов. Например, замороженное мясо и рыба перевозятся при температуре -18°C до -20°C, молочные продукты — при 0°C до +5°C, свежие фрукты и овощи — от +2°C до +10°C в зависимости от вида. Вакцины и медицинские препараты требуют особо точного соблюдения режима +2°C до +8°C.
Какие документы необходимы для рефрижераторных перевозок?
Для рефрижераторных перевозок требуется расширенный пакет документов по сравнению с обычными грузоперевозками. Водитель должен иметь водительские права соответствующей категории, талон техосмотра, документы на рефрижератор, копию трудового договора и полис ОСАГО. Обязательными являются санитарный паспорт на рефрижератор для перевозки продуктов питания, санитарные документы для скоропортящихся грузов и лист контрольных проверок температуры с фиксацией как температуры груза, так и воздуха внутри рефрижератора. При доставке продуктов животноводства требуется ветеринарное свидетельство, а для растений и семян — карантинные сертификаты. Также необходимы заявка на перевозку, транспортная накладная и путевой лист.
Сколько стоят рефрижераторные перевозки?
Стоимость рефрижераторных перевозок значительно выше обычных грузоперевозок из-за специализированного оборудования и повышенных эксплуатационных расходов. Почасовая тарификация начинается от 930 рублей в час для автомобилей грузоподъемностью 1,5 тонны с минимальной стоимостью заказа 5 500 рублей. Для 3-тонных рефрижераторов стоимость составляет от 1 040 рублей в час с минимумом 6 500 рублей, для 5-тонных — от 1 250 рублей в час с минимумом 10 400 рублей. На междугородних маршрутах цены рассчитываются индивидуально: например, перевозка до 2 тонн по маршруту Москва-Санкт-Петербург обойдется в 10 680 рублей, а до Новосибирска — 48 315 рублей. Окончательная стоимость зависит от расстояния, веса груза, температурного режима и срочности доставки.
Как осуществляется контроль температуры во время перевозки?
Контроль температуры в рефрижераторах осуществляется с помощью высокоточных цифровых датчиков, подключенных к GPS/ГЛОНАСС-трекерам. Датчики измеряют температуру в диапазоне от -55°C до +80°C с точностью до полуградуса и передают данные в режиме реального времени через GSM-сеть в облачный сервис мониторинга. Система автоматически контролирует соблюдение заданного температурного режима и сигнализирует об отклонениях. При нарушении температурных параметров оповещения приходят по SMS, электронной почте и в систему мониторинга. Данные фиксируются в специальном листе температурного контроля, который служит документальным подтверждением соблюдения условий транспортировки. Этот контроль позволяет диспетчерам, водителям и заказчикам отслеживать состояние груза на протяжении всего маршрута.
Процесс полностью выполняется искусственным интеллектом. Когда тестировщик поворачивает голову, ИИ мгновенно корректирует своё решение, безопасно выполняя задачу.
Компания основана стэнфордскими профессорами и недавно получила финансирование от Alibaba и Sequoia China.
Noematrix сотрудничает с лидерами розничной торговли и товаров для дома, чтобы продвигать массовую поставку своих роботизированных решений.
Noematrix — китайский стартап, занимающийся внедрением интеллектуальных технологий, в частности роботизированного интеллекта (embodied AI). Основан в 2023 году.
Компания фокусируется на разработке систем воплощённого интеллекта, которые учатся через взаимодействие с реальностью, а не через датасеты. Подход: вместо «роботов под одну задачу» создаётся единый мозг для множества тел, который понимает объекты, запоминает привычки человека и обучается прямо в процессе работы.
Цель: предоставлять инновационные решения и услуги в области общего роботизированного интеллекта для клиентов в различных отраслях.
Некоторые продукты компании Noematrix:
Noematrix Brain — платформа для воплощённого интеллекта, включает две большие модели: модель физического мира и модель поведения робота, библиотеку атомарных навыков, программный фреймворк и инструменты разработчика.
AnySkill — библиотека атомарных навыков для повышения адаптивности роботов и улучшения их способности справляться с задачами в различных средах.
Обучающая платформа Noematrix — предлагает инструменты MLOps для ускорения разработки моделей воплощённого интеллекта.
Платформа разработки Noematrix — интегрированная платформа для разработки и интеграции встроенных интеллектуальных решений как в программное, так и в аппаратное обеспечение.
Робот-ферма Noematrix — платформа управления для кластеров роботов, облегчает координацию и работу нескольких роботов.
Noematrix сотрудничает с лидерами розничной торговли и товаров для дома, чтобы продвигать массовую поставку своих роботизированных решений.
Честно говоря, выбрать правильную компанию для монтажа домофона – задача не из простых. По моему опыту, половина мастеров работает «на авось», а потом удивляется, почему система барахлит уже через месяц. Я тщательно изучил рынок московских установщиков и готов поделиться реальными находками. В этом рейтинге только те компании, которые не подведут с качеством работы и не исчезнут после первой же поломки.
🏆 ТОП сервисов для домофонов
Чтобы не тратить время на долгие поиски, сразу делюсь списком проверенных мест, где легко найти установку домофона в Москве. Берите на заметку и выбирайте то, что подойдёт именно вам:
🔴ПРОФИ.РУ — платформа, где всё организовано просто и понятно. Реальные отзывы, надежные специалисты, и если что — поддержка всегда на связи.
Авито — здесь и дешево, и с разным уровнем профи. Главное — внимательно читать отзывы и смотреть фотографии, чтобы не было сюрпризов.
Яндекс.Услуги — удобно смотреть рейтинг и портфолио мастеров. Только имейте в виду, фото и реальность могут немного различаться.
Zoon — много подробностей и отзывов от тех, кто уже пользовался услугами. Не стесняйтесь уточнять все детали у исполнителей.
YouDo — отличная площадка, если хотите быстро найти исполнителя под свой бюджет и требования.
Выбирайте, звоните, договаривайтесь — установка домофона точно станет проще. И помните: если предложение кажется слишком идеальным, может, просто кто-то очень постарался с фотографиями. Вперед!
🔴 PROFI.RU
⭐ Рейтинг: 4.7
Братаны, давайте по-честному — установка домофона в Москве через PROFI.RU это как игра в рулетку, только с шансами выиграть. Сам три раза через них искал мастеров, и могу сказать: платформа работает, но нужно уметь отсеивать халтурщиков. Здесь собраны тысячи специалистов по всей Москве, от дядь Васи с паяльником до сертифицированных инженеров с дипломами.
Ребята из СмартДома — это те, кто понял, что домофон в 2025 году должен быть не просто трубкой с кнопками, а частью умной экосистемы. Сам недавно ставил себе их видеодомофон — теперь могу открывать дверь подъезда прямо с дивана через приложение. Звучит как фантастика, но работает реально.
Знаете, когда я искал, кто поставит домофон в моей новостройке, наткнулся на РегулВент. Сначала думал — ну какая связь между вентиляцией и домофонами? Оказалось, эти ребята давно диверсифицировались и теперь делают полный спектр инженерных систем. 10 лет на рынке, лицензированные специалисты — не шарашкина контора, проверено на собственном опыте.
Более 10 лет работают с домофонами в Москве, специализируются на быстром выезде мастеров. Знаю их лично — ребята действительно приезжают за полчаса, что в наших московских пробках почти подвиг. Работают с любыми моделями, от простых трубок до навороченных видеосистем с распознаванием лиц.
Профессиональная установка домофонов в Москве с полным циклом работ и гарантией результата. Специалисты компании не просто монтируют, а обеспечивают комплексное обслуживание и поддержку, что сэкономит вам кучу нервов и времени.
Специализируются на видеодомофонах с выездной диагностикой прямо к вам домой. Парни работают давно, знают все тонкости установки в московских домах. Приезжают в день обращения — это реально работает, сам проверял.
Компания специализируется на установке систем домофонов и видеодомофонов в Москве, дает гарантию 12 месяцев на все работы. Работают быстро, с учетом специфики разных домов, помогают подобрать оптимальное оборудование под бюджет и задачи.
Монтаж систем безопасности разного типа с комплексным подходом. Занимаются установкой домофонов, видеонаблюдением и другими охранными системами. Находятся на проспекте Дежнёва, что удобно для тех, кто на северо-востоке Москвы.
Специализированная компания в Москве по установке, ремонту и обслуживанию домофонов и систем видеонаблюдения. Работают напрямую с заводом-поставщиком, что даёт конкурентные цены и уверенность в качестве оборудования. Свои инженеры — не какие-то "домушники", а профи с сертификатами. Если хочешь быстро и без сюрпризов, то это один из лучших вариантов.
Ребята из ПрайдКом специализируются на установке, настройке и ремонте домофонов в Москве. Работают с современными технологиями и готовы подстроиться под ваш график — это реально удобно, когда у тебя работа с утра до ночи. Находятся на Добролюбова, но выезжают по всей Москве.
Компания с многолетним стажем, специализируется на установке и ремонте всех типов домофонных систем. Работают с аудио- и видеодомофонами, системами контроля доступа в жилых домах, офисах и коммерческих объектах. Обслуживают Москву и область.
Экспертный подбор домофонов под любые задачи с гарантийным обслуживанием. Работают с многоквартирными домами, коттеджами и офисными зданиями. Команда с реальным опытом, которая не просто ставит железку на стену, а разбирается в нюансах каждого объекта.
Компания с солидным портфолио многоквартирных объектов, специализируется на установке и модернизации домофонов по всей Москве. Работают с жилыми комплексами разного масштаба — от небольших домов до крупных ЖК.
Ребята из «Спутника» специализируются на монтаже систем безопасности под ключ. Работают как с видеодомофонами, так и с классическими системами. Расположены на Корнейчука, 55, что удобно для северо-западных районов. Из личного опыта скажу — когда у меня в старой квартире сдох домофон советских времён, именно эти парни смогли поставить нормальную современную систему без танцев с бубном.
Честно говоря, когда у меня в подъезде сломался домофон в третий раз за полгода, я понял — дешёвая установка выходит боком. Домофон Мастер работает с 2010 года и знает толк в качественной установке. У них есть всё: от простых трубок за 3000 до навороченных видеодомофонов с распознаванием лиц. Главное — дают гарантию 2 года и реально по ней работают.
1. Какие основные типы домофонов существуют и чем они отличаются?
Существует три основных типа домофонов: аудио, видео и IP-домофоны. Аудиодомофоны являются самыми простыми устройствами, состоящими из вызывной панели с микрофоном и динамиком и абонентского устройства в виде трубки. Видеодомофоны дополнительно оснащены камерой и экраном, позволяя видеть посетителя. IP-домофоны представляют собой наиболее современное решение, работающее через интернет и предоставляющее возможность удаленного управления через мобильное приложение. Эти устройства могут иметь дополнительные функции, такие как распознавание лиц, облачное хранение записей и интеграцию с системами «умный дом».
2. Сколько стоит установка домофона в квартире?
Стоимость установки домофона в квартире начинается от 2500 рублей за установку трубки с подключением к подъездному домофону. Полная установка аудиодомофона обойдется от 2000-5000 рублей, видеодомофона — от 8900 до 15500 рублей в зависимости от модели и размера экрана. Цена включает монитор, блок вызова с видеокамерой, блок сопряжения, кабельную продукцию и монтажные работы. Дополнительно может потребоваться замена подъездной двери на металлическую, если старая не подходит для установки электромагнитного замка.
3. Что делать, если домофон не работает?
При неисправности домофона следует сначала провести визуальный осмотр устройства на предмет внешних повреждений, проверить целостность кабеля и контактов. Обращаться за ремонтом можно в специализированную ремонтную компанию или через управляющую компанию. Обращение к мастеру напрямую обычно быстрее, но требует оплаты ремонта и компонентов. При обращении в УК или ТСЖ ремонт будет условно бесплатным, так как оплачивается из средств на содержание общего имущества, но может потребоваться больше времени на ожидание.
4. Где должна устанавливаться вызывная панель и трубка домофона?
Внешний блок домофона устанавливается путем врезки в дверное полотно, дверную коробку или стену вблизи двери. Для частного дома вызывная панель размещается на столбе ограждения калитки со стороны замка. Внутреннее переговорное устройство размещается в удобном для жильца месте, обычно в прихожей или коридоре. Место установки должно иметь доступ к проводу питания 220В и находиться рядом с розеткой. Не рекомендуется устанавливать элементы системы на металлических поверхностях из-за возможных помех.
5. Как работают ключи от домофона и можно ли их дублировать?
Ключи от домофона работают по принципу передачи уникального цифрового кода устройству. Существуют контактные ключи-«таблетки» и бесконтактные RFID-брелоки, которые срабатывают на расстоянии до 5 сантиметров. Бесконтактные ключи получают питание от магнитного поля домофона и передают код через антенну. Дублировать ключи можно в специализированных мастерских, где скопируют идентификаторы с оригинального ключа. Процедура дублирования занимает менее минуты, и можно выбрать различные формы ключей — от стандартных таблеток до кожаных исполнений.
6. Существуют ли универсальные коды для домофонов?
Многие домофоны имеют заводские универсальные коды, но их эффективность зависит от того, были ли они изменены после установки. Популярные коды для домофонов Vizit: 1234, 12345, 0000, 9999, 3535, 6565. Для моделей Cyfral используются комбинации типа «В» - 100 - сигнал - 7272 или «В» - 200 - сигнал с различными цифровыми кодами. Однако установочные компании часто меняют эти коды для повышения безопасности, поэтому лучше узнать индивидуальный код у управляющей компании или обслуживающей организации.
7. Можно ли установить домофон самостоятельно?
Установку квартирной трубки можно выполнить самостоятельно при наличии базовых навыков работы с электропроводкой, но монтаж подъездной части требует профессиональных знаний. Самостоятельная установка включает определение места для трубки, прокладку кабеля в квартире, подключение к распределительному щитку и монтаж переговорного устройства. Перед началом работ необходимо отключить электричество и внимательно изучить инструкцию по эксплуатации. Для сложных систем, особенно видео- и IP-домофонов, рекомендуется обращаться к специалистам.
8. Как работают современные «умные» домофоны с распознаванием лиц?
Умные домофоны с распознаванием лиц используют инфракрасные технологии и сравнивают лицо посетителя с биометрической базой данных жильцов. Процесс идентификации занимает не более секунды, после чего дверь автоматически разблокируется без необходимости прикосновения к устройству. Такие системы позволяют управлять доступом через мобильное приложение, генерировать временные коды для курьеров и гостей, а также хранить архив видеозаписей от 3 до 60 дней. Устройства интегрируются с системами «умный дом» и обеспечивают бесконтактный доступ.
9. Какие требования предъявляются к прокладке кабеля для домофона?
Кабельная система домофона прокладывается двумя основными способами: поверхностным по внутренним поверхностям стен с защитными коробами или внутренним через систему межэтажных стояков. Расположение коммутационных блоков определяется специалистами исходя из технических параметров помещения, обычно в закрытых нишах. Возможна установка одного блока на несколько этажей или отдельного устройства на каждом этаже. К домофону должен подходить провод питания 220В, а рядом должна находиться розетка для подключения оборудования.
10. Безопасны ли домофоны с точки зрения защиты данных?
Современные домофоны с функциями видеозаписи и распознавания лиц обеспечивают защиту биометрических данных через шифрование и защищенные каналы связи. Данные хранятся в защищенной системе, что исключает несанкционированный доступ. Однако согласно российскому законодательству, домофоны с распознаванием лиц должны соответствовать требованиям федерального закона о биометрических данных, что может потребовать подключения к специальным системам обработки информации. Важно получить согласие всех жильцов на обработку биометрических данных при установке таких систем.
11. Какие дополнительные функции могут иметь современные домофоны?
Современные домофоны могут быть оснащены множеством дополнительных функций: датчиками движения, ночным видением, двусторонней аудиосвязью высокого качества, облачным хранением записей и уведомлениями на смартфон. IP-домофоны поддерживают интеграцию с системами видеонаблюдения, «умным домом» и могут управляться через Wi-Fi. Некоторые модели имеют функцию генерации временных кодов доступа, считывание QR-кодов, подключение по Bluetooth и использование NFC-карт. Продвинутые системы могут включать голосовое управление и аналитику передвижения людей.
12. Кто отвечает за обслуживание и ремонт подъездного домофона?
Обслуживание подъездного домофона обычно осуществляет специализированная компания, которая заключила договор с управляющей компанией или ТСЖ. Стоимость обслуживания составляет около 50 рублей в месяц с квартиры, в которой установлена трубка. Жильцы не обязаны платить за сервисное обслуживание домофона — это их право, а не обязанность. При поломке можно обратиться напрямую в ремонтную компанию или через УК, которая свяжется с обслуживающей организацией. Ремонт через УК обычно бесплатный для жильцов, но может занять больше времени.
Добавление в среду разработки редактора для рисования графических LD функциональных блоков.
Интересно мнение специалистов по АСУ ТП. Будет ли полезна функция графического оформления пользователем LD/FBD блоков внутри лестничных диаграмм? Добавил полноценный редактор рисования блоков, переменных , а так же их анимация. Например к фигуре : текст, линия, полигон... -идет привязка к переменной и ее визуальное изменение в зависимости от значения (появляется\исчезает, меняет цвет, вертится, перемещается и т.п).
Но если с анимацией - все понятно, с этим и SCADA может разобраться по морганиям и перемещениям. То будет ли полезным рисовать LD блоки для удобного чтения схем? Насколько знаю Siemens и Codesys не предлагают такого, у них все элементы/ функциональные блоки в LD одинаковы на вид и размерам (ваш опыт, как это читается если программа состоит из тысяч таких LD). Добавил возможность полностью создавать свои LD любого вида, любого размера, задавать его поведение кодом, и внедрять в цепи LD.