Projeto completo de um robô wifi
O forum está em russo. Eu fiz conforme está escrito a baixo e tudo está funcionando. Logo posto o video
Tem que regravar a bin do roteador com os novos aquivos já com o controle do robô
OR-WRT
painel de controle.
Esta é
subprojeto do projeto de Robótica Aberto, destinada à produção de fácil
utilização, baixo custo plataformas para a robótica hobby (passatempo também
não só). Esta meta subprojeto é desenvolver ready-to-flash firmware para SOHO
routers wi-fi, que permite usar os roteadores baseados em linux como alguns
dispositivos wi-fi de cabeça para robôs controlados por hobby. Router será
capaz de controlar UART e dispositivos USB (para o momento, UVC-webcams,
algumas placas MCU e alguns adaptadores USB-UART são suportados). Firmware é
baseado no OpenWRT, autor - elmot (elijah.mot [at] gmail.com).
Você pode
usar livremente e / ou modificar os materiais do projeto para qualquer
propósito não-comercial. Para a licença comercial você tem que contactar o
autor (elijah.mot [at] gmail.com).
Você está
fazendo todas as modificações em sua própria conta e risco. Advertimos que
desmontar o router (para ligar uart-interface), tanto quanto piscar firmware
personalizado, pode levar à perda de garantias ou até mesmo a danos
dispositivo. Comportamento do robô inesperado pode levar a danos ou até mesmo
ferir. O autor do firmware, nem Open-robotics.ru, nem OpenWRT.org não carregam
qualquer responsabilidade por quaisquer consequências directas ou indirectas de
projetos de uso de materiais.
TP-Link
MR3020
|
TP-Link
WR703N
|
D-Link
DIR-320
|
D-Link
DIR-320 NRU
|
- Roteadores WiFi:
- TP-LINK MR3020
- TP-LINK WR703N
- D-Link DIR-320 (mas não DIR-320NRU, conhecido como "H / W ver B1"!),
- ASUS wl500gP (testado por ddcharacter)
- Podem ser quaisquer outros roteadores, com base em SoC Broadcom BCM47xx/53xx ou Atheros AR9331 (ainda não testado)
- Você pode tentar modificar firmware que você possui para outros equipados com USB roteadores compatíveis com http://openwrt.org/
Todos
UVC-webcams (considerar esta lista - http://www.ideasonboard.org/uvc/
O ruído
de vídeo é relatado com webcams Logitech С-270
Nós
recomment MJPEG-webcams, mas YUV de webcams podem ser usados também
(mas com aumento da latência de vídeo-streaming).
- Silicon Labs CP210x, incluindo OR-USB-UART-v1
- Pololu orangotango SVP-1284 (com algumas correções, veja abaixo)
- Outros não foram verificados, o mais provável será suportado ..
- Configure o cliente tftp (incluído na vitória distributiva 7, mas não é instalado como padrão).
- Conecte o computador com o cabo RJ-45 para qualquer LAN-porta em roteador
- Configuração IP 192.168.0.2 para LAN computador adaptado
- aberta janela do DOS-prompt e preparar (pode ser em. bat) o comando "tftp 192.168.0.1 PUT <trx-file-name>"
- Ligue poder roteador
- Aguarde exatamente dois segundos e executar o comando preparado. LAN LED deve começar a piscar com freqüência por alguns segundos, depois que o comando deve ser concluída com êxito e escrever em algo console como (dígitos podem ser diferentes):
- Começam a piscar ****
- Bem sucedida transferência: 3592480 bytes em 11 сs e 281134 bytes / s
- Aguarde cerca de cinco minutos. Quando firmware é recarregada, e roteador não se conectar ao Wi-Fi (porque pouco provável a sua casa WiFi é chamado de "OpenWrt" e tem a senha "1"), o lado azul LED começa a acender e sair a cada dez segundos.
Há duas
maneiras de configurar OR-WRT wirmware
- ssh 192.168.0.1 , com LAN cabo conectado a qualquer porta do roteador LAN / WAN. Também ssh <wifi ip> , se wi-fi já está configurado e para cima. Raiz de login, senha 123
- Digite no navegador http://192.168.0.1 com cabo LAN ou <wifi http:// IP> via wi-fi, wi-fi, se já está configurado e para cima. Admin Login, senha oradmin. Há um link para páginas de administração na capa.
Robot
dispositivo cabeça (router personalizada) é suposto para ser conectado a uma
rede doméstica Wi-Fi como o cliente de IP estático.
- Selecione IP aproximando. Deve ser na faixa de IP da rede, para não ser occuped, e estar fora da faixa de endereços DHCP.
- Interface web aberto, páginas depois de administrador, e não há uma página de "WiFi". Lá você pode configurar:
- proteção: WPA-PSK/WPA2-PSK NONE,
- rede SSID
- senha
- IP estático
- netmask
- GW padrão
- dns
Como uma
rede de seleção de configuração, firmware gateway padrão pings abordar cada dez
segundos. Se o ping não for bem sucedida, o LED azul está aceso para os
próximos dez segundos. Assim, pode iluminar tempos em tempos, mesmo que wi-fi
está funcionando IP em caso de queda de pacotes (isso acontece vez em quando).
Na página
de configurações da câmera, você pode escolher:
- resolução
- taxa de quadros
- número da câmera (conexão de várias câmeras por meio de USB-hub é possível)
- Modos YUV ou MJPEG
- Videostream em MJPG formato: http://wifi-ip:8080/?action=stream
- Único quadro em http://wifi-ip:8080/?action=snapshot jpg
UART
pinout no DIR-320.
Há duas
maneiras de acessá-lo
- ser2net daemon redireciona o tráfego UART através da porta TCP 2000
- você pode escrever a UART com http protocola no método POST URL / cgi-bin/serial.cgi, parâmetro Http valor SERIAL_DATA será enviado para UART
Adicione
a seguinte linha ao /etc/config/ser2net.conf arquivo:
Após a
reinicialização do roteador o tráfego de série será redirecionado para a porta
TCP 3001
Graças a tenik,
eu era capaz de ligar o roteador para Pololu Orangotango:
Acrescente
as seguintes linhas de / etc / rc.local para reiniciar UART módulo do kernel:
rmmod usbserial
insmod usbserial vendor=0x1ffb product=0x008
insmod usbserial vendor=0x1ffb product=0x008
Anexar
seguintes linhas de / para etc/config/ser2net.conf:
3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS3002:raw:600:/dev/ttyUSB1:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
3003:raw:600:/dev/ttyUSB2:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS
Após a
reinicialização do roteador, portas Pololu de 3 UART são acessíveis nas portas
TCP 3001, 3002, 3003, respectivamente.
Para
modificação de firmware grave ver a documentação na https://openwrt.org/
Webpages
reais está disponível para download através de administração robô
"site". Para novas páginas upload por WiFi eu usar o comando:
pscp.exe-r-123-pw scp www / *
root@192.168.1.120 :/ www
pscp é a
utilidade para o SSH de upload de Putty distributiva.
Não faça
upload de arquivos para / cgi-bin / * desta forma, os arquivos enviados terá
erradas atributos linux e eles não irão funcionar.
- Latência de vídeo. Em 160 * 120,30 fps MJPG modo é mínima, mas ainda existe.
- Não fácil de usar método de alteração de senha, somente através de SSH console (comando passwd).
- Segurança. Robô com firmware tal deve ser controlada através de protocolo seguro. Agora o vídeo é transmitido criptografado em porta 8080. Web-face e controles, através de http ou https, com ou wtihout senha. O método mais correto - https + senha, mas a conexão https é muito lenta.
- Webface roteiros escritos em awk e cinzas, o apoio é difícil, precisa ser migrado para Lua.
- Webface é undeimplemented - páginas de configurações sempre mostra os valores padrão em vez de configurações atuais.
- Não desativar o HTTP e HTTPS, ao mesmo tempo. Neste caso, a reconfiguração do roteador estará disponível apenas através de SSH.
- Não se esqueça sobre os riscos de segurança. Lembre-se que alguém pode espionar você através de webcam, e um robô móvel pode danificar alguma coisa ou até mesmo causar lesões.
O que por
dentro?
- Ready-to-use firmware. Trx formato.
- Kernel e addons para ImageBuilder padrão do OpenWRT (10.03.01-RC6), utilizado para construir o firmware.
- make.sh arquivo, que constrói e embala o firmware.
Apoiar ( http://sourceforge.net/p/orwrt/tickets/ )
OpenWRT ( http://sourceforge.net/p/orwrt/tickets/)
Putty ( http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ) - um cliente SSH universal
para Windows
Fonte " http://roboforum.ru/ "
Categoria : Robótica
OpenWRT ( http://sourceforge.net/p/orwrt/tickets/)
Putty ( http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ) - um cliente SSH universal
para Windows
Fonte " http://roboforum.ru/ "
Categoria : Robótica