Как закрепить маяки на полу: Основные 8 способов выставить маячки для стяжки пола
Технология установки маяков на пол для выравнивания стяжки
Практически всегда перед укладкой напольного покрытия необходимо выравнивать поверхность. Обязательно обнаружится уклон плиты перекрытия в несколько сантиметров или наплывы бетона непонятного происхождения. Чтобы поверхность пола была горизонтальной, выполняют стяжку пола, чаще всего из цементно-песчаной смеси. И здесь возникает вопрос: как разровнять раствор так, чтобы итоговая поверхность оказалась ровной, на что ориентироваться, как проконтролировать? Именно для этого и существуют маяки для выравнивания пола. Они служат ориентиром уровня, до которого необходимо заливать стяжку. В данной статье мы расскажем о том, какие бывают маяки, какие материалы можно использовать в качестве маяков в тех или иных случаях.
Содержание
- Маяки для стяжки пола из цементно-песчаной смеси или бетона
- Маяки из деревянных реек – брусков
- Маяки из металлических штукатурных профилей
- Маяки из металлических профилей для гипсокартона
- Маяки из стальных труб
- Маяки из раствора
- Маяки из горок раствора (для полусухой стяжки)
- Маяки для наливного пола
- Реперы или маяки на треногах
- Маяки из саморезов
- Маяки для сухой стяжки пола
- Маяки из П-образного профиля
Маяки для стяжки пола из цементно-песчаной смеси или бетона
Маяки из деревянных реек – брусков
Сегодня деревянные маяки очень редко используются для мокрой стяжки, а вот для сухой стяжки они подойдут лучше
Очень старый способ, который сейчас практически не используется. В качестве направляющих берут деревянные брусья толщиной не менее 30 мм. Чтобы установить такие маяки, под них подкладывают деревянные клинья и подкладки или вкручивают саморезы, которыми и регулируется высота планок. Перед использованием деревянные брусья необходимо тщательно вымочить в воде, иначе они негативно повлияют на бетонный раствор. После заливки стяжки такие маяки в обязательном порядке вынимают из подсохнувшего раствора. Затем получившиеся пустоты заделывают свежим раствором, ориентируясь на уже уложенную стяжку, как на маяки.
Маяки из металлических штукатурных профилей
Металлический штукатурный профиль довольно часто используют в качестве маяков для выравнивания пола
Один из самых распространенных на данный момент способов обустройства маяков для не слишком большой стяжки. В пол вкручиваются саморезы по линии будущего расположения направляющих. Их высота регулируется вкручиванием или откручиванием саморезов. Чтобы проконтролировать горизонтальность расположения саморезов, между ними натягивается прочная нить или леска. Когда уровень будет соответствовать нулевому уровню пола, вдоль нити необходимо разложить бугорочки раствора из цементно-песчаной смеси. Иногда в раствор добавляют алебастр или известь для более быстрого его застывания, так как бугорки из чистого цементно-песчаного раствора будут сохнуть не менее 2 – 3 суток, а с добавками – 3 – 4 часа. Все чаще для бугорков используют специальные штукатурные смеси.
Важно! Несмотря на длительный срок высыхания, специалисты настоятельно рекомендуют использовать для закрепления направляющих тот же состав, что и для всей стяжки без добавления алебастра, потому что полученная стяжка будет намного надежнее. Как показала практика, алебастр быстро разрушается.
На полученные бугорки укладываются направляющие рейки из штукатурного профиля и вдавливаются в раствор до необходимого уровня, параллельно натянутой нити. Работать с металлическими штукатурными профилями необходимо крайне аккуратно, так как они легко гнутся и деформируются, пружинят. Для стяжек слоем до 2 – 3 см такие маяки можно использовать, а вот для толстых стяжек – 6 – 10 см – нет, слишком уж «нежный материал», под давлением такого количества раствора он попросту выгнется.
Маяки из металлических профилей для гипсокартона
Профили для гипсокартона можно использовать в качестве маяков, устанавливая их на саморезы, кирпичи, бруски или холмики раствора
Подобный профиль имеет П-образную форму, и укладывать его лучше всего основанием вверх. Для начала в пол вкручивают саморезы на расстоянии 40 – 50 см друг от друга. При этом размер саморезов должен быть таким, чтобы в дюбель вкручивалось не менее 0,5 длины самореза. Ближайшие к стенам саморезы необходимо выставить по нулевому уровню пола, вкручивая их в основание еще больше или же наоборот – выкручивая. Затем между саморезами у противоположных стен следует натянуть нить или проволоку, по ней мы и будет устанавливать направляющие.
Профили для гипсокартона устанавливаются сверху на саморезы. Ориентируясь на натянутую нить, все остальные саморезы подкручиваются таким образом, чтобы направляющие были четко по нулевому уровню пола.
Важно! С помощью правила с уровнем проверяем горизонтальность профилей и их правильное расположение друг относительно друга.
После того как все выровнено, в местах саморезов необходимо подложить под профиль раствор. Когда этот раствор подсохнет, еще раз проверяется горизонталь, и затем маяки из профиля для гипсокартона с обеих сторон обкладываются раствором. После полного высыхания раствора вокруг профилей производится заливка пола по маякам.
Важно! Установка маяков для стяжки пола из металлического профиля для гипсокартона может осуществляться не только на саморезы, но и на деревянные бруски, кирпичи и просто холмики из раствора.
Маяки из стальных труб
В качестве маяков для выравнивания пола можно использовать трубы разного сечения
Такой вариант маяков незаменим для обустройства тяжелых бетонных стяжек в больших помещениях. Трубы крайне прочный и недеформируемый материал, можно использовать как стандартные круглые трубы, так и прямоугольного или квадратного сечения.
Для начала намечается нулевой уровень пола и вдоль помещения натягивается нить, на которую будем ориентироваться. В местах, где планируется установка маяков, раскладываются бугорки раствора по прямой линии. На них устанавливаются трубы, слегка вдавливаются в раствор. Затем с помощью правила, нити и уровня проверяется горизонталь и правильное расположение. Высота труб регулируется вдавливанием в раствор или подкладыванием дополнительного раствора в тех местах, где его не хватает.
Очень удобно использовать квадратные трубы в качестве маяков
После того как проверили трубы во всех плоскостях и относительно друг друга, обкладываем их раствором полностью. Когда раствор высохнет, можно заливать стяжку. После подсыхания стяжки трубы достаются и используются по своему прямому назначению, а пустоты заделываются и затираются свежим раствором.
Маяки из раствора
Маяки из раствора — удачный вариант, так как маяки не придется демонтировать
На расстоянии, равном длине маяка, вкручиваются шурупы, между которыми в несколько слоев наматывается проволока или леска. Затем эта проволока обкладывается раствором так, чтобы сформировалась импровизированная стенка. Правилом верх этой стенки выравнивается по уровню таким образом, чтобы получилась направляющая рейка из раствора. Для этого правило двигается перпендикулярно проволоке, касаясь шурупов. Горизонтальная площадка – верхушка стенки и будет маяком. После высыхания таких маяков можно начинать заливать стяжку.
У маяков из раствора есть неоспоримое преимущество – их не нужно демонтировать.
Маяки из горок раствора (для полусухой стяжки)
Для толстой полусухой стяжки можно использовать кучки раствора в качестве маяков
Такой вариант подойдет только для стяжки из полусухого раствора. В углах помещения раскладываются кучки раствора и выравниваются согласно уровню и нулевой отметке пола. Расстояние между ними не должно быть больше длины правила, иначе ничего не получится. Когда выровненные кучки подсохнут, пространство между ними заполняется раствором, а горки – маяки можно использовать в качестве направляющих, устанавливая на них правило и разравнивая раствор стяжки пола.
Важно! Очень удачный вариант обустройства маяков для толстых стяжек от 6 – 9 см и более.
Маяки для наливного пола
Реперы или маяки на треногах
Маяки — треноги для наливного пола являютя профессиональным инструментом
Несмотря на то, что наливной пол сам растекается по поверхности, формируя горизонталь, все же для его обустройства и контроля высоты также используют маяки. В данном случае они представляют собой треногу со стержнем посередине, который двигается вверх – вниз, обозначая нулевой уровень. Такие маяки являются профессиональными. На одно помещение их нужно несколько.
Перед тем как заливать наливной пол, поверхность грунтуется.
Установка маяков на пол производится через 5 – 6 часов после грунтования на расстоянии не менее 1 м друг от друга. Уровень стяжки устанавливается с помощью шляпок на двигающемся стержне.
Маяки из саморезов
Для наливного пола в качестве маяков можно использовать саморезы, а после заливки их можно удалить
Вместо профессиональных треног можно использовать саморезы, которые вкручиваются в основание так, как уже было описано выше. Между ними натягивается шнур, по нему и ориентируются, заливая пол самовыравнивающейся смесью. После заливки пола до его застывания саморезы выкручиваются полностью.
Маяки для сухой стяжки пола
Маяки из П-образного профиля
Для сухой (засыпной) стяжки можно также использовать профиль для гипсокартона
Для разравнивания и контроля уровня засыпного материала (керамзита) для сухой стяжки пола также требуются маяки. В качестве направляющих используются профили для гипсокартона, имеющие П-образную форму. Высота стенки должны быть не менее 27 мм, так как высота засыпной стяжки бывает не менее 30 мм. Иногда для большей прочности конструкции используют потолочный профиль для гипсокартона с размерами 60*27 мм.
Профиль укладывается острыми кромками вверх, пространство между кромками заполняется материалом, также как и пространство между направляющими. Опирая на маяки правило, протягивают его на себя, разравнивая засыпной материал и удаляя лишнее.
Важно! Маяки из профиля для гипсокартона остаются внутри сухой стяжки, не достаются, как в случае с мокрой стяжкой.
Правильное и тщательное выставление маяков по уровню будущего пола – самый важный и ответственный этап заливки выравнивающей стяжки. От того насколько верно это сделано, будет зависеть качество укладки финишного напольного покрытия. При этом открытым остается вопрос: обязательно ли удалять направляющие рейки из стяжки или их можно оставлять внутри. Сторонники удаления маяков аргументируют эту необходимость тем, что металлические рейки со временем ржавеют, и стяжка вдоль них начинает разрушаться. Но ведь можно использовать алюминиевые профили, которые не ржавеют, благо их сейчас на рынке довольно много. Так что вопрос остается открытым.
Как установить маяки для стяжки (маяки для пола).
SELENITIYA-ADM 06.06.2017 напольная и настенная плитка Leave a comment 1,453 Просмотров
Для того, чтобы пол был ровным необходимо выровнять его при помощи цементной стяжки. А, чтобы стяжка получилась ровная, надо установить маяки. Это важный момент в устройстве пола, потому что как поставишь маяки — такая получится и стяжка, а какая получится стяжка – такой получится и пол.
Для установки маяков под стяжку необходимо, при помощи гидроуровня отбить уровень будущего пола.
Чтобы отбить уровень пола при помощи гидроуровня необходимо совершить следующие действия:
1. Надо взять гидоуровень и заполнить его водой.
2. При помощи гидроуровня по всем углам помещения (как правило их четыре, но бывает и больше ) в удобном для вас месте ( например: на уровне глаз ), на одном уровне нанести метки карандашом.
3. При помощи рулетки, надо найти самый высокий угол пола в помещении (чем меньше расстояние от угла до поставленной метки, тем выше угол ), отмерить от него пять – десять см (в зависимости от толщины нужной вам стяжки) и поставить еще дну метку карандашом.
4. При помощи рулетки, отмеряем расстояние от метки до метки, и в каждом углу рисуем еще по одной метке, соответствующей отмеренной метке.
5. При помощи отбивочного шнура, необходимо на каждой стене по нижним меткам дать разметку.
Если вы все сделали правильно, то должна получиться сплошная линия по всему периметру помещения. Это и есть уровень предполагаемой стяжки пола.
Следующий этап по установки маяков для стяжки – это натяжка экрана для маяков. Экран нужен для того, чтобы все установленные маяки располагались в одной плоскости.
Для натяжки экрана надо на двух противоположных стенах (желательно более длинных ) по нижним меткам надо натянуть толстую леску или нитку так, чтобы она не касалась стены. Для этого надо в углу стены по метке просверлить перфоратором отверстие и не до конца забить дюбель. Потом по дюбелям натянуть нить. Нить должна быть на одном уровне с линией-разметкой на стене.
Когда нити вдоль стен натянуты, надо привязать одну нить к с двух сторон перпендикулярно к двум натянутым так, чтобы она могла свободно передвигаться по обеим натянутым вдоль стен ниткам. Нитка свободного перемещения не должна нигде провисать, особое внимание этому надо уделить переместив ее на центр натянутых вдоль стен нитей.
Если все сделано правильно, то получился экран для стяжечных маяков.
Теперь можно переходить непосредственно к установке маяков.
Перед установкой маяков для стяжки пола, надо хорошенько смочить места, где будут находится маяки.
Раствор для установки маяков лучше использовать один к трем (на одно ведро цемента – три ведра песка).Строго запрещается добавлять в раствор гипс и подобные добавки на основе гипса.
Замешиваем раствор и укладываем его в места , где будут находиться маяки. Затем берем маяки (в качестве маяков можно использовать арматуру или кругляк d = 10 – 12 мм), нарезаем их по нужному размеру и выставляем их так, чтобы зазор от передвигающейся нитки до маяка, вдоль всего маяка, был не более 1 мм. Для более ровной укладке маяков, при установке их лучше прижимать правилом.
Маяки надо выставлять на расстоянии 10 – 20 см меньше вашего правила. Расстояние от первого и последнего маяка до стены должно быть 10 – 20 см. Это в дальнейшем упростит работу при залитии стяжки.
Раствор через 3 – 4 схватится, и можно спокойно приступать к дальнейшим работам по выравниванию пола стяжкой.
Предыдущая Как сделать балкон своими руками?
Next Композитные панели Alucobond
Bluetooth Beacons for Location – The CaNerdIan
Архитекторы и дизайнеры интерьеров нередко нападают на нас, беспроводных парней, за то, что они загромождают их эстетику, поэтому я всегда стараюсь быть на их стороне, когда это возможно. Они не склонны жаловаться на «необходимые» вещи, такие как выключатели света и пожарная сигнализация, но по какой-то причине они никогда не считают сетевую инфраструктуру «необходимой».
Я собираюсь изложить техническое объяснение того, почему мы размещаем маяки BLE там, где мы это делаем, пытаясь учесть эстетические соображения. (См. также: Прятаться у всех на виду). Рекомендации Aruba по развертыванию маяков описаны здесь: Руководство по развертыванию маяков местоположения — Документация по платформе Meridian (meridianapps.com)
- Около этажа . Иногда отделка стен такова, что использование клея или шурупов практически является преступлением, караемым смертной казнью. Это может быть ткань, стекло, металл или что-то еще. В этот момент у вас обычно есть плинтус, на который их можно установить, просто убедитесь, что он не будет поврежден в процессе уборки пола. Еще одна причина, по которой нужно подойти близко к полу, — это использовать пол для создания тени при развертывании возле открытого отверстия, такого как атриум или лестничная клетка. Как правило, вы не хотите, чтобы ваши маяки с одного этажа были видны на другом, так как это может действительно запутать карту, которая не знает о дырах в полу. Также важно всегда размещать маяк рядом с каждым «порталом» на каждом этаже (двери с лестничных клеток, вестибюли лифта и т.
д.), чтобы приложение знало, когда вы сменили этаж, и переключало карты при навигации.
- На стене . Я объясню через минуту, почему вы хотите, чтобы ваши маяки находились как можно ближе к пользователю. Обычно это означает, что вы хотите идти на стену большую часть времени. С точки зрения расстояния, вы, как правило, должны находиться в пределах 3-4 м от маяка в любом месте здания. Нахождение ближе к вашим маякам повысит точность, а большая плотность маяков уменьшит задержку (но только до определенной степени, обычно приложению требуется 2-5 секунд, чтобы получить новое исправление, потому что оно должно прослушивать все маяки, которые оно может услышать). ).
- На потолке . Неоптимально, но работает в крайнем случае. Неоптимально в основном потому, что даже стоя прямо под маяком, вы обычно находитесь на расстоянии не менее 2 м от него.
Теперь о технических причинах всего этого: все возвращается к старому другу, которого любят и лелеют инженеры беспроводной связи во всем мире: потеря пути в свободном пространстве . За исключением этого, мы конструктивно используем его.
Определение расстояния на основе триангуляции RSSI маяка является оптимальным в пределах 0-4 метров из-за обратного квадратичного закона распространения RF. Обычно откалиброванная мощность маяков составляет 0 дБм (1 мВт). Они работают в диапазоне 2,4 ГГц на рекламном канале 2 МГц, спрятанном между каналами Wi-Fi 1 и 6, а также один сразу за каналом 11 и еще один чуть ниже канала 1. Мой коллега Джоэл Крейн объяснил частоты BLE за 60 секунд ( когда он был в Тумане, теперь он в Хамине после недолгого пребывания в Метагике)
Существуют также некоторые различия между приемными устройствами с точки зрения их чувствительности и даже в зависимости от конфигурации внутренней антенны и того, как устройство удерживается/ориентируется, так что давайте просто предположим, что это +/- 3 дБ для целей этого примера, потому что это делает математику проще.
Потеря пути в свободном пространстве. Проиллюстрировано моим хорошим другом и коллегой Франсуа из Semfio Networks.
Ниже 1 метра, каждый раз, когда вы вдвое уменьшаете расстояние, вы получаете 6 дБ, то есть 50 см будет -34 дБ, 25 см будет -28 дБ, 12,5 см будет -22 дБ, и теперь мы подходим очень близко к маяку, и он уже потерял 99% передаваемой мощности… Здесь также стоит отметить, что, когда вы устанавливаете их на металлическую поверхность, вы получаете немного обратно, но если ваша поверхность имеет ширину менее одной длины волны (~ 12 см), математика становится сложно, и я не буду вдаваться в это здесь.
Для размещения это означает, что вы хотите расположить их как можно ближе к приемнику, обычно в пределах 4 м. Как правило, это означает, что на высоте 1-2 м на стенах и между 40 и 55 дюймами идеально, так как это позволяет избежать бедер, плеч и тележек, которые могут повредить маяк или полностью оторвать его от стены (и столкновения с бедром или плечо тоже не доставляет удовольствия обладательнице бедер и плеч… спросите меня, откуда я знаю). Их также можно размещать на потолке, но, как я указывал ранее, в офисном здании это обычно означает, что вы никогда не подойдете ближе, чем на 2 м к маяку, даже если вы стоите прямо под ним. Маяки у пола примерно на метр ближе к приемному устройству, чем потолок.
В ходе недавнего развертывания базовая сетка маяков (рекомендуемый вариант: 10 м) была развернута на обертках несущих колонн, расположенных на расстоянии около 12 м друг от друга. Промежутки в середине квадратов, образованных 4 столбцами, были заполнены маяками на основе точек доступа (которые не всегда находятся в мертвой точке из-за некоторой вариативности размещения точек доступа в этих квадратах). В общих центральных зонах на каждом этаже нам пришлось заполнить некоторые из этих промежутков дополнительными маяками, чтобы приблизиться примерно на 4-5 м и обеспечить большую точность из-за различных препятствий, а также разместить маяки рядом с зонами въезда и выезда транспорта. эти пространства.
В местах, где есть особые эстетические требования, обычно можно покрасить маяки и их крепления в тон, если краска не содержит металлических материалов (свинца, алюминиевой пудры, сусального золота, оксида железа и т. д.). ), или вы можете нанести виниловую кожу. Это касается и точек доступа. Обратитесь к своему поставщику, чтобы убедиться, что он не приведет к аннулированию гарантии (как это происходит со многими поставщиками). Вы также часто можете найти защелкивающиеся окрашиваемые крышки для внутренних точек доступа, если вы не хотите красить их напрямую.
Применение этого метода к методологиям проектирования
Итак, как вы планируете развертывание маяка? Так же, как и при любом планировании RF. Ekahau поддерживает моделирование точек доступа BLE (хотя, к моему большому неудовольствию, не может их просматривать). На этом этапе вы хотите установить свои требования к покрытию BLE на RSSI, требуемый для наибольшего расстояния, на котором вы хотите быть от маяка, что составляет -52 дБм, и вы хотите убедиться, что в пределах этого уровня покрытия вы всегда можете слышать как минимум 3 маяка.
(добавлено в июле 2022 г.)
То, как Bluetooth-маяки работают с клиентами, является предметом большой путаницы со стороны конечных пользователей, особенно тех, кого беспокоит отслеживание, особенно с появлением Apple AirTags (подробнее об этих в минуту) и другие трекеры личных вещей.
Хорошей новостью является то, что маяк BLE — это не что иное, как небольшая схема, которая выдает небольшой идентификатор через равные промежутки времени (маяки Aruba делают это каждую секунду). Он понятия не имеет, где он или вы. Вообще говоря, полезная нагрузка маяка очень мала и состоит из основного идентификатора и дополнительного идентификатора. Туда же могут входить и другие вспомогательные данные.
Основной идентификатор обычно определяет тип маяка, а второстепенный идентификатор идентифицирует отдельный маяк. Если вы откроете сниффер BLE, вы будете окружены маяками почти везде, куда бы вы ни пошли. Ваш смартфон видит их все, но если бы ему пришлось искать, что делает каждый из них, он очень быстро разрядил бы вашу батарею. Итак, когда вы устанавливаете приложение, которое использует маяки, оно сообщает ОС (IOS, Android или любой другой), что хочет знать о любых маяках с определенным основным идентификатором. Затем ОС спрашивает пользователя, хотят ли они разрешить приложению получать данные о находящихся поблизости сетевых устройствах (IOS, я не знаю навскидку, как это делает Android).
После того, как приложение получит разрешение, каждый раз, когда ОС увидит основной идентификатор, зарегистрированный приложением, она отправит информацию об этом маяке приложению, которое затем обработает данные. Такие приложения, как Meridian, которые определяют местоположение, затем получают информацию из серверной части, которая сообщает ему, где находится каждый маяк, и исходя из этого, в зависимости от уровня сигнала маяка, он может мультилатерировать местоположение пользователя. Waze использует этот подход, чтобы обеспечить дополнительное местоположение в местах со слабым спутником, таких как туннели. Но любой, у кого есть приложение, которое знает, что делать с конкретным маяком, может извлечь из этого пользу.
Это подводит меня к тому, как работают Apple AirTags. Apple проделала действительно хорошую работу по созданию решения для отслеживания активов, которое обеспечивает конфиденциальность владельца тега. AirTag по-прежнему является просто маяком BLE (с некоторыми дополнительными вещами), а приложение Find My зарегистрировало основные идентификаторы в ОС (с завода — и у него нет специального доступа к ОС). В чем AirTag проявил себя по-настоящему умно, так это в том, что второстепенный идентификатор/полезная нагрузка — это открытый ключ владельца (уникальный для этого конкретного тега). Эта пара ключей генерируется при активации тега. Если он обнаружен кем-то, кроме владельца, это устройство получает его местоположение (из любого источника, который есть у служб определения местоположения ОС), уровень сигнала и время, и шифрует это с помощью открытого ключа. и загружает его на серверы Apple. Только владелец тега, у которого есть закрытая половина этой пары ключей (хранящаяся в TPM устройства), может расшифровать полезную нагрузку. И если конкретное устройство увидит чужую метку с постоянным уровнем сигнала при перемещении устройства, через некоторое время (час или два) оно определит, что кто-то может использовать метку для отслеживания вас и предупредит вас. Несколько месяцев назад моя дочь отправилась на экскурсию со школьной группой и одолжила мой чемодан, в котором все еще была зарыта бирка AirTag из недавней поездки в Европу. Примерно на полпути через Айову почти 100 детей в трех разных автобусах (включая мою дочь) одновременно получили предупреждение на свои iPhone о том, что за ними может следить AirTag.
Все они нашли это невероятно забавным.
Продукт Tile работает очень похожим образом, но я не знаю, выполняет ли он шифрование (вероятно, запатентованное Apple). Продукт Apple выигрывает от гораздо более широкой базы обнаружения клиентов благодаря тому, что Find My устанавливается на каждый iPhone, поэтому любой, у кого есть iPhone, может видеть и обрабатывать AirTag. Для работы с маяком Tile требуется установить приложение Tile (и некоторые устройства Bluetooth, такие как наушники, могут быть обнаружены с помощью Tile), что ограничивает досягаемость. Насколько мне известно, ничто не мешает Tile принять спецификацию устройства Find My. Также было несколько развертываний Proof-of-Concept, когда инфраструктура с поддержкой BLE, такая как Aruba Wi-Fi, также может сообщать об этих типах маяков своим соответствующим поставщикам услуг.
Location Tech – The CaNerdIan
Вчера я писал об использовании Meridian API для получения списка меток в файл CSV. Сегодня мы сделаем еще один шаг вперед и пойдем другим путем, потому что массовое создание/обновление меток вручную не доставляет удовольствия.
Например, в этом проекте я создал кучу меток под названием «Телефонная комната» (тогда не знал, как их еще назвать). Их было несколько на нескольких этажах. Чтобы переименовать их в редакторе Meridian, мне нужно было щелкнуть по каждому из них, переименовать его и сохранить.
Итак, как только я получил указания, как они должны называться, я запустил Excel и открыл CSV, который я создал вчера, и внес массовые изменения, а затем запустил их обратно в Meridian другим способом — я изменил имя, тип и значок:
Звучит просто, правда?
Не так много. У меня возникли проблемы, когда я открыл его в Excel, и все мои идентификаторы карт выглядели так:
Это потому, что Excel глуп, но пытается быть умным. Он воспринимает их как действительно большие числа и преобразовывает их в экспоненциальное представление, потому что самое большое число, которое он может хранить, — это 15-значное целое число. И, конечно же, эти идентификаторы карт состоят из 16 цифр. Но я не могу просто преобразовать их обратно в формат целого числа, потому что тогда берутся первые 15 цифр и добавляется ноль. Это, конечно, все портит. Excel также будет делать некоторые подобные махинации при анализе имен интерфейсов из AOS или Cisco, которые выглядят как «2/1/4», что Excel предполагает как дату, потому что Excel предполагает
Таким образом, это означает, что вам нужно либо внести изменения непосредственно в CSV с помощью текстового редактора, либо найти другое приложение для работы с таблицами, которое не искажает идентификаторы карт. К счастью, для нас, пользователей Mac, приложение Apple для работы с электронными таблицами («Numbers») отлично с этим справляется. Так что внесите изменения, экспортируйте в CSV и запустите все обратно в API. (вы также можете назвать его как .txt и вручную импортировать в Excel и указать его как текстовый столбец, но это утомительно, чего мы пытаемся избежать)
Я встроил в этот скрипт немного ума, так как не хочу ломать что-то на стороне Meridian (хотя Meridian отлично справляется с проверкой работоспособности и очисткой входных данных от API). Первое, что он делает, это получает список доступных карт для местоположения. Затем он просматривает все строки в электронной таблице, преобразует их в полезную нагрузку JSON, которую хочет Meridian, и проверяет, есть ли существующие данные в поле id. Если есть, предполагается, что это обновление (однако, оно не проверяет, соответствуют ли данные уже существующей метке, поскольку Meridian делает это уже при обновлении). Если ID отсутствует, предполагается, что это новый создаваемый объект, и проверяется наличие минимальной необходимой информации (имя, карта и положение x/y), и в обоих случаях проверяется, чтобы карта данные в объекте — это идентификатор карты, который существует в этом месте (именно так я узнал, что Excel их искажал)
Запуск сценария выдает это для каждой строки в CSV, которую он считает обновлением:
Идентификатор объекта обновления XXXXXXXXXXXXXXX_5666694473318400
Обновление объекта прошло первоначальную проверку работоспособности и будет размещено на 11-м этаже.
Обновление существующего объекта с полезной нагрузкой:
{
"id": "XXXXXXXXXXXXXXX_5666694473318400",
"name": "Место для совещаний",
"карта": "XXXXXXXXXXXXXXX",
"тип": "конференц-зал",
"type_name": "Конференц-зал",
"цвет": "f2af1d",
"х": "177.20516072322900",
"у": "597,6184874989240",
"широта": 41.94822,
«долгота»: -87,65552,
"область": "",
"описание": "",
"Телефон": "",
"Эл. адрес": "",
"адрес": ""
}
Идентификатор объекта XXXXXXXXXXXXXXX_5666694473318400 с именем Huddle Space обновлен на карте XXXXXXXXXXXXXXXX
Если он не находит идентификатор и определяет, что объект необходимо создать, он идет следующим образом:
Создать новый объект: создание объекта прошло первоначальную проверку работоспособности и будет размещено на 11-м этаже. Создание нового объекта с полезной нагрузкой: { "name": "Тестовая метка", "карта": "ХХХХХХХХХХХХХ", "тип": "общий", "type_name": "Метка", "цвет": "f2af1d", «х»: «400», "у": "600", "широта": "", "долгота": "", "область": "", "описание": "", "Телефон": "", "Эл.адрес": "", "url": "https://arubanetworks.,com" } Объект не создан. Ошибки { "адрес": [ «Введите действительный URL». ] }
Как вы можете видеть здесь, я сделал опечатку в поле URL, и данные, возвращенные из вызова API, содержат список полей, содержащих ошибку. Если вызов успешен, он возвращает идентификатор, который проверяется сценарием для подтверждения успеха. Ответ на успешный вызов API выглядит следующим образом:
{
"родительская_панель": "",
"child_pane_ne": "",
"child_pane_se": "",
"child_pane_sw": "",
"child_pane_nw": "",
"слева": -1,
"верх": -1,
"ширина": -1,
"высота": -1,
"next_pane": ноль,
"next_id": "5484974943895552",
"изменено": "2021-08-11T15:12:52",
"создано": "2021-08-11T15:12:52",
"id": "ХХХХХХХХХХХХХ_5484974943895552",
"карта": "ХХХХХХХХХХХХХ",
"х": 400,0,
"у": 600,0,
"широта": 41.94822,
«долгота»: -87,65552,
"related_map": "",
"name": "Тестовая метка",
"площадь": ноль,
"подсказка": ноль,
"uid": ноль,
"ссылки": [],
"тип": "общий",
"type_category": "Маркеры",
"type_name": "Метка",
"цвет": "88689e",
"описание": "",
"ключевые слова": ноль,
"Телефон": "",
"Эл.
адрес": "",
"url": "https://arubanetworks.com",
"custom_1": ноль,
"custom_2": ноль,
"custom_3": ноль,
"custom_4": ноль,
"image_url": ноль,
"image_layout": "широкоэкранный",
"is_facility": ложь,
"hide_on_map": ложь,
«ориентир»: ложь,
"кормить": "",
"deep_link": "com.arubanetworks.aruba-meridian://ZZZZZZZZZZZZZZZZZ/placemarks/XXXXXXXXXXXXXXXX_5484974943895552",
"is_disabled": ложь,
"идентификаторы_категории": [],
"категории": []
}
Конечно, скрипт не обязан выдавать весь этот вывод, но следить за тем, что происходит, удобно. Закомментируйте строки печати, если вы хотите, чтобы он заткнулся.
Итак, без лишних слов, вот сценарий. Это не было тщательно отлажено, поэтому используйте на свой страх и риск. Если вы нарушите свою среду, вам, вероятно, следует сначала протестировать ее в лаборатории.
#!/usr/bin/python3
# Импорт метки меридиана Арубы из CSV
# (c) 2021 Ян Бейер
# Этот код не одобрен и не поддерживается компанией HPE.
импортировать json
запросы на импорт
импортировать CSV
импорт системы
auth_token = '<пожалуйста, вставьте токен, чтобы продолжить>'
location_id = 'XXXXXXXXXXXXXXXXXX'
baseurl = 'https://edit.meridianapps.com/api/locations/'+location_id
header_base = {'Авторизация': 'Токен' + auth_token}
def api_call (метод, конечная точка, заголовки, полезная нагрузка):
ответ = запросы. запрос (метод, базовый URL + конечная точка, заголовки = заголовки, данные = полезная нагрузка)
resp_json = json.loads(ответ.текст)
возврат (resp_json)
#Аргумент имени файла #1
пытаться:
имя_файла = ул(sys.argv[1])
кроме:
print("Исключение: введите файл для использования")
выход()
# Получить доступные карты для этого места для проверки работоспособности
карты = {}
# print("Доступные карты: ")
для этажа в api_call('GET','/maps',header_base,{})['results']:
карты[этаж['id']] = этаж['имя']
# print (этаж['name']+ ": "+ этаж['id'])
import_data_file = открыть (имя файла, 'rt')
csv_reader = csv.reader(import_data_file)
количество = 0
объекты = []
csv_fields = []
для строки в csv_reader:
метка = {}
# Проверяем, является ли это строкой заголовка, и захватываем названия полей
если количество < 1 :
csv_fields = строка
еще:
# Если это строка данных, захватите поля и поместите их в объект dict
число = 0
для полей в строке:
objkey = csv_fields[fcount]
метка[objkey] = строка[fcount]
fcount += 1
# Добавляем объект метки в список объектов
objects.
append(метка)
количество +=1
#print(json.dumps(объекты, отступ=2))
import_data_file.close()
#Проверить импортированные объекты на предмет создания или обновления. Если у него есть идентификатор, то обновите.
для pm в объектах:
задача = «игнорировать»
если pm['id'] == "" :
задача = 'создать'
print("Создать новый объект:")
# Удалить идентификатор из полезной нагрузки
дел pm['id']
еще:
задача = 'обновить'
print("Обновить идентификатор объекта" + pm['id'])
# Удалить пол из полезной нагрузки, так как он недействителен
дел pm['этаж']
# Проверьте, есть ли основы, прежде чем делать вызовы API
отклонить = []
если pm['x'] == "":
reject.append("Отсутствует координата X")
если pm['y'] == "":
reject.append("Отсутствует координата Y")
если pm['map'] == "":
reject.append("Отсутствует идентификатор карты")
если pm['имя'] == "":
reject.append("Отсутствует имя объекта")
если len(отклонить)> 0:
#print("объект "+ задача + " отклонен из-за отсутствия необходимых данных:")
по причине отказа:
печать (причина)
задача = «игнорировать»
еще:
если maps.
get(pm['map']) == Нет:
print ("Идентификатор карты "+pm['map']+" Не найден в доступных картах. Объект не будет создан. ")
задача = «игнорировать»
еще:
print("объект "+task+" прошел начальную проверку работоспособности и будет помещен на "+maps[pm['map']] +".")
#print ("Полезная нагрузка объекта:")
#print (json.dumps(pm, indent=2))
метод = 'ПОЛУЧИТЬ' если задача == 'создать':
#print ("Создание нового объекта с полезной нагрузкой:")
#print (json.dumps(pm, indent=2))
метод = 'ПОСТ'
ep = '/ метки'
результат = api_call (метод, ep, header_base, pm)
если result.get('id') != Нет:
print ("Идентификатор объекта "+result['id']+" с именем "+result['name']+" создан на карте "+ result['map'])
еще:
print("Объект не создан. Ошибки есть")
печать (json.dumps (результат, отступ = 2))
если задача == 'обновить':
#print("Обновление существующего объекта с полезной нагрузкой:")
#print (json.dumps(pm, indent=2))
метод = 'ИСПРАВЛЕНИЕ'
ep = '/метки/'+pm['id']
результат = api_call (метод, ep, header_base, pm)
если result.
get('id') != Нет:
print ("Идентификатор объекта "+result['id']+" с именем "+result['name']+" обновлен на карте "+ result['map'])
еще:
print("Объект не обновлен. Ошибки есть")
печать (json.dumps (результат, отступ = 2))
baseurl = 'https://edit.meridianapps.com/api/locations/'+location_id
header_base = {'Авторизация': 'Токен' + auth_token}
def api_call (метод, конечная точка, заголовки, полезная нагрузка):
ответ = запросы. запрос (метод, базовый URL + конечная точка, заголовки = заголовки, данные = полезная нагрузка)
resp_json = json.loads(ответ.текст)
возврат (resp_json)
# Получить доступные карты для этого места для проверки работоспособности
карты = {}
# print("Доступные карты: ")
для этажа в api_call('GET','/maps',header_base,{})['results']:
карты[этаж['id']] = этаж['имя']
# print (этаж['name']+ ": "+ этаж['id'])
# Я жестко закодировал здесь имя файла, потому что мне лень.
import_data_file = open('placemarks_update.csv', 'rt')
csv_reader = csv.reader(import_data_file)
количество = 0
объекты = []
csv_fields = []
для строки в csv_reader:
метка = {}
# Проверяем, является ли это строкой заголовка, и захватываем названия полей
если количество < 1 :
csv_fields = строка
еще:
# Если это строка данных, захватите поля и поместите их в объект dict
число = 0
для полей в строке:
objkey = csv_fields[fcount]
метка[objkey] = строка[fcount]
fcount += 1
# Добавляем объект метки в список объектов
objects.
append(метка)
количество +=1
#print(json.dumps(объекты, отступ=2))
import_data_file.close()
#Проверить импортированные объекты на предмет создания или обновления. Если у него есть идентификатор, то обновите.
для pm в объектах:
задача = «игнорировать»
если pm['id'] == "" :
задача = 'создать'
print("Создать новый объект:")
# Удалить идентификатор из полезной нагрузки
дел pm['id']
еще:
задача = 'обновить'
print("Обновить идентификатор объекта" + pm['id'])
# Удалить пол из полезной нагрузки, так как он недействителен
дел pm['этаж']
# Проверьте, есть ли основы, прежде чем делать вызовы API
отклонить = []
если pm['x'] == "":
reject.append("Отсутствует координата X")
если pm['y'] == "":
reject.append("Отсутствует координата Y")
если pm['map'] == "":
reject.append("Отсутствует идентификатор карты")
если pm['имя'] == "":
reject.append("Отсутствует имя объекта")
если len(отклонить)>0:
#print("объект "+ задача + " отклонен из-за отсутствия необходимых данных:")
по причине отказа:
печать (причина)
задача = «игнорировать»
еще:
если maps.
get(pm['map']) == Нет:
print ("Идентификатор карты "+pm['map']+" Не найден в доступных картах. Объект не будет создан. ")
задача = «игнорировать»
еще:
print("объект "+task+" прошел начальную проверку работоспособности и будет помещен на "+maps[pm['map']] +".")
#print ("Полезная нагрузка объекта:")
#print (json.dumps(pm, indent=2))
метод = 'ПОЛУЧИТЬ' если задача == 'создать':
#print ("Создание нового объекта с полезной нагрузкой:")
#print (json.dumps(pm, indent=2))
метод = 'ПОСТ'
ep = '/ метки'
результат = api_call (метод, ep, header_base, pm)
если result.get('id') != Нет:
print ("Идентификатор объекта "+result['id']+" с именем "+result['name']+" создан на карте "+ result['map'])
еще:
print("Объект не создан. Ошибки есть")
печать (json.dumps (результат, отступ = 2))
если задача == 'обновить':
#print("Обновление существующего объекта с полезной нагрузкой:")
#print (json.dumps(pm, indent=2))
метод = 'ИСПРАВЛЕНИЕ'
ep = '/метки/'+pm['id']
результат = api_call (метод, ep, header_base, pm)
если result.