Inicio_Rápido. MANUAL DE PUESTA EN MARCHA DE JUS

Este manual explica de forma detallada los primeros pasos que debes seguir para ser capaz de comprobar las conexiones existentes en el robot como para verificar que todo el hardware está incluido.
Además te permitirá aprender a conectarte al robot JUS tanto de forma remota como por conexión HDMI a un monitor y te ayudará a dar tus primeros pasos con las herramientas de desarrollo más eficientes para el uso de JUS.

1º Chequear el hardware y poner en marcha la raspberry Pi

Antes de encender la Raspberry Pi, tenemos que asegurarnos de que a nuestro robot no le falta ningún elemento y que la colocación de los mismos es la adecuada.
Aquí tienes un listado de los componentes de nuestro robot JUS:

  • 2x Servo Motores
  • 2x ruedas
  • 1x Raspberry Pi
  • 1x Microcontrolador Maestro
  • 1x Rueda loca
  • 1x Sensor IR
  • 1x Pi Camera (y carcasa)
  • Batería de litio
  • Cables para el conexionado

Micro

Una vez chequeados todos los componentes pasamos a comprobar que el conexionado es correcto.
El listado de conexiones es el siguiente:

  • Conexión Raspberry Pi con Micro Maestro (Con un cable USB conectamos el microcontrolador a uno de los conectores del USB de la Raspberry Pi)
  • Conexión sensor de distancia a microcontrolador. Conectamos el sensor de distancia a un pin del microcontrolador.

5

  • Conexión servos a microcontrolador. Conectamos los servomotores a los pines sin utilizar del microcontrolador.

5

  • Conexión de la alimentación del microcontrolador. Hacemos una conexión entre el pin de 5V y tierra de la Raspberry y los del microcontrolador. De esta manera la Raspberry proporcionará la alimentación al microcontrolador.

5

  • Alimentación de la Raspberry Pi con la batería de litio. Esta última conexión se realizará cuando se haya comprobado todo lo anterior y con este paso todos los componentes del robot JUS estarán alimentados. Como podemos ver en la imagen siguiente tenemos que conectar el cable situado en el Output de la batería al conector de alimentación de la Raspberry Pi.

Conexión batería

Estas dos imágenes representan los componentes y pines tanto del microcontrolador Pololu como los de las Raspberry Pi 3.

MICROCONTROLADOR

Micro

RASPBERRY PI

ConexiónesRaspberry

¿Como podemos ver si está encendido?


Se enciende un led rojo en la Raspberry y otro amarillo en el microcontrolador, estos leds están especificados en la imagen siguiente:

Primeraimagen

2º Configurar la red conectados a un monitor

Para tener acceso al escritorio y al sistema de archivos de la raspberry del robot, tendremos que realizar una conexión HDMI entre el robot y un monitor, como se muestra en la imagen siguiente.

5

JUS tiene instalado y configurado el SO, que se trata de Ubuntu Mate 16.04-2, junto a la versión de ROS rosbase además de Docker armhf.
Tiene configurados los parámetros más básicos del SO, como fecha y hora, idioma además de otros mas complejos como el nombre del host, usuario root habilitado, usuario Pi habilitado para hacer posible la ejecución del usuario sudo sin contraseña, network manager deshabilitado y configuración de los servidores DNS.

Como podrás ver el conexionado HDMI es incómodo, reduce la movilidad del robot y necesita tener siempre a mano el cable de conexión HDMI.

¿Podemos deshacernos de él?


Sí, para ello solo necesitaremos realizar una conexión remota mediante SSH.

¡¡IMPORTANTE!!

Para realizar este tipo de conexiones debemos de tener tanto el ordenador o raspberry Pi, con la que queremos realizar la conexión remota, como nuestro robot JUS conectados a la misma red local.
Para ello, configuramos nuestra red local en el archivo etc/network/interfaces.

sudo nano /etc/network/interfaces

Una vez accedamos al archivo interfaces, añadimos nuestra red local introduciendo los siguientes
parámetros en el archivo:

        auto wlan0
        iface wlan0 inet dhcp
        gateway 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 1992.169.1.255
        wpa-ssid "nombre_de_tu_red"
        wpa-psk"contraseña_de_tu_red"

Para salir del archivo, tecleamos Ctrl + Mayus +X y pulsamos después la tecla Enter.

¿Que necesitamos para conectanos mediante SSH?

  • Activar conexión SSH en la Raspberry Pi.
    Solución: desde raspi-config podemos asegurarnos que está habilitada.
     sudo raspi-config
    Una vez ejecutado se abrirá la siguiente ventana

    5

    Seleccionamos la opción Interfacing options, y se mostrará la pestaña representada a continuación.

    5

    Por último pulsamos sobre SSH... y posteriormente sobre Yes para que habilite la conexión.

    5

  • Conocer la IP de la Raspberry Pi.
    Solución: ejecuta ifconfig y recuerda la IP asignada. Podemos visualizar la IP en la columna wlan0, en el parámetro de red inet addr

  • Conocer nuestros datos de login, usuario y contraseña.
    Si no las has alterado, por defecto son user: pi, password: raspberry

