Перейти к содержимому

Flyaway что это

  • автор:

Flyway: управление миграциями баз данных

В этой статье я расскажу об одном из средств обеспечения версионности схем и управления миграциями БД — библиотеке Flyway. С поблемой версионности схемы базы данных рано или поздно приходится сталкиваться разработчикам любого приложения, опирающегося на СУБД. Увы, иногда эта проблема принимается в рассмотрение слишком поздно — например, если вопрос о внесении изменений в структуру базы встаёт, когда приложение уже находится в эксплуатации. Но и на этапе разработки контроль схемы базы данных причиняет не меньше проблем, чем все прочие аспекты версионности приложения: в отсутствие чёткой системы управления миграциями локальная, стендовая и эксплуатационная базы могут быстро «разъехаться», не предоставляя при этом никакой информации относительно своего текущего состояния.

Перзистенс-провайдеры штатно позволяют лишь в том или ином виде экспортировать актуальную объектную модель в виде схемы базы данных. Этот процесс может быть выполнен в режиме пересоздания (с полным удалением всей структуры), обновления (с внесением изменений) или сверки (без внесения изменений). Например, в Hibernate это делается с помощью инструмента hbm2ddl, работа которого может быть настроена единственным конфигурационным параметром в файле hibernate.cfg.xml или persistence.xml. Однако пересоздание (режим create) бывает нежелательным, если в базе уже есть данные, а обновление (режим update) вносит не все изменения, а только недеструктивные (например, не удаляются столбцы и таблицы) и не учитывает требующуюся реструктуризацию данных. Зачастую, если модель данных претерпела множество изменений, применить их к эксплуатационной базе бывает непросто, особенно если текущая версия базы неизвестна. Так или иначе, но приходится «опускаться» до SQL-скриптов — тут-то и встаёт вопрос управления версионностью.

Flyway

На главной странице проекта приведена наглядная таблица сравнения библиотеки с аналогичными решениями, и здесь основное внимание хочется обратить на богатую функциональность, работу с миграциями в виде простых SQL-файлов или Java-классов (последние по сути основываются на Spring JDBC Template) и поддержку нативного SQL популярных СУБД (Oracle PL/SQL, SQL Server T/SQL, хранимые процедуры MySQL и PostgreSQL).

Flyway хорошо интегрируется с Ant, Maven и инструментами командной строки, имеет API для программного вызова и интеграцию со Spring, работает со множеством СУБД. Я приведу пример подключения Flyway к уже существующему проекту, сборка которого основывается на Maven, а вызов Flyway производится при старте контекста Spring. В качестве базы данных в проекте используется MySQL.

Подключение Flyway к проекту

Для начала создадим папку db/migration в подкаталоге src/main/resources проекта: в ней будут храниться скрипты миграции. Поместим туда предварительно экспортированный скрипт базы данных — со всеми таблицами, представлениями, индексами и т.д. Назовём файл V1__Base_version.sql. Подробно соглашения по именованию миграций описаны в документации, пока достаточно сказать, что имя файла начинается с V, далее следует номер версии (с произвольным количеством точек-разделителей), двукратный символ подчёркивания и описание миграции.

Добавим в зависимости проекта (раздел dependencies) ядро библиотеки Flyway:

 com.googlecode.flyway flyway-core 1.5  

А в сборочные плагины (раздел build/plugins) — плагин Flyway:

 com.googlecode.flyway flyway-maven-plugin 1.5 com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/flywaytest?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8_general_ci&characterSetResults=UTF-8 db/migration   

Для запуска Flyway через плагин лучше создать отдельную учётную запись в базе. Можно указать пользователя и пароль для подключения к базе здесь же, в конфигурации плагина:

 flyway mySecretPassword . 

Или в параметрах командной строки:

-Dflyway.user=flyway -Dflyway.password=mySecretPwd 

Но более удобным способом, в случае сборки на Maven, будет помещение типовых параметров в файл настроек Maven (файл settings.xml) и дальнейшее использование их во всех аналогичных проектах:

  flyway-db flyway mySecretPassword   

