Retain tag что это
Retain tag что это
Откройте возможности нейронного машинного перевода PROMT
PROMT.One (www.translate.ru) – бесплатный онлайн-переводчик на основе нейронных сетей (NMT) для азербайджанского, английского, арабского, греческого, иврита, испанского, итальянского, казахского, китайского, корейского, немецкого, португальского, русского, татарского, турецкого, туркменского, узбекского, украинского, финского, французского, эстонского и японского языков.
Изучайте времена и формы глаголов в английском, немецком, испанском, французском и русском языках в разделе Спряжение и склонение. Учите употребление слов и выражений в разных Контекстах. Мы собрали для вас миллионы примеров перевода на разные языки, которые помогут вам в изучении иностранных языков и подготовке домашних заданий.
Переводите в любом месте и в любое время с помощью мобильного переводчика PROMT.One для iOS и Android. Попробуйте голосовой и фотоперевод, скачайте языковые пакеты для офлайн-перевода.
Поделиться переводом
Но сейчас вы можете переводить только 999 символов за один раз.
Пожалуйста, войдите или зарегистрируйтесь, чтобы переводить до 5 000 символов единовременно. войти / зарегистрироваться
Добавить в избранное
Для добавления в Избранное необходимо авторизоваться
Что такое RETAIN-переменные в ПЛК? Зачем они нужны? Оставить комментарий
В состав любого ПЛК входит память. Емкость памяти определяет количество переменных, задействованных в программе контроллера. Для работы ПЛК используется два вида памяти: загрузочная (ПЗУ) и рабочая (ОЗУ).
Рисунок 1. Минимальный состав ПЛК
Загрузочная память выполняется на базе различных видов памяти: ROM — Read Only Memory или EEPROM — Electrically Erasable Programmable ROM — электрически стираемая перепрограммируемая память. В качестве загрузочной памяти также может использоваться флеш-память, принцип действия которой основан на хранении заряда в конденсаторе, образованном плавающим затвором и подложкой МОП-транзистора.
Недостатком всех ПЗУ является низкое быстродействие и ограниченное количество циклов чтения и записи.
Рабочая память может выполняется на SRAM (Static Random Access Memory) — статическая память с произвольным доступом или DRAM (Dynamic Random Access Memory) — динамическая память с произвольным доступом.
Недостатком ОЗУ является энергозависимость, то есть при включении память будет пустой.
При разработке программ необходимо иметь память, которая бы не стиралась при выключении питания. Допустим, в программе используются уставки, и если не принять специальных мер, то придется каждый раз при включении контроллера вводить их заново. Либо необходимо запомнить режим работы оборудования, работающего до сбоя или выключения ПЛК.
Рисунок 2. Выдержка из руководства
Для использования в своей программе необходимо указать в свойствах переменной, что она будет Retain, и операционная система ПЛК будет знать, как нужно обращаться со значением этой переменной.
Таким образом, выполнение программ не будет замедлено из-за времени записи значений в ПЗУ, ПЗУ не будет «изнашиваться» постоянным перезаписыванием. Но в то же время значения переменных будут восстановлены при включении ПЛК.
Провел месяц с AirTag и понял, легко ли его найти
Прошло чуть больше трех недель, как я начал пользоваться новым для себя и для всего мира аксессуаром от Apple — AirTag. Когда только он вышел, мы писали об этом, потом делились первыми впечатлениями. Теперь же пришло время рассказать о реальном опыте использования. Насколько удобна сама метка, приходилось ли пользоваться ей для поиска вещей, как это работает (и работает ли вообще)… А что еще важно, как начинает выглядеть ее глянцевая поверхность через несколько недель использования и удобны ли дорогие оригинальные аксессуары. В начале всегда бывает, что вопросов слишком много, а ответов на них почти нет, но теперь они появились.
Даже так метку можно найти, как показал мой опыт использования.
Покупка AirTag
Покупать один маяк было не очень правильно, и поэтому я купил набор их 4 штук, чтобы развесить из везде. Наверное, меня дополнительно подкупило то, что для Apple такая щедрость неслыханна. Я не могу с ходу вспомнить такие ее гаджеты, которые при покупке нескольких штук стоят дешевле. Подобное можно наблюдать только с сервисами и то только в случае подписки Apple One.
Видео:
Что такое AirTag
Рассказывать подробно о самом трекере нет смысла, так как о нем было сказано уже немало слов. Если коротко, то это небольшая метка, которая кладется в карман, вешается на ключи или другие вещи и транслирует свое местоположение. В ней самой нет ни передатчика, ни модуля дальней связи. Есть только модули ближней связи, которые позволяют ей устанавливать контакт с любым iPhone, если он не совсем древний.
К AirTag выпускается достаточное количество аксессуаров, но брелок на цепочке не помешал бы.
В итоге, если метка потеряна, она через iPhone проходящего мимо человека может отправить свое местоположение на сервер Apple, где вы и сможете его посмотреть. Тут надо предупредить, что не стоит бежать спасать свою вещь, если ее украли, так как можно нарваться на куда более серьезные неприятности. Зато, если вы просто выронили ее, найти метку и то, к чему она прикреплена, можно будет довольно легко.
Можно ли найти потерянную вещь
Если брать крупные города — и не только Москву и Санкт-Петербург — то доля iPhone составляет примерно 10% от общего количества телефонов. То есть каждый десятый человек потенциально может спасти ваши потерянные вещи, даже сам того не зная. А теперь представьте, оказываетесь ли вы в таких местах, где за день не проходит хотя бы 10 человек? Даже уйдя в пригородный лес, настолько уединиться там будет сложно. Я не говорю о ключах, которые потеряны в тайге, но вероятность в течение пары дней получить локацию вашего AirTag в обычных условиях составляет по моим прикидкам минимум 95%.
Даже в лесу вероятность найти метку есть. Тем более, последнее местоположение останется у вас в телефоне.
Я повесил одну метку на ключи, одну положил в рюкзак, еще одну повесил на велосипед, а последнюю — четвертую метку — назвал ”Шпионская метка” и чего только не пробовал с ней сделать.
Так AirTag поцарапалась после того, как провела в горе сухих листьев пару дней.
Можно ли следить за кем-то через AirTag
Первым делом я отдал ее жене перед поездкой на работу и подробно объяснил, что делать и как вести себя, если она вдруг начнет предупреждать ее о слежке. В итоге никакого предупреждения не было. Она пользуется Android-смартфоном, и поэтому контролировать положение в режиме реального времени я не мог. Но, так как она работает в центре Москвы, а на работу добирается общественным транспортом, почти в любой момент времени я мог понять, где находится метка. В любой, кроме одного момента — когда она была в метро.
Пока она была в метро, локация метки определялась где-то на конечной станции ее ветки. Не знаю, совпадение ли, что это была станция именно этой ветки, но ситуация была именно такая. В этот момент я перевел метку в режим пропажи, и как только она вышла из метро, — получил уведомление о находке с точным адресом.
В приложении Локатор всегда можно посмотреть текущее или последнее местоположение метки. Если она в режиме пропажи и будет обнаружена, придет уведомление с адресом.
Получается, если вы потеряете что-то в метро, найти это при помощи AirTag будет чуть сложнее, чем невозможно. Но поиск вещей в метро вообще бессмысленная затея, так как все, что лежит на полу, или выкидывают, или увозят в бюро находок (или как оно там называется).
За два дня метка так и не сказала о том, что ведется слежка. Но теперь Apple выпустила обновление, которое должно раньше предупреждать о том, что что-то не так и метка куда-то едет, но без владельца.
Почему AirTag не выдает себя в случае слежки
Взять некоторую паузу довольно логично, чтобы метка себя не выдавала. Представьте, что вы уронили кошелек под лавку в парке и никто его не видит. У вас есть время, чтобы его найти. Но чем меньше времени от потери до подачи сигнала, тем меньше у вас шансов подобрать потерянную вещь — она сама все расскажет, что кошелек под лавкой.
Если вы просто выронили что-то, метка не должна привлекать к себе внимание.
Сделает она это, издав звук. У нее нет динамика, но есть корпус, который и является резонатором. Высокий и довольно громкий звук издает задняя стенка. Часто определить его источник довольно сложно. Но вы, например, легко поймете, в одной комнате с вами находятся ключи или в соседней. На улице это тоже поможет, но на открытом пространстве определение источника является еще большей проблемой.
При таком минимальном размере метка действительно почти не занимает места.
Работает ли чип U1, если купить AirTag в другой стране
Помочь мог бы чип U1, но он не сертифицирован в России. Скорее всего, это только пока, так как была информация, согласно которой Apple получала разрешение на его тестирование. Одно понятно точно — покупать AirTag в другой стране, чтобы пользоваться семи прелестями этого чипа в России, не стоит. Метки, продающиеся у нас и в других странах, абсолютно одинаковые — работа чипа блокируется по географическому принципу. Зато, если (или когда) сертификация будет получена, все должно просто заработать, так как U1 уже установлен в каждом AirTag и в каждом iPhone 11 и новее.
Использование метки в рюкзаке выглядит немного сомнительной идеей, так как случайно потерять его сложно, а если его украдут, то спасать уже будет нечего. Зато, если вы забудете его на верхней полке автобуса, то сможете найти его местоположение, даже если работники передадут его куда-то на хранение.
Вешать AirTag на вещи снаружи не совсем логично. С одной стороны нашедшему будет проще выйти на вас, но с другой, вору будет проще ее выкинуть.
Еще один сценарий использования — повесить AirTag на велосипед. Топовые современные модели даже делаются со специальным отсеком для этого. Но тут надо понимать, что спасти велосипед в случае кражи получится только, если его украл дилетант. Когда работает профессионал, он не просто заглушит сигнал, но найдет AirTag. А для того, чтобы ее обезвредить, надо или просто выкинуть ее и поехать дальше, или вытащить батарейку.
Делается это легко (надо покрутить в разные стороны верхнюю и нижнюю часть метки), а сама батарейка типовая. Это большой плюс с точки зрения удобства, но большой минус с токи зрения того, как легко можно вывести из строя метку. Тем не менее, я все равно повесил ее на велосипед, хотя пока сделал это очень топорно — просто при помощи оригинального чехла-петли. Но уже заказал этот, этот и этот аксессуар на AliExpress, чтобы сделать установку более незаметной.
Слева метка, которая висела на ключах, справа та, что лежала пару дней в земле. Даже ключи не так поцарапали корпус, как сухие листья.
Последняя метка висит у меня на ключах. Тут все круто и несколько раз она даже помогала найти мне их дома. Особенно актуально это, когда ты ходишь с разными сумками и рюкзаками, а ключи постоянно мигрируют из одного в другой.
Недостатки AirTag
Претензия только одна. Она скорее относится к личным предпочтениям, но все равно мне это сильно мешало. Оригинальный брелок, который стоит дороже самой метки, красивый и качественный. Вот только он неудобный по форме. Он постоянно торчит в сторону. Это не дает возможности сжать ключи в кулак, нормально убрать их в карман или легко переворачивать на кольце. Было бы здорово, если бы брелок был на цепочке и свободно болтался на ключах. Тогда конструкция была бы более компактной.
Этот брелок очень красивый и качественный, но на большой связке он не так удобен, как более мягкий.
Царапается ли AirTag
Теперь о том, как выглядят метки после некоторого времени использования. Если за внешний вид часов, планшета и телефона я переживаю, хотя все равно не пользуюсь чехлами, то как выглядит метка мне вообще все равно. Но факт в том, что она царапается. Даже метка, которая просто лежала в отдельном кармане рюкзака, все равно немного потерлась. Про ту, что была с ключами, я вообще не говорю.
AirTag для собаки или автомобиля
Многие, и я в том числе, рассуждали, что метку можно вешать так же на собаку или на машину в качестве противоугонной системы. В первом случае даже Apple говорит, что так лучше не делать. Да и по логике это правильно. Собака постоянно бегает и где-бы ее не нашли, через несколько секунд ее там уже не будет. Информацию вы будете получать с задержкой в пару минут, а за это время она убежит уже далеко. С другой стороны, рано или поздно она устанет и тогда шансы найти ее вырастут. Поэтому применение AirTag для поиска собаки возможно, но на практике это будет не так просто. Куда проще купить ошейник с GPS. Тем более, что таких довольно много.
Аксессуары Apple всегда отличаются какой-то изысканностью.
Для машины и вовсе это бесполезно и не стоит рассчитывать, что свершится чудо и угонщик сам со своего iPhone будет транслировать местоположение. Скорее всего, он будет пользоваться глушилкой до тех пор, пока машину не разберут. Но теоретически найти машину можно. Не знаю, как метка будет работать через слои металла, но я клал ее в солнцезащитный козырек и получал данные о ее местонахождении.
Покупать AirTag или нет
Покупать AirTag или нет? Однозначно да! Если у вас iPhone, то 3 000 рублей за одну метку или 10 000 рублей за четыре штуки вряд ли будут для вас большой проблемой. Можно в конце концов купить их с друзьями. Например, по две штуки каждому. В итоге вы заплатите за них по 5 000, а не по 6 000 рублей.
Зато у вас всегда будут повышенные шансы найти потерянные вещи. Бежать на вора с палкой не стоит, но если вы просто выронили ключи или кошелек, то шансы найти их будут выше.
Лайфхак: Покупаешь с другом на двоих такой набор, делишь метки и экономишь на каждой по 500 рублей.
Правда, учитывая все особенности, я пришел к выводу, что сама идея метки разрабатывалась с учетом того, что вокруг вас будут честные люди. Люди, которые в случае находки метки, приложат к ней телефон и позвонят по номеру, который вы укажете. Я не вижу смысла вешать AirTag снаружи сумки. Так вы сразу покажете, что она есть, что ее можно выкинуть и унести сумку.
Но лично у меня есть вера в то, что находку могут вернуть. Мне самому возвращали iPhone, который я выронил из кармана шорт в такси, и сделал это простой человек, который ехал после меня. Вот на таких и рассчитаны метки. Ну, или просто на нас, которые постоянно что-то теряют.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Лонгриды для вас
По слухам, Apple уже давно ищет, чем бы ей заменить iPhone. Вариантов на самом деле не так уж и много: сервисы, носимая электроника. Вот только они повязаны на iPhone и не смогут нормально работать без него. Значит, нужно что-то другое
Apple откладывает полноценный переход на Apple Silicon на неопределённый срок. По крайней мере, новый Mac Pro, который выйдет в 2022 году, будет работать на процессорах Intel, которые оказались круче, чем M1X и M2
Недавно Apple представили нам новые айфоны, и теперь вопрос выбора конкретной модели стоит крайне остро. В статье постараемся разобрать разные сценарии использования этих устройств и подробно коснемся их отличий.
В последнее время мне пришлось долго и муторно разбираться с протоколом MQTT (Mosquitto) и с тем, как его можно использовать с домашней автоматизацией. Поэтому пришлось разбираться с тем, как оно работает и зачем нужны все эти настройки.
Немного теории
Основные термины и понятия используемые в данном протоколе:
Разберем каждый термин по отдельности
Message
Сообщения (message) содержат в себе информацию, которую один участник сети на базе протокола MQTT хочет передать другим. Взаимодействие между участниками сети осуществляется через Брокера. То есть, если мне, как устройству, нужно передать сообщение о том что я что-то сделал или сообщить о том, как у меня дела, я передаю сообщение брокеру публикуя во всеуслышание что «я что-то сделал» или «как у меня дела».
Publish
Это процесс передачи сообщения брокеру.
То есть простым языком, я подошел к брокеру и сказал «мама я покакал». Брокер гипотетически должен услышать это сообщение и записать его к себе в блокнотик. Почему гипотетически? Потому что есть особенности протокола, которые мы разберем чуть ниже. Пока берем за данность, что я сказал что-то брокеру используя механизм Publish и он это услышал и записал.
Subscribe
Так как всеми сообщениями от всех устройств владеет исключительно брокер, то нам жеж нужно как то получить эти сообщения. Для этого мы подписываемся на рассылку от брокера для получения проходящих через него сообщений. Чтобы читать какие-то конкретные сообщения, нам необходимо определить на какую тему мы хотим получать эти сообщения, и для этого как раз используется механизм Topic
Topic
Это как раз таки Тема, по поводу которой мы хотим получать или как ни странно отправлять сообщения.
То есть формат общения между участниками выглядит примерно так.
Я как участник хочу сказать всем «мама я покакала»
для этого я создаю топик любого содержания, например: мое_тело/задница/
и сообщаю в этот топик сообщение «мама я покакала»
Брокер получит это сообщение, и передаст всем, кто подписался на тему (топик) мое_тело/задница/
То есть это такая вот упрощенная система смс рассылок с определенными темами.
Формат топика может быть разным и абсолютно любым. В принципе мы можем создать любой топик, и в него передавать сообщения любого содержания. Главное чтобы получатель был подписан на этот топик и знал что делать с информацией полученной из сообщений.
Что касается особенностей топиков, то их не так чтобы много.
Во первых они чувствительны к регистру. То есть топик «мое_тело/задница» и топик «Мое_Тело/Задница» это два разных топика.
Во вторых, топики не создаются не сервере администратором. Они создаются публикаторами и подписчиками которые на них подписаны. Брокер только занимается передачей сообщений и служебной информации.
Они позволяют выстраивать иерархию. Ну например:
У нас есть в гостиной и в спальне по два выключателя и один в гараже. Для этого мы формируем на выключателях в топики в виде:
Затем, что есть служебные топики, которые позволяют подписаться на группы топиков или сообщений.
Например если мы хотим читать вообще все сообщения мы подписываемся на топик #
Если мы хотим видеть то, что происходит в доме, то мы подписываемся на топик home/# и будем получать сообщения в топиках:
Но не будем видеть то что происходит в топике:
Если мы хотим видеть то, что происходит в гостиной, мы подписываемся на топик home/livingroom/# и будем получать сообщения только из топиков
В общем я думаю понятно что и как происходит с этими топиками.
Служебные сообщения
В качестве служебных сообщений используются в основном два типа сообщений
Last Will and Testament (LWT) которое сообщает что после этого сообщения считать меня мертвым.
Ну плюс еще используется Keep Alive сообщения, которые сообщают брокеру что «я все еще живой» и стандартно посылаются каждые 60 секунд. Если брокер не получил это сообщение от клиента, то он принудительно пингует его чтобы выяснить живой ли тот, и если выясняется что он неживой, то брокер публикует за клиента LWT сообщение, чтобы все узнали что тот скончался.
Соответственно получение брокером Birth Message от устройства, переводит устройство в понимании брокера в режим ONLINE, а после того как брокер получает от устройства LWT сообщение или когда сам принимает решения что тот скончался проверив устройство на доступность, то переводит статус устройства в режим OFFLINE.
QoS в принципе расшифровывается как Quality Of Service, то есть качество предоставляемой услуги. В разрезе MQTT оно имеет три значения 0,1 и 2
Если по простому, то эти варианты означают по факту определение того, надо ли нам как публикующему свое сообщение устройству, быть уверенным что оно получено.
QoS=0 означает что мы один раз публикуем сообщение «мама я покакала» и нам пофиг услышали нас или нет
QoS=1 означает что мы будем публиковать сообщение «мама я покакала» до посинения, до тех пор пока нам не скажут что нас услышали и можно заткнуться уже.
QoS=2 означает что мы один раз сказали «мама я покакала», получили от мамы подтверждение того что она нас услышала, сообщили маме что мы узнали о том что мама нас улышала, а мама подтвердила, что она поняла что мы узнали о том что она услышала :))))))
Я думаю первая буква М в протоколе, имеет отсылку в адрес Майкрософта, который по стопицот раз переспрашивает «действительно ли вы уверены что хотите закрыть это приложения?» :)))))))
Вот в общем то и все.
Retain
Этот параметр имеет всего два значения вкл и выкл. Означает он очень простой механизм.
Если у нас режим выключен, то когда я сообщаю всему миру «мама я покакала», то его слышат все кто подписан сейчас на топик в который я это сообщил. Но вновь подключившийся подписчик на наш веселый топик «мое_тело/задница» не узнает о том что все уже случилось и так и умрет в неведении наверное.
Если же мы включаем режим Retain, то брокер берет на себя обязательство, после того как мы сообщили миру об акте дефекации, сообщать каждому вновь подписавшемуся на этот топик сей удивительный и жизненно необходимый факт.
Установка флага retain в zigbee2mqtt
У меня уже где-то с полгода установлена система умного дома Home Assistant. Сначала появился HA со всякими WiFi устройствами, а через некоторое время я купил Zigbee свисток CC2531 и настроил его через zigbee2mqtt. Так что теперь у меня в Home Assistant попадают данные с zigbee датчиков температуры/влажности, датчиков открытия дверей/окон и я могу управлять умными zigbee лампочками.
Но все это время у меня была проблема. После перезагрузки Home Assistant в интерфейсе нет данных про температуру-влажность. Должно пройти какое-то время перед тем как появятся цифры температуры и влажности. С датчиком открытия все еще хуже. Окно физически открыто. В HA показывается «Открыто». Перезагружаю HA. К окну не прикасался, оно все так же и открыто. Но HA после перезагрузки показывает что окно «Закрыто».
Я достаточно часто перезагружаю HA (постоянно что-то настраиваю и переделываю) и мне неудобно такое поведение.
Оказывается, это совершенно просто поправить.
Для начала — вообще, почему это происходит? Это специфика MQTT. В MQTT есть сервер (он называется «брокер»). К этому брокеру подключаются клиенты. Клиенты могут либо посылать сообщения, либо подписываться на то что они будут получать сообщения. Когда приходит сообщение брокер пересылает его всем клиентам, которые подписались на получение этих сообщений. В общем случае mqtt брокер не хранит сообщения, а сразу их удаляет после того как получил и переслал всем тем кому они интересны. Но если сообщение отправлено со специальным флагом «retain», то тогда оно сохраняется в брокере. Новый клиент подключается к брокеру и получает из него все сообщения с флагом «retain».
Система zigbee2mqtt отправляет в MQTT сервер сообщения которое получает от zigbee устройств. HA подписан на все сообщения из MQTT сервера и когда он видит новое сообщение от MQTT, он обновляет данные у себя. По умолчанию zigbee2mqtt отправляет сообщения без флага «retain».
HA показывает температуру-влажности на основании данных из MQTT. Перезагружаем HA. НА поднялся, подключился к MQTT серверу. HA ничего не получил из MQTT, поэтому HA не показывает данные. Через некоторое время датчик отправит текущую температуру-влажность, она появится в MQTT, HA увидит и отобразит эти данные.
У меня HA установлен на Raspberry Pi. На этом устройстве установлена операционная система Raspbian, а уже на ней работает HA в виде набора докер контейнеров Hassio. zigbee2mqtt установлен адоном.
Чтобы zigbee2mqtt отправлял флаг «retain» нужно поправить файл
В этом файле находятся настройки всех zigbee устройств, с которыми работает zigbee2mqtt. В моем случае этот файл выглядел так:
(строк чуть больше, но формат такой)
Для того чтобы zigbee2mqtt отправлял статус устройства с флагом «retain» нужно поправить этот файл. Для того устройства которого нужна отправка флага «retain» нужно дописать «retain: true». Вот как я поправил этот файл:
Потом я подождал минут 15, данные со всех устройств появились в HA и перезагрузил HA. Результат — после перезагрузки сразу показывается температура-влажность, а открытое окно сразу правильно показывается в статусе «Открыто».
В настройках zigbee2mqtt я добавил отправку флага «retain» только для датчиков температуры-влажности и датчиков открытия окон-дверей. Для кнопок и ламп я не делал отправку этого флага (прямо сейчас у меня нет с ними явных проблем, поэтому я не трогал их настройки, возможно в будущем как-то поменяется).
Я слышал несколько мнений что добавление флага «retain» усложнит определение что в устройстве села батарейка. Но меня это не сильно беспокоит: батарейки в zigbee устройствах садятся исключительно редко (работают несколько лет), а перезагружаю HA я несколько раз в неделю.
Мне кажется что установка флага «retain» для датчиков температуры- влажности и открытия окон — это то как zigbee2mqtt должен вести себя по умолчанию. Если бы он так себя вел, то с самого начала работы с z2m у меня просто не было бы проблемы что после перезагрузки он не сразу показывает данные. Я написал это предложение в тикет GitHub проекта z2m,