Делаем бюджетный чудо корабль с управлением по WiFi на базе ESP8266. Управление с андроида по wifi Управление двигателями, светом

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

Некоторое время назад я нашел маршрутизатор Linksys WRT54GL. Он очень удобен для хака и модификации, т.к. он работает под управлением Linux. Для данного маршрутизатора была написана куча альтернативных прошивок. В этом проекте используется настраиваемая прошивка Linux Open-WRT. Кроме больших возможностей модификации программного обеспечения этого маршрутизатора, есть куча возможных аппаратных модификаций и хаков. То есть в моем распоряжении был дешевый и взламываемый маршрутизатор со встроенным Linux - я знал, что делать что-то с ним хорошо и удобно. Таким образом родилась идея Wi-Fi машинки.

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

Аппаратная часть

Машинка

Добавление сетевой камеры, маршрутизатора, тяжелых батарей, дополнительных схем, и кучи проводов добавляют много лишнего веса, а большинство моделей для этого не предназначено. Поэтому из-за всех дополнений необходимо найти довольно большую радиоуправляемую машинку. В интернете можно найти б/у радиоуправляемые транспортные средства без пульта за 200-300 руб. Я купил несколько машинок для того, чтобы вытащить из них детали. Транспорт размера 1:10 или больше вполне подойдет, и вероятно вы не захотите меньше. Я купил эту машинку за 150 руб.

Я разобрал около 20 радиоуправляемых автомобилей. Почти в каждом из них используется чип Realtek RX2/TX2 или его полные аналоги с аналогичной цоколевкой. Документацию на них можно найти в интернете или по ссылкам. Это означает, что машинкой очень легко управлять при помощи штатной электроники без добавления собственных схем. Можно подключить микроконтроллер непосредственно к выводам (вперед, назад, влево, вправо) и управлять автомобилем. Возможность использования штатной электроники автомобиля экономит много сил и времени.

Я модифицировал свой WRT54GL так, что он имеет 2 последовательных порта и SD карту на 1Гб (работает как жесткий диск на 1 Гб). В этом проекте SD карта не используется, но используется один из последовательных портов. У моего маршрутизатора есть два последовательных порта: консольный порт и TTS/1, который мы и будем использовать. Для этого проекта я использую OpenWRT White Russian v0.9. Есть и более поздние версии, но для этого проекта нам они не нужны. В руководстве по компиляции программ (смотрите ниже), используется эта версия, поэтому я выбрал её.

Выбор микроконтроллера

Я оценил три различных микроконтроллера для этого проекта. Ниже показано краткое изложение оценки.

Микроконтроллер

PIC16F628A

Arduino (ATmega168)
Freeduino MaxSerial

AVR Butterfly (ATmega169)

Цена.
Уровень программного управления.

Очень прост в программировании (C со множеством встроенных библиотек).

Готовый комплект разработчика, практически нет необходимости в пайке.

Легче для программирования, чем PIC.
Интегрированный последовательный интерфейс.
Пайка необходима редко.

Против

Труден для программирования (ассемблер).
Необходимо соединять цепи вручную.
Необходимы дополнительные аппаратные средства(MAX232A).
Требуется программатор.

Ошибки загрузчика (см. ниже).
Интегрированные периферийные устройства имеют странные выходные напряжения.
Цена.

Я выбирал PIC16F628A по нескольким причинам:

  • У меня их было много.
  • Я имею небольшой опыт работы с ними.
  • Я хотел маленькую плату, и плата PIC оказалась самой маленькой из всех 3 вариантов.
  • Я хотел иметь полный контроль над действиями программы, и это вполне возможно при программировании на ассемблере.

Arduino (Freeduino MaxSerial) стал моим вторым выбором, который мне очень понравился простотой сборки и запуска. Также есть хорошая поддержка сообщества, и простота использования.

Первоначально я использовал отладочную плату AVR Butterfly. Она работала хорошо, пока один раз не разрядились батарейки. В загрузчике AVR Butterfly существует ошибка, которая подробно описана тут. Она портит код и не позволяет перепрограммировать его другим загрузчиком. Машинка работала в один день, а на другой нет. Потребовалось некоторое время, чтобы найти проблему и совсем немного времени, чтобы исправить её, поэтому я не стал дальше использовать эту плату в качестве системы управления. Я также обнаружил, что выходное напряжение на выводах может быть непредсказуемыми, так как кроме управления периферийными устройствами, они управляют ЖК-экраном.