Если необходимо инициализировать текущую базу с нуля, то можно выполнить её очистку. При этом всё содержимое базы будет удалено:

mvn flyway:clean 

При успешном выполнении задачи база окажется пустой, а в логе Maven появятся следующие строки:

[INFO] --- flyway-maven-plugin:1.5:clean (default-cli) @ flyway-test-project --- [INFO] Cleaned database schema 'flywaytest' (execution time 00:03.911s) 

Если же база находится в актуальном состоянии (соответствует выгруженному ранее скрипту), необходимо выполнить задачу, которая создаст в ней необходимую для поддержания версионности структуру:

mvn flyway:init -Dflyway.initialVersion=1 -Dflyway.initialDescription="Base version" 

Далее можно убедиться, что в базе появилась таблица schema_version с единственной записью, соответствующей текущему состоянию базы:

Интеграцию Flyway с приложением выполним в виде бина Spring, стартующего перед entityManagerFactory:

После запуска приложения на чистой базе она будет инициализирована скриптом V1__Base_version.sql, кроме того, будет создана таблица schema_version. В логе при этом можно наблюдать следующее:

2012-04-04 06:42:09,279 INFO [com.googlecode.flyway.core.metadatatable.MetaDataTable] -- 2012-04-04 06:42:09,318 INFO [com.googlecode.flyway.core.migration.DbMigrator] -- 2012-04-04 06:42:09,320 INFO [com.googlecode.flyway.core.migration.DbMigrator] -- 2012-04-04 06:42:24,897 INFO [com.googlecode.flyway.core.migration.DbMigrator] --

Если же приложение было запущено на базе, идентичной последней миграции, то никаких изменений в схеме не произойдёт, что будет отражено в логе приложения следующими строками:

2012-04-04 06:36:14,081 INFO [com.googlecode.flyway.core.migration.DbMigrator] -- 2012-04-04 06:36:14,085 INFO [com.googlecode.flyway.core.migration.DbMigrator] --

В любом случае, при корректной интеграции Flyway база данных должна содержать приведённую выше таблицу schema_version с единственной записью.

Создание миграции

Создадим в папке db/migration файл с названием V2__Test_change.sql и со следующим содержимым:

create table test_table ( id bigint(20) not null, primary key(id) ); 

После запуска приложения обнаружим в логе следующие строки:

2012-04-04 06:51:02,708 INFO [com.googlecode.flyway.core.migration.DbMigrator] -- 2012-04-04 06:51:02,710 INFO [com.googlecode.flyway.core.migration.DbMigrator] -- 2012-04-04 06:51:03,137 INFO [com.googlecode.flyway.core.migration.DbMigrator] --

И убедимся, что таблица test_table была успешно создана, а в таблице schema_version появилась запись о применённой миграции:

Откат миграции

Flyway, в отличие, например, от системы миграции в Rails, не поддерживает откат изменений. Авторы библиотеки мотивируют это тем, что после внесения деструктивных и необратимых изменений выполнить откат состояния базы так, чтобы все пропавшие или изменившиеся данные восстановились к прежнему состоянию, в общем случае невозможно. Вместо этого предлагается вполне разумный подход использования механизмов резервирования. Например перед применением очередной миграции можно делать выгрузку дампа или снимок базы (в зависимости от имеющегося в конкретной СУБД функционала резервирования).

Миграции и контроль версий БД с помощью Flyway

Feb 21, 2020 07:57 · 847 words · 4 minute read flyway postgres docker

Процесс преобразования одной структуры базы данных в другой без потери косистентности, при котором меняется схема (таблицы и их колонки, индексы и пр.) называется миграцией. В данной статье рассмотрим использование инструмента flyway для работы с миграциями в БД postgres — давайте разберемся!

