Activity

Модуль беспроводного управления камерой Xiaomi Yi

Здорово, я рад, что проблема решена) Конечно, программа читала одну строку, потому что раньше камера и отвечала одной строкой.
Причем, судя по всему, теперь камера выдает вторую строку с некоторой задержкой, вторым блоком данных. Поэтому прошивка модуля воспринимала это как окончание передачи ответа. Можно было бы конечно тупо ждать и читать в буфер INcamera обе строки, а потом выкусывать токен.
Но ваше решение абсолютно равноценное и на мой взгляд даже более правильное. Удачных полетов)

Модуль беспроводного управления камерой Xiaomi Yi

Вероятно, китайцы опять изменили позицию токена в текстовой строке ответа.
В вашем случае модуль успешно соединяется с точкой доступа камеры, пытается прочитать токен.
Вместо токена извлекает символ } и естественно дальше ничего нормально не работает.
Попробуйте сделать вот что. В исходном коде прошивки в подпрограмме ask_for_token раскомментируйте строку

(INcamera); 

чтобы в терминал выводился текст ответа камеры.
Токен это цифра от 0 до 9 в конце строки ответа. Подсчитайте ее позицию и поправьте строку,

token = INcamera.substring(37, (INcamera.length() - 2));

в соответствии с фактической позицией токена.
Про метод substring() можно подробно прочитать здесь.
Там все просто: первый параметр - начальная позиция фрагмента строки, второй параметр - конечная позиция фрагмента.
Путем их подбора добейтесь, чтобы в переменную token извлекалось именно нужное число из ответа камеры.
Надеюсь, китайцы ничего не поменяли слишком глобально.

Если всё получится, не забудьте написать здесь правильную строку кода для обмена опытом.

Модуль беспроводного управления камерой Xiaomi Yi

Предупреждаю, что на сегодня у меня осталось в наличии только два субмодуля ESP-09. Имейте это в виду, если вам нужен модуль управления в сборе. Заказал в Китае еще, но они приедут как обычно, в течение месяца или дольше.

Модуль беспроводного управления камерой Xiaomi Yi

Модуль управления разрабатывался и тестировался для версии камеры Z22L. Когда появились новые версии камеры, некоторые пользователи стали жаловаться, что модуль не может установить связь с камерой. Путем многочисленных тестов и совещаний удалось установить, что одна из причин (возможно даже единственная) состоит в том, что изменилась длина строки ответа камеры, из которой модуль извлекает номер токена (подпрограмма ask_for_token()). Недавно один из энтузиастов прислал мне исправленную подпрограмму для Xiaomi Yui 4K:

void ask_for_token(void) {

 INcamera = "";
 client.flush();
 client.print("{\"msg_id\":257,\"token\":0,\"param\":0}");
 while (!client.available()) { }
 while (client.available()) {
 char k = client.read();
 INcamera += k;
 }
 INcamera.trim();
 token = INcamera.substring(31,(32));

 INcamera = "";
 }

Строго говоря, изменению подлежит только одна строка, выделенная жирным шрифтом.

Также есть подозрения по поводу зависимости от версии Arduino IDE, потому что встречалась ситуация, когда в случае камеры версии Z23L у одного пользователя модуль работает с прошивкой, выложенной на форуме, а у другого не может соединиться с точно такой же камерой. Посовещавшись, мы предположили, что причина может крыться в разных версиях компилятора. При работе над проектом я использовал Arduino IDE 1.6.5 и 1.6.8.

К сожалению, у меня нет возможности приобрести новые версии камеры для экспериментов. Купить для этой цели недорого разбитую камеру пока не удалось.

Модуль беспроводного управления камерой Xiaomi Yi

Интересная задача. По правде сказать, мне такое применение даже в голову не приходило. Обязательно возьму на заметку. К сожалению, в ближайшие полгода у меня однозначно не будет возможности начать работать над этой новой задачкой…

Нано-бипер для миникоптера

Может быть из-за того что у меня обычный пьезоизлучатель на 5В?

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

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