Ниже приведён исходный код для PIC и Arduino. Оба были протестированы, так что используйте то, в чем вы лучше разбираетесь и чувствуете себя комфортнее. Arduino (Freeduino MaxSerial) является наиболее оптимальным вариантом для быстрого старта. Я купил его.

Управляющая схема

На самом деле в моей машинке используется две управляющие платы. Так сделано потому, что я сжег управляющие транзисторы на штатной плате машинки. К счастью, я смог отпаять их и RX2 чип (который также сгорел) и сохранить схему управления. Большинство игрушечных радиоуправляемых машинок используют около 6 проводов для управления двигателем. Это так, потому что в собранной машинке есть металлический скользящий контакт, который движется с двигателем и дополнительные провода используются для реле. Каждая радиоуправляемая машинка имеет различные параметры этого контакта, так что намного лучше использовать штатную схему.

Я сжег транзисторы, подав напряжение питания 16В, вместо штатных 9.6В. Транзисторы рассчитаны на ток 5А, но вероятно я нагрузил их слишком сильно и они живописно задымились. Я взял плату из другой радиоуправляемой машинки и использовал транзисторы оттуда. Я запустил эту схему от 12В, и это не вызвало никаких проблем, хотя транзисторы довольно сильно грелись. Использование штатных плат машинки вместо изготовления собственного Н-моста экономит много времени и денег.

Этот проект использует мощные аккумуляторы. Я купил их для радиоуправляемых машинок высокого класса за $ 50 + доставка с eBay. Они имеют 3800 мАч и зарядное устройство 1,8А в комплекте. Их можно найти в поиске eBay. Одна батарея заряжается примерно 1.5 часа (от полного разряда). Их напряжение 7.2В, однако, когда они только заряженные их напряжение около 8.3В, а когда они полностью разряжены (уже не в состоянии питать машину) они дают примерно 7.1В.

Я заменил все разъемы на аккумуляторах на стандартные Molex ATX разъемы. Это сделано для того, чтобы использовать дешевые разъёмы которых у меня было много, которые позволяют легко сделать разветвитель для замера тока. Батареи соединённые последовательно дают около 16В при полной зарядке.

Линия 9.6В получена путем установки 4 диодов последовательно с шиной 12В берущейся с 7812. Падение напряжения на диоде около 0.7В. Поставив 4 диода в ряд, мы теряем около 2.8В, и получаем 9В для устройств, которым необходимо меньше 12В. После того как я сжег транзисторы, я решил питать схему более низким напряжением. 7812 рассчитан на 1А, а двигатели потребляют значительно больше. Digikey продает регулятор 7.5A 12В примерно за 14$, и я купил его. Я прикрепил его к радиатору, потому что думал, что он может греться. После некоторого времени работы он даже не нагрелся, поэтому радиатор не требуется.
Я не хочу рисковать схемой управления, поэтому я питаю его напряжением максимально приближены к штатному. Камера требует 9В, сигнал работает довольно тихо при питании от 5В, поэтому все эти устройства работают от линии 9.2В.

Вся силовая электроника собрана на макетной плате и находится в корпусе.

Схемы

Arduino:

Подключение Arduino:
Вперед - Pin 8
Назад - Pin 9
Влево - Pin 10
Вправо - Pin 11
Зеленый LED - Pin 7
Красный LED - Pin 6
Сигнал - Pin 5

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

Freeduino MaxSerial использует последовательный вывод 4 - DTR (Data Terminal Ready) для сброса микроконтроллера и разрешения на загрузку нового кода. При нормальной работе с компьютером на этом выводе либо +10 В либо -10В в зависимости от того, подключен ли последовательный порт. Однако на последовательном порту маршрутизатора этот вывод заземлен и неактивен. Когда маршрутизатор начинает передачу данных через последовательный порт, MaxSerial сбрасывается. Это нам не подходит. Мы подтянем вывод DTR к +9В. Это простое изменение включает режим закрытой программы, то есть микроконтроллер не может быть перепрошит и сброшен по последовательному порту. Если необходимо перепрошить микроконтроллер, то достаточно просто щелкнуть выключателем.