Можно ли обойтись без миграций? Да, если это:

  • совсем маленький pet-проект;
  • stateless приложение;
  • данные не важны и могут быть легко удалены/восстановлены;
  • приложение не развивается и/или не меняет структуру хранения данных.

В остальных случаях стоит использовать миграции — хотя бы исходя из правил “хорошего тона”.

В терминогии flyway любые изменения в базе данных называются миграциями. Миграции могут быть версионированными (versioned) и повторяемыми (repeatable).

Версионированные миграции имеют версию (очевидно же), описание и контрольную сумму. Версия должна быть уникальна, а описание достаточно информативным — при виде описания вы должны понимать, для чего предназначена эта миграция на самом деле. Контрольная сумма используется для обнаружения (и блокирования) случайных изменений. Версионнированные миграции — это наиболее частый тип миграций (их мы и будем подробно рассматривать), которые применяются к БД единожды.

Повторяемые миграции имеют описание и контрольную сумму, но у них нет версии. Таким образом, вместо того, чтобы применяться единожды, эти миграции будут переприменяться каждый раз, когда меняется их контрольная сумма. В процессе применения миграций, повторяемые миграции будут выполняться ПОСЛЕ всех версионированных и в алфавитном порядке их описания.

По умолчанию, миграции могут быть написаны на Java или SQL (наш случай) и содержать в себе несколько утверждений. Для контроля работы с миграциями (какие миграции уже применены, кем и когда), утилита flyway добавляет в базу данных таблицу flyway_schema_history .

Пример версионированной миграции:

CREATE TABLE hero_data.hero (  id BIGSERIAL NOT NULL,  name VARCHAR(250) NOT NULL,  description TEXT NOT NULL,  debut_year INT NOT NULL,  appearances INT NOT NULL,  special_powers INT NOT NULL,  cunning INT NOT NULL,  strength INT NOT NULL,  technology INT NOT NULL,  created_at TIMESTAMPTZ NOT NULL,  updated_at TIMESTAMPTZ NOT NULL );  ALTER TABLE hero_data.hero ADD CONSTRAINT pk_hero_id PRIMARY KEY (id); 

Пример повторяемой миграции:

CREATE OR REPLACE VIEW blue_cars AS  SELECT id, license_plate FROM cars WHERE color='blue'; 

Как правило, миграции проще всего писать в формате SQL — так легче начать работу, использовать существующие скрипты/навыки/инструменты. Опять же, такой подход сразу дает доступ ко всем возможностям используемой базы данных и не требует понимания “промежуточных” уровней транслирования sql-выражений. SQL-миграции хорошо подходят для:

  • DDL-изменений (CREATE/ALTER/DROP утверждения для TABLES,VIEWS,TRIGGERS,SEQUENCES,…);
  • Несложные изменения справочных данных (CRUD in reference data tables);
  • Несложные и массовые изменения данных (CRUD in regular data tables).

SQL-миграции должны соответствовать определенному шаблону именования для того, чтобы flyway мог работать с ними. Имя файла должно содержать:

  • Префикс: V для версионированных и R для повторяемых миграций (можно изменить);
  • Версию: Версия может содержать точки и/или нижние подчеркивания (только не для повторяемых миграций). Я бы рекомендовал использовать для версии timestamp в формате 20200214141830. Чтобы получить отформатированный timestamp выполните команду date ‘+%Y%m%d%H%M%S’ ;
  • Разделитель: __ (два нижних подчеркивания, можно изменить);
  • Описание: слова разделяются пробелами или нижними подчеркиваниями;
  • Суффикс: .sql (настраивается).

Пример правильно названного файла с миграциями — V20200214141830__Create_hero_schema.sql .

Миграции могут быть применены ко всем необходимым базам данных, но для простоты рассмотрим пример работы только с одной БД.

Все взаимодействие утилиты flyway с БД будет осуществляться из docker-контейнера, дабы не захламлять систему. Для сборки образа воспользуемся следующим Dockerfile :

