Текущее состояние прошивки (0.53 по моей нумерации)
Для чего?
Для раутера D-LINK DIR-320. H/w версия А1. С серебристой вставкой на корпусе. Вероятно, может подойти к другим раутерам на основе того же чипа. Предполагается подключение камеры по USB и периферии по UART.
Для D-LINK DIR-320NRU, он же H/w версия B1, просто черный, не подходит!
Что внутри?
Готовая к заливке прошивка - trx файл.
Ядро и дополнения к стандартному ImageBuilder’у от OpenWRT backfire 10.03.01-RC6, с помощью которых она построена.
файл make.sh для построения и запаковки прошивки
Как прошивать?
Проверенный метод - tftp.
Настроить на компьютере IP-адрес 192.168.0.2, подключиться к любому порту LAN на раутере.
установить tftp клиента (есть в поставке win 7, но не установлен по умолчанию).
приготовить команду tftp 192.168.0.1 PUT <имя прошивки>
включить раутер
подождать ровно 2 секунды и запустить команду. Лампа LAN должна часто-часто-моргать несколько секунд, после чего команда должна успешно завершиться.
Ждать. Минут 5. Когда прошивка загрузится и не сможет подключиться к wifi (так как вряд ли Ваша сеть называется “OpenWrt” и имеет пароль “1”), должна загореться синяя лампа на раутере и помаргивать каждые 10 секунд (знак того, что wifi не настроен).
Что включено?
авто-логин в сеть wifi как клиент со статическим IP
автозапуск mjpeg-streamer с поддержкой камеры
автозапуск ssh сервера
webface http(s) с опциональной авторизацией
простая страничка с видом из камеры
настройка wifi
защита WPA-PSK/WPA2-PSK,NONE
имя сети SSID
пароль
static IP, netmask, GW, dns
настройка камеры (номер, MJPEG/YUV, frame rate, resolution)
настройка Web-сервера
http да/нет
https да/нет
консоль linux отцеплена от uart, некоторое количество данных от загрузчика, но после загрузки OS uart доступен для работы периферии, система не лазает в UART.
доступ к UART через HTTP/HTTPS пока только на запись
доступ к UART через ser2nt на порту 2000
Как конфигурировать? Есть два варианта
ssh 192.168.0.1 по кабелю в любой порт раутера или ssh <wifi ip>, если wifi поднялся. Login root, password 123
https://192.168.0.1 по кабелю либо
https://<wifi IP> по wifi, wifi поднялся.
Login admin, password oradmin. На первой странице внизу ссылка на админку. Браузер будет ругаться на неправильный сертификат, но это нормально. Надо сказать “зайти все равно”.
Что за кнопки, окошко ввода и скроллер на первой странице?
Поворот камеры. Кнопки там же и окно ввода не работают как надо - это остатки старого эксперимента. По перемещению движка в UART отдаются команды типа AT+ROBOT,PWM=миллисекунды. Это для моей прошивки STM. Как несложно догадаться, это управление сервомотором, к которому у меня дома приклеена камера.
Есть версия страницы для робота open-robotics с управлением WASD
Нерешенные проблемы
Задержка видео. При использовании 160*120 30 fps она минимальная, но есть.
Нет человеческого способа менять пароли, только через SSH консоль.
Защита. Такую штуку надо держать на защищенном протоколе. Сейчас видео идет по http порт 8080 вообще открыто, вебморда и управление - либо http либо https, либо с паролем, либо без. Самый правильный способ - https+пароль. Но https в данной конфигурации тормозит жутко. Похоже, http сервер на раутере на каждый запрос пересоздает SSL подключение, а это небыстрое дело.
Webface написана на чем попало, ее неудобно расширять,
Webface содержит явную недоделку - когда заходишь на страничку настройки, то она показывает не текущие значения из конфигов раутера, а ее собственные дефолты
Другие предупреждения
Признак подключенности wifi, при котором синяя лампа гореть не будет - это успешный пинг до Default Gateway. Следует в конфигурации раутера указать правильный адрес и разрешить на ping на Gateway.Обычно это разрешено.
Не выключайте HTTP и HTTPS одновременно. Иначе перенастройка раутера станет возможной только по SSH, либо перепрошивка и все по новой
Не забывайте про защиту. Очень хочется показать эту вещь в интернете, но надо понимать, что за вами могут наблюдать через камеру, а ездящий робот может даже нанести материальный ущерб либо даже травму. Учтите, что в Интернете “кулхацкеров” гораздо больше, чем ваших друзей.