Примечание: Если вы используете USB версию Arduino, вы можете просто подключить RX и TX контакты к MAX232A, а затем к последовательному порту маршрутизатора.

Камера

Одним из основных аспектов этого проекта является то, что машинкой можно управлять без прямой видимости при помощи сетевой камеры Panasonic BL-C1A. Это почти самая дешевая проводная сетевая камера с хорошими отзывами. Программное обеспечение есть только для Windows – это небольшой, но терпимый минус. Для просмотра изображения программное обеспечение не требуется. В более дорогих моделях есть панорамирование и возможность наклона, но они значительно дороже и их функциональность не нужна.

Камера имеет очень удобный веб-интерфейс, что делает её не только Windows устройством. Просмотреть изображение с камеры можно при помощи следующей команды:
http:///ImageViewer?Resolution=320x240?Quality=standard
Доступные разрешения 640x480, 320x120, 160x60. Доступное качество (сжатие) precision(качество), standard(стандартное), motion(движение).

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

Глядя на внутреннюю часть камеры, видно, что она работает на ARM процессоре 250 МГц. По информации с официального сайта она также имеет 64Мб оперативной памяти. Интересно, как трудно было бы заставить Linux работать на этом…

Сборка

От машинки было использовано только шасси. Все декоративные и нефункциональные части были сняты. Камера была установлена ​​на переднюю часть с небольшим изменением штатного крепления. Плата была установлена на переднюю часть машинки и прикручена с использованием пластиковых гаек и болтов во избежание замыкания.

Плата микроконтроллера PIC также надежно закреплена болтами на другой стороне. Все провода были умышленно взяты длиннее чем требуется, для их легкого перемещения во время сборки. После сборки лишние куски провода были собраны и связаны. Было очень много проводов, вероятно около 30, которые нужно было провести из/в переднюю и заднюю часть машинки, не считая Ethernet кабеля.

Все силовые цепи были размещены в корпусе в задней части машинки, за исключением LT1083 7.5A, который находится в нижней части автомобиля. Я не ставил его в корпус, потому что это было дополнение к проекту, и так его было проще всего добавить. Когда светодиод на задней стороне коробки светится красным, маршрутизатор загружается. Когда маршрутизатор загрузился, он посылает сигнал микроконтроллеру, загорается зеленый светодиод, и я знаю, что могу соединиться с машинкой. Этот индикатор был очень полезным при отладке.

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

Программная часть

Для данного проекта необходимы 3 программы. Приложение-клиент VB6 Wifi_Robot на Windows, CarServer написанный на C и работающий на маршрутизаторе работающем под управлением OpenWRT WhiteRussian v0.9 (Linux), а также микропрограмма микроконтроллера. Я испытывал прошивки для микроконтроллера PIC16F628A и популярного Arduino (Freeduino MaxSerial). Все программное обеспечение распространяется на основе открытого лицензионного соглашения GNU v2.

Следующие инструкции предполагают, что у вас есть подключенный к интернету Linksys WRT54GL с установленный OpenWRT WhiteRussian v0.9. Руководстве по установке OpenWRT можно найти по ссылке .

Установка CarServer
Если вы хотите использовать программное обеспечение
Войдите по SSH в своем маршрутизатор, затем...
# cd /tmp
# wget http://www.jbprojects.net/projects/wifirobot/carserver_1_mipsel.ipk
# ipkg install ./carserver_1_mipsel.ipk

Компиляция и установка CarServer
Если вы хотите увидеть, как он работает или модифицировать его

Вам нужно будет скачать OpenWRT SDK (только для Linux) и следовать этому руководству по составлению программ: Написание и компиляция простой программы для OpenWRT от Eric Bishop (просто следуйте первой части)
Makefile находится в /OpenWrt-SDK-Linux-i686-1/package/carserver/
Makefile находится в /OpenWrt-SDK-Linux-i686-1/package/carserver/src
carserver.c находится в /OpenWrt-SDK-Linux-i686-1/package/carserver/src
Ваш скомпилированный ipkg будет отображаться в /OpenWrt-SDK-Linux-i686-1/bin/packages. Затем:
# scp carserver_1_mipsel.ipk root@:/tmp/.
для копирования в маршрутизатор. Войдите по SSH и установите