FROM adoptopenjdk/openjdk13:jdk-13.0.2_8-ubuntu-slim   LABEL maintainer="Yevhen Lebid "   WORKDIR /flyway   ARG FLYWAY_VERSION  ENV FLYWAY_VERSION=$FLYWAY_VERSION>   RUN apt-get update && \  apt-get install -y \  curl && \  apt-get -y autoremove && \  apt-get -y clean && \  rm -rf /var/lib/apt/lists/*   RUN curl -L https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/$FLYWAY_VERSION>/flyway-commandline-$FLYWAY_VERSION>.tar.gz -o flyway-commandline-$FLYWAY_VERSION>.tar.gz \  && tar -xzf flyway-commandline-$FLYWAY_VERSION>.tar.gz --strip-components=1 \  && rm flyway-commandline-$FLYWAY_VERSION>.tar.gz \  && ln -s /flyway/flyway /usr/local/bin/flyway 

Соберем образ flyway следующей командой:

docker build \  -f Dockerfile \  --build-arg FLYWAY_VERSION=6.2.4 \  -t ealebed/flyway:1.0.0 . 

Предположим, что у нас уже существует БД. Чтобы начать с ней работать используя миграции, необходимо:

  • создать sql-скрипт, содержащий текущее состоянии БД (DDL, Data Definition Language) со всеми индексами, триггерами, процедурами и т.д. (например, используя pg_dump -s . );
  • создать версионированную миграцию из данного скрипта, используя корректную версию и описание (например, V20190814141830__Base_version.sql);
  • назначить (зафиксировать) базе данных базовую версию, используя версию и описание с предыдущего шага. Чтобы выполнить данную операцию в docker-контейнере запустите:
docker run \  --rm  -e FLYWAY_USER=$FLYWAY_USER> \  -e FLYWAY_PASSWORD=$FLYWAY_PASSWORD> \  -e FLYWAY_URL=$FLYWAY_URL> \  ealebed/flyway:1.0.0 flyway baseline -baselineVersion=20190814141830 -baselineDescription="Base version" 

Здесь $ , $ и $ — необходимые параметры для авторизованного подключения к интересующей вас БД. Полный список параметров можно найти здесь.

Теперь можно приступать к написанию миграций. Если вы работаете в IntelliJ IDEA, то рекомендую использовать плагин Flyway Migration Creation.

Для того, чтобы применить одну или несколько миграций (помним о версионировании), необходимо смонтировать внутрь docker-контейнера каталог с sql-миграциями и выполнить команду migrate :

docker run \  --rm \  -v :/flyway/sql \  -e FLYWAY_USER=$FLYWAY_USER> \  -e FLYWAY_PASSWORD=$FLYWAY_PASSWORD> \  -e FLYWAY_URL=$FLYWAY_URL> \  ealebed/flyway:1.0.0 flyway migrate 

Просмотреть детальную информацию и статус всех миграций можно с помощью команды info :

docker run \  --rm \  -e FLYWAY_USER=$FLYWAY_USER> \  -e FLYWAY_PASSWORD=$FLYWAY_PASSWORD> \  -e FLYWAY_URL=$FLYWAY_URL> \  ealebed/flyway:1.0.0 flyway info 

Стоит отметить, что в платной версии flyway есть возможность выполнять проверку применения миграций с помощью так называемых Dry Runs — вещь очень полезная (иногда и жизненно необходимая). В одной из следующих статей я расскажу как можно организовать аналогичные проверки и валидацию миграций еще до их применения к БД, причем совершенно бесплатно, без смс и регистрации!

Read more

© Copyright 2023 Yevhen Lebid

Насадка Flyaway для фена с эффектом Коанда

Насадка Flyaway — это одна из последних насадок для фена, которая облегчает уход за волосами. Это компактный элемент, который имеет закругленную форму и предназначен для ухода за непослушными прядями. Сушить волосы удается благодаря мощному потоку воздуха без участия рук. Впервые эффект Коанда был применен в стайлерах Дайсон, и эту функцию сумели оценить многие девушки, поэтому она была внедрена и в фенах, а позже и в выпрямителях для волос. Длинные волосы под воздействием мощного потока воздуха приподнимаются кверху и быстро сушатся.

Насадка Flyaway для фена с эффектом Коанда

Насадка подходит для женщин с вьющимися и кудрявыми волосами. Ранее девушкам приходилось использовать обычные насадки, что нередко приводило к запутыванию волос. Теперь благодаря новой насадке сушка будет выполняться гораздо быстрее. Особенно тщательно к этому нужно отнестись в холодное время, ведь волосы из-за шапки и отопительного сезона страдают в первую очередь.

Прежде чем полукруглая насадка появилась в комплектации некоторых фенов Dyson Supersonic, инженеры создавали много прототипов, пока не получился идеальный продукт. Специалисты тестировали разные углы наклона и размеры насадки.

Насадка, как и другие элементы Дайсон имеет магнитные крепления, поэтому она подходит для фенов, которые вы приобретали ранее. Не обязательно покупать новый набор с феном, можно просто купить одну насадку для разглаживания и укладки непослушных волос с низкими температурами.

Изогнутая насадка для непослушных волос подходит для ежедневного применения. Оно борется с запутыванием и пушностью волос. За счет датчика, измеряющего температуру, удается высушить волосы без пересушивания и вреда для них. Во время укладки пряди не нужно удерживать руками, достаточно провести по ним насадкой и они станут сухими.

С помощью насадки волосы приподнимаются во время сушки, за счет чего прическа получается объемной. Благодаря эффекту Коанда удается создавать идеально гладкую прическу.

Насадка имеет эргономичную форму, к ней даже не нужно привыкать. Встроенный эффект Коанда делает пользование насадкой комфортным. Если вы ранее пользовались феном Dyson, то проблем не возникнет.

Статьи по теме

Отличия фенов модели HD07 от HD03?

14 октября 2023

Фен Дайсон — это устройство для сушки волос, которое имеет в комплекте 4-5 насадок. Девайс подходит для разного типа волос, с его помощью можно делать разные укладки, используя новые насадки для себя. Dyson Supersonic имеет в комплекте такие насадки:

Как работает выпрямитель Dyson

12 октября 2023

Техника Dyson зарекомендовала себя как лучшие девайсы для ухода за волосами, которые стали мечтой многих девушек. Ниже опишем несколько особенностей, за что этот бренд так полюбился многим:

Flyaway что это

RC Магазины

Home Защита от улета Система против flyaway RC-01 для квадрокоптеров и других авиамоделей

  • Radiolink RC6GS V3
  • Dancing servo (Arduino)
  • Изготовление, чертежи и полет свободного летающего дельтаплана
  • Мои недавние проекты
  • Минтранс разрешил запускать дроны над городами
  • Авиамодели, дроны и запрет полетов
  • Fokker D.VIII
  • Складной пропеллер из обломышей своими руками
  • Балансир из карандашей
  • Минипатрон для сверления
  • Изготовление, чертежи и полет свободного летающего дельтаплана (2)
  • Двухметровый зальник По-2 (8)
  • Минтранс разрешил запускать дроны над городами (2)
  • Авиамодели, дроны и запрет полетов (2)
  • Автономная поисковая пищалка JHE42B на авиамодель (10)
  • Изготовление авиамодели Katana 3D своими руками (10)
  • Замена подшипников мотора 2205 1400 (4)
  • Как сделать Mini Flash (1)
  • Складной пропеллер из обломышей своими руками (4)
  • Современные пульты радиоуправления в 2022 году (9)

Electric RC Radio Remote Control Super Mini Speed Boat Dual Motor Kids Gift ToyRJX Micro F04 FPV Camera Holder Protective Cover for 20x20mm Flight Controller like PIKO BLX720pcs Stainless Steel M3 Button Flat Socket Head Screws Set Hex Socket Cap Screw BoltiRangeX iRX-IR8M 2.4G 8CH Multi-Protocol Transmitter With PPM S.BUS Mini Receiver4-Point Aluminum Servo Arm Horns for RC Models2.4G CC2500 NRF24L01 A7105 CTRF6936 4-IN-1 Multi-protocol STM32 TX Module With AntennaRechargeable LED Helping Hand Soldering Welding Stand Clamp Tool With 2.5X 7.5X MagnifierHubsan X4 H502E With 720P HD Camera GPS Altitude Mode RC Drone Quadcopter RTF

Что такое flyaway и с чем его едят?

Если у вас есть радиоуправляемый самолёт или квадрокоптер и вы активно интересуетесь темой авиамоделизма, наверняка, слышали, что модели могут безвозвратно улететь. Flyaway (неконтролируемый улёт модели) – довольно распространённое явление.

Чаще всего это происходит из-за потери контроля над аппаратом по разным причинам:
• выход из строя бортовой электроники;
• сильные помехи в эфире;
• лёгкие аппараты может снести ветром и вы потеряете с ними связь.

улетающий квадрокоптер

Обидно, если ваш дрон улетит в неизвестном направлении и вы врядли уже его когда-нибудь увидите. А учитывая тот факт, что стоимость моделей такого рода довольно высока, проблема и как никогда актуальна. Есть один сайт, база по улетевшим моделям (lostdrones.ru), по нему понятно, что пилоты довольно часто теряют свои дроны.

Существующие методы (выключить пульт, чтобы активировался режим Fail Safe, если предусмотрен контроллером) не всегда спасают, как показала практика. Еще для поиска используют маячки, но, как оказалось, такое решение не отличается особой эффективностью. Дрон может улететь на расстояние в несколько километров, к тому же его может снести всторону порывами ветра. В итоге, после падения вне зоны видимости вы можете не засечь сигнал от маяка. Лежа на земле радиус действия маяка сильно снижается и придется прочесывать километры, чтобы поймать, наконец, заветный сигнал. А в то время, пока вы будете его искать, игрушку уже подберёт кто-нибудь другой.
У земли различные GPS трекеры и маяки имеют пониженную дистанцию передачи сигнала. А сотовая сеть может просто прекратить улавливаться треккером и он выпадет из сети навечно. Не было бы подобных затруднений, то не имела бы смысла и разработка иных путей спасения дронов. Но желание удержать дрона на привязи было велико, поэтому я взялся за разработку более предсказуемого и надежного метода не дать коптеру «улететь в Китай».

Лучшее решение избежать flyaway — немедленно прекратить полёт, пока модель еще в пределах видимости или находится в известном месте. Именно поэтому была задумана и реализована Система удаленного управления питанием под «кодовым» названием RC-01. С возможностями данной системы управления больше не нужно сопровождать взором убегающий вдаль аппарат, лихорадочно клацая на пульте GPS-ATTI-FS, можно просто надавить клавишу на альтернативном пульте и остановить дрона.

После долгих трудов с паяльником.

Система управления питанием RC-01 представляет собой радиоуправляемый комплекс для коммутации питания непосредственно на авиамодели. RC-01 имеет собственный пульт управления и это основное неоспоримое преимущество перед другими системами, так как стандартные устройства вяжутся на один из каналов родного пульта и если контроллер в модели глючит — то пиши пропало.

RC-01 работает на отдельной частоте, как запасная кнопка. Если откажет пульт или контроллер, установленный на авиамодели, вы можете с отдельного пульта RC-01 отключить заглючивший контроллер и перекинуть питание на резервную систему, или парашютный модуль, или систему аварийного снижения, или что-то еще.

RC-01

Ключевая цель RC-01 — воздействовать на аппарат в нужный момент, чтобы не устраивать потом розыск, вычерчивая на карте линии предполагаемых траекторий полёта и мест падения. Пытаться потом понять, далеко ли его занесло и куда он упал (типичный пример с форумов: «да зарядка была 90%, походу он ещё летел и летел, мог упасть где-то в районе. »).

При разработке учитывались особенности авиамоделизма в целом и в результате у RC-01 получился целый комплекс преимуществ:
• RC-01 работает в радиусе до 3 км, что позволяет справиться с неконтролируемым улетом даже если дрон уже вне зоны видимости;
• если основная электроника отказывает, можно мгновенно переключиться на резервную электронику прямо в полете;
• приемник поддерживает широкий диапазон входных напряжений и большой ток коммутации, что дает возможность управлять различными силовыми цепями дрона;
• незначительный масса и размер приёмного модуля дают возможность использовать его в широком диапазоне классов авиамоделей;
• собственный отдельный канал связи даёт возможность отправлять сигнал даже при поломке штатного оборудования;
• не повлияет на полётное время аппарата, так как приёмник очень экономичен;
• радиочастота передатчика 868 мГц не пересекается с другими основными частотами радиоуправляемых ЛА;
• приёмник не нарушает работу навигации (GPS, компас), настроен исключительно на приём.

Связь передатчика и приёмника подобна автосигнализации — короткий цифровой код. К пульту можно привязать неограниченное количество приемников.
В случае если модель попадёт в зашумлённый радиоэфир, вы почувствуете это на управлении — дрон перестанет повиноваться вашим командам. RC-01 обладает возможностью сработать даже в таких условиях из-за того, что проходит не цепочка команд управления двигателями и сервоприводами, а только одна команда на разовое переключение питания. Если при этом нажимать клавишу на передатчике RC-01 несколько раз, вероятность того, что один из сигналов донесётся до системы даже сквозь помехи в эфире, повысится и цель будет достигнута — неконтролируемый улет будет остановлен.

Как я это всё проверял, «полет в Китай»

резервное управление авиамоделью

Тестирование системы проводилось весь летний сезон и отработало безотказно. В один прекрасный день модель DJI Phantom была успешно спасена от улёта.
В тот момент я проводил исследования по дальности действия RC-01 и вдруг модель перестала слушаться пульта и двинула «в Китай». В этот момент стало ясно, что не будь у меня моего же комплекса по управлению нагрузкой, то писать бы мне потом на форуме в разделе «Потерян коптер».
Стояла задача не разбить коптер, потому что парашютной системы у меня не стоит. По показаниям fpv я все ещё наблюдал за направлением движения. Буквально через несколько секунд дождался, когда под коптером будут кусты и мелкие деревья, нажал кнопку спасения. Квадрокоптер отключился от питания и свалился на кусты, так и не достав до земли, так что я отделался всего двумя поломаными винтами и соскочившими креплениями подвеса.

Но, главное, что он дальше не улетел никуда в неведомые края! Работает система! Жив, курилка! :-))

Поделиться со всеми!

Защита от улетания квадрокоптера

Зная, что проблема с улетевшими коптерами затрагивает многих, было решено сделать еще несколько комплектов. Поэтому, в конце лета я изготовил небольшую партию приемников и передатчиков и теперь могу снабдить пилотов настоящей системой против flyaway!

Заказать такую штуку можно через через личку, тут на форуме или через мой сайт www.33dev.ru , который я создал недавно, и где буду так же выкладывать другие свои разработки по теме безопасности полетов. Цены и подробные характеристики тоже там.

Также можно на один передатчик завязать несколько приемников, что пригодиться в том случае, если у вас имеется несколько дронов. Не нужно приобретать множество пультов, достаточно установить радиоприёмник в каждый аппарат. Операция связки устройств для работы друг с другом подробно изложена в инструкции на сайте.

P.S. На подходе также парашютные системы, сейчас заканчиваю проектирование и перейду к фазе тестирования. Видеоотчет обязательно выложу. А пока, хоть и без парашюта, но уже можно не дать любимому дрону улететь 🙂

Надеюсь, что сообществу будет полезно. Будут вопросы, пишите.

Видео установки комплекта Stop Flyaway:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *