Управление моделями по wifi. Автомобиль с видеокамерой

Это небольшой рассказ о том, как построить робота в виде игрушечного автомобильчика с видео камерой, которым можно управлять с помощью компьютера или смартфона на ОС Android через WiFi. Устройство не имеет никакой автономности в смысле своего поведения (типа распознавания чего-либо), управление - только от человека, поэтому «робот» - это не совсем подходящее слово в названии.
Началось все с того, что идея управления игрушечными устройствами от первого лица (т.н. FPV) мне показалась чрезвычайно интересной с точки зрения собственно процесса. Ведь мы можем таким образом реализовать свое присутствие, не в виртуальном мире, а в реальном.
Проще и быстрее всего применить эту идею на игрушечных или модельных автомобилях. Текущие технологии должны давать такую возможность промышленности и предложить массу подобных вещей. Однако это предложение оказалось достаточно дорогим по сравнению тем что можно сделать самому.
Так как это мой первый проект, я ни программировать, ни даже паять нормально не умел, и я решил сначала поискать в интернете единомышленников и их варианты решения данной задачи.
Начав изучение вариантов, как можно осуществить эту идею, я нашел очень подробное описание подобного проекта . A его автор с радостью помог мне разобраться в проблемах, возникших при создании робота.
Так я впервые и узнал что такое …duino. Так как это был уже готовый вариант микроконтроллера, где не нужно было паять обвязку к нему, я выбрал именно его. Также очень понравилось присутствие бутлоадера, позволяющего прошивать микроконтроллер без программаторов.

Для реализации данного проекта понадобится:

  • Микроконтроллер Arduino (любой: nano, uno, mega)
  • Аккумулятор 9,6вольт
  • Китайская машинка на радиоуправлении
  • Роутер dir320 (или любой другой поддерживающий OPEN-WRT прошивку)
  • Вебкамера Logitech c310 или любая другая с UVC потоком






Программ пять: на PC, на Android, на роутере (сервер управления и видеопоток), и в микропроцессоре.
Схема работы: соединяем настольный компьютер (ноутбук, далее - PC) с роутером по WiFi. На роутере при его включении автоматически загружаются 2е программы:
1) сервер. Эта программа открывает сокет (соединение) на определенном порту и ждет, когда по этому порту с ней соединится клиент (любая программа, которая обратится в этот порт и также, особым образом скажет серверу, что она готова работать через открытый сокет). Далее, после установки соединения, все что придет от клиента, будет перенаправлено по определенному пути, для нас это COM-порт, на этом порту подключен микропроцессор. И наоборот, все что придет со стороны COM-порта, будет переслано клиенту.
2) программа обработки видео, захватывает его с usb камеры и шлет на определенный порт. Для его просмотра нужно всего лишь иметь соединение с роутером на этом порту.
После того, как между компьютером и роутером установлено WiFi-соединение, запускаем на PC программу для управления роботом (тот самый клиент), эта программа соединяется с программой-сервером на роутере. Эта же или другая программа транслирует видео с WiFi роутера.
Далее, пользователь может управлять автомобильчиком и нажимает, например, кнопку «вперед». Программа на PC, отсылает команду «вперед» прямо на роутер, на его IP, но на определенный порт. На роутере, эта команда поступает в программу-сервер, т.к. выслана она на его порт, и в рамках открытого для этого сокета. Программа-сервер, ничего не делая с этой командой, просто отправляет её в COM-порт. Таким образом, команда «вперед» оказывается в микропроцессоре, который в ответ на нее, дает сигнал «вперед» на один из своих выводов. К таким выводам процессора подсоединена схема управления двигателями, т.к. сам микропроцессор управлять ими не может в силу своей маломощности.
Управлять исполнительным устройством через роутер, без микропроцессора не получится, т.к. микропроцессор может формировать сигналы «1» (напряжение >2,5v) или «0» (меньше обозначенного) на любом из десятка-другого своих выводов. У роутера же выводов нет, есть только порты ввода/вывода, типа USB или COM (serial), в которых по 2-3 провода.
Теперь часть практическая. Заранее скажу, что несмотря на кажущиеся сложности, все на самом деле просто, если речь идет о простом копировании этого проекта – ведь все уже сделано и работает. Нужно просто выполнить в точности эту инструкцию.
Изначально микроконтроллером был freeduino maxserial у которого был com port, который был одним из немногих(как я тогда считал) для подключения к uart роутеру, для этого нужно было паять переходник с uarta на com чтобы соединить его с роутером. Его брать я не очень хотел, так как оригиналом есть все-таки Arduino, да и Freeduino в Украине нет.



Как я выяснил потом, все было это просто излишнее нагромождение схемы. Обойтись можно всего 1 проводком который будет идти от TX роутера(на рисунке) к RX (0 пин) микроконтроллера.
Непонятно почему но на фридуине оказалось для нормального подключения нужно tx на tx. Скорее всего просто неверно нанесено обозначение. (тут 0 пин tx) По этому лучше брать оригинальный .
Машинку я купил хорошую, хоть и китайскую



Машинка оказалась очень мощная, 5 кг на ровной поверхности тянула очень уверено. Также у нее в комплекте шел аккумулятор на 6 вольт. Что касается электроники, то в машинке уже есть готовый драйвер двигателей, на который можно подать управляющие слаботочные выходы с микроконтроллера (если бы с машинкой не повезло - драйвер моторов можно было взять тоже от arduino)
Роутер требует прошивку openwrt и список пакетов указанных на рисунке.



Роутер можно настроить как точку доступа, которой могут подключится любые устройства, имеющие WiFi. И, даже если не будет программного обеспечения для управлении машинкой – использовать ее как беспроводную камеру видеонаблюдения.
Камера с310 просто подключается к порту usb на роутер и не требует пайки, требует небольших настроек в роутере. Проект имеет 2 цепи питания, 1 цепь питается от 9,6 вольт - роутер и микроконтроллер, 2 цепь питается от 6 вольт - привод и рулевое машинки. Можно обойтись всего 1 источником питания в 9,6 вольт, но более емкостным. Роутер потребляет 2А, микроконтроллер потребляет почти незаметно, машинка 4А.
Программа микроконтроллера обрабатывает сообщения, которые приходят с последовательного порта роутера, обработка происходит побайтово через portb arduino, например если пришло в роутер 2, то, переведя в двоичную систему получаем 00000010 – что соответствует 2 пину на portb. Такое решение позволяет управлять одновременно несколькими пинами. Вот что получилось в итоге:




Приложение для андроид:



Приложение для пк:




Данный проект еще не закончен и продолжает совершенствоваться.
В планах использовать arduino mega, роутер mr3020, вебакамеру оставить как есть(возможно добавить сферическую линзу для большего обзора), задействовать шим для плавного и точного управления, использовать сервопривод для поворотов, добавить дальномер. Добавить видео на Android.



- полный каталог плат

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


Сейчас очень популярно как в сети, так и в реальности одно увлечение доступное по большей части только женскому полу – Мейк-ап на камеру. Обычным зрителям покажется, что в этих видеороликах девушки просто красятся и раздувают из мухи слона. Но на самом деле эти красотки демонстрируют свои художественные навыки, которые развивали годами. В таких видео Вы сможете найти советы, лайфхаки, а также подчеркнете множество полезных моментов, которые упускали в своей жизни. Фигуристые модели и их стилисты расскажут Вам, какие подбирать тени для глаз, и какое подобрать платье к Вашей прическе. Для многих женщин это стало своеобразным хобби, которому они уделяют почти всю свою жизнь.


Помимо мейк-апа многие девушки просто обожают шоппинг, а потому частенько заливают на «Youtube» свои походы в местный торговый центр, где отовариваются одеждой и начинают её обозревать и мерить. Такие девицы частенько собирают у себя дома целую коллекцию различных нарядов, а некоторые могли бы даже открыть свой магазин и несколько лет торговать одеждой - настолько у них много купленных нарядов. И вся их необъятная коллекция попадает в объектив камеры. Мне если честно непонятно зачем многие девушки смотрят подобное, но клиенты у такого контента есть и это немного странно.


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


В любом случае в нашем мире есть так много разных увлечений, занятий, дел и все они могут увлечь человека с определенным складом ума на некоторое время, а может и вовсе на всю жизнь. Их так много, что перечислять их и дальше ну попросту нет смысла. На этой страничке Вы сможете найти сотни различных видео, и они могут быть посвящены чему угодно. Ведь сколько людей - столько и увлечений. Каждый человек может выдумать для себя определенную «убивалку» времени. Порой вас даже может удивлять то на что способен человеческий мозг, если ему скучно, однако не стоит удивляться, если Ваши собственные увлечения будут для кого-то странными.


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

Всеми процессами в стиральной машине управляет центральный процессор, используя систему датчиков обратной связи и ориентируясь на введенную пользователем программу. Сам процессор работает под управлением специальной операционной системы (совершенно непохожей на привычную Windows). Информация о ходе стирки высвечивается на дисплее. Но если стиральная машина оснащена Wi-Fi модулем, данные могут передаваться в специальном радиодиапазоне на роутер или точку доступа, а через нее – в сеть интернет. И тогда пользователь сможет, имея на руках смартфон с Wi-Fi или мобильным интернетом и приложение, привязанное к конкретной стиральной машине, получить сведения и ввести команды. Например, такие:

  1. задать программу стирки
  2. выбрать температуру
  3. начать процесс
  4. если процесс завершен, открыть дверцу, чтобы белье не залеживалось
  5. в случае передачи машиной сообщений об ошибке в работе – перекрыть подачу воды и отключить питание
  6. изменить параметры в ходе стирки

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