Вот, почитайте ссылку.

В вашем случае надо выбросить диод D1 и вместо него поставить резистор номиналом 500 Ом…1 кОм, как на этом рисунке:

Но еще не факт, что будет громко пищать, потому что излучатели имеют выраженную резонансную частоту. Номиналы моей схемы подобраны именно под частоту 2700 Гц магнитного излучателя. Какая у вашего излучателя резонансная частота, я не знаю. Хорошо бы при помощи генератора звуковой частоты пробежаться по диапазону 1000…3000 герц и найти наиболее эффективную частоту. А потом при помощи упомянутого выше онлайн-калькулятора подобрать стандартные номиналы компонентов как можно ближе к этой частоте.

Нано-бипер для миникоптера

У меня ведь работает)) важно ничего не напутать с резисторами и конденсаторами. Сравните с моей фотографией обратной стороны платы. Впрочем, номиналы конденсаторов там не видно.

Вот вам ссылка на калькулятор схем на 555. Можете сами ввести номиналы деталей с моей схемы, и убедиться, что расчетная частота получается 2,623 кГц. Это вполне соответствует частоте резонанса излучателя 2700Гц. В реальности, с учетом разброса номиналов деталей, частота моего экземпляра получилась 2710Гц.

Вы явно что-то путаете: порядок номиналов емкостей, или выводы, или что-то еще делаете не так. Если онлайн-калькулятор на сайте нормально эмулирует эту схему, значит и протеус должен. При условии, что в исходных данных нет ошибки. Временно соедините вывод RST (4) с плюсом питания в протеусе. Правильно нарисованная схема с правильными номиналами деталей просто обязана начать работать. Кстати, калькулятор на сайте такую частоту уже не может отобразить в графическом окне, однако вычисляет совершенно правильно.

Нано-бипер для миникоптера

Схема настолько примитивная, что не будет работать только в случае явного дефекта платы или неисправной детали. На каком из выводов излучателя у вас 0,1В? Если на верхнем, то это обрыв цепи питания, если на нижнем, то пробит транзистор Q1 или дохлый таймер 555. Но в случае, если транзистор постоянно открыт, звукоизлучатель будет ощутимо нагреваться. Проверяйте плату на обрывы и КЗ, а детали на пробой. Кстати, если диод D1 ставили, его полярность не перепутали случайно? Лучше временно уберите его.

Миниатюрный универсальный бипер + датчик разряда для микрокоптеров

С точки зрения программирования - добавить несколько строк кода.
В схему добавить еще один резистивный делитель. В этой тиньке АЦП в достатке))
Только для этого надо полностью заново разводить плату, а вот этим сейчас мне заняться некогда.
Если будете делать плату под себя, можно будет доработать прошивку по вашу схему.

Нано-бипер для миникоптера

Прикольная штукенция)) правда как бипер индикации переключения режимов при настройке дома ее использовать это наверное жесть) а вот для поиска в кустах самое оно.

Нано-бипер для миникоптера

Потому что пищалка не пьезо, а электромагнитная, некоторые выбросы обратной ЭДС присутствуют, невзирая на внутренний диод в транзисторе Q1. Особенно хорошо эти выбросы заметны на частоте резонанса пищалки, если смотреть осциллографом. Но это перфекционизм с целью максимально давить помехи. Можно вполне обойтись и без него. Тем более диоды в таком корпусе довольно трудно купить. А все помехи “наружу” неплохо давятся конденсатором С1. Ставить в этом месте малогабаритный танталовый конденсатор не рекомендуется. Замечено и описано в статьях, что при наличии выраженных импульсных выбросов они деградируют. Нужно ставить или дополнительную керамику в параллель, или обходиться только керамикой.

Модуль беспроводного управления камерой Xiaomi Yi

Для работы через Arduino IDE необходимо установить специальный мод, в котором содержатся нужные платы и библиотеки. Прочитать об этом можно здесь и здесь.

После установки расширения выбирайте плату Generic ESP8266 Module и этого достаточно. Прочие параметры, типа объема памяти и тактовой частоты, не трогайте.