Есть бесплатная электронная книга посвящённая серии маршрутизаторов WRT54G которая называют Linksys WRT54G Максимальный взлом. Я считаю что она бесплатна. Её можно просмотреть в Google Books . Она также может быть загружена по ссылке. В этой книге рассказывается как добавить последовательный порт, настроить программное обеспечение, а также о многих других взломах и модификациях. Я связался с одним из авторов. Это не бесплатная электронная книга. Вы можете просмотреть её в Google Books, и поддержать авторов, купив её Amazon . Это отличная книга!

Получение рабочего последовательно порта
Мы используем TTS/1, так что если вы добавили один последовательный порт – убедитесь что это он. Если у вас установлен OpenWRT WhiteRussian v0.9 войдите в SSH. Инструкции в книге указанной выше немного устарела. Вот обновленная версия:
# ipkg update
# ipkg install setserial

# cd /usr/sbin
# wget http://www.jbprojects.net/projects/wifirobot/stty.tgz
# tar -zxvf stty.tgz
# chmod 755 stty

Добавьте следующие строки в /etc/init.d/custom-user-startup чтобы сделать последовательный порт рабочим при запуске и автоматического запуска CarServer.
/usr/sbin/setserial /dev/tts/1 irq 3
/usr/sbin/stty -F /dev/tts/1 raw speed 9600
/bin/carserver&

Запуск клиентского приложения Wifi_Robot

Этот файл содержит исходный код VB6 и скомпилированный EXE. Вы можете просто извлечь wifi_robot_client.exe и config.txt, если вы не хотите заниматься программированием. Вы можете открыть и компилировать VB6, если вы хотите изменить его. Эта программа - это просто слегка измененная программа проекта радиоуправляемая машинка, управляемая компьютером.

ПО микроконтроллера

PIC
Вам понадобится программатор для PIC. Я использую P16PRO40, купленный на eBay. Есть много программаторов, которые можно купить или собрать самому. Вы можете самостоятельно скомпилировать HEX с помощью Microchip MPLAB или просто скачать и прошить готовый HEX файл. PIC asm базируется на этом тесте PIC16F628 UART.

Arduino (Freeduino MaxSerial)
Программу можно загрузить в Freeduino MaxSerial без дополнительного программатора.
Если вы используете Freeduino MaxSerial, убедитесь, что вы сделали небольшую модификацию оборудования, которая предотвратит сброс Freeduino каждый раз при получении данных от маршрутизатора через последовательный порт. См. выше для получения более подробной информации.

Измерения и тесты

Максимальная скорость
Чтобы вычислить максимальную скорость я сделал две отметки на расстоянии 3м друг от друга и несколько раз снимал машинку. Камера записывает 30 кадров в секунду, так что возможная ошибка камеры +/- 3,3% и +/- 1% ошибка расстояния.

Автомобиль проезжает 3м за 0,7 секунды (21 из 30 кадров за 1 секунду).
Максимальная скорость: 4,3 м/с = 15.5 км/ч = 9.6 миль/ч

Расстояние
Я взял маршрутизатор в большое поле. Я смог подключится со своего ноутбука на расстоянии до 500 м (по 1Мбит). Дальше этого расстояния, я уже не смог подключиться. Альтернативные прошивки (OpenWRT) позволяют увеличить выходную мощность. Я пытался изменить это значение, но это не повлияло на расстояние. Возможно, мой ноутбук (Dell Inspiron 6000), который всегда имел хороший WiFi (лучше, чем 6400 моего друга), может быть ограничивающим фактором.

Итак будем управлять двумя реверсивными (вращение в обе стороны) двигателями: основным и рулевым. Питать их будем от аккумулятора 3,7 В, но можно и до 12 В в принципе подавать, если согласовать питание контроллера или организовать его отдельным аккумулятором.

В силовой части используем простейший миниатюрный драйвер шагового двигателя l9110s или же можно использовать сборку на L293\8 или любой не менее мощный, который вы найдёте. В общем я всё нарисовал на картинке.

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

WiFi контроллер использован мой любимый NodeMCU 0.9 ESP8266 , но можно использовать и меньший размером WeMos D1 mini.