Преимущества и недостатки

Преимущества очевидны: конечно, это более широкие возможности для удаленного управления. Раньше пользователь мог лишь отсрочить время старта. Сейчас он может полностью управлять устройством, будучи в любой точке планеты – нужен лишь включенный Wi-Fi роутер.

Недостатки тоже есть, можно выделить два: более высокая стоимость и относительная сложность в обслуживании таких моделей.

Несколько интересных примеров из нашего каталога

У нас более 300 моделей с Wi-Fi модулем и возможностью управления с планшета или смартфона. Мы отобрали пять характерных представителей в разных ценовых классах:


Еще одна модель из Южной Кореи. Именно Самсунг наиболее активно оснащает свои изделия Wi-Fi модулями, представляя большинство таких моделей в каталоге.

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


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

Стильный дизайн, высокая, до 1400 об/мин, скорость отжима и полная защита от протечек удачно дополнены наличием возможности удаленного доступа. И конечно, все программы стирки тоже есть.


Модель интересна наличием специального маленького лючка посередине основного люка. Это позволяет загрузить в машину вещи, которые вы забыли или не заметили при основной загрузке, не выключая машину. Барабан Diamond обеспечит нежную заботу вещам, а керамический нагреватель не собирает накипи.

Функция Fuzzy Logic позволит вычислить на основе статистики стирок наиболее оптимальные показатели расхода воды и электроэнергии, количества вращений и время полоскания.



В заключение скажем, что стиральные машины с Wi-Fi модулем несомненно подойдут всем людям, ведущим активный образ жизни. Не стоит беспокоиться о безопасности во время вашего отсутствия – эти агрегаты хорошо защищены от протечек и неполадок с электросетью. Благодаря возможности контроля через смартфон стирка стала еще более мобильной.

Тут я расскажу про переделку аппаратуры радиоуправления моделями в диапазон 2,4 ГГц.

До недавнего времени пользовался аппаратурой Hitec Eclipse 7 совместно с модулем Corona 2,4 . Проблем со связью никогда не возникало. Проблемой стали стандартные антенны WI-FI, точнее их механическая надёжность. Отломалась уже вторая антенна в области поворотной части, две детали антенны просто запрессованы и при их разделении отрывается впаянная центральная жилка антенны.

После этого передающая антенна 2,4ГГц ремонту не подлежит! Цена её копеечная, но не везде их продают и дальнейшее пользование данной конструкцией вызвало у меня недоверие.После неудачных попыток найти отдельно такую антенну купил вот такую, с названием TP-LINK.

Она в два раза больше по длине и по данным из краткой инструкции полностью совместима со всеми системами 2,4ГГц, но обладает большим усилением, а точнее 5дБ по сравнению со стандартной Короновской 2-3дБ и соответственно дальностью связи. При эксперименте с модулем Corona 2,4 не было замечено ни каких отклонений в поведении подопытного пенолёта. Далее решено было перенести данную антенну на место штатной 40МГц и модуль Корона разместить внутри аппаратуры, а не как сменный блок.

В результате получился улучшенный пульт 2,4 :

  • Антенна доступна визуально
  • Отсутствие разъёмных контактов при подключении модуля
  • Ну и внешний вид конечно

Далее по порядку о переделке "40МГц" в пульт RC 2,4ГГц

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

Крышка прикручена на саморезы в отверстия выключателя питания. Саморезы взял чуть подлиннее чем на выключателе.

Закрыв головки саморезов кусочком изоленты вставил плату и с четырех сторон в крышку закрутил 4 маленьких самореза, они прижали плату модуля.

К плате подходит всего 3 провода:

  • плюс питания
  • общий
  • сигнал управления

Для доступа к кнопке модуля и контроля светодиода при привязке приёмников в пазу для стандартного модуля вырезаем небольшое отверстие и закрываем его пустым!!! модулем.

Данная антенна 2,4 чуть толще штатной 40МГц, её толщина примерно 12мм, пришлось немного высверлить отверстие. Антенна зафиксирована холодной сваркой только за нижнюю, крутящуюся часть, чтобы была возможность вращать её вокруг оси и сделать пульт rc максимально удобным.

Сборка передатчика 2,4

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

Аппаратура 2,4 проверена в полевых условиях, всё в норме!