¿Cómo nos conectamos?

 

Equipo remoto corriendo Windows

Desde Windows podemos instalar PuTTY, un software gratuito para realizar conexiones remotas fácilmente. Una vez instalado tan sólo tendremos que crear una nueva conexión indicando la IP de la RasPi y el puerto 22. Comprueba que SSH está seleccionado en el tipo de conexión antes de hacer clic en Open. Es recomendable además dar un nombre a la conexión y hacer clic en "Save”, de esta forma no tendrás que volver a completar los datos cada vez que quieras conectarse. La próxima vez, lo único que tendrás que hacer es hacer click en el nombre de la conexión y luego en “Load” (o doble clic) y para conectarte a la Raspberry.

 

Conexión desde PuTTY

 

Si PuTTY establece conexión con la Raspberry Pi, abrirá una nueva ventana dónde se nos pide introducir el login de nuestro usuario en la Raspberry, en mi caso, tecleo “pi” y pulso enter. A continuación deberemos teclear igualmente la constraseña para ese usuario y enter. Si la autenticación ha sido correcta, nos encontramos conectados por SSH a nuestra placa y estamos en condiciones de controlarla mediante el terminal de comandos.

 

Login SSH

Cuando hayamos completado las operaciones en la Raspberry, tecleamos el comando exit para cerrar la conexión o simplemente cerramos la ventana de PuTTY.

 

Desde una segunda Raspberry o equipo corriendo Linux
 

Abrimos una nueva consola y ejecutamos:

Por ejemplo, si quiero iniciar una conexión con el usuario remoto pi y la contraseña de la Raspberry remota es 192.168.43.115:

ssh pi@192.168.43.115

Ya sólo queda autenticarse en la Raspberry remota con la contraseña del usuario que hemos indicado. Hecho esto tenemos la conexión ssh establecida correctamente.

 

Desde terminal Android:

Podemos utilizar alguno de las app disponibles para este fin, por ejemplo, JuiceSSH.

¿Cómo podemos saber quién se ha conectado a nuestra Raspberry?

Para conocer quién se ha conectado mediante ssh a nuestro equipo podemos ejecutar el siguiente comando:

cat /var/log/auth.log | grep Accepted

Otras formas de conexión remota...VNC

3º ¿Todo configurado?¿Qué debo hacer ahora?

Lo primero que tienes que hacer es familiarizarte con las herramientas de desarrollo (Git,Python y línea de comandos con bash).

Hay que recordar que usted ya dispone de git instalado en su SO, además puede acceder a nuestros repositorios de therobotacademy accediendo a https://github.com/therobotacademy y clonar o hacer forks de aquellos repositiorios en los que este interesado.
Para una primera toma de contacto, le recomendamos realizar este ejercicio:

  • Clonar el repositorio situado en la URL-->https://github.com/therobotacademy/Maestro
  • Una vez clonado echar un vistazo a los scripts y directorio del repositorio, los archivos se han realizado mediante el lenguaje de programación python y cada uno tiene una funcionalidad distinta.
  • Una vez entendida la empresa de cada uno de los contenidos del repositorio, ejecutalos en tu robot para ver que todo te funciona correctamente.
  • Si tienes alguna duda acerca de alguno de los scripts, estos están explicados en http://raspberryhack.com/meetup/repositorio-maestro-0.

Paso a paso

  • Creamos un directorio donde introducimos nuestro repositio Git
mkdir rep
cd rep
git init
  • Realizamos la clonación del repositorio Maestro, que está incluido en el repositorio de TheRobotAcademy.
git clone https://github.com/therobotacademy/Maestro
  • Ejecutamos el script de python que queramos.
python fw.py
  • Una vez terminado, si quieres apagar por completo el robot JUS, solo tendrás que escribir por pantalla  sudo halt comando que hará que se cierre sesión en la Raspberry Pi 3 lo que conllevará al apagado del robot.

4º Problemas habituales

[1] Problemas de conexión a Intenet de tu raspberry

Si tu raspberry no es capaz de conectarse a la red o el router no te proporciona una dirección IP, aquí te expongo una serie de posibles soluciones:

  • ifup, ifdown. Hace que la interfaz de red este disponible o no, activandola y desactivando dicha red en algunos casos se resuelven los problemas de conectividad.
     sudo ifup wlan0
     sudo ifdown wlan0
     
  • sudo /etc/init.d/networking reload Este comando recarga toda la configuración de la red wifi.
    El proceso de arranque de la red se inicia mediante la ejecución de los scripts del directorio init.d.
  • Comprobar que no hay un error en el archivo /etc/network/interfaces, donde anteriormente habíamos configurado nuestra redes local.
  • Si continúan los problemas reiniciar el router, puede que no sea capaz de asignarnos una dirección IP.

[2] Problemas con SSH

Bug de openssh-server

Si al intentar conectarnos remotamente por SSH recibimos un error del tipo:
ssh: connect to host port 22: Connection refused

Podemos resolverlo reinstalando el paquete OpenSSH:

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

¿Te ha quedado alguna duda?¿Quieres seguir aprendiendo?

Contacta con nosotros, estamos a su disposición