Модуль беспроводного управления камерой Xiaomi Yi

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

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

Заказал также в Китае десяток модулей ESP-09 для установки на эту платку, т.к. люди мучаются с их покупкой в России, а из Китая снова стало долго. Но пока они затерялись где-то в дороге.

Кстати! Курьерская служба СПСР повергла меня в шок. Сегодня утром, часов в 11, они забрали готовые платы в Новосибирске, а в 17-00 вручили их мне в Красноярске. Телепортация))

Модуль беспроводного управления камерой Xiaomi Yi

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

Например, когда вы даете команду на запись видео, камера отвечает, что она перешла в режим записи видео. Когда вы даете команду остановить видео, камера подтверждает останов. Эти подтверждения отслеживаются прошивкой. Но в промежутке между командами статус камеры непрерывно не проверяется. По умолчанию мы считаем, что если камера получила команду начать запись и выдала подтверждение, то значит процесс идет штатно. Если после подтверждения записи через какое-то время глюканет флешка и камера зависнет, мы об этом не узнаем.

Модуль беспроводного управления камерой Xiaomi Yi

Скорее всего, у вас в Arduino IDE не установлена библиотека для MAX7456. Я выложил ссылку в первой записи, скачайте и установите. Для установки библиотеки запустите Arduino IDE, выберите в меню пункты Эскиз -> Include Library -> Add .ZIP Library и укажите на скачанный zip архив, затем перезапустите IDE. Или разверните архив и скопируйте папку MAX7456 в папку Libraries вашего Arduino IDE.

Модуль беспроводного управления камерой Xiaomi Yi

Да, можно. Прямо здесь на форуме можете посмотреть. Только в той разработке задействованы отдельно ардуинка и модуль на ESP8266, хотя, на самом деле, нужды в отдельной ардуине нет. Весь функционал можно затолкать прямо в ESP. Но у меня нет GoPro, поэтому портировать и проверять нечем. Можете смело брать мой проверенный модулёк за аппаратную основу и модифицировать прошивку под GoPro на основе указанных выше по ссылке команд.

Опросец: а нормально в списке тем выпилить автора первого поста?

А зачем видеть в заголовке, кто последний ответил? Какую полезную информацию это несёт?

В указании автора необходимости не вижу. Для меня на форуме все личности равны и роль играет только фактическое содержание темы. Для контента с акцентом на автора есть дневники.

Модуль беспроводного управления камерой Xiaomi Yi

Конечно подойдет, там будет огромный запас по току.
У основного OSD только один порт Rx-Tx. хотя можно замутить в основной OSD эмуляцию второго порта по какому-нибудь протоколу. Но это уже вопрос к серьезным программистам, кто пишет прошивки типа MWOSD и прочие))

Модуль беспроводного управления камерой Xiaomi Yi

Хм, какие прикольные штучки)))
Ничего страшного, что GPIO14 не разведен, номер ноги в прошивке можно поменять на нужный.
Только сперва разобраться, а какой же все-таки разведен.

К сожалению, у меня нет ни оборудования под рукой, ни времени, чтобы заняться поддержкой сигналов по последовательному каналу. Еще бы и S.BUS не помешал. Теоретически-то конечно можно, только вот когда… Не могу даже обещать, что вообще вернусь к доработке этого проекта. Ну разве что следующей осенью/зимой…

Модуль беспроводного управления камерой Xiaomi Yi

Александр, да, модуль для Pixhawk подойдет идеально, потому что у него на проводе в термоусадке уже спрятан источник +3,3V (напрямую +5 не подавать - сгорит!) и уже выведена гребенка для последовательного порта. Но имейте в виду, что для перепрошивки вам придется разрезать термоусадку, чтобы вывод GPIO0 сажать на землю. Возможно он выведен на гребенку, это вы уже после получения увидите, по фото и описанию товара это не видно.

