Устройство теплого: Устройство теплых полов — технология укладки своими руками, особенности монтажа, смотрите фотографии и видео
Устройство теплых полов — технология укладки своими руками, особенности монтажа, смотрите фотографии и видео
Содержание:1. Что представляет собой теплый пол
2. Особенности укладки теплого пола
3. Гидроизоляция
4. Теплоизоляция
5. Монтаж труб
6. Проведение испытаний отопительной системы
7. Заливка бетоном
Отопление дома важно как никогда в условиях суровых зим северных стран. Даже если столбик термометра не показывает рекордно низких показателей, все равно хочется ощущать тепло и уют в своей квартире. Именно потому, едва ли не самым оптимальным вариантом будет теплый пол технология монтажа которого достаточно проста в исполнении и требует лишь определенной усидчивости и сноровки при прокладывании систем коммуникаций.
Что представляет собой теплый пол
Устройство теплых полов обычно схоже, независимо от составляющих их компонентов. Система отопления имеет несколько слоев, образуя так называемый «пирог», состоящий из следующих элементов:
- Базовая поверхность пола.
- Слой гидроизоляции, дополненный по сторонам лентой из демпфера.
- Слой теплоизолирующего покрытия, который не пропускает энергию в сторону чернового пола.
- Система труб и прочих коммуникаций, отвечающая за нагрев дома.
- Раствор из бетона, обволакивающий и фиксирующий трубы.
- Напольное покрытие.
Стоит помнить, что толщина получившегося « пирожка» сильно зависит от мощности применяемой теплоизоляции и количества бетона, которым залиты трубки. Кроме того, последние также оказывают немалую роль, съедая приличное количество пространства. Таким образом, стоит стремиться к показателям от 7 до 15 см, иначе будут либо проблемы с доставлением тепла в помещение либо просто будет занято слишком много свободного пространства.
Особенности укладки теплого пола
Устройство теплых полов в доме начинается со снятия старого покрытия. Необходимо убрать все следы отделки вплоть до бетонного основания, так как монтаж можно проводить лишь на высушенной поверхности. Кроме того, следует учитывать правила укладки теплого пола, основание должно быть ровным с максимальными перепадами до 5 мм, но не более. Для выравнивания можно залить пол бетоном.
Гидроизоляция
Устройство теплого пола своими руками продолжается этапом наложения гидроизоляционного слоя. Обычно для этого используется толстый полиэтилен со стенкой от 250 мкм. Зачастую проблемы, возникающие на этой стадии, связаны с тем, что невозможно покрыть с помощью одного куска пленки все помещения. В таком случае необходимо накладывать ее друг на дружку, с нахлестом около 12 см, а швы обрабатывать скотчем. Более того, на стенку пленка должна несколько наседать, так что нельзя делать ее впритык к площади комнаты.
Теплоизоляция
Правильная технология укладки теплого пола требует монтаж хорошей системы теплоизоляции, которая должна быть как минимум 5 см толщиной. Однако если ее устанавливают не на первом этаже здания, то и 2 см может оказаться достаточно. При этом стоит учитывать, насколько теплое помещение под комнатой, так как может статься, что на первом этаже отсутствует постоянный обогрев (прочитайте также: «Теплоизоляция для труб отопления — чем изолировать, какие материалы использовать»).
Чаще всего в качестве изолирующего материала применяется пенофол, который представляет собой смесь лучших качеств вспененного полистирола и алюминия. Кроме того, данный материал не боится огня и не пропускает влагу. Более того, он является полностью безопасным с экологической точки зрения, так что аллергии он вызвать не может в большинстве случаев.
Однако если отсутствует желание тратить много сил на пенофол, то отличным вариантом будет монтаж профильной теплоизоляционной плиты, которая способна выдерживать большинство воздействий без намека на деформацию. Преимуществом данного метода является простота монтажа, так как панели замыкаются методом замка друг с другом подобно ламинату.
Монтаж труб
Технология устройства теплого пола подразумевает применение двух различных вариаций трубок:
- Металлопластиковых.
- Полиэтиленовых высокой плотности.
Металлопластиковые трубки нетрудно перегнуть, что является крайне нежелательным свойством при установке отопления. Однако аналоги из полиэтилена не столь податливы на изгиб, так что шанс нанести повреждения такому трубопроводу относительно невелик. С другой стороны, отсюда вытекает его минус – полиэтилен хуже пропускает тепло, нежели чем металлопластик, так что тепловые потери при использовании первого будут несколько больше.
- В местах скопления холода необходимо укладывать трубки ближе друг к другу, например, около наружных стен и окон расстояние между участками трубопровода должно быть гораздо меньше, нежели оное в центре комнаты (подробнее: «Какое расстояние между трубами водяного теплого пола»).
- Укладка должна осуществляться на расстоянии в 150 мм от стен.
- Между трубами минимально допустимое расстояние должно быть 100 мм, а максимум – 300 мм.
- Для эффективного отопления не стоит делать трубопровод излишне длинным, а именно стоит укладываться в 100 м.
- В местах стыков перекрытий трубопровод защищается металлической гильзой, длина которой должна превышать 300 мм.
Технология устройства теплых полов подразумевает несколько вариаций закладки трубопровода:
- Укладка трубопровода спиралью с минимальным расстоянием между трубками в холодных местах и с максимальным на теплых участках.
- Укладка трубопровода змейкой, где участки труб пролегают максимально компактно у сквозных мест и окон, но более свободно на хорошо прогреваемых участках.
- Монтаж трубопровода в виде зигзага, где близость труб вновь зависит от необходимости дополнительного обогрева. Читайте также: «Как подключить теплый пол к отоплению – возможные варианты, схемы подсоединения водяного пола».
Стоит отметить, что если помещение слишком велико для одного контура, то необходимо смонтировать распределительный шкаф, к которому будут подключены все системы трубопроводов в комнате. Читайте также: «Как сделать теплый пол – виды, преимущества, правила укладки».
Проведение испытаний отопительной системы
Первым делом после подключения трубопровода к нагревательной установке необходимо провести опрессовку водяного пола. Для гидравлической проверки в каждый контур, через систему коллектора для теплого пола своими руками подается горячая жидкость.
Внутреннее пространство трубы может иметь не только воздушные образования, но и строительную пыль, от которой необходимо будет избавиться. Делается это как тестовой промывкой трубопровода, так и спуском воздуха через краны, предназначенные для слива жидкости из системы.
Если никаких визуальных и прочих проблем с трубопроводом не возникает в течение суток испытаний (для проверки можно сделать фото исходного положения системы и сравнивать потом с текущим результатом), то можно приступать к финальной стадии, а именно — заливанию системы бетоном. Читайте также: «Как сделать теплый пол в частном доме своими руками – виды, правила монтажа, пошаговое руководство».
Устройство теплого пола, детали на видео:
Заливка бетоном
Заливка бетоном должна проводиться с соблюдением ряда инструкций, так как, когда трубы будут покрыты слоем вещества, то добраться к ним будет проблематично, так что стоит тщательно все проверить и лишь затем приступать к выполнению задачи. Читайте также: «Как сделать теплый пол в гараже – монтаж электрического и водяного пола».
- На трубопровод положить сетку из металла, которая будет поделена на ячейки 10х10 см и иметь сечение проволоки размером как минимум в треть мм.
- Сетка должна монтироваться так, чтобы места, отмеченные декомпрессионным швом, не пересекались с ее листами.
- Армирование получившейся решетки проводится с применением полимерного или металлического фиброволокна, которое добавляется непосредственно в бетонный раствор.
- Отличной идеей будет использовать самовыравнивающиеся смеси для заливки пола, либо пластификатор со строительным бетоном, так как это придаст раствору эластичности (прочитайте: «Как заливать теплый пол: тонкости монтажа»).
Важно отметить, что толщина бетона должна составлять 50 мм, если пластификатор не задействован, но вместе с ним нельзя превышать толщину в 35 мм. Кроме того, температура в помещении должна быть минимум +5, но не более +30 градусов. После завершения работ необходимо выдержать бетон под водоудерживающим веществом в течение 7 дней.
На просушку бетона должно уйти как минимум 28 дней. До этого времени нельзя проводить какие-то дополнительные внешние работы в помещении. Кроме того, во время выполнения всех работ трубопровод должен находиться под давлением, так как, в противном случае, трубки могут не выдержать резкого изменения при контакте с окружающей средой, и их расширение приведет к трещинам стяжки или их самих.
После того, как пройдет месяц с заливки бетона, можно, наконец, приступать к отделке пола любым желаемым материалом. С другой стороны, всегда стоит помнить, что под бетоном находятся линии коммуникаций трубопровода, а потому сверление нужно проводить очень аккуратно. Повреждение трубы потребует большое количество усилий по исправлению ошибки и многие элементы «пирога» придется переделывать.
Как только финишное покрытие будет готово, то можно включать отопление и начинать прогревать помещение. Даже если температура снаружи летняя, стоит все равно прогнать систему несколько раз, чтобы удостовериться в ее работоспособности, ведь в случае неполадок нужно будет успеть все завершить до холодов.
Монтаж теплого пола является трудной, но осуществимой задачей, которая потребует от мастера максимальной концентрации и большого терпения, ведь запускать отопление будет можно лишь через месяц после прокладки трубопровода. С другой стороны, результат оправдает все потраченные усилия, так как дом действительно будет очень теплым при правильных расчетах. Кроме того, подобная отопительная система очень надежна, а потому прослужит не один год без намека на повреждения.
технология устройства, схемы + руководство по монтажу
Отлаженная система отопления – залог комфортного проживания в доме без оглядки на погодные условия. Наряду с традиционной радиаторной технологией устройства отопительного контура активно применяют систему теплого водяного пола. Ее монтаж трудоемок и финансово затратен, но такой вариант отопления полностью окупается за 5 лет.
Чтобы как-то сэкономить, многие обустраивают теплый водяной пол в частном доме самостоятельно. Согласитесь, идея получения эффективного отопления с минимальными капиталовложениями очень привлекательна, не так ли? Однако ее реализация требует от исполнителя определенных знаний и умений.
Мы предлагаем к рассмотрению подробный материал по обустройству водяных теплых полов. В статье изложены правила проектирования, приведены советы по выбору комплектующих системы, а также описан пошаговый ход выполнения работ по укладке, подключению и запуску водяного контура.
Содержание статьи:
Условия монтажа водяного пола
Устройство дополнительного обогревательного контура рекомендуют включать в проект еще до начала строительства – так проще производить расчеты.
В готовом новом доме или здании, где давно функционирует радиаторная система, монтаж водяного пола также возможен, но при определенных условиях.
Преимущества водяного подогрева давно оценили жители Европы и России: он эффективно обогревает помещения, экономит дорогие энергоносители, создает максимально комфортную обстановку в спальнях, ванных и детских комнатах
Если желание утеплить пол возникло после возведения дома, следует установить, подходит ли здание для этого. Одно из главных условий – заранее выполненная теплоизоляция дома, так как теплопотери выше 100 Вт/м² сделают монтаж пола бесполезным.
Обратите внимание на высоту потолков: монтажный «пирог» с трубами отнимает около 15 см, а то и больше от общей высоты комнаты. После внедрения системы должны сохраняться габариты дверных проемов, высота от 210 см и более.
Особые требования предъявляются к основанию. Оно должно быть прочным, ровным, чистым. Неустойчивое основание приведет к неровностям, а те – к деформации труб с теплоносителем
Если дом новый, то перед началом монтажа необходимо полностью закончить строительство – возвести стены и потолок, вставить окна, произвести оштукатуривание.
Правила проектирования и сборки
Решение выбрать именно водяной пол, а не требующий скрупулезного монтажа электрический аналог, оптимально для систем отопления на .
Такие схемы признаны наименее энергозатратными, максимально эффективными и недорогими в эксплуатации. Варианты с твердотопливными котлами также допустимы.
Безупречная работа системы возможна только при двух условиях: профессионально выполненных проектных расчетах и грамотно проведенном монтаже.
Следовательно, первыми шагами на пути к устройству водяного теплого пола на даче или в частном доме являются разбор конструкции, выбор материалов, составление проекта.
Нюансы устройства теплого пола
Конструкция возведения водяного пола сложна и проста одновременно. Она многокомпонентна по составу, поэтому главное – соблюсти порядок укладки всех слоев.
Универсальной признана схема «мокрого» типа, при которой контуры водяного пола укладываются на теплоизолирующий слой, а сверху заливаются цементной стяжкой
Каждый элемент «пирога» выполняет особую функцию. Основанием для конструкции служит грунт или бетонная плита. На него укладывают тонкую пленку (но не менее 0,1 мм толщиной) – обычный полиэтилен или более дорогой аналог.
Затем покрывают пол теплоизоляционным материалом. Один из лучших вариантов – – прочный, относительно недорогой, с низкой теплопроводностью.
Минимальные требования:
- плотность – от 40 кг/м³;
- толщина – от 300 мм.
Главный слой – , внутри которой будут располагаться трубы с теплоносителем. В раствор добавляют пластификаторы, чтобы сделать его более подвижным и удобным для укладки.
Для прочности стяжку усиливают армирующей сеткой с ячейкой 50*50 мм или более крупной 100*100 мм и толщиной стержня 3-5 мм.
Финишный слой – термостойкое напольное покрытие. Лучшим материалом признана керамическая плитка, которая отлично проводит тепло. При покупке линолеума или ламината следует выбирать продукцию со специальной маркировкой «теплый пол» (+)
От выбора финишного покрытия будет зависеть тепловой режим, который можно регулировать автоматически или вручную посредством смесительных узлов – коллекторов.
Каких принципов укладки придерживаться?
Сначала требуется . Это отдельная и сложная тема, однако для самостоятельных быстрых подсчетов можно воспользоваться онлайн-калькулятором, забив в нужные графы индивидуальные параметры.
Если теплыми полами занимается строительная компания, то и расчетные операции производят ее специалисты.
В качестве расчетной основы берутся стандартные проверенные цифры, которых необходимо придерживаться вне зависимости от способа укладки и конкретных условий монтажа.
Галерея изображений
Фото из
Температура ТВП на кухне должна быть в пределах 22-27 °С, в коридоре или холле – 30 °С, в гостиной, детской или спальне – 29 °С, в ванных комнатах или бассейнах самая высокая – 32-33 °С
Если в отопительные приборы теплоноситель подается с температурой 85-90 °С, то для теплых полов достаточно нагрева воды до 60 °С, причем на обратке температура падает до 30-45 °С
На разницу между параметрами температуры на входе/выходе влияет длина контуров. Общепринятые значения зависят от диаметра труб: Ø 16 мм – длина петли до 90 м, Ø 17 мм – до 100 м, Ø 20 мм – 120 м, хотя контуры более 80 м делать не рекомендуют
Расстояние между изогнутыми трубами зависит от зоны укладки: в центре комнаты – 20-30 см, в краевых зонах, у стен и порогов – 10-15 см, в банях, санузлах, ванных, бассейна – везде 15 см
Теплые полы в детской комнате
Трубы с теплоносителем в комнате
Водяные контуры на полу
Шаг раскладки между трубами
Обычно для монтажа применяют PEX трубы, которые укладывать ближе, чем 10-15 см друг от друга не получится, так как велик риск заломов. Если тепловая нагрузка на пол небольшая, например, многие любят отдыхать в прохладных спальнях, то допускается шаг раскладки до 60 см.
Еще несколько полезных советов:
- один контур не распределяют на два помещения;
- для помещения 35-40 м² недостаточно 1 контура, минимум – 2;
- одна сторона контура – не более 8 м;
- демпферная лента компенсирует деформацию при тепловом расширении.
Бывают и исключения. Например, если туалет и ванная невелики по площади и находятся по соседству, то для их обогрева достаточно одного водяного контура.
Способы монтажа водяных контуров
Давно придуманы наиболее эффективные виды монтажа труб – «улитка» и «змейка», поэтому экспериментировать с устройством контуров не придется.
Существует множество разновидностей двух популярных способов, выбор зависит от конфигурации помещения, длины контура и температурного режима. Иногда оптимальны комбинированные схемы
«Змейка» – самый простой для воплощения вариант. Минус его – большая разница температур теплоносителя на входе/выходе. Следует учитывать, что вторая половина контура будет отдавать меньше тепла.
«Улитка» равномерно распределяет тепло по всему помещению, но она сложнее в исполнении. Если владельцы не желают делить комнату на теплую и прохладную зоны, то лучше использовать именно этот способ.
Для экономии труб и повышения энергоэффективности часто используют комбинацию двух вариантов: в центре укладывают «улитку», вдоль стен – «змейку». Если правильно расположить петли и рассчитать шаг укладки, то температура пола будет максимально комфортной для жильцов.
Грамотно выбираем материалы
Теплые водяные полы заливаются стяжкой, а это значит, что их планируется эксплуатировать не годами, а десятилетиями.
С учетом длительного срока использования к выбору материалов следует подходить ответственно: исключить дешевую и неликвидную продукцию, отобрать качественные трубы, утеплитель, крепежи с максимальным сроком службы.
№1 — подбираем оптимальный вариант труб
Сейчас используются два вида труб — PE-X и PERT, оба изготовлены из сшитого полиэтилена. Преимущество у изделий PE-Xa, так как благодаря 85-процентной плотности сшивки они обладают эффектом памяти.
Полезный эффект заключается в том, что растянутые теплоносителем с высокой температурой или деформированные трубы всегда возвращаются в изначальное положение.
PE-Xa трубы вместе с аксиальными фитингами можно смело замуровывать в цемент, тогда как альтернативные изделия PERT с цанговыми фитингами следует оставлять в открытом доступе
Применение труб PERT оправдано, если в стяжке будут находиться цельные отрезки, а фитинги установлены только для крепления к коллектору.
Опытные строители не рекомендуют применять композитные трубы с алюминиевой фольгой – всегда существует риск отслоения металлизированного слоя. Если нужна максимальная надежность и изолированность, то лучше использовать продукцию с усилением из поливинилэтилена, расположенным внутри изделий.
Для водяных полов применяют три стандартных типоразмера изделий: Ø 16 мм, 17 и 20 мм с толщиной стенки 2 мм. Диаметр указан на маркировке, нанесенной по всей длине трубы
Строительные компании обычно работают с проверенными производителями, отвечающими за эксплуатационные качества своей продукции. Хорошо себя зарекомендовала продукция раскрученных марок Rehau и Valtec, а также менее известных Tece, KAN, Uponor.
Подробнее о выборе труб для укладки водяного теплого пола читайте в .
№2 — определяемся с утеплителем
Основное назначение утеплителя – отделить стяжку с трубами от основания, чтобы отдача тепла проводилась вверх, а не уходила напрасно в землю. Теплоизоляционный слой обязателен, без него монтаж теплого пола теряет смысл.
Сейчас применяют два , так как остальные проигрывают им по всем показателям. Это экструдированный пенополистирол в виде плит и профильные маты из пенополистирола с монтажными выступами.
Экструдированный полистирол популярен благодаря механической прочности и низкой теплопроводности. Он практически не пропускает влагу, что важно для бассейнов, санузлов, бань
Плиты ЭППС удобны для монтажа и имеют стандартные размеры: 600*1250 мм, 500*1000 мм. Толщина – от 20 до 100 мм, выбор ее зависит от необходимой степени утепления. Благодаря крепежным боковым пазам на стыках соседних плит не возникают зазоры.
Профильные маты значительно облегчают укладку труб, однако многие отказываются от их покупки по причине высокой стоимости, особенно известных брендов. Толщина листов меньше, чем у ЭППС – 1-3 мм
Как определить необходимую толщину утеплителя? Все зависит от условий укладки в конкретном частном доме: на грунт кладут 10-сантиметровые плиты, над подвалом или цоколем достаточно 5 см, а если внизу расположено отапливаемое помещение, то достаточно 3-сантиметровой теплоизоляции.
Для крепления плит к полу используют тарельчатые дюбели, а для фиксации труб – гарпун-скобы. Расстояние между соседними скобами – от 30 см до полуметра, в местах поворотов трубы – 10 см.
№3 — покупаем комплектующие для коллектора
Центр распределения теплоносителя и пункт контроля функционирования теплого пола – . С его помощью направляют горячую воду из магистрали в отдельные контуры, следят за расходом теплоносителя, регулируют температуру.
В сборе коллекторы не продаются, так как каждая система имеет свои особенности. Покупку комплектующих лучше поручить специалистам, а для самостоятельного приобретения следует помнить обо всех необходимых элементах:
Галерея изображений
Фото из
Основу конструкции составляют сами распределительные узлы, которые для удобства регулировки оснащены вентилями, термостатическими и балансировочными клапанами
Фитинги выбирают, ориентируясь на трубы для нагревательных контуров: важен как материал изготовления, так и размеры
Автоматический воздухоотводчик входит в группу безопасности и служит для удаления воздуха из контура. При его отсутствии могут возникнуть воздушные пробки, парализующие работу системы
Обычно коллекторно-смесительный узел монтируют в коридоре или нише, закрепляют его на стене болтами или кронштейнами. Возможна установка на полу
Если воду из контуров потребуется слить, используют дренажный сливной кран. С помощью него также удаляют воздух из труб при заполнении их теплоносителем
Чтобы обслуживать ВТП было удобно, а открытые элементы системы были защищены и выглядели аккуратно, коллектор заключают в специальный металлический шкаф
Дополнительный узел необходим, если для ВТП не выделен отдельный стояк. В узле должны присутствовать такие элементы, как байпас, насос и термостатический вентиль
Контролировать температуру в контурах можно с помощью термометра. Если вода в магистрали горячее, чем нужно, то рекомендуется установить ограничитель
Коллекторы с клапанами
Фитинги для соединения труб
Автоматические воздухоотводчики на коллекторе
Кронштейны для фиксации на стену
Дренажные краны для слива
Металлический коллекторный шкаф
Смесительный узел с насосом
Термометр или ограничитель температуры
Место установки часто зависит от нюансов обслуживания: одним удобнее выполнять регулировку ВТП в котельной, вместе с котлом, другим – из коридора. Теоретически коллекторный шкаф можно установить в любой комнате дома, но желательно, чтобы длина всех контуров была примерно одинаковой.
Руководство по монтажу ТВП
Перед укладкой конструкции теплого пола следует произвести подготовительные работы: закупить комплектующие, наметить место установки шкафа, продолбить в стенах отверстия для коммуникаций. Затем можно приступать к первому этапу.
Шаг #1 — устройство чернового пола
Если теплый пол планируется оборудовать прямо по грунту, рекомендуется выбрать один вариант из двух:
- сделать «черновую» стяжку из цементной заливки;
- вместо стяжки насыпать, уплотнить и разровнять слой песка.
Слой песка потребуется в любом случае, так как он служит основанием и для стяжки. На него кладут слой гидроизоляции, самый элементарный вариант – толстая полиэтиленовая пленка.
Уплотнение и выравнивание песчаного слоя очень важны. Допускаются небольшие впадины глубиной до 5 см, но для монтажа труб лучше, если он будет идеально гладким
При расчетах следует помнить, что теплопотери при устройстве системы по грунту выше, следовательно, температура теплоносителя в трубах должна быть больше обычной.
Шаг #2 — укладка теплоизолирующего слоя
Утеплитель укладывают на чистый, ровный пол. Перед началом работ на стенах отбивают полосу – уровень чистого пола, небольшие впадины, если они образовались в процессе строительных работ, засыпают чистым сухим песком.
Монтажная инструкция:
- Расстелить гидроизоляцию – листы пленки плотностью 150-200 мкм уложить с нахлестом не менее 10 см и завернуть на стены.
- Уложить плиты экструдированного пенополистирола маркировкой вверх, стыкуя пазами между собой. Начинать лучше с дальнего угла.
- При необходимости вырезать фрагменты строительным ножом.
- Закрепить плиты тарельчатыми дюбелями на углах, по средней части стыков и по центру плит.
- Заклеить швы строительным скотчем.
Если потребуется укладка второго слоя, то направление верхних плит лучше изменить, то есть класть их перпендикулярно нижним.
При укладке следует избегать больших зазоров и щелей. Если они все же образовались, пустоты можно задуть пеной или закрыть обрезками пенополистирола
Для передвижения по плитам во время монтажа рекомендуют подкладывать тонкие доски или куски фанеры – структура плит, несмотря на плотность, может деформироваться.
Шаг #3 — разметка и размещение труб
На поверхность плит наносят разметку, используя маркер или малярный шнур. Если вместо ЭППС применяются профильные маты, разметка не потребуется.
Существует риск залома и закручивания трубы при размотке, поэтому лучше использовать специально устройство для раскручивания бухты. Вручную разматывать придется дольше
Перед началом также советуют установить коллекторы и подготовить места для соединений.
Монтажная инструкция:
- Отмотать от трубы 15-20 м, надеть на конец теплоизолирующий рукав и фитинг для присоединения.
- Подключить к коллектору.
- Аккуратно уложить трубу согласно разметке.
- Закрепить контур гарпун-скобами.
- Подвести трубу к коллектору, присоединить второй конец.
Длину каждой петли необходимо зафиксировать, и не просто запомнить, а записать около фитинга на стене.
По краям укладывают демпферную ленту или какой-либо ее заменитель – например, кусочки пенопласта 1,5-2 см в толщину. Они хорошо держатся на жидких гвоздях
Транзитные трубы, проходящие через стены или переходные зоны, максимально утепляют рукавами. Вместо дорогих импортных изделий можно использовать обыкновенный утеплитель – вспененный полиэтилен.
Шаг #4 — монтаж армирующей сетки
Правильно уложенная арматура должна находиться над трубами, а не под ними и не между ними. Приемлемый вариант – металлическая сетка с ячейкой 10*10 см из 3-миллиметровой проволоки.
Неправильно и фиксировать контуры к металлической сетке, она в таком случае будет выполнять функцию подставки, а не армирования. Грамотная укладка – когда сетка над трубами
Сейчас многие вместо проволочной сетки используют пластиковую. Такой вариант также подходит, так как полимер создает необходимую жесткость.
Шаг #5 — тестирование системы
Пока не проведены гидравлические испытания для проверки герметичности системы, стяжку заливать нельзя. Обычно контуры проверяют по очереди.
Сначала к трубе подключают магистраль и насос, подают воду. Для отвода используют шланг, подключенный к сливному патрубку коллектора.
Опрессовочный насос – лучшее приспособление для проверки системы. Его можно взять в аренду. Также для испытаний можно нанять специалиста, у которого обычно есть необходимый инструмент
Во время проверки могут отлетать скобы, так как труба под давлением стремится к выпрямлению. Отлетевшие гарпуны крепят в 5 см от прежнего места, после заливки стяжки он уже не отлетят.
Шаг #6 — укладка цементной стяжки
Трубы оставляют под давлением 5 бар и начинают производить укладку стяжки. Обычно применяют традиционный маячковый способ. В качестве маячков можно использовать металлический профиль для гипсокартона.
Обычный раствор для стяжки не подходит, в цемент необходимо добавить пластификаторы и фибру, так как нагрузка будет не только механическая, но и температурная
Укладку выполняют частями, начиная с дальнего угла. Каждый фрагмент сразу после заливки необходимо выровнять, устранить провалы и наплывы.
По истечении 2 суток проводят зачистку поверхности, обрезают демпферную ленту, опрыскивают стяжку водой и накрывают пленкой (последнее два действия повторяют 10 дней).
Ввод в эксплуатацию
Полное созревание цементной стяжки происходит через месяц, именно тогда и нужно производить балансировку с помощью коллекторных расходомеров.
С помощью балансировочных вентилей регулируют расход теплоносителя, во всех контурах он должен стать одинаковым. Если опыта самостоятельной балансировки нет, лучше пригласить специалиста
После манипуляций с холодной водой, если система работает правильно, можно провести испытания с нагретым теплоносителем. На этом монтаж теплого пола считается законченным.
Выводы и полезное видео по теме
Общие правила монтажа для экономных хозяев:
youtube.com/embed/0NSBDtjiyCc» allowfullscreen=»allowfullscreen»/>Практические рекомендации опытных строителей:
Каких ошибок следует избегать:
При устройстве теплого пола существуют десятки решений, благодаря которым можно сэкономить на комплектующих или выбрать оптимально подходящую схему.
Если вы больше времени уделите проектированию и подбору материалов, то готовая отопительная система 100% выполнит свои функции и не будет нуждаться в ремонте на протяжении долгих лет.
У вас есть личный опыт проектирования и обустройства теплого водяного пола? Хотите поделиться накопленными знаниями или задать вопросы по теме? Пожалуйста, оставляйте комментарии и участвуйте в обсуждениях – форма для отзывов расположена ниже.
Электрический тёплый пол своими руками: устройство, схема, технология укладки
Вид отопления, в котором тепло генерируется путем использования электрической энергии, отличается простой в исполнении схемой, а его монтаж занимает минимум времени. Необязательно быть профессионалом, чтобы устроить электрический тёплый пол своими руками, просто нужно в точности следовать всем пунктам инструкции.
В представленной нами статье подробно описаны все виды электрических систем напольного обогрева, приведены их характеристики и плюсы с минусами. Для самостоятельных домашних мастеров мы привели пошаговые руководства по укладке. С учетом наших советов вы сможете соорудить и подключить электрический пол собственными руками.
Содержание статьи:
Электрические полы и их разновидности
В зависимости от примененного нагревателя, полы с электрическим обогревом делят на 2 категории: с элементом нагрева в виде кабеля и с инфракрасным.
По способу производства их делят на 4 типа:
- Нагревательный кабель. Он может быть одно- 2-жильным в том числе и саморегулирующимся.
- Нагревательные маты. Представляет собой кабель на монтажной сетке.
- Пленочный. Полимерные гибкие полотна со встроенным инфракрасным нагревательным элементом.
- Стержневой. Состоит из последовательно соединенных карбоновых стержней.
Рассчитывают теплый электрический пол, исходя из размеров свободной от обстановки части помещения. Под мебелью прокладывать нагревательные элементы не рекомендуют из-за превышения нагрузки на систему в указанных участках. Мощность пола выбирают из соображений 0, 1 кВт/м² в среднем. Для разных помещений этот показатель отличается.
Галерея изображений
Фото из
Электрические полы нельзя назвать экономными в эксплуатации. За расход электроэнергии придется платить, но в устройстве они значительно проще водяных
Для устройства электрополов в продаже имеется широкий ассортимент систем, которые нужно просто уложить и подключить к питанию и регулирующим устройствам
В отличие от водяных теплых полов, сооружение которых допускается только в частных домах, электрополы можно устроить в квартирах многоэтажек, в офисах и других присутственных местах
Стяжка над электрическим напольным обогревом намного меньше, чем над водяным полом. Прогрев помещения происходит быстрее
Устройство инфракрасного пола вообще не требует стяжки. Ламинат, например, можно класть сразу после организации напольной системы
Простейшим вариантом электрического пола является кабельная система, которую фиксируют на основании и заливают цементным раствором
Значительно быстрее и удобней выполняется укладка кабеля, если он встроен в армирующую полимерную подложку, вместе с которой формирует так называемый мат
Просто и предельно оперативно производится устройство инфракрасного пола, сооружением которого может заняться исполнитель без опыта
Электрическая система напольного обогрева
Подготовленная у установке система
Укладка электрополов в квартирах и офисах
Устройство электрической системы под плиткой
Укладка ламината над инфракрасным полом
Сооружение кабельного обогрева
Электрические маты в организации теплых полов
Пленочный инфракрасный обогрев
Важно перед началом работы рассчитать шаг, с которым затем будет выкладываться кабель. Для этого находят частное от деления площади, запланированной под укладку системы обогрева в м², умноженной на 100 и разделенной на длину секции в м, взятую из паспорта.
Если кроме теплого пола в доме нет альтернативного источника тепла, площадь, занятая системой, должна составлять минимум 70% от площади помещения в целом
С аргументами и критериями выбора оптимального лично для вас варианта устройства теплого пола ознакомит , с которой мы рекомендуем ознакомиться.
Кабельная система отопления
Теплоотдача кабельного теплого пола очень высокая, фактически вся электрическая энергия преобразуется в тепло. В его комплект входит нагреватель кабель, соединительная муфта, приборы регулировки и контроля. Кабель укладывают как в стяжку, так и под напольное покрытие.
Электрический теплый пол может быть разогрет до 60-70 градусов. Каждый его вид работает по особой технологии, имеющей свои конструкционные отличия
Особенности работы и устройства
В системе нет нагревательного котла, тепло отдает сам электрический кабель. Чаще всего его используют в качестве вспомогательного вида отопления, но если дом хорошо теплоизолирован, то пол, прогретый с помощью кабеля, может служить и основным источником тепла. Укладывают кабель 3 способами: под стяжку, внутри нее и над ней.
Нужно располагать его равномерно, выдерживая дистанцию от одной до другой линии нагрева минимум 80 мм и не допуская пересечений, изломов и напряжения на поворотах. Во время монтажа кабель легко повредить, поэтому опытные мастера рекомендуют надевать мягкую обувь или же прикрыть, уже смонтированные участки, листами фанеры.
Монтаж электрического пола в стяжке
Процесс установки в стяжку электрических теплых полов отличается трудоемкостью. Преимущество такого способа в том, что нагревательный элемент, находясь в центре стяжки, скорее и равномернее прогреет поверхность. Технологический процесс состоит из нескольких этапов.
Галерея изображений
Фото из
Этап 1: Уборка основания перед устройством системы
Этап 2: Выравнивание основания под теплый пол
Этап 3: Укладка теплоизоляционной подложки
Этап 4: Сооружение армирующей сетки
Этап 5: Крепление электрического кабеля к арматурной сетке
Этап 6: Установка устройства управления на стену
Этап 7: Заливка стяжки поверх электросистемы
Этап 8: Укладка напольного покрытия
Сначала заливают первый слой — это будет основа. Предварительно плиты очищают. Расширяют при помощи перфоратора трещины шириной более миллиметра и заполняют их, а также сколы и отверстия, раствором.
Плиту выравнивают по горизонтали, в случае необходимости применяют состав «наливные полы». После высыхания основы наносят жидкую гидроизоляцию, и оставляю на 2 ч., чтобы подсохла.
По поверхности расстилают теплоизолирующую подложку с фольгированным теплоотражающим слоем. Если снизу находится неотапливаемое помещение, то выбирают теплоизоляцию высотой от 5 до 10 см. В противном случае достаточно слоя в 2-3 см. Герметизируют швы и стыки фольгированным скотчем.
Выполняют сборку нагревательного контура. В перпендикулярном направлении по отношению к стене, выбранной для установки блока управления, монтируют полоски с защелками для фиксации кабеля. Кромки полимерных полосок должны заканчиваться на расстоянии 50-100 мм от стен.
Если вместо полосок взяты монтажные рейки, то их удаляют от стен на 200 мм. Перед укладкой теплого пола проверяют сопротивление кабеля при помощи тестера. Показания сверяют с паспортом, допустимая разница — 10% максимум.
Кабельная система «теплый» пол подходит для помещений всех типов. Она удобна в монтаже и отличается экономным расходом электроэнергии
Отправной точкой в схеме подключения кабеля электрического теплого пола по классической версии является блок управления. Оформляют выкладку в форме «змейки» и располагают параллельно стене.
Все переходы на следующий оборот должны находиться за пределами пограничных реек. На финише у противоположной стены должен оказаться изолированный конец. Вариант, когда монтаж начинают с конца, также возможен.
После того как линия будет полностью уложена, между витками монтируют датчик температуры в металлическую гофрированную трубу. Провода выводят по направлению к плинтусу, а затем к блоку управления. Замуровывать датчики в бетон не стоит — их извлечение в случае необходимости становится очень затруднительным.
После проверки надежности фиксации уложенных элементов их заливают бетонной стяжкой, мощность которой зависит от технических данных объекта и типа электрической греющей системы. Раствор нужно хорошо уплотнять. Если останутся пустоты, снизится теплопроводность верхнего слоя.
В роли управляющего блока для теплого пола выступает . Он отвечает за обработку информации, поступающей от термодатчика, и отключение или включение системы в соответствии с настройками. Терморегулятор может быть как программируемым, так без программного обеспечения. Подключают его к розетке 220 В. Место для установки выбирают на участке со свободным доступом.
Подключение начинают с подсоединения датчика температуры после этого — нагревательного кабеля к отдельным разъемам. Дальше к управляющему блоку подводят линию от щитка
Специалисты не рекомендуют подключать управляющий блок к обычной розетке. Это может создать дополнительную нагрузку на электропроводку. Необходимо создать отдельную ветку для подключения системы.
В некоторых случаях кабель укладывают в штробы, проделанные в бетонной стяжке. Кабель в штробах заполняют плиточным клеем. Преимущество этого способа в том, что уровень финишного покрытия остается на прежнем уровне. После завершения монтажа кабеля, пол включают только через 2 недели.
Электрический пол на основе термомата
Для производства термоматов используют кабель не толще 45 мм. Его закрепляют на стекловолоконной сетке шириной 0,5 м. Кабель имеет экранированную и защищенную внешней оболочкой жилу. Для жилых помещений используют нагревательные маты с двойной жилой из-за их значительно меньшего уровня электромагнитного излучения.
Если выбрана плитка, как финишное покрытие, вместо бетонного раствора поверх кабеля заливают клей для этого вида материала, специально предназначенный для теплого пола
Принцип действия и сооружения
Нагревательный мат включает 2 элемента: собственно термомат с кабелем и гофру. Внутрь ее вставляют датчик, и она защищает его от влаги и агрессивных воздействий. Если слой клея тонкий настолько, что не может полностью закрыть гофру, нужно использовать влагостойкий датчик.
Терморегулятор в комплекте с выносным температурным датчиком, монтажные коробки, провода приобретают дополнительно. При выборе первого элемента учитывают максимум энергопотребления. Сечение проводов подбирают, ориентируясь на мощность системы и материал изготовления.
Если кабель нужно завернуть то разрезают сетку. Сам кабель резать и укорачивать нельзя. Во время монтажа он должен находиться вверху, к полу крепят сетку с использованием скотча или скоб
Процесс монтажа предельно прост, т.к. термомат — полностью готовое к установке изделие. Здесь не нужно крепить нагревательный кабель, а равномерность укладки обеспечивается самой конструкцией. Стоимость у него выше, чем у пола кабельного, зато он обладает массой преимуществ, в число которых входит и более быстрый прогрев поверхности.
Монтаж тепловых матов
Перед раскладыванием теплового мата пол покрывают слоем грунтовки. Это увеличит сцепление клея с бетонной поверхностью. Обычно клей наносят сразу на мат, но если это влажное помещение, то после нанесения и высыхания тонкого слоя клея его покрывают гидроизоляцией, а затем снова клеем.
Чтобы не нарушить целостность кабеля и равномерно нанести связующее вещество, нужно распределять клеевой состав при помощи пластиковой гребенки. На клей укладывают плитку и выравнивают ее.
Плитка плюс клей в сумме должны давать 20 мм, хотя отдельные производители рекомендуют минимум 50 мм. Объясняют это тем, что при такой толщине прослойки тепло распределяется более равномерно.
На фото изображена последовательность укладки теплого пола из тепловых матов под плитку, начиная от выбора места (1) до укладки плитки (7). Монтаж упрощается, если помещение имеет прямоугольную форму
В соответствии с ПУЭ обязательно следует устанавливать защитное отключение, гарантирующее безопасность и автоматический выключатель. Если систему монтируют в ванной, терморегулятор следует вынести в смежное сухое помещение.
Галерея изображений
Фото из
Шаг 1: Устройство стяжки по основанию
Шаг 2: Укладка матов по отвердевшей стяжке
Шаг 3: Заливка стяжки по электрическим матам
Шаг 4: Устройство напольного покрытия
Специфика пленочного пола
В устройстве системы теплого нет особых сложностей. Многие укладывают его самостоятельно. Подходит он под любые напольные покрытия. Система, работа которой основана на инфракрасном излучении, безопасна даже для ламината и других деревянных покрытий.
Известны 2 вида такой пленки для пола:
- Сплошная. Выпускается в виде тонкой двухслойной полиуретановой пленки с непрерывным карбоновым напылением внутри.
- Полосатая. Включающая те же 2 слоя пленки из лавсана, полиэтера или полиуретана с расположенными между ними карбоновыми или ультратонкими алюминиевыми полосами.
Тепловые элементы в этих системах имеют параллельное и последовательное соединения. По краям у них расположены биметаллические токоведущие шины из уложенных друг на друга серебряных и медных полос. Пленочный ИК пол не делают ни с заливкой стяжки, ни в слой клея. Подходит только «сухая» укладка.
Теплый инфракрасный пол имеет ряд преимуществ.
К ним относится:
- несложный и быстрый монтаж;
- небольшая толщина пленки (0,3 см) что не уменьшает существенно высоту помещения;
- возможность исключения такого рабочего момента, как заливка стяжки;
- отсутствие влияния на влажность в помещении;
- антиаллергический эффект;
- сравнительно низкое потребление электроэнергии — на 20% меньше, чем другие типы электрических тепловых систем;
- ионизация воздуха;
- легкий демонтаж в случае необходимости;
- высокая надежность.
Стандартный набор материалов включает термопленку, скрученную в рулон, зажимы контактные, изоляцию и электропроводку. К этому комплекту необходимо добавить терморегулятор, оснащенный датчиком температуры, а также полиэтиленовую пленку, скотч, фольгированный материал. Прежде чем приобретать все это, нужно рассчитать необходимый метраж пленки.
Под домашней техникой и мебелью пол утеплять не следует — это неоправданные затраты и чрезмерная нагрузка на систему. Расстилают пленку полностью по всей плоскости только в случае, когда хозяева привыкли часто менять обстановку
Проще всего сделать эскиз помещения на миллиметровой бумаге. Дальше, следует отметить места, где будут размещены датчики и точки соединения. Выделить ту часть помещения, на которой планируется укладка теплого инфракрасного пола, затем рассчитать, сколько нагревательных элементов потребуется.
Сравнить специфику устройства поможет информация, изложенная в рекомендуемой нами статье.
Процесс укладки инфракрасной системы
Если прежнее покрытие в нормальном состоянии, то технологией укладки электрического инфракрасного теплого пола разрешается не демонтировать его. Достаточно просто очистить и устранить перепады. Рулон пленочного пола нарезают используя обычные ножницы.
Следует учитывать, что при формировании поверхности полосы не должны перекрещиваться или соприкасаться токоведущими шинами. Обычно производители обозначают места раскроя. Это не значит, что пленку нельзя резать в других удобных местах.
Галерея изображений
Фото из
Инфракрасная пленка легко раскраивается обычными ножницами. Но важно помнить, что резать можно только по прозрачной полосе, не пересекая элементов с карбоновым напылением
Чтобы защитить свободный срез токоведущей шины, расположенной с не подключаемой стороны, ее заклеивают битумным скотчем
«Нерабочий» срез инфракрасного полотнища, к которому не будет подключаться проводка, после крепления изоляции к шинам заклеиваем обычным скотчем
Под соединительные клеммы выбирают углубления. В идеале это лучше сделать в теплоизоляционной подложке, но в примере их сформировали в выравнивающей стяжке
Перед укладкой инфракрасных полос основание застилают гидроизоляцией. Если у изоляционного материала есть фольгированная прослойка, то она будет к тому же работать в качестве рефлектора
По уложенной гидроизоляции производится сборка напольного нагревателя. Соединительные клеммы располагают в выбранных ранее углублениях
Собранный пол подключают к расположенному на стене терморегулятору. К нему же подводят термодатчики и проверяют работоспособность системы
Убедившись в нормальной работе пленочного пола и устранив недочеты, если они имелись, его застилают гидроизоляцией и укладывают финишное покрытие
Этап 1: Раскрой карбоновых полос для укладки
Этап 2: Изоляция токоведущей шины
Этап 4: Заклеивание скотчем края инфракрасной полосы
Этап 4: Формирование углублений для клемм
Этап 5: Укладка фольгированной гидроизоляции
Этап 6: Сборка электрического пленочного пола
Этап 7: Проверка ИК пленочного пола на работоспособность
Этап 8: Укладка напольного покрытия поверх системы
Главное, срез должен проходить по промежутку между нагревательными элементами. В случае если разрез пришелся на обозначенную линию, изолируют только коллекторные биметаллические пластины. В других случаях скотчем проклеивают концы полос.
Сначала укладывают слой гидроизоляции, чтобы предохранить пол от поступления влаги из бетонного перекрытия. Дальше идет теплоизоляция, предотвращающая потери теплоты от излучения, уходящего в основание. Материал можно использовать любой, главное, чтобы металлизированная сторона была направлена наружу.
Размечают места, где будет проходить электропроводка. После отводят место под монтаж термодатчика. Канал под температурный датчик выполняют шириной около 20 мм. Проводку для датчика помещают в гофрированную трубку, затем укладывают в подготовленный канал.
Дальше укладывают подготовленные полосы согласно эскизу. С целью уменьшения длины провода при укладке полосы разворачивают торцовыми сторонами к стене, где впоследствии будет находиться терморегулятор и останавливаются, не доходя до нее сантиметров 15.
Если в комнате есть камин, от него отступают не менее 1 м. Укладывается пленка той стороной вверх, которая изготовителем системы указана в инструктаже к продукции. Подсоединяют зажимы к краю биметаллической полосы, затем подключают провода — к левым зажимам крепят левые, а к правым — правые.
Проводку для термодатчика следует прятать под термопленку. С этой целью в теплоизоляции вырезают узкие канавки шириной по 1 см, а по уложенному в них силовому кабелю наклеивают скотч и укрывают термопленкой. Нельзя допускать, чтобы провода возвышались над теплоизоляцией.
Изоляцию на краю провода снимают, свертывают, сам провод просовывают через зажим, фиксируют при помощи плоскогубцев, затем точку соединения изолируют битумным скотчем. Соединив всю цепь, замеряют сопротивление полученной конструкции.
Возможно использование как отражающей теплоизоляции, так и не отражающей в виде пробкового полотна. Регламентируется только толщина слоя — от 3 до 5 мм. Скрепляют полосы теплоизоляционного материала монтажным скотчем
Завершающий этап — монтаж финишного покрытия. Принцип подключения терморегулятора одинаков для всех типов теплого электрического пола.
Несколько полезных советов
Прежде чем завершить работу укладкой финишного покрытия систему тестируют. Если термопленка соответствует всем требованиям, нигде не будет наблюдаться искрение и перегрев участков. Если все же какие-то дефекты обнаружены, пол накрывают еще одним слоем пленки из полиэтилена толщиной минимум 80 мкм. Ее укладывают внахлест с заходом около 20 см.
Существует ряд дополнительных рекомендаций от профессионалов по поводу монтажа:
- Пленочную теплую систему нужно устанавливать при умеренной влажности (максимум 60%) и плюсовой температуре.
- Пленку в свернутом виде в сеть подключать нельзя.
- Перед подключением пленочного пола необходима проверка изоляции контактов в местах, где происходил раскрой полотна.
- В случае повреждения термопленки в месте, где находится графитовое напыление, накладывают двухстороннюю изоляцию.
- Если произошло затопление пола, его немедленно отключают от электросети и оставляют на просушку в естественных условиях.
- Ходить по готовому полу в обуви нельзя.
Нельзя замуровывать термодатчик. Нужно оставить возможность для его контроля и замены. Также не следует размещать на теплом полу ковры и другие плотные натуральные покрытия. Для обеспечения вентиляции и исключения возможности деформации финишного покрытия вследствие температурных изменений, между стеной и покрытием рекомендуют оставлять незначительный зазор.
Теплый пол стержневого типа
Стержневой карбоновый пол — это стержневая конструкция, обогревающая помещение инфракрасными лучами дальней волны. В этом диапазоне отсутствует электромагнитное излучение. Особенность его в том, что нагревается не атмосфера, а предметы, присутствующие в комнате.
Композитный материал карбон имеет в своей основе углеродистую наноструктуру в сочетании со связывающими компонентами. Карбоновый и углеродистый пол — одно понятие
Тонкости работы и организации
В его составе содержатся карбоновые стержни, соединенные параллельно в эластичные маты шириной 0,8 м и длиной 25 м при помощи силового провода. Внутри «ковра» размещены нагревательные элементы. Внутренность стержней состоит из карбона, серебра, меди, а тепло выделяет первый из них.
Кроме стержней в составе такого пола есть температурный датчик и терморегулятор. Такой пол обладает свойством саморегуляции. Это значит, что количество тепла прямо пропорционально температуре. Недостатком является то, что монтаж его возможен только с применением стяжки, следовательно, о его демонтаже не может быть и речи.
Стержневой инфракрасный пол состоит из карбоновых стержней, подключенных с двух сторон к токоведущему кабелю
Если на плоскость пола поставить любой предмет, теплоотдача в месте, занимаемом им, снижается, и стержни начинают выделять меньшее количество тепла, понижая, таким образом, температуру. Следовательно, терморегулятор здесь нужен только для управления мощностью, функцию предотвращения перегрева выполняет сам стержневой пол.
Нюансы монтажа и подключения
Хотя стержневой пол и считается интеллектуальной системой, его можно уложить своими руками. Технология несложная, но работать он будет при условии, что все требования соблюдены.
Галерея изображений
Фото из
Укладка стержневого карбонового пола по сути схожа с устройством напольного обогрева из кабельных матов. Сначала на подготовленное основание стелют теплоизоляционную подложку, затем согласно заранее разработанной схеме укладывают греющие полосы
Во время укладки полосы карбонового пола крепятся скотчем к подложке, чтобы они не сдвигались в ходе работы
Все электросоединения нагревающей карбоновой системы дублируются защитной термоусадочной трубкой, имеющейся в комплектации стержневого пола
Провод датчика, фиксирующего температуру нагрева пола, заводят в гофрированную трубку
Для того чтобы температурный датчик не создавал ненужный рельеф над поверхностью системы, в теплоизоляционной подложке вырезают продольное отверстие
Температурный датчик, реагирующий на понижение/повышение температуры системы, располагается между стержнями и закрепляется скотчем
По завершению сборки стержневой системы проводится проверка на работоспособность и качество соединений. Если выявлены дефекты, их устраняют на данном этапе
После проверки на работоспособность выполняется заливка стяжки, являющейся основанием для устройства напольного покрытия
Этап 1: Укладка стержневого пола на подложку
Этап 2: Фиксация карбоновой системы скотчем
Этап 3: Формирование соединений пола с проводкой
Этап 4: Подготовка термодатчика стержневого пола
Этап 5: Вырезка отверстий в теплоизоляционной подложке
Шаг 6: Фиксация положения датчика
Этап 7: Проверка работоспособности собранной системы
Этап 8: Заливка стяжки поверх карбонового стержневого пола
Процесс состоит из 8 последовательных шагов:
- подготовки основы;
- укладки теплоотражателя;
- монтажа стержней;
- соединения между собой полос;
- подсоединения силового кабеля;
- подключения конструкции к терморегулятору;
- подключения термодатчика;
- заливки стяжки или монтаж финишного покрытия плиточного типа.
Перед выполнением этих работ планируют, в каком направлении будут укладывать нагревательный мат и рассчитывают количество материала. В продажу карбоновый пол поступает комплектом, но иногда приходится докупать кое-что из расходных материалов.
На выбор мощности оказывают влияние 2 фактора: площадь и вид обогрева. По мощности стержневые теплые полы разделяют на 2 вида: до 160 Вт/м² и до 220 Вт/м².
Наиболее рациональный вариант расположения греющего мата — вдоль длинной стены с ориентацией на теплорегулятор, т.к. в этом случае при подключении к регулятору температуры можно брать провода меньшей длины и уменьшить число разрезов
Наиболее рациональный вариант расположения греющего мата — вдоль длинной стены с ориентацией на теплорегулятор, т.к. в этом случае при подключении к регулятору температуры можно брать провода меньшей длины и уменьшить число разрезов.
В основном производители выпускают полный набор для монтажа. Как минимум, в него входит стержневой мат, соединительный комплект и концевой, провода, инструкция по установке. Все остальное: теплоизоляцию, скотч, гофрированную трубу с заглушкой, терморегулятор, датчик, битумную изоляцию — приобретают дополнительно.
О том, какой вариант теплого пола: электрический или водяной лучше устроить под последующую укладку ламината, детально написано , посвященной этому вопросу.
Выводы и полезное видео по теме
Видео #1. Все об укладке стержневого пола вы узнаете из этой видео-инструкции:
Видео #2. Выбрать вид электрического пола станет проще, если вы ознакомитесь с этим видеороликом:
Видео #3. Как не потратить лишнего при покупке системы теплого пола научит автор этого видео:
Отопление дома с применение электрических теплых полов позволит поддерживать комфортный температурный режим. Разница температур между вверху помещения и у пола будет минимальной. Если правильно выбрать систему, точно все рассчитать и выполнить монтажные работы своими руками, то и в плане финансов можно выиграть.
А какой тип напольного обогрева вы предпочли для обустройства собственной дачи/квартиры? Возможны, у вас есть желание поделиться тонкостями монтажа, известными только вам? Пишите, пожалуйста, комментарии в расположенном ниже блоке, задавайте вопросы, размещайте фото по теме статьи.
Устройство водяных теплых полов в частном доме
В этой статье мы рассмотрим устройство водяных теплых полов в частных домах. Как работает, какое необходимо оборудование для него, из какой трубы его лучше сделать и чем его лучше залить.
Эта статья будет полезна тем, кто собирается сделать в своем доме напольное отопление своими силами, а также если будет привлекать подрядчиков. Многие мастера-сантехники не изучают новинок и не заходят даже в интернет, чтобы почерпнуть для себя что-то новое и продолжают делать всё «по старинке» как учил его отец или дед))).
За свою практику я не однократно видел множество ошибок совершенных монтажниками и чтобы их не допустить нужно четко иметь представление о том, что ты хочешь получить в итоге.
Содержание статьи:
В статье «Что лучше водяной или электрический теплый пол?» я вам привел много фактов, почему для загородного дома лучшим решением будет использование водяных теплых полов.
Устройство теплого пола водяного на бетонном основании.
Еще одно небольшое уточнение в этой статье мы будем говорить про устройство теплых полов водяных в доме, который построен из кирпича, блока и т.д. и имеет бетонное основание и бетонные межэтажные перекрытия.
Теплые водяные полы в деревянном или каркасном доме имеют существенные отличие по их устройству.
Теплый водяной пол представляет из себя систему подогрева стяжки и напольного покрытия путем постоянной циркуляции разогретого теплоносителя по трубам, заложенным в эту самую стяжку (возможен вариант с УШП – утепленная шведская плита в этой статье рассматривается её конструкция).
Для того чтобы уложить трубу на бетонное основание необходимо провести её подготовку. Опустим момент уборки площади, после нее нам потребуется утеплить бетонное основание.
В качестве утеплителя используем экструдированный пенополистирол, он хорошо отражает тепло и выдерживает большую нагрузку. Пенополистирол укладывается на бетонное основание с помощью клея для пенополистирола (используется клей как монтажная пена под пистолет и имеет немного схожие свойства).
Укладка утеплителя для водяного теплого пола на клей (на фотографии не пенополистирол)Толщина утеплителя должна быть минимум 5 см для бетонной плиты 1 этажа или цокольного, но лучше не пожалеть денег и положить два слоя по 5 см. Затраты на утеплитель окупятся в дальнейшем при эксплуатации за счет уменьшения теплопотерь. Далее по тексту я расскажу какую толщину необходимо заложить под этот пирог на этапе строительства дома.
Бетонное перекрытие между этажами можно так не утеплять. Достаточно положить готовые маты с бобышками или утеплитель 3 см для того, чтобы уложить трубу и был эффект отражения тепла наверх.
Укладку трубы можно производить:
Непосредственно на утеплитель три способа:
- На металлическую сетку труба крепиться с помощью нейлоновых стяжек. Мне этот метод не нравиться вообще никак. Я считаю, что труба в процессе нагревания и остывания подвергается трению об эту самую сетку – это, во-первых. Кстати, бытует мнение среди любителей такого способа, что сетка армирует стяжку и это обязательное условие для теплого пола. Это вовсе не так. Сетка лежит на утеплителе плотно и никакой функции по армированию стяжки не несет. Во-вторых, металлическая сетка стоит также денег и немалых. Выходит, проще купить готовые удерживающие маты с бобышками для теплого пола, и сэкономить время на укладке.
- Труба крепится к утеплителю при помощи гарпун-скобок. Если нет специального степлера то процесс ручного монтажа довольно-таки сложный.
Есть еще один способ. У производителя рехау есть труба для теплого пола, покрытая специальной липучкой, которая крепится на специальный ворсистый материал, раскатанный по утеплителю. Хороший способ, однако, за качество придется немного переплатить.
На специальные маты.
Вместо или на утеплитель укладываются специальные маты, которые имеют специальные держатели (как их еще называют бобышки) в которые и укладывается труба теплого пола.
Укладка трубы на специальные матыЭтот способ очень удобен для монтажа и экономить кучу времени. Также если посчитать затраты на утеплитель металлическую сетку, нейлоновые стяжки и сравнить это со стоимостью готовых мат для теплого пола, то получиться почти та же стоимость.
Здесь имеется ввиду утеплитель который необходимо положить на бетонное основание меж этажных перекрытий, а также одного слоя утеплителя если мы рассматриваем 1 этаж
Плюс ко всему на таких матах проще укладывать трубу, и можно с легкостью менять шаг если вам нужно сделать дополнительно конвекцию возле окон.
Какое оборудование необходимо для водяного теплого пола?
В состав оборудования современного водяного теплого пола должно войти:
Труба диаметром 16 мм из сшитого полиэтилена из расчета 7-8 метров погонной длины на квадратный метр площади дома.
Фиксаторы поворота из расчета две штуки на один контур теплого пола.
Смесительный узел для теплого пола, который обвязываем с котлом (по выбору котла для отопления дома здесь) обязателен к применению. Не нужно городить огород и возьмите готовый.
Коллектор с расходомерами (не пожалейте денег и возьмите с ними, так проще отрегулировать потоки в контурах) количество контуров рассчитывается конкретно на объекте, но если примерно, то поделите свою площадь этажа на 13 и получите количество контуров. Допустим на 100 метровый этаж дома достаточно коллектора на 8 выходов. Однако если вы захотите сделать отдельно регулируемые контура в каждом помещении то тогда нужно исходить уже из этого.
И все, что не относится к оборудованию: маты, гофра, клей…
Схема укладки теплого водяного пола
Из всех схем укладки труб водяного пола практическое применение нашли схемы так называемые «змейка» и «улитка».
Итак, схема змейка является самой простой в укладке и как видно из рисунка положить её можно достаточно просто. Но как обычно есть и небольшой недостаток. Из-за того, что подающая труба заходит с одного края площади комнаты, а с другого конца выходит обратка, то и пол в помещении будет прогреваться с одной стороны больше, а с другой меньше.
Вторая, самая лучшая схема укладки, это улитка. Можно заметить, что вместе с подающей трубой рядом всегда идет обратка и так чередуется постоянно, пол при такой укладке прогревается ровно.
укладка трубы улиткойИсходя из своей практики скажу — где можно в доме уложить по схеме улитка укладывается улитка. В основном это комнаты и квадратные помещения.
В длинных узких помещениях применяем схему змейка, это узкие коридоры, кладовки, маленькие санузлы и т.д.
Расстояние между трубами теплого пола
Расстояние между трубами теплого пола называется шагом укладки и составляет обычно 150 мм. Это расстояние обеспечивает равномерно прогретое основание, и вы не будете ощущать так называемый эффект «зебры». Если нам требуется сделать «перегретую» область (в данном случае обозначается что этот участок будет не раскален до бела, а на один два градуса будет выше, чем остальная поверхность) необходимо уменьшить шаг до 100 мм. Такой подход обеспечит конвекцию, например возле внешних стен и таким образом мы избавимся от запотевания окон. Картинка с увеличенным шагом.
Максимальная длина контура теплого пола
При укладке трубы необходимо разделить всю площадь застилаемого пола на участки, которые составят отдельные контура водяного теплого пола. Причем это нужно выполнить таким образом, чтобы.
Во-первых, обеспечить потом заливку стяжки разделив их (участки) между собой демпферной лентой. Такой подход гарантирует отсутствие растрескивания бетонной стяжки пола.
Во-вторых, исходя из максимальной длины контура теплого пола. Для частного дома я рекомендую использовать трубу диаметром 16 мм и для нее длина не должна превышать 100 метров, на практике лучше ограничиваться 60-80 метрами – это оптимально. То есть каждый участок по площади выйдет по 10-12 метров квадратных.
Какую трубу выбрать для теплого пола?
При написании этой статьи (сентябрь 2018 года для информации) я задал этот вопрос яндексу и увидел, что на первых местах в поиске висят рекомендации по укладке в стяжку труб из металлопласта и еще всякая ерунда. Учитывайте этот факт пожалуйста. И если вы попадете ко мне на сайт в 2030 году и увидите этот пост не обновленным закройте немедленно.
Со мной многие захотят поспорить, но за период весна 2018-осень 2018 к нам обратилось по крайней мере 3 человека с одной и той же проблемой. Переделать теплый пол полностью. У всех них такой пол прослужил по крайней мере не более 13 лет. Много? Я считаю, что очень мало.
Пройдя обучение в Академии Рехау, а также в фирме ТЕСЕ я конечно рекомендовал бы к применению только их трубы. По крайней мере они дают на них гарантийный срок 50 лет. Но в силу того, что многим покажется, что их продукция дорогая, то вердикт мой таков.
При устройстве теплого водяного пола труба должна быть выполнена из сшитого полиэтилена с маркировкой PEX-a или PEX-c. Если кратко, то это самые современные трубы, которые нужно применять для скрытого монтажа. И на данный момент времени ничего лучшего для водяного пола нет. О том какие трубы рехау для чего предназначены подробно здесь.
Какую стяжку лить под теплый водяной пол?
Когда трубы уложены и собраны распределительные коллекторы, система залита и опресована давлением необходимо сразу же закрыть их, залив бетонную стяжку.
Толщина стяжки выбирается исходя из того, что над трубами она должна быть не менее 30 мм. Обычно фирмы, которые занимаются механизированной стяжкой для своего расчета берут 50 мм вот это и будет та необходимая толщина, которую нужно планировать при проектировании дома. Даже если мы укладываем трубы на ровный утеплитель при толщине в 50 мм над трубами будет оставаться 30-34 мм (диаметр трубы 16 мм).
При заливке стяжки не забываем класть демпферную ленту по периметру помещения, а также разделяем ей контуры теплого пола.
Трубы теплого пола, которые проходят деформационные швы в этих местах должны быть в утеплителе или гофре. Таким же образом они должны быть защищены при выходе из стяжки у распределительного коллектора. Еще в месте выхода к коллектору трубы из сшитого полиэтилена должны быть зафиксированы фиксатором поворота. Это необходимо из-за того, что трубы имеют очень большой коэффициент линейного расширения и со временем могут за счет этого разгерметизировать цанговые соединения на коллекторе.
Защита труб гофрой
Чем заливать теплый водяной пол?
По вопросу заливки системы напольного отопления и системы отопления в целом нужно исходить из того живете вы в доме постоянно или это дачный вариант дома.
В первом случае только вода, желательно дистиллированная или прошедшая осмотическую обработку.
Во втором случае это вода с антифризом.
Предпочтительнее всегда использовать воду. Антифриз стоит денег и требует периодической замены. Также у системы отопления с антифризом уменьшается КПД.
А еще в доме, даже в котором живут только на выходных, желательно поддерживать тепло всегда. Представьте, что у вас есть дача, которая оборудована по последнему слову техники и вы зимой уезжаете в город и оставляете все размораживаться надеясь на антифриз в системе отопления. Но вам также надо продуть всю систему водоснабжения, осушить все гидрозатворы и даже вычерпать воду из унитаза)). Плюс ко всему, когда вы включите отопления стены «заплачут». Пару таких выходных и плесень пойдет везде.
А если система отопления подключена к дистанционному управлению через смартфон, то переживать за то, что система разморозиться вообще не стоит. Случись нештатная ситуация, дом не остынет моментально, должно пройти не один час, а то и сутки, чтобы температура понизилась до критической, вы успеете приехать и если не восстановить систему отопления, так хоть включить электрические конвекторы и т.д.
Модуль GSM управления котломПоэтому использовать антифриз можно, но нужно ли?!
Заключение по данной теме такое:
- Теплый водяной обязателен в современном отоплении частного дома;
- Укладывать пол лучше на готовые маты;
- Использовать, где только возможно схему укладки трубы улитка с шагом 150 мм и длиной не более 100 м;
- Труба должна быть только из сшитого полиэтилена диаметром 16 мм (у рехау она 14 но тоньше стенки) этого достаточно. Количество трубы необходимое на квадратный метр теплого пола берем 7-8 метров.
- Обязательно устанавливать смесительный узел с защитой от перегрева.
- Заливать стяжку нужно не менее 30 мм над трубами и разделять по контурам отделяя друг от друга демпферной лентой. (А лучше если дом будет построен на фундаменте УШП)
- Защищать трубы на месте деформационных швов и при выходе из сяжки гофрированной трубой или утеплителем.
- По возможности использовать в системе отопления деминерализованную воду.
- Возможно организовать отдельную регулировку температуры по комнатам с помощью сервоприводов.
Надеюсь, статья была полезна для вас, и вы нашли для себя полезную информацию, а также увидели моменты на что нужно обратить внимание при устройстве водяных теплых полов в частном доме и теперь не сделаете ошибки.
Добавляйте статью к себе в закладки и делитесь с друзьями! Готов ответить на ваши комментарии!
Из чего состоит система, монтаж
Для того что бы в жилых помещениях на протяжении всего года было тепло и уютно, необходимо позаботиться об этом заранее. Устройство теплого водяного пола не только позволит создать оптимальный микроклимат в комнатах, но и избавит от простудных заболеваний в будущем. Устройство представляет собой сетку из труб, заполненную горячей водой, которая встраивается в слой бетонной стяжки, тем самым нагревает ее. Подобная система позволяет равномерно отапливать используемую поверхность и нижний слой воздуха, который находится в помещении. Благодаря этому ноги зимой мерзнуть не будут, а теплая поверхность напольного покрытия позволит ходить круглый год босиком.
Из чего состоит подобное устройство
Устройство водяных теплых полов имеет слоистую структуру и его можно сделать самостоятельно, не прибегая к посторонней помощи. Мастера своего дела называют подобную структуру пирогом пола. Он состоит из:
- Основного слоя. Представляет собой черновое покрытие пола или бетонную плиту перекрытия.
- Слоя гидроизоляции. Прекрасным дополнением ему служит демпферная лента, которая устанавливается по периметру комнат.
- Защитного слоя теплоизоляции. Он препятствует распространению тепла в ненужных направлениях.
- Само устройство водяного теплого пола, которое обогревает помещение.
- Раствора на основе бетонной смеси.
- Финишного напольного покрытия.
Принцип работы
Подобная конструкция представляет собой бетонное основание или плиту, внутрь которого помещается нагревательная система и ее контур. В качестве контура используется простая железная труба, по которой и циркулирует теплоноситель – горячая вода. В процессе работы водяные полы сами отбирают теплоноситель из системы, после охлаждения жидкость поступает обратно. По сути, теплый водяной пол представляет собой огромный радиатор, который расположен в толще бетонной стяжки
Работает по такому принципу:
- Горячая вода циркулирует по напорной отопительной трубе и переходит ко входу нагревательного контура.
- Проходя по нему, он отдает практически все тепло бетонной стяжке. Таким образом, поверхность нагревается до 35°С.
- Остывшая вода направляется в обратку, через нее попадает в котел, который снова нагревает ее до нужной температуры. После чего цикл вновь повторяется.
При наличии ламината или линолеума поверхность можно разогревать только до температуры в 26°С. Поэтому систему необходимо правильно запрограммировать, установив соответствующие ограничения. Речь идет не только о работе запорных механизмов, но и в правильной дозировке теплоносителя, при превышении лимита которого временно прекращается подача горячей воды в систему. Без вспомогательного устройства блокировки, водяной теплый пол может функционировать лишь в случае нагрева воды до 55°С.
Очередность необходимых работ
В многоэтажках и частных домах в роли основания выступают бетонные плиты перекрытия. У одноэтажных зданиях и сооруженях вместо плиты находится грунт. В этом случае очередность работ должна быть следующей:
- песок;
- мелкий щебень;
- гидроизоляционный слой;
- стяжка с использованием армирующей сетки.
Все это относится к категории черновой основы. А вот из материалов понадобится:
- гидроизоляционный материал;
- металлические или пластиковые трубы;
- лента демпферная;
- набор крепежей;
- армирующая сетка.
Стяжка с использованием армированной сетки
В первую очередь необходимо заняться слоем гидроизоляции. Для его создания можно использовать любой материал, но зачастую это обычная полиэтиленовая пленка, толщина которой не менее 100 мкм. Она стелется внахлест по всей поверхности основания. Имеющиеся стыки проклеиваются строительным скотчем. Теперь пришла очередь ленты демпферной. Ее использование обязательно, так как ее основа будет компенсировать температурные перепады, которые будут случаться в дальнейшем. Для ее крепления рекомендуется использовать самоклеящуюся основу (можно двухстороннюю).
Накладывается демпферная лента
Проводим монтаж своими руками
Обустройство теплого пола условно можно разделить на шесть основных этапов. Для начала детально рассматриваются схемы его укладки, при возникновении вопросов и обнаружении неточностей в описании проводится консультация с мастером.
I этап
Перед монтажом устройства теплого пола следует подготовить опорную поверхность, в роли которой выступает бетонное основание. Бетонной плите необходимо уделить особое внимание.
Для этого понадобится:
- Полностью удалить старое перекрытие. Для этого снимается кафель, паркет, линолеум или другой материал, который использовался в качестве облицовочного.
- Обнаруженные сколы, отверстия и трещины расширяются до 2 см размера. Для этого можно использовать обычный перфоратор. После чего ниши заделываются при помощи цементно-песчаного раствора.
- На подготовленное перекрытие высыпается сухая смесь для выравнивания поверхностей. Распределяется она при помощи игольчатого валика, который способствует удалению пузырьков воздуха из структуры материала.
- Запрещается выравнивать поверхность, которая имеет отклонения от горизонтали.
Подготовка пола
II этап
После окончания подготовительно этапа направленного на выравнивание и очистку используемой поверхности, необходимо подготовить поверхность под блок коллектора. После этого обратная и напорная ветвь подтягивается к нему при помощи отводов труб, которые представляют собой систему центрального отопления.
Для этого понадобится:
- Врезание тройников или штуцеров. Подобные манипуляции необходимо провести и с обраткой. Для правильного монтажа рекомендуется обратиться за помощью в коммунальную службу, так как надзор за системами отопления осуществляют именно они.
- Шаровые вентили монтируются при помощи отводов или штуцеров. Они станут отправной точкой последующего устройства теплых полов. Выбор места должен проводиться внимательно, чтобы не испортить имеющийся интерьер комнаты.
- На напорную ветку необходимо установить напорный коллектор, термостат, тройники и вентили. На обратной ветке должны быть расположены штуцеры (сброс лишнего воздуха), обратный коллектор, тройники и вентили.
- Байпасы врезаются между тройниками. Представляет собой вертикальный участок, в который впоследствии можно будет установить циркуляционный насос.
- После этого в коллекторе необходимо разместить расходомеры, а в нижний – термостаты.
Установка коллектора
III этап
Закончив установку коллектора можно приступать к монтажу экрана – плиты, которая изготовлена из пенополистирола экструдированного. Она наклеивается непосредственно на стяжку при помощи мастики на основе битума.
Необходимые шаги:
- наносится слой мастики;
- на нее наклеивается пенополистирол;
- вся поверхность застилается листами фольги.
Кладем слой утеплителя и фольги
IV этап
При строительстве контура, в первую очередь, производится укладка реек перпендикулярно стене, на которой был установлен коллекторный шкаф. Шаг между рейками должен составить порядка 15 см.
Последовательность действий:
- труба крепится к штуцеру коллектора (напорного), при этом рейки выводятся параллельно к дальней стене;
- дойдя до стены, делается поворот на 90° и устанавливается перпендикулярно рейкам. Трубопровод фиксируется при помощи клипс, которые входят в комплект реек;
- дойдя до крайней рейки, делается петля с радиусом в 10см, при этом вторая линия уже укладывается по принципу змейки. Она должна находиться параллельно первой. После последней рейки труба сгибается в своеобразную петлю, после чего монтируется на следующий рядок. Эти манипуляции необходимо проводить вплоть до коллектора, который размещен на стене;
- после этого труба доводится до коллектора и сгибается под углом в 90°. После чего подводится к обратному коллектору.
Подсоединение коллектора к трубам
В конечном итоге контур сомкнется. Лучше использовать трубы, изготовленные из полиэтилена или металлопластика. Температурные датчики размещаются между горизонтально уложенными участками. Их приводы должны быть выведены к поверхности плинтуса, после чего они прикрепляются к блоку управления и термостату.
Таблица расхода труб для теплого пола
V этап
Перед тем, как делать стяжку, не лишним будет уложить демпфер прокладку вдоль стен. Затем приступаем к подготовке раствора. После нанесения для выравнивания используется обычный шпатель. Льется раствор от дальней стены и по направлению к выходу (дверному проему). Теплый водяной пол может делаться на протяжении пары дней или нескольких месяцев.
Нахлест на стены лентой
VI этап
После окончательного просыхания стяжки, можно приступать к нанесению облицовочного слоя. Схема устройства водяного теплого пола может в этом помочь. Если используется кафель, то его оклейка производится непосредственно на слой стяжки. В то время как паркет или ламинат в подобной прослойке не нуждается. Для укладки линолеума используется тот же способ укладки.
Высыхание стяжки
Даже небольшая прослойка может стать ненужным экраном между радиатором, находящегося в стяжке и помещением, которое нуждается в обогреве. В конечном итоге необходимо провести настройку установленных термостатов. Для этого понадобится проведение нескольких замеров поверхности устройства теплых полов и напольного покрытия. Выравниваются показатели вручную.
Укладка покрытия
Первое испытание установленного оборудования
После окончания монтажных работ систему можно подключить к сети. Но перед этим рекомендуется провести опрессовку всей системы (проверка гидравлических показателей). Для этого в водяной теплый пол поочередно подают горячую воду. Внутри системы вместе с воздушными массами, обнаружить масса строительного мусора (пыли), которые приведут к дальнейшей поломке автоматических систем воздухоотводов. Для этого необходимо полностью выпустить воздух из системы при помощи кранов для слива воды. Испытать теплый пол водяной необходимо не менее суток под рабочим давлением. Завершающий слой бетонной стяжки можно наносить только в том случае, если в течение суток на поверхности не появились первые признаки протечек.
Устройство водяного теплого пола в квартире. Как правильно сделать?
Если вы заинтересовались вопросом, как создать в своей квартире теплый водяной пол, то вам необходимо знать о некоторых особенностях, с которыми вы можете столкнуться. Поскольку в квартирах всегда предусмотрено два стояка отопления – подача и обратка, то при подключении к стоякам коллектора, к которому в дальнейшем и будет идти подключение теплого водяного пола, вы можете добиться эффекта перебоя отопления у соседей по вашему стояку. Так же подключение напрямую к ТЭЦ может привлечь за собой плачевные последствия. Как выйти из ситуации, читайте дальше.
Чтобы избежать проблемы с отоплением в квартирах, которые используют только отопление по типу радиального, а также проблем с управляющей компанией, мы предлагаем вам 2 разновидности возможной установки теплого водяного пола в вашей квартире.
Способ №1. Теплый пол в квартире от ТЭЦ
Предложенный вариант рассчитан на подключении к подаче и обратке теплообменника, и это принципиально отличается от подключения радиатора. Теплообменник — это аппарат, предусмотренный для создания внутри себя обмена теплом, что достигается за счет взаимодействия внутренних деталей, которые сохраняют разные температурные режимы. По видовому типу представлены теплообменники трубчатые и пластинчатые. Первый вид — это устройство в виде трубы большого диаметра, внутри которой расположены трубы меньшего диаметра. Пластинчатые теплообменники представлены в виде сбора пластин, с отштампованными неоднородными каналами и специальным покрытием, предназначенным для прогона воды.
Можно не беспокоиться за прочность теплообменника, поскольку они представлены в корпусах таких материалов как сталь, силумин, латунь, медь и другие высокопрочных материалов.
Принцип работы теплообменника
На одну из панелей аппарата подсоединяются водяные теплые полы, на другую подача и обратка ТЭЦ (внимание! прямое подключение к полу исключено). Жидкость аккумулирует в аппарат благодаря принудительной циркуляции, не касаясь устройства теплого пола.
Чтобы теплообменник правильно функционировал, необходимо произвести монтаж в четком указании с требованиями — теплообменник зафиксировать на поверхности с помощью крепежной ленты либо уголка и смонтировать нужное количество фильтров в зависимости от отопительной системы. Необходимо также следить за диаметром подключения, поскольку внутри устройства небольшой объем теплоносителя. Благодаря малому водному сопротивлению устройства, его работа не отражается на всей системе отопления дома. Не стоит беспокоиться о размерах – любой теплообменник представлен в удобном размере, не имея громоздких объемов.
Способ №2. Теплый пол в квартире со своей котельной
После того, как вы выбрали расположение котла для нагрева водяного теплого пола в квартире, проверьте, чтобы оно соответствовало требованиям. При выборе места для любого из типов котлов — работающий на газе или электричестве, помните, что котел газ лучше установить в нежилой комнате — балкон, например. Это будет идеальным вариантом для вывода дымохода извне, и присоединения к котлу теплого водяного пола. Для электрокотла лучше выбрать место похожее по типу на кладовку. Таким же принципом руководствуйтесь при определении расположения коллектора.
В дальнейшем подготовка к установке водяного теплого пола в квартире проста – избавиться от всех дверей, привести стены в первоначальное состояние, достичь черновой стяжки и убрать весь преграждающий работе мусор с площади квартиры. Стяжка уменьшается по максимуму, чтобы достичь предельной толщины пирога теплого пола.
Обязательно проверить имеются ли неровности по уровню стен на чистой площади квартиры. При достижении указанных неровностей более 15 см необходимо использовать жидкий раствор для выравнивания. Таким же правило руководствуйтесь при измерении площади пола. Дополнительно произведите необходимые работы относительно электричества, вентиляции.
Завершив с первоначальными манипуляциями, не забывайте про особенности устройства квартиры.
После соблюдения предписаний можно приступить к прокладке утеплителя, который рекомендуется выбирать из такого материала, как пенополистирольная плита. Обратите внимание на толщину — она не должна быть минимум 3 см, желательно 5 см для непервых этажей. Утеплитель необходим для сокращения обогрева самого низа сооружения — плит перекрытия. Обратите внимание на параметры плиты — объем менее 35 кг на кубический метр должен вами быть совершенно исключен, если Вы не планируете заниматься демонтажем в течении ближайших месяцев.
Видео по монтажу водяного теплого пола в квартире
Пирог теплого пола
Теперь поговорим о такой важно части, как пирог теплого пола.
Пирог — это сочетание слоев, из которых и состоит отопительная система теплого пола. Пирог водяного теплого пола в квартире по своему составу ничем не отличается от остальных. Главное, на что необходимо обратить внимание, это состав:
- демпферная лента
- утеплитель
- полиэтиленовая плёнка (использование необходимо для сохранения целостности раствора от протеканий к соседям снизу)
- маты с бобышками
- труба теплого пола
- чистовая стяжка
Стоит обратить внимание на сложность установки и ремонтных работ, связанных с пирогом водяного теплого пола в квартире. В случае неисправности, связанной с протечкой какой — либо из установленных труб, необходимо будет снять все покрытие и разобрать бетонную стяжку. Поэтому необходимо выбирать трубы, изготовленные из качественных материалов, чтобы уменьшить возможные протечки. Кроме этого стоимость пирога теплого водяного пола значительно выше, поскольку система монтажа указанных труб отличается от монтажа электрического теплого пола.
Способы укладки труб
Помимо простого и углового способа укладки труб водяного теплого пола в квартире, можно выбрать дополнительные два вида укладки для труб — параллельный или спиральный.
Разница в представленных способах следующая — параллельный располагается на всей площади пола по параллельным участкам, и самые высокие температурные участки расположены в начале трубы, в то время как в концах трубы тепло не дислоцируется. Указанный вариант отлично подойдет для установки в квартиры небольших размеров и стабилизации зон повышенного холода, расположенных около двери и окошек. Спиральный способ создает равный по температурному режиму водяной теплый пол в квартире, поскольку все трубы расположены по спирали. В данном случае нагрев пола происходит постепенно по всей поверхности пола квартиры, на котором монтированы трубы. Какая бы схема водяного теплого пола не была выбрана для укладки, необходимо соблюдать стандартный шаг между трубами. Его величина является результатом комплексного расчета проекта и может расположена в диапозоне от 0,1 до 0,30 метров.
Расчет теплого пола в квартире
Перед началом расчета определитесь с тепловыми потерями и если вам необходима будет труба с большим шагом, смело делайте шаг трубы не более 150 мм..
Не забывайте, что на плиты перекрытия нельзя создавать серьезные нагрузки.
Общую стоимость водяного теплого пола в квартире определяет площадь помещения, комплектация оборудования, качество материала и способ производства работ. Пакетное формирование теплого пола обеспечивает совместимость элементов и эффективный прогрев в диапазонах температурного режима. Заводская комплектация снижает стоимость материалов в 1,5-2 раза. Для получения точных расчетов необходимо обратиться к специалистам.
Электрический или водяной теплый пол в квартиру?
Самое главное, что вам нужно решить для себя перед началом монтажа — электрический или водяной теплый пол?
Приведем вам ряд достоинств, которые связанным с установкой именно теплого водяного пола в квартире.
- Финансовый фактор — вы уменьшаете количество потребляемой электроэнергии до 25%, а экономия отопления благодаря прогреву комнат, составляет до 60%. Неплохие цифры для размышления.
- Удобство — прогрев воздуха создает приятный температурный режим для жизни и любого вида деятельности жильцов квартиры, поскольку температурный режим достигает от +23 в области ног и до +19 в области головы человека. Плюсы в играх на полу и любого другого вида занятия — просмотр фильмов перед телевизором, хождение без тапочек и много другое.
- Защита от воздействия — после монтажа все детали нагревателей скрыты от свободного доступа самых маленьких жильцов квартир, что предотвращает любой вид взаимодействия с нагревательными элементами.
Можно ли делать теплый пол в квартире?
Что касается правовых вопросах, то первое, что Вам нужно усвоить — нельзя подключаться напрямую к ТЭЦ. Ни в коем случае. Так Вы сделаете хуже не только соседям, но и себе. Трубы не расчитаны на теплоноситель ТЭЦа с его давлением.
Что касается правовых вопросах, то в России запрещено использование водяных систем теплого пола в многоквартирных домах. Связано это в первую очередь с тем, что люди по глупости подключаются напрямую к ТЭЦ. Можно ли это делать через теплообменник, надо уточнять. В других странах с этим проблем не наблюдается.
Наш вердикт — теплый пол в квартире делать можно. Но наш вердикт, это не вердикт законодательства конкретной страны
Читайте так же:Мобильное тестирование с AWS: Использование AWS Device Farm
AWS Device Farm — это сервис тестирования для разработчиков мобильных приложений, использующих приложения Android, iOS или Amazon Fire OS. AWS Device Farm, анонсированная на региональном саммите AWS в Нью-Йорке в июле 2015 года , позволяет разработчикам одновременно тестировать приложения на широком спектре устройств, включая смартфоны, планшеты и другие устройства, в облаке. Разработчики могут просто загрузить свои приложения и протестировать их на различных устройствах на предмет новейшей комбинации устройства и ОС.
В этой статье мы расскажем вам, как настроить и использовать AWS Device Farm .
Обзор
Прежде чем мы перейдем к практическим рекомендациям, давайте подробнее рассмотрим проблемы, которые решает AWS Device Farm.
Поскольку многие разработчики полагаются на ручное тестирование своих приложений, этот этап может быть чрезвычайно трудоемким и сложным, особенно с учетом большого разнообразия устройств на рынке Android, не говоря уже о множестве вариантов моделей, версий ОС, настроек оператора связи и Больше.Это затрудняет доступ или даже успешное моделирование 100% того, что доступно.
AWS Device Farm решает эту проблему, предоставляя тестовую среду, охватывающую все доступные комбинации устройств и операционных систем. В нем используются не симуляторы, а настоящие некорневые устройства.
Такой доступ к новейшему оборудованию, операционным системам и платформам позволяет упростить процесс тестирования, сделать его менее дорогим и инновационным. Согласно официальному пресс-релизу, объявляющему об услуге, «Разработчики могут использовать AWS Device Farm для тестирования реальных сценариев работы с клиентами, точной настройки тестовых сред с широким набором конфигураций устройств, включая язык, местоположение, данные приложений и зависимости приложений. .” Он может выявлять ошибки на нескольких устройствах и предоставляет данные для анализа событий даже в сотнях тестов.
Что касается цен, AWS Device Farm предлагает бесплатный тарифный план на первые 250 минут устройства . После этого вы платите 0,17 доллара за минуту использования устройства. Вы также можете платить 250 долларов за устройство в месяц за неограниченное время тестирования.
Полный список устройств, цены, документация и многое другое можно найти на официальной странице AWS Device Farm.
Начало работы
Перед созданием нашего проекта в AWS Device Farm вам необходимо убедиться, что у вас есть учетная запись AWS.AWS рекомендует вместо использования корневой учетной записи AWS для доступа к сервису создать нового пользователя IAM (Identity and Access Management) (если у вас его еще нет. Вам потребуется настроить разрешение для доступа пользователя IAM к устройству. Farm , создав новую политику доступа в IAM.
А теперь приступим к нашему проекту.
Первым шагом является создание нового проекта, который представляет собой рабочее пространство внутри AWS Device Farm. Проект собирает все выполненные в нем прогоны.Согласно AWS, в этом контексте запуск «представляет собой конкретную сборку вашего приложения с определенным набором тестов, для запуска на определенном наборе устройств». Здесь представлены различные способы отслеживания результатов наших тестов. Проекты не различаются по операционной системе, приложению или типу тестов. Однако Run есть, поэтому мы можем запустить тестовый пример для Android и один для iOS в одном проекте или даже протестировать два разных приложения. Поскольку количество проектов, которые мы можем создать, не ограничено, всегда лучше различать операционную систему, приложение или и то, и другое.
После создания проекта мы можем начать с нашего первого набора тестов, выполняемых на пуле устройств; другими словами, наш первый запуск. Прежде всего, нам нужно выбрать тип приложения, которое мы хотим протестировать. Поскольку в этом посте мы сосредоточимся исключительно на приложениях для iOS и Android, нам нужно будет выбрать нативные (iOS или Android).
Далее нам нужно загрузить приложение , которое мы хотим протестировать. Для Android нам нужно экспортировать файл .apk из конфигурации отладки (при выпуске все тесты удаляются).Для iOS нам нужен .ipa.
Нам нужно заархивировать наш проект (обязательно запустите команду архивирования с выбранным реальным устройством или «обычным устройством iOS»), а затем экспортировать его, выбрав «Сохранить для развертывания разработки». По завершении мы можем загрузить его.
Настроить тест
Теперь мы можем настроить наши тесты . Доступно множество вариантов, но мы можем выбрать только один для каждого запуска. Внешние фреймворки, такие как Appium или Cabalash, поддерживаются вместе с XCTest, XCUITest и Instrumentation вместе с тестом Fuzz.
Давайте остановимся на последнем. Цель нечеткого теста (или фаззинга) — нагружать приложение большими объемами случайных данных, которые могут привести к сбою, чтобы обнаружить любые ошибки или лазейки. Никаких дополнительных файлов не требуется. Просто выберите Built in: Fuzz, и мы готовы к работе.
Примечание. Если вы планируете выполнить тест Fuzz в своем приложении для iOS, убедитесь, что у вас установлена минимальная цель iOS 9.0, поскольку тесты Fuzz не работают в версиях iOS 10.0.1+. (В настоящее время нет устройств с iOS 10.0.0 или 10.0.1. Они начинаются с iOS 10.0.2.)
Пул устройств
Пул устройств — это контейнер устройств, на котором наши тесты будут запускать . В Device Farm пул устройств «представляет собой набор устройств, которые обычно имеют схожие характеристики, такие как платформа, производитель или модель». Кураторский пул «Top Devices» доступен по умолчанию, или мы можем создать свой собственный. Список доступных устройств довольно большой, он охватывает все устройства iOS (начиная с iOS 8.0 и выше) плюс хороший выбор устройств Android.Вы можете найти самые распространенные устройства, такие как Samsung Galaxy и Nexus, а также некоторые устройства Amazon Fire. Также есть возможность предложить устройство для добавления в пул доступных.
Вы также можете определить несколько простых правил для автоматического включения определенных устройств, например «Все планшеты Android» или «Все устройства Samsung».
Нет ограничений на количество устройств, которые вы можете включить в пул, но тесты будут выполняться одновременно на 5 устройствах максимум.
Провести собственные тесты
Как указано выше, ферма устройств поддерживает большое количество наборов тестов.Как загружаются тесты, различается от платформы к платформе. Хотя на устройстве Android достаточно загрузить тестовый .apk (который можно легко сгенерировать с помощью Android Studio), на iOS у нас есть разные случаи, если мы хотим XCTests или XCUITests. Для XCTests нам нужно загрузить zip, содержащий наш .xctest, вместо XCUITests нам нужен файл .ipa.
Нужные нам файлы можно найти в Library / Developer / XCode / DerivedData / My-App / Build / products / debug-iPhone. Файлы XCTest находятся в пакете my-app-name .Откройте пакет (Показать содержимое пакета) и найдите файл .xctest в каталоге подключаемых модулей. Для XCUITest вам необходимо сжать пакет my-app-name-Runner и изменить расширение с .zip на .ipa.
Также помните, что в отладочной сборке XCode только для текущей аппаратной архитектуры. Это может привести к ошибкам тестирования, если вы попытаетесь запустить тест на устройстве с архитектурой, отличной от вашей.
Результаты испытаний
Теперь мы можем запустить наш тест. Тест будет выполняться параллельно на всех устройствах в пуле . Общее время теста рассчитывается как сумма времени, потраченного каждым устройством . Это время, когда Amazon выставит вам счет, чем больше пул устройств, тем больше времени, которое мы собираемся потратить.
Когда тесты будут завершены, будет представлен с красивым обзором . Для каждого устройства мы можем увидеть, какие тесты прошли успешно, а какие нет, а также подробную информацию об устройстве . Все записано, мы можем получить доступ к графикам производительности, показывающим FPS, CPU, Memory и Threads, а также все журналы устройства и видео, показывающее экран устройства.Это особенно полезно во время тестирования пользовательского интерфейса или Fuzz, чтобы лучше определить проблему.
Стоимость
Базовый тарифный план составляет 0,17 доллара США за минуту устройства. То есть, если вы запускаете тест на двух устройствах параллельно, и каждое из них занимает 5 минут, вы потратите (5 + 5) * 0,17 = 1,7 $. Если ваши тесты занимают много времени или включают большое количество устройств, есть также фиксированный план за 250 долларов в месяц, который позволяет запускать столько тестов, сколько вы хотите.
Удаленное устройство
Интересной особенностью является возможность удаленно подключиться к определенной модели устройства через удаленный экран и установить наше приложение.Это особенно полезно, если вам нужно протестировать на конкретном устройстве (например, для воспроизведения ошибки), хотя процесс не такой гладкий, как должен быть, с заметной задержкой на экране устройства.
Заключение
Device Farm, безусловно, стоит попробовать, особенно если у вас есть собственный набор тестов. Он прост в использовании и предлагает очень подробный обзор , содержащий всю информацию, необходимую для воспроизведения ошибки. Его сильной стороной является возможность выполнять тесты на широком спектре устройств, что позволяет нам обнаруживать проблемы, которые не могли быть обнаружены на наших тестовых устройствах.Это очень удобно, особенно на Android, где сложно охватить большое количество устройств из-за большой фрагментации устройств. В документации немного не хватает того, как экспортировать тесты для iOS (особенно, где их найти) и некоторых ошибок, не связанных с кодом (например, когда вы пытаетесь загрузить ipa, скомпилированный для другой архитектуры). Функция удаленного устройства — это круто, но в настоящее время ее удобство использования является единственным средним из-за большой задержки между вводом и ответом устройства.
Загрузите наше новое приложение Cloud Academy прямо сейчас!
Список устройств AWS Device Farm
:; +++ `++++ +++++ ` ++++++, +++++++; +++ +++++ +++ `+++++ ; ++: '++++ , +++, ++++ +++ `++++` +++ ++++, +++ ++++ ' +++ +++++ +++ +++++ +++.; ++++ ; ++; , ++++ . +++ `++++` +++ ++++: +++ ++++ ' +++ +++++ +++ ++++: +++; +++ ++++ +++: , +++.+++ +++: +++, ++++. +++ +++ +++, ++++. +++ `; +++++++ ++++++++;` ; +++++++++++,.++++++++++++; . +++++++++++++++ +++++++++++++++++, `+++++++++++;` `+++. +++.; +++++++++++` : ++++++++ '+++' +++, '++++++++: `+++++++. '+++. +++. +++++++ ` ++++++, +++ `+++,: ++++++ +++++. ++++.+++. +++++ +++++. +++ +++, '++++ '+++. +++; , +++, +++ ' +++,: +++, +++, +++ , +++ `+++++. ++++ +++, '++: ++++++:; ++++ `: ++' '++,: +++++++.+++++, ++ ' , +++; +++++++ '; ++++++ +++, +++, +++++++++ '. , ++++++++. +++ ++++ '+++++++++++++++++++++++++, ++++ ++++; +++++++++++++++++++++ ++++ ++++, ++++++++++++. ++++ `++++; '++++ ` +++++ `` +++++ ++++++ `` ++++++ .++++++:: ++++++. ; +++++++ `` +++++++; ; ++++++++:: ++++++++; ++++++++++++:: ++++++++++ ' ++++++++++++++++++ ': ``,; ++++++++++++++++' ++++ +++, ++++++++++++++++++++++++++++++++++++++++++ +++++ ++++. , +++ +++ ++++++++++++++++++++++++++++++++++++++++++ ++ ++++ +++,.+++ +++ `, '++++++++++++++++++++++',` +++ +++ +++. +++ '++: +++ +++ +++. +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ ++, +: +++ +++ +++ ++++ +++ +++: +++, ++++ +++ +++ +++ ' +++ :.+++ +++ ++++++++++++ +++ +++. `+++ +++++++: +++ +++++++++ '+++; ++;' ++++ ++++++ `+++, ++++++ +++, +++++++ , ++++ +++ +++. ++++++ +++ +++ `+++ +++: +++ +++: +++++++; +++ +++ `+++ +++` `+++++++++++++++ '' +++; +++ ; ++; +++: +++++++++++++++++++++++++.+++ +++ +++ `+++` '+++++++++++++. '++++++++++++, +++ +++: +++ +++++++++++++:; ++++++++++++ `+++ +++ ++++++++ '`: ++++++++ +++` +++ `+++:, +++`; +++ `+++ ;;` +++ : ++; . ;;; +++; +++.. ;;;;: +++ ++++ `;;;;;:`: ;;;;;. +++ ` ++++. ;;;;;;;;;, `;;;;;;; : +++ ++++; . ;;;;;;;;;;;;;;;;; +++ +++++, ;;;;;;;;;;;;;;;. `++++; +++++: ;;;;;;; `;;;; : ++++++. '++++ `;;;;;; : ++++++++ , ++++ `.;;; ++++++: ++++, `` ++++ '' ++++ '+++: +++++ +++ +++++ +++ ; +++. +++; , +++ +++ +++ +++ +++.'++' , +++ +++ +++. ++++ +++,. ++++++ . +++, ++++++: +++, ++++++, +++,: ++++++, .+++: ++++++. +++ ++++++. +++, +++++ ` . +++ ++++; +++ ++++, +++: `++++` `+++.++++ +++: ++++ +++: '++++ `+++ +++++ +++ +++++ +++: ++++; `++++++.+++++ ` ++++ ++
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``..```````````., .. `` `` `` `` `` `` `` `` `` `` `` `. ,,.` ` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` ``, ;;;;;;; `` `` `` `;;;;;;;;;,` `` `` `` `` `` `` `` `` `` `;;;;;;;;;.` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``: ;;;;;;;;;, `` `` ``, ;;;;;;;;;;; `` `` `` `` `` `` `` `` `: ;;;;;;;;;;;:` `` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;;;;;;;;; `` `` `` ;;;;;;;;;;;;;;: `` `` `` `` `` `` `` `;;;;;;;;;;;;;;:` `` `` `` `` `` `` ` `` `` `` `` `` `` ;;;;;;;;;;;;; `` `` `` ;;;;;;;;;;;;;;;; ` `` `` `` `` `` `` `;;;;;;;;;;;;;;;;` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;;;;;;;;;;; `` `` `` ;;;;;;;;;;;;;;;;; ;.`` `` `` `` `` `` ;;;;;;;;;;;;;;;;; `` `` `` `` `` `` ` `` `` `` `` `` `;;;;;;;;;;;;;;;` `` `` `` `+ ;;;;;;;;;;;;;;; ;;. `` `` `` `` `` `` + ;;;;;;;;;;;;;;;;; `` `` `` `` `` ` `` `` `` `` ``, ;;;;;;;;;;;;;;; `` `` `` `+++ ';;;;;;;;;;;; ;;;. `` `` `` `` `` `+++ ;;;;;;;;;;;;;;;;` `` `` `` `` `` `` `` `` `` `` `;;;;;;;;,`, ;;;;; `` `` `` `+++++ ''` `: ;;;;; ;;;;; `` `` `` `` `` `+++++:` `` `: ;;;;;;;;;:` `` `` `` `` `` `` `` `` `` ``, ;;;;;;; `` ``, ;;;;; `` `` `` `+++++ ''` `` `.;;;;;;;;: `` `` `` `` +++++: `` `` `. ;;;;;;;;` `` `` `` `` ` ` `` `` `` `` `` ;;;;;;; `` ``, ;;;;; `` `` `` `+++++ ''` `` `` `:; ;;;;;; `` `` `` `` `` +++++: `` `` ``: ;;;;;;; `` `` `` `` `` `` `` `` `` `` `;;;;;;` `` ``, ;;;;; `` `` `` +++++ '' `` `` `` ` , ;;;;;;; `` `` `` `` +++++: `` `` `` `: ;;;;;;` `` `` `` `` ` `` `` `` `` `` `: ;;;;;.`` `` `, ;;;;;` `` `` `+++++ ''` `` `` ``, ;;;;;; `` `` `` `` + ++++: `` `` `` `` ;;;;;;: `` `` `` `` `` `` `` `` `` `` ;;;;;; `` `` ``, ;;;;; `` `` `` +++++ '' `` `` `` ` `` ;;;;;;, `` `` `` `+++++:` `` `` `` `` ;;;;;; `` `` `` `` `` `` `` `` `` `` ;;;;;, `` `` ``, ;;;;; `` `` `` `+++++ ''` `` `` `` `` `;;;;;;` `` `` `` +++++: `` `` `` `` `: ;;;;;` `` `` `` `` ` `` `` `` `` ``, ;;;;; `` `` `` `, ;;;;;` `` `` `+++++ ''` `` `` `` `` `: ;;;;;` `` `` `` +++++: `` `` `` `` `` ;;;;;.`` `` `` `` ` `` `` `` `` ``: ;;;;; `` `` `` `, ;;;;;` `` `` `+++++ ''` `` `` ` `` ``. ;;;;; `` `` `` `+++++:` `` `` `` `` `;;;;;:` `` `` `` ` ` `` `` `` `` `` ;;;;;; `` `` ``, ;;;;; `` `` `` +++++ '' `` `` `` `` `` `;;;;;.` `` `` `+++++:` `` `` `` `` `;;;;;:` `` `` `` ` ` `` `` `` `` `` `;;;;;.`` `` ``, ;;;;; `` `` `` +++++ '' `` `` `` `` `;;;;;,` `` `` ` `+++++:` `` `` `` `` `: ;;;;;` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` ``, ;;;;; `` `` `` +++++ '' `` `` `` `` `` `;;;;;:` `` `` `+++++:` `` `` `` `` `: ;;;;;` `` `` `` ` ` `` `` `` `` ``, ;;;;; `` `` `` ``, ;;;;; `` `` `` +++++ '' `` `` `` `` `` `;;;;;:` `` `` `+++++:` `` `` `` `` `, ;;;;;` `` `` `` ` ` `` `` `` `` `: ;;;;;` `` `` `` `, ;;;;;` `` `` `+++++ ''` `` `` ` `` `` `;;;;;,` `` `` `+++++:` `` `` `` `` `: ;;;;;` `` `` `` ` ` `` `` `` `` `;;;;;;` `` `` `` `, ;;;;;` `` `` `+++++ ''` `` `` ` `` `` `;;;;;,` `` `` `+++++:` `` `` `` `` `: ;;;;;` `` `` `` ` ` `` `` `` `` `` ;;;;;: `` `` `` ``, ;;;;; `` `` `` +++++ '' `` `` ` `` `` `;;;;;.`` `` `` +++++: `` `` `` `` `` ;;;;;: `` `` `` `` `` `` `` `` `` `` `;;;;;.` `` `` `` `, ;;;;;` `` `` `+++++ ''` `` ` `` `` `` ;;;;; `` `` `` `+++++:` `` `` `` `` `;;;;;:` `` `` ` `` `` `` `` `` `` `` `;;;;;.` `` `` `` `, ;;;;;` `` `` `` +++++ '' `` `` `` `` `` `, ;;;;;` `` `` `` `+++++:` `` `` `` `` `;;;;;,` `` ` `` `` ` `` `` `` `` `` `` `` ;;;;; `` `` `` ``, ;;;;; `` `` `` +++++ ' `` `` `` `` `` ;;;;;; `` `` `` `` +++++: `` `` `` `` ``.;;;;; `` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` ``, ;;;;; `` `` `` ++++ + '`` `` `` `` `. ;;;;;:` `` `` `` `+++++:` `` `` `` `` `: ;;;;;` `` `` `` `` ` `` `` `` `` `` `` `` `` `. ;;;;;` `` `` `` `, ;;;;;` `` `` `+++ ++ '`` `` `` `` `;;;;;;` `` `` `` `` +++++: `` `` `` `` `;;;;;; `` `` `` `` ` `` `` `` `` `` `` `` `` ``, ;;;;; `` `` `` ``, ;;;;; `` `` `` ++ +++ '`` `` `` ``, ;;;;;; `` `` `` `` +++++: `` `` `` ``: ;;;;; : `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``: ;;;;; `` `` `` ``, ;;;;; `` `` `` +++++ '`` `` `` `.;;;;;;, `` `` `` `` `+++++:` `` `` `` `;;;;;;` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` ;;;;;; `` `` `` ``, ;;;;; `` `` ` `+++++ '` `` `` `` ;;;;;;; `` `` `` `` `+++++:` `` `` `;;;; ;;; `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `;;;;;:` `` `` `` ``, ;;;;; `` `` ` `` +++++ '' `` `` `, ;;;;;;;,` `` `` `` `` +++++: `` `` `` ;;;; ;;;. `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` ;;;;;, `` `` `` `` `, ;;;;;` `` `` `` +++++ '' `` `` ;;;;;;;;; `` `` `` `` `+++++:` `` ``.;;;;;;;; `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `;;;;;.` `` `` `` ``, ;;;;; `` `` `` `+++++ '` ``: ;;;;;;;;;; `` `` `` `` `` +++++: `` ``: ;;;;; ;;; `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `;;;;;` `` `` `` `` `, ;;;;;` `` ` `` `` +++++ '' ;;;;;;;;;;;. `` `` `` `` `` +++++: `. ;;;;;;; ;;;: `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `.: ;;;;;; ++++++++++ ';;;;; `` `` `` ;;;;;;;;;;;;;;;;;, `` `` `` `` `` `` ++ ';;;;;;;;;;;;;;; `` `` `` `` `` `` `` `` `` `` `` `` `` ``, +++++++ ;;;;; ++++++++++ ';;;;; ` `` `` `;;;;;;;;;;;;;;;;,` `` `` `` `` `` ;;;;;;;;;;;;;; ;;; `` `` `` `` `` `` `` `` `` `` `` `` ``. +++++++++ ;;;;;; ++++++++++ ';;;;; `` `` `` `;;;;;;;;;;;;;;;.` `` `` `` `` `` `;;;;;;;;;;;;;; ;; `` `` `` `` `` `` ` `` `` `` `` `` ``.+++++++++++ ;;;;;; ++++++++++ ';;;;; `` `` `` ;;;;;;;;;; ;;;; `` `` `` ``; .`````` ;;;;;;;;;;;;;;: `` `` `` `` `` `` ` `` `` `` `` `` `` +++++++++++++ ;;;;;; ++++++++++ ';;;;; ` `` `` `` ;;;;;;;;;;;;. `` `` `` `, ;;` `` `` `` ;;;;;;;;;;;;; .````````````` `` `` `` `` `` `` `++++++++++++++ ;;;;;; ++++++++++ ';;;;; `` `` `` ;;;;;;;;;;, `` `` `` `` `;;;` `` `` `;;;;;;;;;;;. `` `` `` `` `` `` ` `` `` `` `` `` `` +++++++++++++++ ;;;;; +++++++++++ ';;;;; `` `` `` ;;;;;;;;.`` `` `` `` `` `;;;` `` `` `;;;;;;;;:` `` `` `` `` `` `` `` `` `` `` `` `` `` `++++++++++++++++ ;;;;; :::::::::::: ;;;;; `` `` `` ;;;;;; `` `` `` `` `` `` `, ;;;` `` `` `;;;;;,` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `: ++++++++++;` `` `: ;;;;;` `` `` `` `` `, ;;;; ; `` `` `` +++++ '' `` `` `` `` `` `` ;;;: `` `` `` +++++: `` `` ` `` `` `` `` `` `` ` `` `` `` `` `` `'++++++++` `` `` `;;;;;;` `` `` `` `` `, ;;;; ; `` `` `` +++++ '' `` `` `` `` `` `;;;:` `` `` `+++++:` `` `` `` `` `` `` `` `` `` `` `` `` ``; +++++++ `` `` `` `` ;;;;;: `` `` `` `` ``, ;;;; ; `` `` `` +++++ '`` `` `` `` `` `.;;;. `` `` `` `+++++:` `` `` `` `` `` `` `` `` `` `` `` `` ``; ++++++ `` `` `` ``. ;;;;;. `` `` `` `` ``, ;;;; ; `` `` `` +++++ '' `` `` `` `` `` `;;;;` `` `` `` +++++: `` `` ` `` `` `` `` `` ` `` `` `` `` `:; +++++` `` `` `` `` `;;;;;;` `` `` `` `` ``, ;;;; ; `` `` `` +++++ '' `` `` `` `` `` `;;;;` `` `` `` +++++: `` `` ` `` `` `` `` `` `` `` `` `` `` ;; ++++ `` `` `` `` `` ;;;;;; `` `` `` `` `` `, ;;; ;; `` `` `` +++++ '`` `` `` `` `` `.;;;; `` `` `` `` +++++: `` `` `` `` `` `` `` ` `` `` `` `` `` ;; +++ '`` `` `` `` ``, ;;;;;, `` `` `` `` `` `, ;;; ;; `` `` `` +++++ '' `` `` `` `` ``: ;;;; `` `` `` `+++++:` `` ` `` `` `` `` ` `` `` `` `` `` ;;; ++. `` `` `` `` `` ;;;;;; `` `` `` `` `` ``, ;;; ;; `` `` `` +++++ '' `` `` `` `` `` ;;;;: `` `` `` `+++++:` `` ` `` `` `` `` ` `` `` `` `` `` ;;; ++ `` `` `` `` ``, ;;;;;; `` `` `` `` `` ``, ;;; ;; `` `` `` `+++++ ''` `` `` `` `` `;;;;,` `` `` `` +++++: `` `` `` `` `` `` `` `` `` `` `` ;;; '+.`` `` `` `` ;;;;;;. `` `` `` `` `` `` ``: ;;;;; `` `` `` `+++++ ''` `` `` `` `` `, ;;;;.` `` `` `` `+++++:` `` `` `` `` `` `` `` `` `` `` ;;;; +; `` `` `` `` ;;;;;;; `` `` `` `` `` `` `: ;;; ;; `` `` `` +++++ '' `` `` `` `` `;;;;;` `` `` `` `+++++:` `` ` `` `` ` `` `` `` `` `` ;;;;; + `` `` `` `;;;;;;;,` `` `` `` `` `` `` `: ;;; ;: `` `` `` +++++ '`` `` `` `` `` ;;;;; `` `` `` `` +++++: `` `` `` `` ` `` `` `` `` `: ;;;;; +` `` `` ;;;;;;;; `` `` `` `` `` `` ``: ;;;; : `` `` `` +++++ '' `` `` `` ``, ;;;;; `` `` `` `` +++++: `` `` ` `` `` `` `` `` `` `` ;;;;;;;:, ;;;;;;;;;.`` `` `` `` `` `` `;;;;;,` `` `` `` +++++ '' `` `` `` `` ;;;;;; `` `` `` `` +++++: `` `` `` `` ` `` `` `` `` `` ;;;;;;;;;;;;;;;;;: `` `` `` `` `` `` `` ;;;;; , `` `` `` +++++ '' `` `` `` `` ;;;;;: `` `` `` `` +++++: `` `` ` `` `` `` `` `` `` ``. ;;;;;;;;;;;;;;;; `` `` `` `` `` `` `` `;;;;; .``````` +++++ '`` `` `` `` `. ;;;;;,` `` `` `` `+++++:` `` `` `` `` `` `` `` `` `` `;;;;;;;;;;;;;;;` `` `` `` `` `` `` ``.;;;;; `` `` `` `` +++++ '' `` `` `` ``: ;;;;;. `` ``;, `` +++++: `` `` `` `` ` `` `` `` `` `` `;;;;;;;;;;;;;` `` `` `` `` `` `` `` ;;;;;; ` `` `` `` +++++ '' `` `` `` ;;;;;; `` `, ;;;` `` +++++: `` `` `` `` '' `` `` `` `` `` `` ;;;;;;;;;;;; `` `` `` `` `` `` `` `` `+ ;;;;;` `` `` `` +++++ '' `` `` ``. ;;;;;; `` ;;;;; `` `+++++:` `` `` ` `` '' `` `` `` `` `` `` `: ;;;;;;;.`` `` `` `` `` `` `` `` `';;;;:` `` `` `` +++++' '`` `` `` :; ;;;;;: ;;;;;; `` `+++++:` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `. ::,` `` `` `` `` `` `` `` ` `` `. ;;;;;.` `` `` `` +++++ '' `` `` `` ;;;;;;;;;;;;;; `` `+ ++++: `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` + ;;;;; `` `` `` `` +++++ '' `` `` `` ;;;;;;;;;;;;;; ` `` +++++: `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` + ;;;;; `` `` `` `` `+++++ ''` `` `` `, ;;;;;;;;;;;;; , `` `+++++:` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``; ';;;;, `` `` `` `` `+++++' '` `` `` ;;;;;;;;;;;; ;; `` `` +++++: `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `+ ;;;;;` `` `` `` `` `+++++ ''` `` `` ;;;;;;;;;;; ;;; `` `` +++++: `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ++ ;;;;; `` `` `` `` `` +++++ '' `` ``, ;;;;;;;;; ;;;;: `` `` +++++: `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``: + ';;;;.`` `` `` `` `+++++ ''` `` `` ;;;;;;;;;;;;;;, `` `` +++++: `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``. ++ ;;;;; `` `` `` `` `` `+++++ ''` `` `;;;;;;;; ;;;;;; `` `` `+++++:` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `. +++ ;;;;.` `` `` `` `` `` +++++ '' `` ``. ;;;;;;;; ;;;;;; `` `` `+++++:` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `; +++ ;;;;;` `` `` `` `` `` +++++ '' `` ``: ;;;;;;; ;;;;;;: `` `` `+++++:` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `++++ ';;;;` `` `` `` `` `` +++++' '`` `` ;;;;;;; ;;;;;;;.`` `` `+++++:` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ++++++ ;;;;. `` `` `` `` `` `+++++ ''` `` ;;;;;; ;;;;;;;; `` `` `` +++++: `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` '+++++++ ;;;;: `` `` `` `` `` `` +++++' '`` `: ;;;;;; ;;;;;;;; `` `` `` +++++: `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `.; +++++++++++ ;;;;: `` `` `` `` `` `` `` +++++ '' `` ;;;;;;;; ;;;;;;: `` `` `` +++++: `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``: +++++++++++++++++++++++++++++++++ +++++++++++++ ;;;;: `` `` `` `` `` `;;; +++++ ''` `;;;;;; ;;;;;;;; `` `` `` +++++ ;;;:. `` `` `` `` `` `` `` `` `` `` .; +++++; `` `` `` `` `` `. ++:` `` `` `` `++:` `` `` `` `` `` `` `` `` `` `` '++++++++++++++++++++++++++++++++++ +++++++++++++ ;;;;. `` `` `` `` ``; + ;;;; +++++ '' ``, ;;;;; ;;;;;;;;; `` `` `` +++++ ;;;;;;: `` `` `` `` `` `` `` `` `;; ++++++++ `` `` `` `` `++++` `` `` `` ++++.`` `` `` `` ` `` `` `` `` `` `++++++++++++++++++++++++++++++++++++ ++++++++++++ ;;;; `` `` `` `` ``. ++ ;;;;; +++++ '' `` ;;;;;; ;;;;;;;;; `` `` `` +++++ ;;;;;;;;: `` `` `` `` `` `` `` `;;; +++++++++. `` `` `` `: ++++ ''` `` ``; +++++ `` `` `` `` ` `` `` `` `` ``. +++++++++++++++++++++++++++++++++++++ ++++++++++: ;;; `` `` `` `` `` `'++ ;;;;;; +++++' '` `;;;;;; ;;. ;;;;;, `` `` `` +++++ ;;;;;;;;;; `` `` `` `` `` `` `;;; + ++++++++++ `` `` `` ++++++ `` `` `` ++++++ `` `` `` `` `` `` `` `` `` `+++++++++++++++++++++++++++++++++++++ +++++++++: ;;; `` `` `` `` `` `` ++++ ;;;;;; +++++ ''.;;;;;;; `. ;;;;;` `` `` `` +++++ ;;;;;;;;;;;. `` `` `` `` `` `: ;;; ++++++++++++` `` `` `++++++` `` `` `; ++++++` `` `` ` `` `` `` `` `` `` ++++++++++++++++++++++++++++++++++++++ ++++++ ';;; `` `` `` `` `` ``; +++ ;;;;;;; +++++' '`: ;;;;; , ``, ;;;;; `` `` `` `+++++ ;;;;;;;;;;;;` `` `` `` ``. ;;;; ++++++++++++, `` `` ++++++ `` `` `++++++,` `` `` `` ` `` `` `` `` `: ++++++++++++++++++++++++++++++++++++++ ++ ;;:, `` `` `` `` `` `` `` `` `. ++++ ;;;;;;; +++++ ''` `: ;;;;` `` `: ;;;;;` `` `` `` +++++ ;;;;;;;;;;;;; `` `` `` `` ;;;;; +++++++++++++ `` `` `++++++` `` `'++++++` `` `` `` `` `` `` `` `` `` `++++++:;:` `` `` `` `` ;;;;; `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` ++++ ';;;;: `` +++++' '`.;;; `` `` ;;;;;, `` `` `` `+++++:` `: ;;;;;;;;;;` `` `` `` ` ;;;; +++ `` `` +++++++ `` `` `` ++++++ `` `` `++++++,` `` `` `` ` `` `` `` `` `` ``; +++: ;;: `` `` `` `` `` ;;;;; `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `: ++++ ;;;,` `` +++++ '' ``:, ` `` `` ;;;;; `` `` `` `+++++:` `` `;;;;;;;;.` `` `` `, ;;;; ++ `` `` `'+++++;` `` `++++++` `` `' ++++++` `` `` `` `` ` `` `` `` `` `` ++: ;;;: `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `+++++ ;;` `` `` +++++ '' `` `` `` `` `` ;;;;; `` `` `` `` +++++: `` `` ``: ;;;;;;; `` `` `` ;;;;; + `` `` `` `++++++` `` `++++++` `` ++++++, `` `` `` `` `` `` `` `` `` `` + ;;;;; `` `` `` `` `` `` `;;;;;` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `.++++ '; `` `` `` +++++' '`` `` `` `` ;;;;: `` `` `` `+++++: `` `` ``, ;;;;;; `` `` `` ;;;;; '' `` `` `` '+++++ `` `` `++++ ++ `` `'++++++` `` `` `` `` ` `` `` `` `` ``: ;;;;;. `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` +++++ ;, `` `` `` `+++++ ''` `` `` ` `` `` ;;;;. `` `` `` `` +++++: `` `` `` ``: ;;;;;: `` `` `;;;;; .```````, +++++ `` `` ++++++ `` `++++++,` `` `` `` `` ` `` `` `` `` `+ ;;;;;` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `+++++;` `` `` `` +++++ '' `` `` ` `` `. ;;;;` `` `` `` `` +++++: `` `` `` `` ;;;;;; `` `` `;;;;; `` `` `` `` `+++++` `` `++++++` `'++++++` `` `` `` `` ` `` `` `` `` `` ;;;;;: `` `` `` `` `` `` `;;;;;` `` `` `` `` `` `` `` ;;: `` `` `` `` `` `` `` +++++, `` `` `` `+++++ ''` `` `` `` ``, ;;;; `` `` `` `` +++++: `` `` `` ``, ;;;;; `` `` `;;;; ; `` `` `` `` `+++++` `` `` ++++++ `` ++++++.`` `` `` `` `` `` `` `` `` `` ;;;;;. `` `` `` `` `` `` `;;;;;` `` `` `` `` `` `` `;;;;` `` `` `` `` `` `` `; +++++` `` `` `` `+++++ ''` `` `` `` ``: ;;;: `` `` `` `` +++++: `` `` `` `` `;;;;;,` `` `;;;; ; `` `` `` `` +++++ `` `` ++++++ `+++++++` `` `` `` `` `` `` `` `` `` `` ;;;;;. `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``. ;;;;: `` `` `` `` `` `` `+++++ ''` `` `` `` +++++ '' `` `` ` `` `` ;;;;. `` `` `` `` +++++: `` `` `` `` `;;;;;:` `` `;;;; ; `` `` `` `` `+++++` `` `++++++` ++++++. `` `` `` `` `` ` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``, ;;;;; `` `` `` `` `` `` `+++++;` `` `` `` `+++++ ''` `` `` `` `` ;;;; `` `` `` `` `+++++:` `` `` `` ``: ;;;;; `` `` ;;;; ; `` `` `` `` `, +++:` `` `+++++++++++++` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` ` ``, ;;;;; `` `` `` `` `` `` `+++++,` `` `` `` `+++++ ''` `` `` `` `` ;;;; `` `` `` `` `+++++:` `` `` `` ``, ;;;;; `` `` ;;;; ; `` `` `` `` `` '.`` `` `` ++++++++++++. `` `` `` `` `` `` `` `` `` `` ;;;;;. `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``, ;;;;; `` `` `` `` `` `` `+++++` `` `` `` `+++++ ''` `` `` `` `` ;;;, `` `` `` `` `+++++:` `` `` `` ``. ;;;;; `` `` ;;;; ; `` `` `` `` `` `` `` `` `++++++++++++` `` `` `` `` ` `` `` `` `` `` ;;;;;: `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``, ;;;;; `` `` `` `` `` `` `+++++` `` `` `` `+++++ ''` `` `` `` `` ;;; `` `` `` `` `` +++++: `` `` `` `` `. ;;;;;` `` `;;;; ; `` `` `` `` `` `` `` `` `+++++++++++.` `` `` `` `` `` `` `` `` `` `: ;;;;;` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ` `, ;;;;;` `` `` `` `` `` `, +++++` `` `` `` `+++++ ''` `` `` ``, ;;; `` `` `` `` `` `+++++:` `` `` `` `` `.;;;;; `` `` ;;;;; `` `` `` `` `` `` `` `` `` `+++++++++++` `` ` `` `` `` ` `` `` `` `` `: ;;;;;` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ` `, ;;;;;` `` `` `` `` `` `: +++++` `` `` `` `+++++ ''` `` `` ` ``, ;;; `` `` `` `` `` `+++++:` `` `` `` ``. ;;;;; `` `` ;;;;; `` `` `` `` `` `` `` `` ++++++++++ `` `` `` `` `` ` `` `` `` `` `` ;;;;;; `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ` `, ;;;;;` `` `` `` `` `` `; +++++` `` `` `` `+++++ ''` `` `` ``: ;;, `` `` `` `` `` `+++++:` `` `` `` ``. ;;;;; `` `` ;;;;; `` `` `` `` `` `` `` `` `++++++++++` `` `` `` `` ` `` `` `` `` `` ;;;;;;, `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `, ;;;;;` `` `` `` `` `` `; +++++` `` `` `` `+++++ ''` `` `` `` ;;; `` `` `` `` `` `` +++++: `` `` `` `` `.;;;;; `` `` ;;;;; `` `` `` `` `` `` `` `` `` `+++++++++` `` `` `` `` `` `` `` `` `` ``: ;;;;;;. `` `` `` `` `` `;;;;;` `` `` `` `` `` ` `, ;;;;;` `` `` `` `` `` '+++++ `` `` `` `` +++++' '`` `` ` `` ;;; `` `` `` `` `` `` +++++: `` `` `` `` `. ;;;;;` `` `;;;;; `` `` `` `` `` `` `` `` `+++++++++` `` `` `` `` `` ` `` `` `` `` `` `;;;;;;;;` `` `` `` `` `;;;;;` `` `` `` `` `` ` `, ;;;;;` `` `` `` `` `` '+++++ `` `` `` `` +++++' '`` `` ` `` ;;: `` `` `` `` `` `` +++++: `` `` `` `` `. ;;;;;` `` `;;;;; `` `` `` `` `` `` `` `` `++++++++` `` `` `` `` `` `` `` `` `` `` ``: ;;;;;;;;;;;. `` `` `;;;;;` `` `` `` `` `` `` ` , ;;;;; `` `` `` `` `` `` '+++++ `` `` `` `` `+++++' '` `` `` ` `.; .```````````` +++++: `` `` `` `` `, ;;;;;` `` `;;;;;` `` `` `` `` `` `` `` `` +++++++++ '' `` `` `` `` `` ` `` `` `` `` `` `;;;;;;;;;;;;,` `` `` ;;;;; `` `` `` `` `` `` `` , ;;;;; `` `` `` `` `` `` '+++++ `` `` `` `` `+++++' '` `` `` ` `` `` `` `` `` `` `` `+++++:` `` `` `` ``: ;;;;; `` `` ;;;;; ` `` `` `` `` `` `` `` `+++++++++++` `` `` `` `` `` `` `` `` `` `` `. ;;;;;;;;;;;;` `` `;;;;;` `` `` `` `` `` `` ` : ;;;;; `` `` `` `` `` `` '+++++ `` `` `` `` +++++' '`` `` `` `` `` `` `` `` `` `` `+++++:` `` `` `` `` ;;;;;; `` `` ;;;;; ` `` `` `` `` `` `` `` `++++++++++++` `` `` `` `` ` `` `` `` `` `` `, ;;;;;;;;;;;` `` `;;;;;` `` `` `` `` `` ``: ;;;;; `` `` `` `` `` `` '+++++ `` `` `` `` +++++' '`` `` `` ` ``.: `` `` `` `` `` +++++: `` `` `` `` `: ;;;;;;` `` `;;;;;` `` `` ` `` `` `` `` `` `` +++++++++++++ `` `` `` `` `` `` `` `` `` `` ``, ;;;;;;;;;; `` `` ;;;;; `` `` `` `` `` `` ``: ;;;;; `` `` `` `` `` `` ++++++ `` `` `` `` +++++ '' `` `` `` ` ``: ;;; `` `` `` `` `+++++:` `` `` `` `: ;;;;;;;` `` `;;;;;` ` `` `` `` `` `` `` `` `+++++++++++++.` `` `` `` `` `` `` `` `` `` `` `` ;;;;;;;;; `` `` ;;;;; `` `` `` `` `` `` `; ;;;;;: `` `` `` `` `` `` ++++++ `` `` `` `` +++++ '' `` `` `` ` `` ;;;;; `` `` `` `` +++++: `` `` `` ;;;;;;;; '' `` `` ;;;;; `` `` `` `` `` `` `` `` `++++++++++++++` `` `` `` `` `` `` `` `` `` ``.;;;;;; `` `` `;;;;;` `` `` `` `` `` `;;;;;;;` `` `` `` `` ` `` ++++++ `` `` `` `` `+++++ ''` `` `` `` `: ;;;;;` `` `` `` `+ ++++: `` ``: ;;;;;;;;; + `` `` ;;;;; `` `` `` `` `` `` `` `` ` `++++++,;: +++++` `` `` `` `` ` `` `` `` `` `` `` `` `` `` .`````` ;;;;; `` `` `` `` `` `` `;; ;;;;;, `` `` `` `` `` `++++++` `` `` `` `+++++ ''` `` `` `` ` ;;;;;; '`` `` `` `` +++++: `` `` ;;;;;;;;;;; + `` `` ;;;;; `` `` `` `` `` `` `` `` `` `++++++` `;;; '++' '` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `; '; ;;;;; `` `` `` `` `` `++++++` `` `` `` `` +++++ '' `` `` `` `,; ;;;;; + `` `` `` `` +++++: ``: ;;;;;;;;;;: ++ `` `` `;;;;;` `` ` `` `` `` `` `` `` `` ++++++ `` ;;;: ++ `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `; +; ;;;;;;, `` `` `` `` `++++++` `` `` `` `` +++++ '' `` `` `` `;; ;;;; ++, `` `` `` `+++++:` ;;;;;;;;;;;; +++ `` `` ;;;;; `` `` `` `` `` `` `` `` `` ++++++ `` `: ;;;: +` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``; + ;; ;;;;;;;: `` `` `` `++++++` `` `` `` `` +++++ '' `` `` ``, ;;; ;;; +++ `` `` `` +++++: ;;;;;;;;;;; '++++ `` `` ;;;;; `` `` ` `` `` `` `` `` `` `` ++++++ `` `` ;;;; +, `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; ++ ;; ;;;;;;;;;: `` `` ++++++ `` `` `` `` `+++++ ''` `` `` `;;;;; ; '+++ `` `` `` `+++++ ;;;;;;;;;;:.+++++ `` `` ;;;;; `` `` `` `` `` `` `` `` `` ++++++ `` `;;;;; ; `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; ++ ;; ;;;;;;;;;;;;, `` ++++++ '' `` `` `` `` +++++ '' `` `` `. ;;;;; ; ++++ '' `` `` `++++ ;;;;;;;;;;.`. +++++ `` `` ;;;;; `` `` `` `` `` `` `` `` `` `++++++` `` `: ;;;; +` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``; +++ ;; ;;;;;;;;;;;;;, ++++++ `` `` `` `` `+++++ ''` `` `` ;;;;;; ' +++++ `` `` `+++ ;;;;;;;;;;` ``. +++++ `` `` ;;;;; `` `` `` `` `` `` `` `` `` ++++++ `` ``: ;;;; '' `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `; ++++ ;; ;;;;;;;;;;;;;; +++++ `` `` `` `` `` +++++ '' `` `` `;;;;;; ++ ++++.`` `` `++ ;;;;;;;;;.` `` `. +++++` `` `;;;;;` `` `` `` `` `` ` `` `` `` ++++++ `` ``, ;;;;: `` `` `` `` `` `` `` `` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``; +++++ .; ;;;;;;;;;;;;;; ++++ `` `` `` `` `+++++ ''` `` `: ;;;;;,. ++ ++++ `` `` `++ ;;;;;;;;` `` `` `` +++++ `` `` `;;;;;.` `` `` `` `` `` `` `` `` ++++++ `` ``, ;;;;; `` `` `` `` ` `` `` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``; +++++ ``: ;;;;;;;;;;;;;; +++ `` `` `` `` `+++++ ''` `` `;;;;;;` `+++ +++ `` `` `+ ;;;;;;;;` `` `` `` `+++++ ''` `` ;;;;;, `` `` `` `` `` `` `` `` `+++++ ''` `` `, ;;;;;` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `; +++++` `` `.;;;;;;;;;;;; +++ `` `` `` `` `+++++ ''` `` `: ;;;;;:`: ++++ + '`` `` + ;;;;;;; `` `` `` `` +++++' '`` `` ;;;;;; `` `` `` `` `` `` `` `` `+++++:` `` `, ;;;;;` `` `` `` `` `` `` `` `` `` `` `` `;;;;;` `` `` `` `` `` ``; +++++ `` `` `` `. ;;;;;;;;;; ++` `` `` `` `` +++++ '' `` `` ;;;;;; `` `` +++++ + `` `` + ;;;;;;, `` `` `` `` +++++ `` `` `: ;;;;;` `` `` `` `` `` `` `` `` `+++++.` `` `: ;;;;;` `` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` `; +++++` `` `` `` ``, ;;;;;;; ++ `` `` `` `` +++++ '`` ``, ;;;;;; `` `` ++++++. `` `;;;;;;;` `` `` `` `+++++,` `` `. ;;;;;` `` `` `` `` `` `` `` `.+++++ `` `` `: ;;;;;` `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `;;;;;;; +` `` `` `` `` +++++ '' `` `;;;;;;` `` ``. ++++++ `` `` ;;;;;;, `` `` `` `` `+++++ ''` `` `;;;;;:` `` `` `` `` `` `` ` `; +++++` `` ``: ;;;;; `` `` `` `` ` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` ;;;;;; + `` `` `` `` `` +++++ '' ``. ;;;;;; `` `` `++++++` `;; ;;;; `` `` `` `` `` ++++++ `` `` `;;;;;;` `` `` `` `` `` `` ``; +++++ `` `` ;;;;;: `` `` `` `` ` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` , ;;;;; + `` `` `` `` `` +++++ '' `` ;;;;;;.`` `` `: +++++ ''` ;;;;;; `` `` `` `` `'+++++` `` ``: ;;;;;, `` `` `` `` `` `` ``,; ++++; `` `` ;;;;;, `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` `;;;;; '` `` `` `` `` `+++++' '` `;;;;;;` `` `` `++++++` `;; ;;;; `` `` `` `` ``: +++++ `` `` `` ;;;;;; `` `` `` `` `` `` `;; ++++ `` `` `;;;;;.` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` `;;;;;;` `` `` `` `` +++++ '`` ;;;;;;, `` `` `` `++++++.` ;; ;;;: `` `` `` `` `` `` +++++. `` `` `;;;;;;;` `` `` `` `` `` :; ' ++++ `` `` `;;;;;` `` `` `` `` ` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` `;;;;;;` `` `` `` `` +++++ '' `;;;;;;` `` `` `` `.++++++ `;;;;;,` `` `` `` `` `` +++++: `` ``, ;;;;;;: `` `` ` `` `` `, ;; ++++:` `` ``, ;;;;; `` `` `` `` `` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` `;;;;;:` `` `` `` `` `+++++ '': ;;;;;,` `` `` `` `` ++++++ `;; ;;;, `` `` `` `` `` `++++++` `` `` `;;;;;;;;` `` `` `` `: ;;; + +++ `` `` `: ;;;;;` `` `` `` `` ` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` `: ;;;;:` `` `` `` `` +++++ '' ;;;;;; `` `` `` `` ``: +++++ ';; ;;;, `` `` `` `` `` `; +++++.` `` ``. ;;;;;;;;, `` ``. ;;;;; + ++: `` `` `;;;;;;` `` `` `` `` ` `` `` `` `` `` ;;;;; `` `` `` `` `` `` ``; +++++ `` `` `` `` `` `` `: ;;;;:` `` `` `` `` `+++++ ': ;;;;;:` `` `` `` `` `` ++++++ ;; ;;;, `` `` `` `` `` `` +++++; `` `` ``: ;;;;;;;;;;;;;;;;; ++ ++ `` `` `` ;;;;;.`` `` `` `` ` `` `` `` `` `` ;;;;;. `` `` `` `` `` `` `; +++++` `` `` `` `` `` ` `: ;;;;:` `` `` `` `` `+++++ ';;;;;;` `` `` `` `` `` ++++++ ;; ;;;, `` `` `` `` `` `` +++++; `` `` `` ;;;;;;;;;;;;;;;;;; ++ + `` `` `` `: ;;;;;` `` `` `` `` ` `` `` `` `` `` ;;;;;. `` `` `` `` `` `` `'+++++` `` `` `` `` `` ` `: ;;;;:` `` `` `` `` `+++++ ;;;;;;;` `` `` `` `` `` `. ++++++; ;;;, `` `` `` `` `` ``: +++++: `` `` `` ;;;;;;;;;;;;;;;;; ++ , `` `` `` ;;;;;; `` `` `` `` `` `` `` `` `` ;;;;;; `` `` `` `` `` `` `` ++++++ `` `` `` `` `` `` ` : ;;;;: `` `` `` `` `+++++ ;;;;;;` `` `` `` `` `` `` ++++++ ;; ;;, `` `` `` `` `` `` `+++++;` `` `` `` ;;;;;;;;;;;;;;; ++: ` `` `` ``: ;;;;;, `` `` `` `` `` `` `` `` `` ;;;;; + `` `` `` `` `` `` `` +++++ '' `` `` `` `` `` `` : ;;;;: `` `` `` `` `+++++ ;;;;;;` `` `` `` `` `` ``; +++++ ;; ;;, `` `` `` `` `` `` `+++++ ;;` `` `` `` ;;;;;;;;;;;;; ++.`` `` `` `;;;;;;` `` `` `` `` `` `` `` `` `` `: ;;;; +` `` `` `` `` `` `` `+++++;` `` `` `` `` `` `` : ;;;;: `` `` `` `` `++++ ;;;;;;.` `` `` `` `` `` `` ++++++; ;;, `` `` `` `` `` `` `` +++++ ;: `` `` `` `: ;;;;;;;;;; ++` `` ` `` `` `;;;;;;;` `` `` `` `` ` `` `` `` `` `. ;;;;;,` `` `` `` `` `` `: +++++` `` `` `` `` `` `` ` : ;;;;: `` `` `` `` `++++ ;;;;;;` `` `` `` `` `` `` `++++++; ;;, `` `` `` `` `` `` `` +++++ ;; `` `` `` `` `: ;;;;;;; +` `` `` ` `` ``, ;;;;;; `` `` `` `` `` ` `` `` `` `` `` ;;;;: + `` `` `` `` `` `` ++++++ `` `` `` `` `` `` `` : ;;;;: `` `` `` `` `+++ ;;;;;;.`` `` `` `` `` `` `` `. ++++++ ;;,` `` `` `` `` `` ``. ++++ ;;; `` `` `` `` `` `` `` `` `` `` `` ``. ;;;;;;; `` `` `` `` `` ` `` `` `` `` `` ;;;;; +: `` `` `` `` ``: ++++++ `` `` `` `` `` `` `` : ;;;;: `` `` `` `` `` +++ ;;;;;; `` `` `` `` `` `` `` `` ++++++ ;;, `` `` `` `` `` `` `` '++++ ;;; `` `` `` `` `` `` `` `` `` `` `` `;;;;;;;.` `` `` `` `` ` `` `` `` `` ``, ;;;; ++, `` `` `` ``. ++++++: `` `` `` `` `` `` `` : ;;;;: `` `` `` `` `` ++ ;;;;;;, `` `` `` `` `` `` `` ``; +++++ ;;, `` `` `` `` `` `` `` `++++ ;;;;` `` `` `` `` `` `` `` `` `` `. ;;;;;;;:` `` `` `` `` `` `` `` `` `` `` ;;;; +++ '`` `` `; +++++++` `` `` `` `` `` `` `: ;;;;: `` `` `` `` `` ++ ;;;;;; `` `` `` `` `` `` `` `` `` ++++++ ;, `` `` `` `` `` `` `` `.++++ ;;;;, `` `` `` `` `` `` `` `` ``, ;;;;;;;; `` `` `` `` `` ` ` `` `` `` `` ``: ;;; ++++++ ;; +++++++++ '' `` `` `` `` `` `` `: ;;;;: `` `` `` `` `` ++ ;;;;;: `` `` `` `` `` `` `` `` `` ++++++ ;, `` `` `` `` `` `` `` ``; +++ ;;;;;; `` `` `` `` `` `` `` `` ;; ;;;;;;;. `` `` `` `` `` ` `` `` `` `` `` ;;; '++++++++++++++++ `` `` `` `` `` `` `` `: ;;;;: `` `` `` `` `` + ;;;;;; `` `` `` `` `` `` `` `` `` `. +++++ ;, `` `` `` `` `` `` `` `` `++++ ;;;;;;;.` `` `` `` `` `` `;;;; ;;;;;;, `` `` `` `` `` `` `` `` `` `` `` `;;; +++++++++++++++.`` `` `` `` `` `` `` `: ;;;;:` `` `` `` `` `+ ;;;;;;` `` `` `` `` `` `` `` `` `` `` ++++++, `` `` `` `` `` `` `` `` `` ++++ ;;;;;; ;;;, `` `` ``. ;;;;;;;;;;;;: `` `` `` `` `` ` `` `` `` `` `` `, ;; ++++++++++++++;` `` `` `` `` `` `` `` `:; ;;;: `` `` `` `` `;;;;;;` `` `` `` `` `` `` `` `` `` `; +++++ , `` `` `` `` `` `` `` `` `` `+++ ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;: `` `` `` `` `` `` ` `` `` `` `` `` ``,;: ++++++++++++; `` `` `` `` `` `` `` `` `:; ;;;: `` `` `` `` `` ;;;;;; `` `` `` `` `` `` `` `` `` `` +++++, `` `` `` `` `` `` `` `` `` `` '++ ;;;;;;;;;;;;;;;;;;;;;;;;; ;, `` `` `` `` `` `` `` `` `` `` `` `` `; '++++++++++.`` `` `` `` `` `` `` `` ``, ;;;;, `` `` `` `` ``: ;;;;. `` `` `` ` `` `` `` `` `` `` `` `+++++.` `` `` `` `` `` `` `` `` `` `, ++ ;; ;;;;;;;;;;;;;;;;;;;;;;;. `` `` `` `` `` `` `` `` `` `` `` `` `: '+++++++' '` `` `` `` `` `` `` `` `` `;; ;; `` `` `` `` `` `;;;;` `` `` `` `` `` `` `` `` `` `` ++++ `` `` `` `` `` `` `` `` `` `` `` `` ++ ;;;;;;;;;;;;;;;;;;;;;; `` `` `` `` `` `` `` `` `` `` `` `` `` `` `: + ':` `` `` `` `` `` `` `` `` `` `` `, , `` `` `` `` `` `` `:,` `` `` `` `` `` `` `` `` `` `` `+;` `` ` `` `` `` `` `` `` `` `` `` `.++ ;;;;;;;;;;;;;;;;;;. `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` + ;;;;;;;;;;;;;;; `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ;;;;;;;;;: `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` ` <3 Т.П. * П.В. * А.Х. * Д.С. * Б.С.
DeviceFarm - Документация Boto3 Docs 1.16.16
атрибут (строка) -
Строковый атрибут правила. Например, укажите значение как "\" abc \ "".
Поддерживаемые операторы для каждого атрибута представлены в следующем списке.
Версия Appium для теста.
Поддерживаемые операторы: СОДЕРЖИТ
Имя ресурса Amazon (ARN) устройства (например, arn: aws: devicefarm: us-west-2 :: device: 12345Пример.
Поддерживаемые операторы: EQUALS, IN, NOT_IN
Текущая доступность устройства. Допустимые значения: AVAILABLE, HIGHLY_AVAILABLE, BUSY или TEMPORARY_NOT_AVAILABLE.
Поддерживаемые операторы: EQUALS
Тип флота. Допустимые значения: PUBLIC или PRIVATE.
Поддерживаемые операторы: EQUALS
Форм-фактор устройства. Допустимые значения: PHONE или TABLET.
Поддерживаемые операторы: EQUALS, IN, NOT_IN
Имя ресурса Amazon (ARN) экземпляра устройства.
Поддерживаемые операторы: IN, NOT_IN
Метка экземпляра устройства.
Поддерживаемые операторы: СОДЕРЖИТ
Производитель устройства (например, Apple).
Поддерживаемые операторы: EQUALS, IN, NOT_IN
Модель устройства, например Apple iPad Air 2 или Google Pixel.
Поддерживаемые операторы: CONTAINS, EQUALS, IN, NOT_IN
Версия операционной системы (например, 10.3.2).
Поддерживаемые операторы: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN
Устройство платформы. Допустимые значения: ANDROID или IOS.
Поддерживаемые операторы: EQUALS, IN, NOT_IN
Указывает, разрешен ли удаленный доступ к устройству. Допустимые значения: ИСТИНА или ЛОЖЬ.
Поддерживаемые операторы: EQUALS
Включено ли устройство для удаленной отладки.Допустимые значения: ИСТИНА или ЛОЖЬ.
Поддерживаемые операторы: EQUALS
Поскольку удаленная отладка больше не поддерживается, этот фильтр игнорируется.
От Android Espresso и AWS Device Farm
AWS Device Farm - это сервис, который позволяет тестировать приложения на базе Android и iOS на реальных устройствах, а не с помощью каких-либо симуляторов и использования облака AWS.
На рынке разработки мобильных приложений существует ожесточенная конкуренция, поскольку компании-конкуренты изо всех сил пытаются получить признание, демонстрируя свои продукты в магазинах приложений.После разработки приложения следует помнить об одном ключевом факте: никогда не нужно спешить с загрузкой приложения в App Store. В этом заключается важность отзывов различных клиентов. Если вы случайно загрузите приложение, которое нестабильно, есть все шансы, что приложение будет отвергнуто пользователями. Итак, успех приложения во многом зависит от этого обзора.
Существует множество причин, из-за которых приложения просто падают, и это проблемы с сетью, избыточное ПО на устройстве, неадекватная обработка ошибок и исключений, а также проблемы с памятью.В этом заключается необходимость тестирования приложений на нескольких платформах и устройствах, а также в разных сетях.
AWS Device Farm - это сервис, который позволяет тестировать приложения Android или даже приложения на базе iOS на реальных устройствах, а не на каких-либо симуляторах или эмуляторах, которые тоже используют облако AWS. Эта услуга позволяет вам предоставить решение, которое вы ищете для правильного тестирования приложения. Вы можете загружать свои приложения в облако и запускать тесты Fuzz с целью моделирования случайной активности или использования встроенного обозревателя приложений.
AWS Device Farm просканирует ваше приложение и поможет делать снимки экрана, а также показатели и журналы производительности. Преимущество, которое он предлагает, - это простота использования и быстрота. Вы можете отслеживать проблемы, с которыми столкнется ваше приложение Android, если вы используете Espresso в AWS Device Farm, задолго до того, как приложение появится в App Store.
Что такое AWS Device Farm?
Нет необходимости отвлекаться на проблемы, возникающие при тестировании вашего приложения для Android, такие как создание инфраструктуры автоматизации, создание дорогостоящих лабораторий устройств или даже сбор различных типов устройств и, прежде всего, обеспечение доступности устройств в стабильных условиях, когда они являются обязательными.Важность AWS Device Farm заключается в том, что он обрабатывает все наиболее эффективно. За несколько минут вы можете протестировать приложение на широком спектре устройств. Более того, он не только позволяет вам выбирать устройства, но и выбирать марку и модель выбранной операционной системы. Он способен тестировать различные соединения с операторами связи, поскольку может моделировать тип и условия соединения.
Что такое Android Espresso?
Android Espresso - самая популярная среда автоматизации тестирования для тестирования приложений Android.Тестирование часто выполняется с помощью запускаемых разработчиками сценариев тестирования. Google теперь поставляется с Espresso Test Recorder, инструментом, который помогает легко и быстро создавать тесты приложений Android. Таким образом, преимущество заключается в тех людях, которые не имеют опыта кодирования или создания тестовых сценариев, генерирующих автоматические тесты пользовательского интерфейса для своих приложений, запускаемых на AWS Device Farm. Таким образом, эффективность разработчиков приложений повышается, а также повышается качество приложений.
Как разработчики используют фермы устройств AWS?
Android Espresso на самом деле помогает разработчикам тестировать приложения локально, а также настраивать облачную среду, такую как AWS Device Farm.AWS Device Farm используется разработчиками для тестирования итеративных изменений в процессе разработки. Функциональные возможности также тестируются, поэтому они хорошо работают на различных целевых устройствах. То, что приложения хорошо работают с серверной системой, достигается с помощью автоматизированных канареек, запускающих периодические тесты с использованием API. Он также генерирует отчеты об испытаниях, которые очень помогают разработчикам. Это лучшее место для публикации вопросов, связанных с мобильной аналитикой.
Наконец, Android Espresso и AWS Device Farms помогают предотвратить проблемы с приложениями, так что в App Store отображаются только высококачественные приложения, а не нестабильные, которые будут получать самые лучшие отзывы от пользователей, что является важным требованием для создание очень успешного приложения.
Шивам Шривастава
Марком Менеджер
В поисках стратегических сессий ?.
Позвольте нам полностью разобраться в вашем бизнесе и помочь вам разработатьстратегий вашего цифрового продукта.
Статьи по теме:
Topcoder Как тестировать приложения iOS и Android на ферме устройств AWS: Часть I
Большинство команд разработчиков приложений полагаются на ручное тестирование своих приложений.Этот процесс может быть чрезвычайно трудоемким и сложным, поскольку на рынке iOS и Android имеется большое количество разнообразных устройств. Тестирование становится еще более сложным из-за множества вариантов моделей, версий ОС, настроек оператора и многого другого.
AWS Device Farm решает эту проблему, позволяя разработчикам тестировать свои приложения на общем парке из более чем 2500 устройств или в вашей частной лаборатории устройств в облаке. В нем используются не симуляторы, а настоящие некорневые устройства.
Войдите или зарегистрируйте аккаунт AWS
Войдите в свою учетную запись AWS, если у вас ее нет, зарегистрируйте себя для новой учетной записи AWS. Вам нужно будет настроить разрешение для пользователя IAM на доступ к ферме устройств, создав новую политику доступа в IAM.
Учетные записи, которые мы собираемся предоставить в тестах Topcoder QA, обычно имеют эти политики предварительно настроенными, так что разработчики могут напрямую подключиться и начать создание проекта для запуска теста.
Начало работы с фермой устройств
После входа в систему первым шагом является выбор параметра фермы устройств на странице панели управления.При необходимости поиск в ферме устройств можно также выполнить с помощью службы поиска .
При выборе фермы устройств мы попадаем на страницу панели мониторинга фермы , откуда мы можем создать новый проект для тестирования нашего приложения. Также мы можем выбрать для тестирования уже существующий проект.
Задача контроля качества топкодера обычно связана с созданием проекта в ферме устройств. От участников требуется выбрать проект, упомянутый в технических характеристиках задачи, и начать тестирование после настройки некоторых конфигураций, которые мы собираемся изучить в этой статье.
Создание нового проекта
Щелкните «+ Create a new project», чтобы создать новый проект. Дайте вашему проекту имя и нажмите кнопку Create project .
Виды испытаний
Есть два типа тестирования, которые мы можем выполнить с помощью Device Farm:
Automated Testing: позволяет нам тестировать наше приложение параллельно на большом количестве физических устройств в облаке AWS.
Удаленный доступ : Жесты, смахивание и взаимодействие с устройствами в реальном времени прямо из веб-браузера.
Автоматизированные тесты
Давайте углубимся в автоматизированный тест и узнаем, как мы можем это выполнить.
Создание нового прогона
На вновь созданной панели управления проекта выберите вкладку Автоматические тесты и нажмите кнопку Создать новый запуск . Откроется окно «Создать новый запуск».
Выбрать приложение
Выберите кнопку со значками android и apple, затем загрузите файлы для тестирования, обычно нам нужно загрузить файлы APK или IPA и дать имя запуска для запуска вашего проекта.
Настроить
После загрузки тестового APK настройте тест и выберите тип теста, который вы хотите выполнить. Здесь мы собираемся протестировать приложение с помощью теста Built-in: Fuzz. В расширенной конфигурации убедитесь, что установлены флажки «Включить запись видео» и «Включить сбор данных о производительности приложения».
Выбрать устройства
На вкладке выбора устройств выберите Пул устройств, чтобы выбрать список устройств, на которых необходимо выполнить тест.
Чтобы создать настраиваемый список устройств, на которых необходимо выполнить тест, выберите параметр Создать новый пул устройств . Обратитесь к спецификации задачи Topcoder QA, чтобы получить список устройств, на которых необходимо выполнить тест, и затем на его основе создать новый пул устройств.
Укажите состояние устройства
Укажите настройки для моделирования реальных сценариев. Местоположение устройства также можно смоделировать, установив значение Местоположение устройства с помощью лат.& lng. координаты места.
Просмотр и запуск
Проверьте настройку теста и при необходимости измените значение тайм-аута выполнения. Если все в порядке, нажмите кнопку Confirm and start run , чтобы запустить тест.
Только что созданный тестовый прогон отображается на вкладке Автоматические тесты . Щелкните имя теста «my-test-run», чтобы проверить, как проходит наш тест.
По завершении тестового запуска обновляются скриншоты, результаты анализа и другие подробности.В испытании Topcoder QA разработчикам может потребоваться загрузить эти данные вместе с другими необходимыми файлами. Обратитесь к разделам о результатах испытаний для получения списка того, что нужно отправить.
После запуска теста на всех перечисленных устройствах отображается статус теста. Теперь активируется кнопка «Повторить запуск», что позволяет повторить тест.
Таким образом, мы можем быстро и легко выполнить автоматизированный тест на всех устройствах.Нам даже не требуется владеть всеми этими устройствами и настраивать разные версии мобильных ОС.
В следующей статье блога мы увидим, как выполнить тест удаленного доступа, который позволяет нам проводить пальцем по экрану, жестами и взаимодействовать с устройством через веб-браузер в режиме реального времени, чтобы проверить функциональность и воспроизвести проблемы клиентов.
Test Mobile Apps with Jenkins Workflow и AWS Device Farm
В своем сообщении в блоге Continuous Delivery with CloudBees Jenkins Platform и AWS Lambda Сирил Ле Клерк представил плагин CloudBees AWS CLI.Однако в этом посте не упоминалось, что этот плагин также включает поддержку Build Wrapper для плагина Jenkins Workflow. Поддержка Jenkins Workflow Build Wrapper для подключаемого модуля AWS CLI упрощает интеграцию функций AWS CLI с вашими заданиями Jenkins Workflows. В этом посте мы рассмотрим, как вы можете использовать эту интеграцию для создания одного рабочего процесса Jenkins, который будет создавать приложение Android внутри контейнера Docker, затем загружать приложение и тестовый пакет в AWS Device Farm, а затем тестировать приложение в пуле. реальных устройств в облаке AWS Device Farm.
AWS Device Farm
AWS Device Farm позволяет тестировать мобильные приложения Android и iOS на реальных устройствах, выделенных и управляемых Amazon в облаке AWS. Device Farm поддерживает несколько различных типов тестов, и в этой публикации мы будем использовать инструментальные тесты Android, предоставляемые образцом приложения AWS Device Farm для Android. Помимо типичной веб-консоли для взаимодействия с AWS Device Farm, Amazon также предлагает полнофункциональный интерфейс командной строки для Device Farm.Если вы еще не знакомы с AWS Device Farm, найдите время, чтобы просмотреть документацию по началу работы с AWS Device Farm и документацию по интерфейсу командной строки AWS Device Farm.
Рабочий процесс Jenkins с Docker
Подключаемый модуль OSS CloudBees Jenkins Workflow - это переход к подключаемому модулю Jenkins для включения непрерывной доставки с Jenkins. Плагин Workflow также имеет отличную интеграцию с Docker через плагин Docker Workflow. Джесси Глик обсуждал эту возможность в своем сообщении в блоге «Управление рабочими процессами с помощью Jenkins и Docker».По сути, использование контейнеров Docker в качестве «оболочек среды сборки» полностью меняет управление цепочками инструментов, необходимых для быстрой доставки программного обеспечения. И когда у вас есть цепочка инструментов, столь же изменчивая, как и то, что необходимо для поддержки доставки программного обеспечения Android, важность оптимизации управления и доставки этих цепочек инструментов невозможно недооценить.
CloudBees AWS CLI Plugin
CloudBees AWS CLI plugin упрощает интеграцию безопасной среды AWS CLI в рабочие места Jenkins.И что еще лучше, он имеет встроенную поддержку рабочего процесса Jenkins через этап переноса. Мы также будем использовать подключаемый модуль CloudBees AWS Credentials, интегрированный с подключаемым модулем AWS CLI, для управления учетными данными AWS, которые мы будем использовать для взаимодействия с CLI AWS Device Farm.
Создание конвейера компакт-диска сборки и тестирования для вашего Android-приложения
Теперь мы собираемся создать новое задание многоотраслевого рабочего процесса, которое будет: есть все необходимые инструменты.
Настройте учетные данные AWS с идентификатором для использования с подключаемым модулем CLI CloudBees AWS.
Используйте подключаемый модуль CLI CloudBees AWS для создания проекта AWS Device Farm и пула устройств.
Загрузите приложение Android и тестовый пакет в AWS.
Запланируйте тестовый запуск AWS Device Farm и получите результаты, когда тесты будут завершены.
Создайте приложение Android и тестовый пакет инструментария в контейнере Docker, используя образ Docker со всеми необходимыми инструментами
Мы будем использовать шаг Docker внутри
Jenkins Workflow для создания приложения Android внутри контейнера, в котором есть необходимых инструментов.Нет необходимости предварительно настраивать какие-либо инструменты на Jenkins Master или иметь статически настроенный Jenkins Slave - кроме включения Jenkins Slave с Docker. В этом случае мы используем образ Docker для нашего ведомого устройства Jenkins с SSH, JDK 7 и Docker-in-Docker (DIND).
Теперь нам нужен образ Docker для создания приложения для Android. В Docker Hub для сборок Android доступно несколько различных образов докеров. Но если вы посмотрите, как маркируются эти изображения, вы заметите, что они обычно помечаются как , последний
или с использованием базового JDK.Однако мы хотим упростить обмен и обновление цепочек инструментов, которые мы используем. Поэтому я использую собственный образ, основанный на jacekmarchwicki / android, и явно помечаю его версией основного инструмента сборки, в данном случае Android SDK. Как вы увидите в сценарии рабочего процесса ниже, я использую версию Android SDK в качестве тега изображения: kmadel / android-sdk: 24.3.3
. Для использования новой версии Android SDK потребуется только отправить новый образ с необходимыми обновлениями, скажем, kmadel / android-sdk: 24.3.4
, затем создайте новую ветку проекта Android GitHub и, наконец, обновите файл Jenkins, чтобы указать это недавно помеченное изображение: docker.image ('kmadel / android-sdk: 24.3.4'). Внутри
. (ПРИМЕЧАНИЕ : Для использования Jenkinsfile вместе с исходным кодом, который будет автоматически выбран заданием рабочего процесса, требуется проект Jenkins Multibranch Workflow.) Используя Docker Workflow внутри шага
, обновляя цепочку инструментов создать приложение для Android так же просто, как сделать один коммит на GitHub!
узел ('докер') { // сборка Android-приложения в контейнере Docker этап "Создать приложение" // checkout AWS Device Farm Пример приложения для Android с GitHub git 'https: // github.com / kmadel / aws-device-farm-sample-app-for-android.git ' // сообщаем докеру, что нужно вытащить образ skd android, // запускаем это как контейнер, // а затем запускаем следующий блок шагов рабочего процесса docker.image ('kmadel / android-sdk: 24.3.3'). inside { sh './gradlew assemblyDebug assemblyDebugAndroidTest' } // прячем успешную сборку, обернутую шагом dir для упрощения включает dir ('app / build / output / apk /') { тайник включает: '* .apk', имя: 'app-test-pkg' } }
Итак, теперь у нас есть созданное и спрятанное приложение для Android и пакет инструментальных средств, готовый к загрузке в AWS Device Farm позже в этом потоке.
Настройка учетных данных AWS с идентификатором для использования с CloudBees Плагин AWS CLI
Перед использованием подключаемого модуля AWS CLI завершите этап
, вам потребуются учетные данные AWS (идентификатор ключа доступа и секретный ключ доступа). И, как всегда, вы не должны использовать своего корневого пользователя AWS, а должны создать специального пользователя IAM для AWS Device Farm с только необходимыми разрешениями для работы с AWS Device Farm. Теперь, используя учетные данные этого нового пользователя IAM для конкретной фермы устройств, мы добавим новый набор базовых учетных данных Amazon Web Services в наш Jenkins Master и будем использовать расширенные настройки учетных данных для предоставления идентификатора AWS-DEVICE-FARM-CREDS
, который мы будем использовать для заполнения параметра credentialsId
файла AmazonAwsCliBuildWrapper
.
Вот фрагмент рабочего процесса с использованием AmazonAwsCliBuildWrapper
с этапом обертывания шаг
:
обертка ([$ class: 'AmazonAwsCliBuildWrapper', credentialsId: 'AWS-DEVICE-FARM-CREDS', defaultRegion: 'us-west-2']) {…}
Также обратите внимание, что мы установили для defaultRegion
значение us-west-2
, поскольку на момент написания этой статьи AWS Device Farm была доступна только в этот регион.
Использование подключаемого модуля CLI CloudBees AWS для создания проекта AWS Device Farm и пула устройств
Прежде чем мы сможем загрузить приложение Android и тестовый пакет в AWS Device Farm, нам понадобится имя ресурса AWS Amazon (ARN) для устройства. Проект фермы, для которого мы хотим запланировать тестовый запуск.Это задание рабочего процесса параметризуется с помощью ARN проекта Device Farm, но мы создадим новый проект, если параметр не указан. Вот фрагмент рабочего процесса для создания нового проекта Device Farm и захвата возвращенного projectArn
:
writeFile file: 'create-project.json', text: '{"name": "Jenkins Workflow AWS CLI Device Farm Demo "} ' заворачивать( [$ class: 'AmazonAwsCliBuildWrapper', credentialsId: 'AWS-DEVICE-FARM-CREDS', defaultRegion: 'us-west-2']) { sh 'aws devicefarm create-project --cli-input-json file: // create-project.json> createProjectOutput ' } // получаем проект arn из вывода def createProjectOutput = readFile ('createProjectOutput') def jsonSlurper = новый JsonSlurper () def projectObj = jsonSlurper.parseText (createProjectOutput) projectArn = projectObj.project.arn
Мы направляем вывод команды AWS CLI в файл, чтобы мы могли захватить ARN проекта из ответа. По умолчанию ответ будет возвращен в формате JSON; поэтому мы воспользуемся замечательным Groovy JsonSluper, чтобы преобразовать его в объект, чтобы получить проект ARN.
ПРИМЕЧАНИЕ. В настоящее время вы не можете удалять проекты Device Farm (через интерфейс командной строки, API или веб-консоль AWS Device Farm), а AWS позволяет иметь неограниченное количество проектов Device Farm с одинаковыми именами. Следовательно, если вы запускаете это задание несколько раз, не предоставляя существующий ARN проекта Device Farm, то в конечном итоге у вас будет много проектов с одинаковыми именами.
В дополнение к ARN проекта Device Farm нам также понадобится ARN пула устройств, чтобы фактически запланировать тестовый запуск.AWS Device Farm включает глобально доступный курируемый пул Top Devices, который включает ряд популярных устройств Android (если вам интересно, ARN для этого пула устройств - arn: aws: devicefarm: us-west-2 :: devicepool: 082d10e5 -d7d7-48a5-ba5c-b33d66efa1f5 ). Для этого потока мы собираемся создать пул частных устройств (и чтобы ускорить то, что в противном случае является довольно длительным тестированием, мы включим в этот пул только одно устройство).
// создать пул устройств с одним устройством для демонстрационных целей - Samsung Galaxy S6 (Verizon) wrap ([$ class: 'AmazonAwsCliBuildWrapper'... { ш "" " aws devicefarm create-device-pool --project-arn $ {projectArn} --name android-device-pool --rules '{"attribute": "ARN", "operator": "IN", "value": " [\\ "arn: aws: devicefarm: us-west-2 :: device: 9E515A6205C14AC0B6DCDBF3FC75BC3E \\"] "} '> createDevicePoolOutput "" " } ... устройство -проект ответ.Если бы нам не нужно было вводить параметр, мы могли бы просто использовать тройные одинарные кавычки.Загрузите приложение Android и тестовый пакет в AWS
Теперь, когда у нас есть проект ARN, мы можем загрузить приложение Android и тестовый пакет, которые были спрятаны ранее на этапе сборки. Мы собираемся загрузить эти два артефакта параллельно, захватив ARN, возвращаемый в ответах.
unstash 'app-test-pkg' параллельный ( uploadApp: { wrap ([$ class: 'AmazonAwsCliBuildWrapper'... { sh "aws devicefarm create-upload --project-arn $ {projectArn} --name app-debug.apk --type ANDROID_APP> createUploadAppOutput" } ... uploadAppArn = createUploadAppObj.upload.arn uploadAppUrl = createUploadAppObj.upload.url ... sh "curl -T app-debug.apk '$ {uploadAppUrl}'" Подожди пока { // ждем завершения загрузки wrap ([$ class: 'AmazonAwsCliBuildWrapper' ... { sh "aws devicefarm get-upload --arn $ {uploadAppArn}> getUploadAppOutput" } ... def uploadStatus = getUploadAppObj.upload.status if (uploadStatus == 'FAILED') { ошибка "Ошибка загрузки приложения" } uploadStatus == 'УСПЕШНО' } }, uploadTests: { wrap ([$ class: 'AmazonAwsCliBuildWrapper' ... { sh "aws devicefarm create-upload --project-arn $ {projectArn} --name app-debug-androidTest-unaligned.apk --type INSTRUMENTATION_TEST_PACKAGE> createUploadTestOutput" } ... uploadTestArn = createUploadTestObj.upload.arn uploadTestUrl = createUploadTestObj.upload.url ... sh "curl -T app-debug-androidTest-unaligned.apk '$ {uploadTestUrl}'" Подожди пока { // ждем завершения загрузки wrap ([$ class: 'AmazonAwsCliBuildWrapper' ... { sh "aws devicefarm get-upload --arn $ {uploadTestArn}> getUploadTestOutput" } ... uploadStatus = getUploadTestObj.upload.status if (uploadStatus == 'FAILED') { ошибка "Ошибка загрузки" } uploadStatus == 'УСПЕШНО' } }, failFast: true )Команда
create-upload
фактически не загружает файл. Скорее, он возвращает предварительно подписанный URL-адрес S3 PUT, который будет использоваться для загрузки файла. Здесь мы используем простую командуcurl
и загружаем файлы приложения и тестового пакета по URL-адресу S3, который был возвращен из ответаcreate-upload
.Мы также фиксируем ARN для загрузки приложений и тестовых пакетов, поскольку они нам понадобятся в дополнение к ARN проекта и ARN пула устройств для командыschedule-run
. Наконец, мы используем шагwaitUntil
, чтобы убедиться, что файлы были успешно загружены, прежде чем мы планируем запуск теста.Запланируйте тестовый запуск AWS Device Farm и получите результаты, когда тесты будут завершены.
Теперь, когда мы загрузили приложение и тестовый пакет, мы можем запланировать запуск для выполнения этих тестов.
этап «График тестового прогона» заворачивать( [$ class: 'AmazonAwsCliBuildWrapper' ... { sh "aws devicefarm schedule-run --project-arn $ {projectArn} --app-arn $ {uploadAppArn} --device-pool-arn $ {devicePoolArn} --test type = INSTRUMENTATION, testPackageArn = $ {uploadTestArn}> scheduleRunOutput " } ... runArn = scheduleRunObj.run.arnИнструментальные тесты, включенные в образец приложения AWS Device Farm для Android, занимают в среднем более 16 минут только для одного устройства.Итак, прежде чем мы проведем опрос результатов запланированного запуска, мы сообщим заданию, что он будет спать на 14 минут:
время сна: 14, единица: «МИНУТЫ»Теперь мы готовы проверить статус выполнения. мы запланировали:
def getRunOutput def runResult Подожди пока { // ждем завершения загрузки wrap ([$ class: 'AmazonAwsCliBuildWrapper' ... { sh "aws devicefarm get-run --arn $ {runArn}> getRunOutput" } ... runStatus = getRunObj.run.status runResult = getRunObj.run.result runStatus == 'ВЫПОЛНЕНО' } echo getRunOutput if (runResult! = 'ПРОШЛО') { ошибка «Тестовый запуск $ {runResult} - подробности см. выше» }После пробуждения из шага
sleep
мы снова будем использовать шагwaitUntil
для опроса запланированных результатов выполнения, пока не получим возвращенное состояние выполненияCOMPLETED
. По завершении мы можем использовать результат выполнениярезультат
, чтобы проверить, ПРОШЕЛ ли запускили нет, и в этом случае не выполнить задание для любого другого ответа.
Заключение
Как видите, комбинация Jenkins Workflow, Docker, подключаемого модуля CLI CloudBees AWS и AWS Device Farm представляет собой довольно эффективную комбинацию для создания и тестирования мобильного программного обеспечения.
Однако, безусловно, есть возможности для улучшения.
Если вы посмотрите на весь сценарий рабочего процесса для этого задания, вы определенно увидите, что мы нарушаем некоторые основные принципы DRY - в частности, в отношении сбора выходных данных ответов команд AWS CLI.Рабочий процесс Jenkins включает поддержку глобальной библиотеки на основе репозитория Git, как описано Найджелом Харниманом - Рабочий процесс Jenkins - Использование глобальной библиотеки для реализации функции многократного использования для вызова защищенной конечной точки HTTP . В этом случае мы могли бы создать глобальную библиотечную функцию, которая инкапсулирует синтаксический анализ и захват ответов AWS CLI.
Кроме того, мы могли бы сделать еще немного, чтобы завершить весь конвейер поставки программного обеспечения для этого приложения для Android. Например, мы могли бы развернуть приложение на платформе бета-тестирования, и после того, как оно было проверено вручную, мы могли бы разрешить людям-тестерам нажать кнопку, чтобы развернуть его в Google Play.