Аккумулятор можно зарядить через микро-USB, после чего он питает драйвер двигателей напрямую и WiFi-контроллер через повышающий преобразователь до 5 В .

Код программы:

#include
const char* ssid = "имя вашей сети вайфай";
const char* password = "пароль вашей сети";
int up = 2; //номера дискретных выходов
int down = 14;
int left = 4;
int right = 12;
// Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80);
void setup() {
Serial.begin(9600);
delay(10);
//подготовка выходов
pinMode(up, OUTPUT);
digitalWrite(up, 0);
pinMode(down, OUTPUT);
digitalWrite(down, 0);
pinMode(left, OUTPUT);
digitalWrite(left, 0);
pinMode(right, OUTPUT);
digitalWrite(right, 0);

// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

While (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

//Запуск сервера
server.begin();
Serial.println("Server started");
//выводим IP адрес в монитор порта
Serial.println(WiFi.localIP());
}
void loop() {
//проверяем подключился ли клиент
WiFiClient client = server.available();
if (!client) {
return;
}

//Ожидаем пока клиент не пришлет какие-нибудь данные
Serial.println("new client");
while(!client.available()){
delay(1);
}

//Чтение первой строки запроса
String req = client.readStringUntil("\r");
Serial.println(req);
client.flush();

//обработка команды
if (req.indexOf("/gpio/up") != -1){
digitalWrite(up, 1);
digitalWrite(down, 0);
delay(1000);
digitalWrite(up, 0);
digitalWrite(down, 0);
}
else if (req.indexOf("/gpio/down") != -1){
digitalWrite(up, 0);
digitalWrite(down, 1);
delay(1000);
digitalWrite(up, 0);
digitalWrite(down, 0);
}
else if (req.indexOf("/gpio/left") != -1){
digitalWrite(up, 1);
digitalWrite(down, 0);
digitalWrite(left, 1);
digitalWrite(right, 0);
delay(1000);
digitalWrite(up, 0);
digitalWrite(down, 0);
digitalWrite(left, 0);
digitalWrite(right, 0);
}
else if (req.indexOf("/gpio/right") != -1){
digitalWrite(up, 1);
digitalWrite(down, 0);
digitalWrite(left, 0);
digitalWrite(right, 1);
delay(1000);
digitalWrite(up, 0);
digitalWrite(down, 0);
digitalWrite(left, 0);
digitalWrite(right, 0);
}
else {
Serial.println("invalid request");
}

Client.flush();
// подготовка к ответу
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\n ";

S += "


UP
";
s += "
LEFT     ";
s += "RIGHT
";
s += "
DOWN";
s += "
\n";
// Send the response to the client
client.print(s);
delay(1);
Serial.println("Client disonnected");
} Программа написана в Arduino IDE. Как настроить Arduino IDE для работы с контроллером NodeMCU 0.9 ESP8266 посмотрите по ссылке. После загрузки программы в контроллер, монитором порта можно прочитать IP-адрес, который плата получит после соединения с вашим WiFi-роутером. В браузере компьютера необходимо в адресной строке прописать этот адрес и перейти на страницу, которую сгенерирует программа контроллера. Она будет выглядеть следующим образом:

DOWN

При нажатии на ссылку UP, машинка проедет вперед в течении 1сек и остановится. При нажатии на DOWN, машинка 1 секунду будет ехать назад. LEFT - двигатель поворота повернёт колёса влево и машинка проедет 1 сек влево. То же самое и вправо при нажатии на RIGHT.

Вся эта система будет работать только при настроенной WiFi-точке доступа (WiFi-роутере), но в будущем мне интересно поиграться с контроллером NodeMCU 0.9 ESP8266 , который сам будет организовывать точку доступа и выполнять функцию WEB-сервера, тоесть при заходе на его айпи из браузера, будем видеть web-страничку с элементами управления. Так же интересно организовать передачу данных с одного такого контроллера в другой посредством их автономной WiFi-сети.

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


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

    Аппаратура Dension WiFi RC с FPV для управления РУ моделями через iPhone, iPod, iPad или Android.

    При помощи этой аппаратуры вы сможете управлять автомобилем, лодкой, танком, строительной техникой или любой другой радиоуправляемой моделью с вашего iPhone/iPod/iPad или смартфона Android, использующими WiFi.

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

    Аппаратура имеет 8+4 каналов управления и позволяет подстраивать чувствительность, триммировать каналы, как на профессиональном передатчике.

    Аппаратура Dension WiFi RC добавит новизны, технологичности и удовольствия от управления моделями.

    Особенности:

    8 PPM каналов для сервомашинок или регулятора
    4 цифровых выхода (вкл/выкл)
    4 цифровых входа (вкл/выкл)
    1 аналоговый вход
    Функция Failsafe
    Контроль напряжения аккумулятора
    Подключение до 2-х цифровых камер USB (с внешним разъемом USB HUB)
    Микрофонный вход
    Выход на громкоговорители
    Видеозапись

    Совместима со следующими устройствами:
    iPhone 4S, 4, 3Gs и 3G (минимальная версия iOS: 4.0)
    iPod Touch
    iPad
    Android (beta)

    Технические характеристики:
    Размеры: 44x28x18мм
    Питающее напряжение: 6~16В
    Разрешение видео: 325x288 (CIF)
    Частота кадров: 15 FPS
    Поставляется с разъемом питания Tamiya
    240 MHz ARM9 processor
    16 MB SDRAM
    4 MB FLASH
    2 USB Host ports

    Энергопотребление:
    100мA при 6В (ток покоя),
    200мA при 6В камера и WiFi включены

    Открытый протокол**
    Создайте свою собственную, удобную для вас прошивку для вашего передатчика посредством смартфона / планшета.

    Программное обеспечение SDK**
    Добавьте новые приложения операционной системы Linux для вашего WiFi RC.
    ** Для получения подробной информации обращайтесь к нам.

    Состав комплекта:
    WiRC панель управления
    USB камера
    Wi-Fi dongle
    Руководство по установке и эксплуатации

    PRODUCT ID: 441000001


    The Dension WiFi RC is a plug & play wireless RC receiver system.

    It allows you to control your RC car, boat, tank, construction machine or any other RC vehicle with your iPhone/iPod/iPad or Android smartphone using WiFi. The iOS or Android application, available for free, lets you drive with on-screen joysticks or by tilting the phone, while watching the real-time video stream coming from your vehicle.

    You can quickly access 8+4 channels of output, adjust the sensitivity and trimming, just like on a professional transmitter.

    The Dension WiFi RC adds a brand new, high-tech and fun way to drive your RC models.

    Features:

    8 PPM output channels for Servo or ESC control
    4 digital outputs (on/off)
    4 digital inputs (on/off)
    1 analogue input
    Failsafe function
    Battery voltage monitoring
    Up to 2 digital USB cameras (with an external USB HUB)
    Microphone input*
    Speaker output*
    Video recording

    Compatible with the following devices:
    iPhone 4S, 4, 3Gs and 3G (minimum iOS version: 4.0)
    iPod Touch
    iPad
    Android (beta)

    Technical specs:
    Dimensions: 44x28x18mm
    Power supply: 6~16V
    Video resolution: 325x288 (CIF)
    Frame rate: 15 FPS
    Comes with Tamiya power connector
    240 MHz ARM9 processor
    16 MB SDRAM
    4 MB FLASH
    2 USB Host ports
    802.11b/g WiFi, Infrastructure and AP modes

    Power consumption:
    100mA @ 6V idle,
    200 mA @ 6V cam. & WiFi on

    Open protocol**
    Write your own transmitter application for any smartphone / tablet to control the way you want.

    Software SDK**
    Add new applications to the embedded Linux operating system of your WiFi RC. No-one has an FTP server on wheels yet:)
    ** Contact us for further informartion

    Package contents:
    WiRC control panel
    USB camera
    Wi-Fi dongle
    User and Installation Manual


Всеми процессами в стиральной машине управляет центральный процессор, используя систему датчиков обратной связи и ориентируясь на введенную пользователем программу. Сам процессор работает под управлением специальной операционной системы (совершенно непохожей на привычную 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 модулем несомненно подойдут всем людям, ведущим активный образ жизни. Не стоит беспокоиться о безопасности во время вашего отсутствия – эти агрегаты хорошо защищены от протечек и неполадок с электросетью. Благодаря возможности контроля через смартфон стирка стала еще более мобильной.

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