По второй вашей ссылке смотреть готовые модули, уже имеющие стабилизатор +3,3 и разъемы, не имеет смысла, поскольку это отладочные платы, которые весят, как кирпич и размером почти как половина камеры. Единственное, что нам подходит, это ESP-11 banggood.com/ESP8266-Remote-Serial-Port-WIFI-Trans…
если к нему приделать внешний стабилизатор 3,3V. И кстати, не берите модуль ESP-05, у него не разведен наружу вывод GPIO0, замучаетесь припаиваться к нему для перепрошивки, еще и дорожку придется резать скальпелем под сильной лупой.

Прошивка и плата модуля: drive.google.com/open?id=0B6fd8HhaRRWTQkY1alB6RnB6…
Прошивка для MinimOSD: drive.google.com/open?id=0B6fd8HhaRRWTcEdDY2pnaTdK…

Просто хвастаюсь: напечатали мою книгу

Егор, спасибо)) Гироскопы-акселерометры это отчасти пожелание издателя, с которым я в основном согласен. Места на самом деле занимает не так уж много, было задумано вообще как врезки в текст. Просто для формирования фундамента знаний, как нас учили в политехе. Такие моменты лучше усвоить на первых шагах, потом будет не до этого, объем информации начнет нарастать, как снежный ком.

Просто хвастаюсь: напечатали мою книгу

Александр, спасибо!

А мне google почему-то показывает фрагмент из начала самой первой главы… Наверное, разным людям показывают разные фрагменты?
Касаемо ошибок - если не трудно, прошу кидать мне в личку указания на ошибки.
Если будет второе издание, нужно будет внести поправки.

Осторожно, двери закрываются :)

О, пока не забыл, напишу здесь. А можно попросить на будущее привинтить такую штуку, как Telegram-bot? Нынче это вроде становится модным трендом и вообще прёт, и стильно-молодежно, но дело не в этом. Просто теперь, когда читаешь разные интересные телеграм-каналы, очень хочется вместо традиционного механизма RSS получать ту же самую инфу, но только себе в телеграм, через подписку на телеграм-бота. Потому что RSS как ни крути, всё выходит как-то не то…

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

Может я неправильно понимаю механизм, но вроде бы это должно работать так: я привязываю к своему аккаунту на сайте свою учетку телеграма. Когда я подписываюсь на определенный раздел раздел сайта и способом доставки выбираю Telegram, бот начинает кидать мне в канал новости раздела. Также сделать возможность уведомления об ответах в теме не только на почту, но и в телеграм. Идеология в том, что задолбали все эти уведомления на почту, а другого быстрого способа нет. Почта должна быть для писем. Для нотификейшенов - мессенджер!

О! А если бы сделать так, чтобы можно было подписаться через телеграм на определенную “горячую” тему, чтобы она в режиме реального времени сливалась туда ботом, это будет вообще феерия. Разумеется, можно сделать техническое ограничение, подписка не более 1-2 тем за раз, и только тех, где есть твои собственные сообщения. Еще раз подчеркну, что я имею в виду адресную рассылку ботом, а не широковещательный канал.

Просто хвастаюсь: напечатали мою книгу

Да, если поставить задачу идеально догонять рынок железа, то с учетом издательского процесса и скорости книжного рынка, это нереально.
Отставание минимум на год будет всегда, по определению.
С другой стороны, если говорить про совсем новичков, то я считаю, что им следует начинать с хорошо известного, давно обкатанного железа,
для которого все давно решено и обсосано со всех сторон. А через годик перейти на то железо, которое к этому моменту будет устоявшимся.
С тем же CC3D Revolution, если копнуть глубже, чем настройки голой платы по визарду, тоже имеет свои приколы и заморочки, и с прошивками там далеко не всё устоялось,
как раз процесс бурлит)) так что думаю, к следующему сезону дозреет до уровня мануала для новичков. Это же относится, например, и к камере Xiaomi Yui,
было очевидно, что к завершению книги еще много всякой интересной инфы появится. Поэтому и не стал про нее писать, отложил на потом. Заодно свой проект WiFi remote control доделал).

Просто хвастаюсь: напечатали мою книгу