Таким способом можно переделать практически любую систему радиоуправления моделями. Как переделать пульт RC в 2,4 - я написал, в дальнейшем планируются ещё публикации о переделке аппаратуры и сборке нужных моделисту электронных устройств.

Внимание!

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

RC машинка может быть WiFi машинкой...?

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

Я купил RC джип 4х4 с гибкой подвеской и внедорожными шинами примерно за 30 долларов. Поигравшись с машинкой я решил, что её можно улучшить при помощи Wi-Fi и Android. Потратив немного времени, я полностью удалил плату из машинки. Я замерял напряжения на этой плате и разработал систему управления двигателем при помощи Arduino. Оригинальная система управления не использует ШИМ для контроля скорости. Машинка рассчитана на переезд через препятствия на очень низкой передаче, и как следствие очень медленно. В моей же схеме используется ШИМ.

Я использую Arduino уже несколько месяцев. Я также приобрел asynclabs WiFi Sheild для Duemilanoe Arduino, чтобы экспериментировать с WiFI. Он поставляется с библиотекой, устанавливаемой в Arduino IDE. Я смог сделать программу, которая позволяет управлять двигателями и направлением движения при помощи WiFi.

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

Инструменты и элементы

Это общий список инструментов и элементов, которые использовались в этом проекте. В документации Eagle указаны точные технические характеристики используемых компонентов.

Мультиметр
Паяльник
Припой
Отвертки
Раствор для травления плат
Фольгированый стеклотекстолит
Плоскогубцы
Arduino
AsyncLabs WiFi Sheild
Разъёмы RJ45
Драйвер двигателя с H-мостом
Конденсаторы

Драйвер двигателей

Используя Eagle, я разработал эту схему и сделал печатную плату для неё. Она функционирует как драйвер двигателей и регулятор их мощности для Arduino.
Это позволяет использовать стандартный 7.2В аккумулятор для питания основных и рулевых двигателей и Arduino.

В этой схеме используется двойной интегральный драйвер с Н-мостом SN754410 для управления двигателями. Выводы управления драйвера подсоединены к кабелю RJ45, который подключается к AsyncLabs WiFi Sheild.

Arduino Shield

Используя библиотеку SparkFun в Eagle я разработал Arduino Shield, через который будут проходить контакты с WiFi Shield и подключаться к драйверу двигателя через разъем RJ45 и 2 винтовые клеммы.

Цоколевка контактов RJ45 очень важна. Ошибка в подключении может привести к непредсказуемым результатам и придётся переделывать плату.

Травление печатных плат

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

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

Программа

Мой код может быть не достаточно эффективен, но он работает.

Машинка

Мне удалось собрать CarServer на основе примера SocketServer, который я получил вместе с Wifi Sheild AsynLabs.
Вам необходимо будет ввести информацию о своей беспроводной сети в код Arduino. Когда машина включилась, дайте ей 15-45 секунд, чтобы установить соединение с маршрутизатором. Красный светодиод на WiFi Shield означает, что соединение установлено.

Я сделал эту программу при помощи C # и MS Visual Studio 2008. Я сделал хорошее окно, и автомобилем можно управлять стрелочками.

Почему бы не управлять машинкой с телефона?

Такая мысль появилась у меня примерно через неделю после покупки DroidX. Я начал экспериментировать и в конечном итоге использовал Android SDK. Я нашел аналогичные приложения, где для управления используется акселерометр. Смотря на эти приложения написал свое.

Вставить IP и порт, указанные в коде Arduino. Держите телефон горизонтально. Затем наклоните его от себя, чтобы ехать вперед и на себя, чтобы ехать назад. Используйте телефон как руль.
Это мое первое крупное приложение для Android. В нем до сих пор есть некоторые ошибки, но в основном оно работает нормально.

Рулите во дворе машинкой 4x4 с WiFi!

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

Мне нужна камера для установки за лобовым стеклом, чтобы смотреть куда ехать. Она должна быть с низким энергопотреблением, а также передавать видео сама по себе. (Я думаю, что Arduino справится с этим).

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Драйвер двигателей
IC1 Микросхема SN754410 1 В блокнот
Линейный регулятор 5 В 1 В блокнот
Биполярный транзистор

2N3904

1 В блокнот
C1, C2 Электролитический конденсатор 2 В блокнот
Разьем 2 вывода 7 В блокнот
Разьем 8 выводов 1 В блокнот
Arduino Shield
U1 Плата Arduino 1 В блокнот
Т1 Биполярный транзистор

2N3904

1 В блокнот
R1 Резистор 1 В блокнот
U$3 Подстроечный резистор 1 В блокнот
Разьем 2 вывода 2