- DIY: Сборка wi-fi робота-шпиона
- Функциональный вид робота
- Блок управления
- Модуль связи
- Вспомогательные элементы
- Процесс сборки робота
- Программное обеспечение
- Прошивка маршрутизатора TP-Link 3020MR
- Установка драйверов
- Драйвера_USB-Serial
- Драйвер_WebCam
- Установка модулей
- Модуль Робот-Шпион3 (CyberBot3)
- Загрузка скетча в Arduino
- Скетч для Arduino Nano и Arduino UNO
- Скетч для Arduino Mega
- Сервис
- Утилита «Терминал»
- Список часто используемых команд в CyberWrt
- Проверка работоспособности двигателей в среде разработки
- Проблемы
- Несовместимость микроконтроллера Arduino Nano V3 CH340 с маршрутизатором TP-LINK TL-MR3020
- Бюджет
- it_donnet
- Как работает Wi-Fi роутер и будет ли функционировать без ПК?
- Немного о принципах работы wifi маршрутизатора
- Будет ли роутер работать без ПК
DIY: Сборка wi-fi робота-шпиона
В сети выложено огромное количество инструкций по сборке различных моделей роботов. Попробуем собрать свою собственную модель домашнего Wi-Fi робота используя информацию с форума Cyber-place, детали частично с интернет-магазина Сarduino. Многие запчасти выгодно заказывать напрямую из Китая (Ebay, Aliexpress). Это значительно уменьшит бюджет.
Свой взгляд на теорию и проектирование современных роботов изложен здесь.
Функциональный вид робота
- Перемещение по поверхности согласно командам оператора,
- Трансляция видео с широким углом обзора.
Блок управления
Универсальный контроллер Carduino Nano V7
Микроконтроллер: ATmega328
Входное напряжение: от 5V до 30V
Тактовая частота: 16 МГц
Flash память: 32 KB
Оперативная память (SRAM): 2 Кб
Материнская плата робота «CyberBot»
Плата предназначена для подключения к ней различных устройств Arduino или аналогов устройств через стандартные интерфейсы.
Модуль управления двигателями — Motor Shield
К нему можно подключить и управлять двумя двигателями постоянного тока или 4 шаговыми двигателями. Содержит двухканальный драйвер двигателя HG7881.
Питание: 2.5V до 12V
Потребление тока на один канал:: до 800 мА
Редукторные двигатели
Мотор-редуктор с передаточным соотношением 1:48
Диапазон напряжения от 3V до 6V.
Скоростью вращения колеса 48 м/мин.
Ток холостого хода (6в): 120mA
Уровень шума:
Модуль связи
Беспроводной WiFi маршрутизатор TP-Link 3020MR
Данная модель идеально подходит для установки сторонних прошивок. Для управления нашим роботом выбрана CyberWRT. Прошивка создана на базе прошивки OpenWRT версии r37816.
Управление роутером производится из любого web-браузера через Web-интерфейс. Также доступно управление через telnet, SSH. Расширение функционала производится за счет установки дополнений из каталога. Доступная память для приложений 1,2Mb.
Web-камера Logitech E3500
Камера с возможностью коррекции изображения.
USB-хаб
Блок для связи USB-устройств между собой: arduino, маршрутизатор, web-камера.
Вспомогательные элементы
Платформа
Колеса
Снабжены резиновыми шинами и валом для возможной установки диска оптического энкодера, идеально подойдет для перемещения платформы на поверхности.
Батарейный отсек
Необходим для установки элементов питания. Для нашей версии робота достаточно 4 элементов питания размера AA.
Крепеж, провода
Вспомогательные инструменты для соединения отдельных элементов.
Процесс сборки робота
Подготовка платы робота «CyberBot» является самым сложным для начинающих, т.к. подразумевает использование паяльника. Необходимо припаять:
- Блокирующие конденсаторы от 0,1 мкф и выше
- Электролитический конденсатор от 100 мкф х 16в и выше
- Резистор 150 Ом
Резисторы необходимо устанавливать из расчета — по одному электролиту и блокирующему конденсатору для каждого установленного модуля. В результате мы должны получить следующее:
Разъемы позволят дополнять микросхему дополнительными датчиками и избавят нас от постоянной перепайки деталей.
К плате контроллера подключаем модуль управления двигателями — Motor Shield. Прикручиваем батарейный отсек. Для крепления двигателей к платформе понадобятся болты М3х30. На двигатели надеваем колеса.
На вторую часть платформы прикрепляем остальное: web-камеру, маршрутизатор, USB-хаб. Провода стягиваем скобами и аккуратно укладываем чтобы они не мешали другим элементам.
Программное обеспечение
Прошивка маршрутизатора TP-Link 3020MR
Загружаем прошивку отсюда. В меню оригинальной прошивки маршрутизатора выбираем пункт «Обновить программное обеспечение» и выбираем загруженный ранее файл CyberWrt-v1.4.bin.
После обновления адрес маршрутизатора изменится на http://192.168.1.100
В разделе «Настройка Wi-Fi» необходимо выбрать режим «Клиент Wi-Fi сети» и указать данные к подключаемой Wi-Fi сети домашнего маршрутизатора. Например:
Если вы на каком либо этапе допустили ошибку (неправильно указали IP, шлюз) или устройство оказалось недоступно, то для решения проблемы необходимо подключить роутер с ПК с помощью LAN кабеля, зайти в настройки и указать правильные данные.
Теперь домашний роутер, к которому будет подключаться маршрутизатор, установленный на роботе, будет являться узлом для связи с внешним миром через сеть Интернет.
Установка драйверов
Драйвера_USB-Serial
Модуль устанавливает драйвера USB-Serial, такие как FTDI, Prolifis, CP2110x для USB-serial моста.
Драйвер_WebCam
Установка модулей
Модуль Робот-Шпион3 (CyberBot3)
Модифицированный модуль для управления Wi-Fi роботом CyberBot-3 через веб браузер.
Интерфейс модуля
Загрузка скетча в Arduino
Загрузка скетча осуществляется через среду разработки Arduino. Для этого необходимо загрузить дистрибутив:
Для Windows скачать
Для Linux 32bit скачать
Для Linux 64bit скачать
Для MacOS X скачать
После установки и запуска среды разработки необходимо выбрать тип используемой платы и порт через который будет осуществляться обмен данными между контроллером и компьютером. Данные настройки осуществляются через меню «Tools» «Board menu».
При использовании платы Arduino Nano CH340G в системе Windows необходима установка драйвера CH341SER
Плата должна определяться в системе как USB2.0 Serial.
Перед загрузкой скетча проверяем его на наличие ошибок. В меню «ЭСКИЗ» выбираем «ПРОВЕРИТЬ/СКОМПИЛИРОВАТЬ».
Если возникнут ошибки при проверке компилятор укажет на строку с неправильным кодом. Если ошибок не найдено, то в меню «ЭСКИЗ» выбираем «ВГРУЗИТЬ».
Скетч для Arduino Nano и Arduino UNO
Для работы скетча необходима библиотека CyberLib
#include #define motors_init uint8_t inByte; uint8_t speed=255; void setup() < motors_init; D11_Out; D11_Low; randomSeed(A6_Read); for(uint8_t i=0; ivoid loop() < if (UART_ReadByte(inByte)) < switch (inByte) < case 'x': robot_stop(); break; case 'W': robot_go(); break; case 'D': robot_rotation_left(); break; case 'A': robot_rotation_right(); break; case 'S': robot_back(); break; >if(inByte>47 && inByte <58) speed=(inByte-47)*25+5; >wdt_reset(); > void robot_go() < D4_Low; analogWrite(5, speed); analogWrite(6, speed); D7_Low; >void robot_back() < D4_High; analogWrite(5, 255-speed); analogWrite(6, 255-speed); D7_High; >void robot_stop() < D4_Low; analogWrite(5, 0); analogWrite(6, 0); D7_Low; >void robot_rotation_left() < D4_Low; analogWrite(5, speed); analogWrite(6, 255-speed); D7_High; >void robot_rotation_right()
Скетч для Arduino Mega
#include #define motors_init #define robot_go #define robot_back #define robot_stop #define robot_rotation_left #define robot_rotation_right uint8_t inByte; void setup() < motors_init; D11_Out; D11_Low; randomSeed(analogRead(6)); Serial.begin(57600); wdt_enable (WDTO_500MS); >void loop() < if (Serial.available()) < inByte = Serial.read(); switch (inByte) < case 'x': robot_stop; break; case 'W': robot_go; break; case 'D': robot_rotation_left; break; case 'A': robot_rotation_right; break; case 'S': robot_back; break; >> wdt_reset(); >
Исходный код взят с cyber-place.ru
Сервис
Утилита «Терминал»
Модуль для работы с консолью из веб браузера.
Список часто используемых команд в CyberWrt
uname -a — Версия ядра Linux;
cat /proc/cpuinfo — информация о железе
cat /proc/meminfo — расширенная информация о занимаемой оперативной памяти
free -m — Информация о используемой и свободной оперативной памяти
ls /dev — отображение всех устройств в системе
id — сводную информация по текущему пользователю (логин, UID, GID);
ps — все загруженные процессы;
date — просмотр даты/времени
dmesg — log-файл загрузки
lsmod — Список модулей загруженных в ядро
netstat -rn — таблица маршрутизации
netstat -an | grep LISTEN — список всех открытых портов
netstat -tup — Активные соединения с интернетом
fdisk -l Информация о всех подключенных дисках;
blkid — UUID информация о всех доступных накопителей в системе;
mount /dev/sda1 /mnt — Монтирует раздел /dev/sda1 к точке монтирования /mnt;
mount — полная информация о примонтированных устройствах;
umount /mnt — Отмонтирует раздел от точки монтирования /mnt;
clear — Очистка окна терминала;
reboot — Перезагрузка устройства;
exit — Завершение сеанса;
passwd — смена пароля текущего пользователя;
opkg update – обновление списка пакетов
opkg upgrade – обновление всех установленных пакетов;
opkg list-installed – вывод на экран списка установленных пакетов.
Проверка работоспособности двигателей в среде разработки
В меню «ИНСТРУМЕНТЫ» выбираем «МОНИТОР ПОСЛЕДОВАТЕЛЬНОГО ПОРТА». В терминальной строке набираем команду движения:
Если все подключено и настроено правильно, то после нажатия кнопки «ОТПРАВИТЬ» моторы должны начать крутиться.
Остановить движение можно по команде:
Проблемы
Несовместимость микроконтроллера Arduino Nano V3 CH340 с маршрутизатором TP-LINK TL-MR3020
Найденные решения на форуме:
- Подключение резистора 100 Ом на пин RST и на +5V
- Понижение скорости соединения до 9600
- Удаление конденсатора или перерезка дорожки на Arduino
- Подключение микроконтроллера к маршрутизатору через UART интерфейс
Как показывала практика ни один из вышеописанных способов не помог. Только после замены микроконтроллера на Carduino Nano V7 робот начал работать через маршрутизатор.
Бюджет
Деталь | Цена |
---|---|
1. Платформа | 450 руб. |
2. Управляющая микросхема | 300 руб. |
3. Carduino V7 | 1049 руб. |
4. Доставка по России | 200 руб. |
5. Двигатели, колеса, датчики | 629 руб. |
6. Электрические компоненты (разъемы, провода, резисторы) | 182 руб. |
7. Беспроводной WiFi маршрутизатор TP-Link 3020MR | 1425 руб. |
8. Usb хаб | 410 руб. |
9. Крепеж | 170 руб. |
Итого | 4815 руб. |
it_donnet
Блог о сетевых устройствах, тестировании различных устройств. На сайте вы найдете инструкции для настройки различных устройств. А раздел «Путешествие» поможет познакомиться с интересными местами.
Как работает Wi-Fi роутер и будет ли функционировать без ПК?
Всем привет! Сегодня рассмотрим, как работает роутер вай фай и может ли роутер работать без компьютера. Специально упрощаю терминологию, чтобы было понятно в том числе и «для чайников».
Немного о принципах работы wifi маршрутизатора
Это устройство получает пакеты данных от модема, а затем распределяет их между всеми девайсами, которые к нему присоединились. Для правильной синхронизации используются таблицы маршрутизации – базы данных, которые прописаны в память маршрутизатора.
Каждому устройству в локальной сети присвоен уникальный идентификатор. Выглядит он чаще всего так: 192.168.1.х, где х — порядковый номер.
Как правило, модему присваивается единица, самому маршрутизатору двойка, и далее каждому устройству свой собственный. При совпадении идентификатора возможен конфликт оборудования, вследствие чего маршрутизатор будет выполнять работу неправильно.
Это действует одинаково как при проводном интернете, так и при беспроводном.
Разница в том, что обычно данные из сети к модему передаются по кабелю или оптоволокну. В удаленных местах, куда кабель тянуть нерационально, иногда используется приемник, улавливающий радиоволны, по которым уже передаются данные и отправляются на модем.
В любом случае, если в локалке несколько устройств, маршрутизатор необходим – подключать каждый отдельный девайс на отдельный абонентский договор немного накладно. Это увеличивает стоимость услуг провайдера, поэтому так никто не делает.
Будет ли роутер работать без ПК
Наличие подключенного компьютера, вовсе необязательно – маршрутизатор сам является вычислительным устройством, имеющим микропроцессор и прочую сложную начинку.
Более того, вовсе необязательно подключение любого другого девайса – при отсутствии потребителей, он попросту будет передавать данные в пустоту, но при этом будет работать в штатном режиме.
Как правило, маршрутизатор к ПК в компьютерной сети подключается через Ethernet-кабель. Наличие нескольких выходов LAN позволяет подключить и другие стационарные девайсы – например, смарт-телевизор. Игровую консоль, смартфон, планшет или ноутбук удобнее подключить через вай фай – это не лишает устройство мобильности.
Для трансляции сигнала, маршрутизатор оборудован передатчиком, который усилен одной или несколькими антеннами. Для дома или квартиры, как правило, достаточно базовой комплектации, однако в некоторых случаях может потребоваться подключение более мощной антенны. Она приобретается отдельно и монтируется вместо стандартной.
Безопасность – одна из «ахиллесовых пят» беспроводной сети.
При отсутствии пароля, особенно если сетевой адрес не нужно прописывать вручную и он присваивается автоматически, к локалке может подключиться любой желающий – например, сосед, который не хочет платить за интернет и поэтому пользуется вашим, от чего качество передачи данных снижается.Несколько таких соседей, включивших торрент-загрузчики, способны существенно снизить скорость интернета.
Кроме взаимодействия с глобальной паутиной, роутер может обеспечить синхронизацию данных внутри локальной сети – например, достаточно расшарить в общий доступ папку с фильмами, чтобы их можно было смотреть с любого другого девайса.
Отдельно хочу отметить, что у Wi-Fi существует несколько стандартов, которые отличаются скоростью передачи данных. Это следует учитывать при покупке роутера.
Например, если у вас дома подключен интернет на скорости 100 Мбит/с, а вы приобрели роутер со скоростью Вай Фая 20 Мбит/с, то нормально смогут пользоваться интернетом только девайсы, подключенные через кабель к порту LAN. У тех, которые подключились «по воздуху», скорость доступа будет снижена.
Если интересуетесь ценами, то широкий выбор роутеров с любыми техническими характеристиками можете посмотреть в этом популярном интернет-магазине.
Также советую детальнее ознакомиться с публикациями «Виды роутеров» и «Устройство и схема роутера». Буду признателен всем, кто поделится этой публикацией в социальных сетях. До завтра!