Если проект изначально реализован по заказу коммерческого издательства, в опенсорсный его не переделаешь. Я немного сумбурно выразился в предыдущей записи. Про 400$ я как раз имел в виду, что мне нужны не деньги навсегда, а пульт или очки примерно по такой цене на время. Взять - наработать материал - вернуть. Но так не бывает.

Вот смотрите. По заказу издательства пишется книга. Вроде нормально пошла. Издатель говорит: “замечательно, готовься ко второму изданию, с дополнениями”. Читатели говорят, а чего ты не написал про CC3D, про FRSky, про SimpleBGC? Да вообще много о чем можно и нужно написать. А чтобы про это написать, мне их надо все плотно так подержать в руках, поработать с ними. Ну ладно, контроллеры CC3D в двух вариантах и квадрик-мелколет на клоне атома я купил чисто под себя. А с образцами остального оборудования вопрос пока открыт. Издательство плавно ушло от решения вопроса, дескать ты автор - ты и думай, где брать материал. Поэтому что могу - покупаю сам, из расчета пользоваться дальше. Что-то возможно продам на барахолке потом за полцены.

За предложение помощи - искреннее спасибо! Но в данном случае ситуация действительно не та, увы.

Просто хвастаюсь: напечатали мою книгу

Хочу еще добавить, что к сожалению, в нашем хобби, если хочешь о чем-то написать не словесный понос или компиляцию из сети, то нужно самому плотно поработать с оборудованием, о котором пишешь. Значит всё это оборудование, о котором планируешь написать, надо купить на свои кровные, даже если оно самому нафиг не нужно для полетов. Навскидку, если делать более глубокое и серьезное второе издание, надо докупить железок минимум на 50-60 тыс. (Хороший лицензионный подвес, пульт с телеметрией, LRS, диверсити, хорошие очки FPV и много чего по мелочи) К сожалению, это мне абсолютно не по карману. А спонсоров, которые согласились бы отправить мне почтой в Красноярск под честное слово “поиграть” товар за $400 это из области сказок про добрую фею. Да и сотрудничать с издательством на предмет рекламы в книге тоже никто не спешит наперегонки. Будем реалистами, времена сейчас трудные и для магазинов тоже.

Строим сверхлегкий модуль GPS для микролетов

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

Батарейка да, желательна. Но очень желательно не допускать ее глубокого разряда при хранении, иначе модуль может при включении не ловить 3DFix пока не сделаете ему холодный старт (при отключенном питании на мгновение замкнуть батарейку бэкапа, затем подать питание). Такое хоть и нечасто, но может случиться. У меня в открытом поле и без бэкапа подхватывает спутники за 40-60 секунд. Решил, что меня это вполне устроит.

Строим сверхлегкий модуль GPS для микролетов

Я для эксперимента клал готовый модуль на кусок жести, на кусок фольгированного текстолита и на работающую плату мозгов квадрика (через кусочек пластика разумеется).
Ощутимой разницы не заметил. Но! модуль вообще перестает ловить спутники если положить его на кусок листового карбона, или хотя бы приблизить на расстояние около 1,5 см.
Я не совсем понимаю механизм этого явления - почему листовая медь под антенной не мешает, а карбон глушит. Собственно поэтому я свой приемник поднял на стойке, у меня рама карбоновая.

Строим сверхлегкий модуль GPS для микролетов

У меня в самой первой записи есть скриншот, как он ловит спутники в облачную погоду на подоконнике городской квартиры. Хорошо ловит 😃
В поле за городом меньше 6-9 спутников обычно не бывало в любую погоду, даже при самом неудачном созвездии спутников. Но это в поле, если упадет в лес или овраг - тогда уж как повезет…

Цветной дисплей для MultiWii

О, забыл вовремя ответить, так если у гаджета с андроидом есть OTG разъём, который понимает внешние флэшки например, то втыкайте смело в него адаптер uart/usb. EzGUI имеет встроенный драйвер последовательного порта и отлично понимает внешние радиомодемы, подключаемые через адаптер.