Слаботочные системы под ключ
Видеонаблюдение (IP/PoE), СКУД, СКС (Cat 5e/6/6A), ОПС/СОУЭ, охранная сигнализация, Wi-Fi и домофония. Поставка, маркировка линий, ПНР и исполнительная документация.
CCTV: видеонаблюдение IP/PoE
Купольные/цилиндрические/панорамные камеры, NVR/сервер, аналитика, RTSP/ONVIF.
- Разрешение 2–8 Мп
- WDR/ИК-подсветка
- PoE 802.3af/at/bt
Комплектация
| Позиция | Примечание |
|---|---|
| Камеры | уличн./внутр., варифокал |
| Запись | NVR/сервер, RAID |
| Сеть | PoE-коммутаторы |
СКУД: контроль доступа
Считыватели, контроллеры, электромеханика, турникеты. Интеграция с CCTV.
- Mifare/EM-Marine
- Антипассбэк/тайм-трек
- Онлайн/оффлайн
СКС: структурированная сеть
Линии Cat 5e/6/6A, патч-панели, кроссы, розетки, оптика (SM/MM), тесты Fluke.
- Маркировка портов
- Схемы распайки
- Протоколы измерений
Кабель/оптика
| Тип | Пропускная |
|---|---|
| Cat 6 | 1 Гбит/с (до 100 м) |
| Cat 6A | 10 Гбит/с |
| SM оптика | до 10 км+ |
ОПС/СОУЭ
Пожарная сигнализация, адресная/пороговая. Оповещение по СНиП/СП, сценарии эвакуации.
- Дым/тепло/ручные
- Сирены/табло
- ПНР и пуск
Охранная сигнализация
Объёмные/периметр, вибро/магнитоконтактные датчики, GSM/пульт.
- Сценарии охраны
- Журналы событий
- Интеграция в BMS
Wi-Fi и сеть
Точки 802.11ac/ax, роуминг, контроллер, PoE-инфраструктура, VLAN/QoS.
- План радиопокрытия
- Сайт-сервер/контроллер
- Гостевые сети
Домофония/видеодомофон
IP-панели/мониторы, ключи/QR, интеграция со СКУД и CCTV.
- SIP/RTSP
- Этажные коммутаторы
- Реле замка
Серверные, стойки, ИБП
Стойки 19″, охлаждение, кабель-менеджмент, ИБП/АКБ, распределение питания.
- PDU/ATS
- Мониторинг
- Резервирование
Документация и ПНР
Проект/рабочка, исполнительная, схемы, маркировка, акты/журналы, обучение персонала.
- OP, ИД, акты
- Схемы/таблицы портов
- Фото-отчёты
Cat 5eCat 6Cat 6A
SM/MM Fiber802.11ac802.11ax
ModbusBACnetRS-485
СП 5.13130ГОСТ Р 53325ГОСТ 31565
Соберём и запустим «под ключ»
Подбор оборудования, спецификации, поставка, маркировка и ПНР. Отчёты и исполнительная документация — в комплекте.
Быстрый подбор слаботочки
CCTV
СКУД
СКС
ОПС/СОУЭ
Охрана
Wi-Fi
Домофон
{«@context»:»https://schema.org»,»@type»:»Service»,»name»:»Слаботочные системы: CCTV, СКУД, СКС, ОПС/СОУЭ», «provider»:{«@type»:»Organization»,»name»:»ГК «СтилКонстракшн»»,»url»:»»}, «areaServed»:»RU», «serviceType»:[«IP видеонаблюдение»,»СКУД»,»СКС»,»ОПС/СОУЭ»,»Охранная сигнализация»,»Wi-Fi»,»Домофония»,»Серверные/ИБП»,»Документация/ПНР»], «offers»:{«@type»:»Offer»,»availability»:»https://schema.org/InStock»}} const prefersReduced = window.matchMedia && window.matchMedia(‘(prefers-reduced-motion: reduce)’).matches; /* reveal + stagger */ (function () { const els = […document.querySelectorAll(‘.reveal’)]; if (!(‘IntersectionObserver’ in window)) { els.forEach(e => e.classList.add(‘show’)); return; } const io = new IntersectionObserver((en, o) => { en.forEach(x => { if (x.isIntersecting) { x.target.classList.add(‘show’); if (x.target.dataset.stag && !prefersReduced) { const kids = x.target.querySelectorAll(‘:scope .card, :scope .b, :scope .k .v’); kids.forEach((el, i) => { el.style.opacity = 0; el.style.transform = ‘translateY(10px)’; setTimeout(() => { el.style.transition = ‘opacity .5s ease, transform .5s ease’; el.style.opacity = 1; el.style.transform = ‘none’; }, 70 * i); }); } o.unobserve(x.target); } }) }, { threshold: .16 }); els.forEach(e => io.observe(e)); })(); /* progress */ (function () { const bar = document.getElementById(‘prg’); const onScroll = () => { const h = document.documentElement; const pr = (h.scrollTop) / (h.scrollHeight — h.clientHeight); bar.style.width = (pr * 100) + ‘%’; }; window.addEventListener(‘scroll’, onScroll, { passive: true }); onScroll(); })(); /* hero spotlight */ (function () { const hero = document.querySelector(‘.hero’); const spot = hero && hero.querySelector(‘.spot’); if (!hero || !spot || prefersReduced) return; hero.addEventListener(‘pointermove’, (e) => { const r = hero.getBoundingClientRect(); const mx = ((e.clientX — r.left) / r.width) * 100; const my = ((e.clientY — r.top) / r.height) * 100; spot.style.setProperty(‘—mx’, mx + ‘%’); spot.style.setProperty(‘—my’, my + ‘%’); spot.style.opacity = .3; }); hero.addEventListener(‘pointerleave’, () => { spot.style.opacity = .18 }); })(); /* magnet buttons + ripple */ (function () { const mags = […document.querySelectorAll(‘.js-magnet’)]; if (prefersReduced) return; mags.forEach(btn => { btn.addEventListener(‘pointermove’, e => { const r = btn.getBoundingClientRect(); const x = e.clientX — (r.left + r.width / 2); const y = e.clientY — (r.top + r.height / 2); btn.style.transform = `translate(${x * 0.08}px, ${y * 0.08}px)`; }); btn.addEventListener(‘pointerleave’, () => btn.style.transform = »); btn.addEventListener(‘click’, e => { const r = e.currentTarget.getBoundingClientRect(); e.currentTarget.style.setProperty(‘—rx’, ((e.clientX — r.left) / r.width * 100) + ‘%’); e.currentTarget.style.setProperty(‘—ry’, ((e.clientY — r.top) / r.height * 100) + ‘%’); e.currentTarget.classList.add(‘click’); setTimeout(() => e.currentTarget.classList.remove(‘click’), 320); }); }); })(); /* 3D tilt cards */ (function () { const grid = document.getElementById(‘grid’); if (!grid || prefersReduced) return; grid.querySelectorAll(‘.card’).forEach(card => { const max = 6; const angBase = parseFloat(card.getAttribute(‘data-ang’) || ‘0’); card.addEventListener(‘pointermove’, e => { const r = card.getBoundingClientRect(); const px = (e.clientX — r.left) / r.width — .5; const py = (e.clientY — r.top) / r.height — .5; card.style.setProperty(‘—rx’, (-py * max) + ‘deg’); card.style.setProperty(‘—ry’, (px * max) + ‘deg’); card.style.setProperty(‘—ang’, (angBase + px * 40) + ‘deg’); }); card.addEventListener(‘pointerleave’, () => { card.style.setProperty(‘—rx’, ‘0deg’); card.style.setProperty(‘—ry’, ‘0deg’); card.style.setProperty(‘—ang’, angBase + ‘deg’); }); }); })(); /* tabs filter */ (function () { const tabs = […document.querySelectorAll(‘.tab’)]; const cards = […document.querySelectorAll(‘#grid .card’)]; function apply(cat) { cards.forEach(c => c.classList.toggle(‘hidden’, !(cat === ‘all’ || c.dataset.cat === cat))); } tabs.forEach(t => t.addEventListener(‘click’, () => { tabs.forEach(x => x.setAttribute(‘aria-pressed’, ‘false’)); t.setAttribute(‘aria-pressed’, ‘true’); apply(t.dataset.filter); const top = document.querySelector(‘.tabs-wrap’).offsetTop; window.scrollTo({ top: top + 1, behavior: prefersReduced ? ‘auto’ : ‘smooth’ }); if (!prefersReduced) { t.animate([{ transform: ‘scale(.9)’ }, { transform: ‘scale(1.04)’ }, { transform: ‘scale(1)’ }], { duration: 240, easing: ‘ease-out’ }); } })); })(); /* KPI counters */ (function () { const wrap = document.getElementById(‘kpis’); if (!wrap) return; const nums = wrap.querySelectorAll(‘.v’); let done = false; const run = () => { if (done) return; done = true; nums.forEach(n => { const target = parseInt(n.getAttribute(‘data-c’) || ‘0’, 10); const dur = 900; const t0 = performance.now(); function tick(t) { const p = Math.min(1, (t — t0) / dur); n.textContent = Math.floor(target * (0.2 + 0.8 * p)).toLocaleString(‘ru-RU’); if (p { if (e[0].isIntersecting) { run(); io.disconnect(); } }, { threshold: .3 }); io.observe(wrap); })(); /* Sticky CTA + footer-aware */ (function () { const sticky = document.getElementById(‘sticky’); let shown = false; const show = () => { if (window.scrollY > 420 && !shown) { sticky.style.display = ‘flex’; shown = true; } if (window.scrollY { entries.forEach(e => { sticky.style.opacity = e.isIntersecting ? ‘.0’ : »; sticky.style.pointerEvents = e.isIntersecting ? ‘none’ : »; }); }, { threshold: 0.01 }); fIO.observe(footer); } })(); /* Widster lazy loader */ function widsterOpen(e) { if (e) e.preventDefault(); try { if (window.__widsterLoaded && window.widster && window.widster.open) { window.widster.open(); return; } if (document.getElementById(‘widsterScript’)) { return; } window.__widsterLoaded = false; window.wwidget = ‘837745a476e49072577bd5965e004260cb787b63525a84eb8931aee32562fed5’; const s = document.createElement(‘script’); s.id = ‘widsterScript’; s.async = true; s.charset = ‘UTF-8’; s.src = ‘https://widster.ru/embed/’ + window.wwidget; s.onload = function () { window.__widsterLoaded = true; try { window.widster && window.widster.open && window.widster.open(); } catch (e) { } }; document.body.appendChild(s); } catch (err) { location.href = ‘mailto:sales@gk-sc.ru?subject=’ + encodeURIComponent(‘Запрос КП (слаботочные системы)’) + ‘&body=’ + encodeURIComponent(‘Здравствуйте! Нужен подбор/расчёт CCTV/СКУД/СКС/ОПС/СОУЭ/Wi-Fi. Приложу план/ведомость.’); } } /* Quick picker */ (function () { const back = document.getElementById(‘pickBack’); if (!back) return; const open = document.getElementById(‘openPicker’); const close = document.getElementById(‘pickClose’); const mail = document.getElementById(‘pickMail’); const out = document.getElementById(‘pickOut’); function gather() { const sys = document.getElementById(‘sysType’).value; const addr = document.getElementById(‘sysAddr’).value.trim() || ‘—’; const cam = +document.getElementById(‘camQty’).value || 0; const scs = +document.getElementById(‘scsQty’).value || 0; const cat = document.getElementById(‘catSel’).value; const poe = document.getElementById(‘needPoE’).checked ? ‘да’ : ‘нет’; const ups = document.getElementById(‘needUPS’).checked ? ‘да’ : ‘нет’; const raid = document.getElementById(‘needRaid’).checked ? ‘да’ : ‘нет’; const days = document.getElementById(‘days’).value || ‘—’; const when = document.getElementById(‘when’).value || ‘—’; const note = document.getElementById(‘note’).value || »; out.textContent = `Система: ${sys}. Камеры: ${cam}. Точки СКС: ${scs} (${cat}). PoE: ${poe}, ИБП: ${ups}, RAID: ${raid}. Хранение: ${days} дн. Адрес: ${addr}. Сроки: ${when}. ${note ? (‘Комментарий: ‘ + note) : »}`; return { sys, addr, cam, scs, cat, poe, ups, raid, days, when, note }; } function openM(e) { if (e) e.preventDefault(); back.style.display = ‘flex’; gather(); } function closeM() { back.style.display = ‘none’; } open.addEventListener(‘click’, openM); close.addEventListener(‘click’, closeM); back.addEventListener(‘click’, e => { if (e.target === back) closeM(); }); [‘change’, ‘input’].forEach(ev => document.querySelectorAll(‘#pickBack input, #pickBack select, #pickBack textarea’).forEach(i => i.addEventListener(ev, gather))); mail.addEventListener(‘click’, () => { const d = gather(); const body = `Быстрый подбор слаботочных системСистема: ${d.sys}Камеры: ${d.cam}Точки СКС: ${d.scs} (${d.cat})PoE: ${d.poe} | ИБП: ${d.ups} | RAID: ${d.raid}Дней хранения: ${d.days}Адрес: ${d.addr}Сроки: ${d.when}${d.note ? (‘Комментарий: ‘ + d.note) : »}Прошу подготовить спецификацию/КП и сроки.`; location.href = ‘mailto:sales@gk-sc.ru?subject=’ + encodeURIComponent(‘Быстрый подбор: слаботочка’) + ‘&body=’ + encodeURIComponent(body); closeM(); }); })(); /* INFINITE MARQUEE: автодубли для бесшовности */ (function () { const reduce = window.matchMedia && window.matchMedia(‘(prefers-reduced-motion: reduce)’).matches; const blocks = document.querySelectorAll(‘.marq’); if (!blocks.length) return; blocks.forEach(m => { const track = m.querySelector(‘.marq-track’); if (!track) return; m.style.setProperty(‘—duration’, (m.getAttribute(‘data-speed’) || ’24s’).trim()); if (reduce) return; const orig = track.innerHTML; track.innerHTML = orig + orig; let copies = 1; while (track.scrollWidth < m.clientWidth * 2.2 && copies { if (reduce) return; track.style.animation = ‘none’; track.innerHTML = orig + orig; let c = 1; while (track.scrollWidth < m.clientWidth * 2.2 && c { clearTimeout(to); to = setTimeout(rebuild, 120); }, { passive: true }); }); })();
Нужен расчёт стоимости?
Отправьте чертёж или ТЗ — подготовим КП за 2 часа