# raspberry-muy-basico

# Introduction

Vamos fijar las **bases** en Raspberry antes de entrar en la robótica con Rasberry

- No necesitas conocimientos previos de este pequeño ordenador.

## ¿Qué vas a conseguir?

- **OBJETIVO 1** Tener instalado el sistema operativo **Raspbian** en tu Raspberry.
- **OBJETIVO 2**Comunicarte con la Raspberry de forma **remota** (imprescindible en robótica con Alphabot) necesitas en este caso un ordenador y **Wifi**:
    - Comunicarte en forma de comandos con **SSH**
    - Comunicarte en entorno gráfico con **VNC**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-e5lyb7a0.jpeg)

{% include "git+https://github.com/catedu/robotica.git/README.md" %}

# 1 Un vistazo rápido

## 1.1 De donde viene ...

En 2011 se desarrolló la Raspberry Pi como ordenador de bajo coste para facilitar la enseñanza de la informática en los colegios, pero hasta 2012 no comenzó a fabricarse. La fundación recibe apoyos del laboratorio de informática de la Universidad de Cambridge y de Broadcom.

No hay ningún secreto en su precio, ya que fue diseñada con el fin de ser lo más barato posible, libre y llegar al máximo número de usuarios. Te puedes encontrar un PI3 con carcasa, alimentación y tarjeta clase 10 de 16 GB [por 50 € aprox o 30€ sólo la placa](https://es.aliexpress.com/).

## 1.2 Modelos

- **RASPBERRY PI 1** ya empezó con 8 puertos GPIO en 26 pines, un HDMI y 2xUSB con un microprocesador ARM de 700MHz y SDRAM 256M ¿no estaba nada mal para empezar en el 2012?.
- **RASPBERRY PI 2** En 2015 se aumentaba la potencia a 900MHz y SDRAM de 1G con lo que las aplicaciones cargadas lo agradecían. Los puertos USB se amplian a 4, los núcleos también y los GPIO a 17 !! (con 40 pines y los primeros 26 son los mismos que la versión anterior para mantener la compatibilidad).
- **RASPBERRY PI 3** Un año después, los que se compraron la PI2 se arrepintieron pues este modelo incopora Bluetooth y Wifi y el micro es de 64 bits.
    
    
    - RASPBERRY PI3 A+ unos 27€ pero no tiene conector de red de cable RJ45 y sólo un puerto USB.
    - RASPBERRY PI3 B+ unos 33€ con conector cable red y 4 puertos USB, nuestro preferido.
- **RASPBERRY PI 4** Es la última versión (Junio 2019) con distintas opciones de RAM según el uso que le quieras dar (para robótica con 1G es suficiente, para usos más de ordenador de sobremesa es mejor 4G)

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-bqkmo1zc.jpeg)

> Existen **Modelos micros**, para robots que requieran espacios reducidos, es el **RASPBERRY PI ZERO** equivalente al PI 1 pero sin Ethernet y el **RASPBERRY PI ZERO W** que se le añade Bluetooth y Wifi. [+Info aquí](https://www.luisllamas.es/modelos-de-raspberry-pi/), y para complicarlo más hay diferentes versiones de cada A, A+ B+ Rev1 Rev2.. [ver](https://www.raspberryshop.es/guia-completa-raspberry-pi.php#a27)

## 1.3 Usos de la raspberry

Aquí tienes [un muro](https://padlet.com/CATEDU/usosRaspberry) que tú mismo puedes enriquecer:

<div class="padlet-embed" id="bkmrk--0" style="border:1px solid rgba(0,0,0,0.1);border-radius:2px;box-sizing:border-box;overflow:hidden;position:relative;width:100%;background:#F4F4F4"><iframe allow="camera;microphone;geolocation" frameborder="0" src="https://padlet.com/embed/g3mfklbq6ngn" style="width:100%;height:608px;display:block;padding:0;margin:0"></iframe>

<div style="padding:8px;text-align:right;margin:0;">[![Hecho con Padlet](https://resources.padletcdn.com/assets/made_with_padlet.png)](https://padlet.com?ref=embed)</div></div>

# 2 GPIO

## 2.1 ¿Qué es eso?¿Es importante?

Pues sí que es importante para la robótica. GPIO significa **General Purpose Input Output (GPIO)** es el sistema que tiene la Raspberry de entradas y salidas de uso general. En la figura lo tienes marcados como naranjas:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-bgickdup.png)

Su gran ventaja con respecto al Arduino es la cantidad de pines GPIO que están disponibles junto con la posibilidad de programar diréctamente en la Raspberry, pero su desventaja es que **no pueden leer entradas analógicas**, para ello hay que usar un componente exterior o un Arduino.

## 2.2 Tensiones

Otra desventaja con respecto al Arduino: Están diseñados para 3.3V **NO conectes componentes de 5V o de lo contrario ESTROPEARÁS LA RASPBERRY DE FORMA IRREVERSIBLE** debido a que todos los pines están **sin protección** de buffer.

<iframe allowfullscreen="" class="giphy-embed" frameborder="0" height="198" id="bkmrk--0" src="https://giphy.com/embed/wWT7Clw42FKXC" width="480"></iframe>

[via GIPHY](https://giphy.com/gifs/short-circuit-movie-ouch-wWT7Clw42FKXC)

## 2.3 Corrientes

Los GPIO están diseñados para ofrecer 3mA por cada pin, suficiente para encender LEDs pero **no pidas más** o **te cargarás la RASPBERRY**:

Y por supuesto los leds no a lo bruto, sino a través de una resistencia ¿de qué valor?

Voltios máximos 3.3V Intensidad máxima 3mA luego:

R = V/I = 3.3/3 = 1.1 kOhm COMO **MÍNIMO** o sea, mejor que no!

<iframe allowfullscreen="" class="giphy-embed" frameborder="0" height="413" id="bkmrk--1" src="https://giphy.com/embed/2TzxBMRKMcYF2" width="480"></iframe>

[via GIPHY](https://giphy.com/gifs/analog-2TzxBMRKMcYF2)

## 2.4 ¿QUE PUEDO CONECTAR PUES DIRÉCTAMENTE?

**PRACTICAMENTE NADA** sólo un led o un interruptor/pulsador con una resistencia de como mínimo 1.1K

## 2.5 QUE PUEDO CONECTAR INDIRECTAMENTE

**Casi de todo** a través de alguna Shield o interface, por ejemplo: \* Shield Pibrella muy, muy básico \* Shield GrovePi+ ya permite todo tipo de sensores \* AlphaBot un robot ya en movimiento.

### 2.5.1 Pibrella

[Esta shield ](http://pibrella.com/)es muy, muy básica que tiene 3 leds, un pulsador, un buzzer y dos conectores de extensión.

![](http://pibrella.com/assets/pibrella-board.png)

### 2.5.2 GrovePi+

[Esta shield](https://www.seeedstudio.com/GrovePi%2B-p-2241.html) tiene un buen precio y muchas posibilidades y [muy buena página web de proyectos](http://wiki.seeedstudio.com/Grove_System/):

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-nf5dyz6c.jpeg)

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-f6or3nhs.jpeg)

### 2.5.3 Alphabot

- [CURSO EN AULARAGON](https://catedu.github.io/alphabot/) Programación con Python de este [AlphaBot](https://www.waveshare.com/wiki/AlphaBot) con webcam

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-bcxdxup0.png)

# Raspbian o Rasberry Pi OS

## ¿Es el único sistema operativo que se puede instalar?

**No**, podemos instalar otros sistemas operativos en nuestra Raspbery (evidentemente uno sólo cada vez, poner dos a la vez en la *rasp* sería forzarlo demasiado). Por ejemplo:

- Podemos instalar un **[Linux-Ubuntu](https://ubuntu-mate.org/raspberry-pi/)** ligero pero que se puede usar en una aula de informática ([ver libro del curso de Aularagon Monta tu aula de informática con Raspberry](https://www.gitbook.com/book/catedu/monta-tu-aula-de-informatica-con-raspberry-pi/details)).
- Si no podemos vivir sin Windows, hay un **[Windows 10 especial](https://developer.microsoft.com/en-us/windows/iot/getstarted)** gratis *(sí has leído bien, los de Microsoft van entendiendo eso de si no puedes con ellos únete a ellos, pero no te hagas ilusiones, sólo vale para la Raspberry y no esperes una máquina que sustituya a tu PC va lentísimo).*
- Sistemas operativos para aplicaciones concretas: 
    - Video juegos: [Recalbox](https://www.recalbox.com/).
    - Dómótica y control [Home Assitant ](https://www.home-assistant.io/)
- Nuestro sistema operativo de este curso (y el mejor que "*rula en la Rasp*") pues está adaptado a la arquitectura ARM de la Raspberry es **RASPBIAN** o actualmente lo llaman **RASPBERRY PI OS**

Hay dos opciones, elige la que quieras (nuestra preferida es la A):

## Opción A Instalar el sistema operativo en la tarjeta sin NOOBS

Con esta opción no tienes que encender la Rasbperry.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="569" id="bkmrk--2" src="https://docs.google.com/presentation/d/e/2PACX-1vQoxDLLHMvB-mCQwm2en9cBgb1faamFG0YJIiFDFuNrGH8TuH8U-4zCDg_K9CkM4gFl-Wy6TxBNLg9j/embed?start=false&loop=false&delayms=3000" width="100%"></iframe>

## Opción B Instalar la Raspbian en la tarjeta con NOOBS

Con esta opción SI que tienes que encender la Rasbperry con pantalla, teclado y ratón

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="569" id="bkmrk--3" src="https://docs.google.com/presentation/d/e/2PACX-1vR4wwk8BwdSEgk-aTQ_xgvrQYJ-cr2QhN_35Q-mYJxYedhT5P-vF6UkDbSsHJ5I_zLS7IqBirdNfI4t/embed?start=false&loop=false&delayms=3000" width="100%"></iframe>

Esto es válido para cualquier ordenador: Descargar la ISO de un Sistema Operativo, grabarlo en un pincho de forma autoarrancable, pero por curiosidad, no es tan fácil como en la RASPBERRY  
Se añade esta presentación como curiosidad:

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="569" id="bkmrk--4" src="https://docs.google.com/presentation/d/e/2PACX-1vSvr4JxqRNkTwI0mcFJdfbIe5BtDpSGyLO4ucyAyk65f3zXsFa3zxIyFZiPcqRuv_2YEfrGY39SFVi0/embed?start=false&loop=false&delayms=3000" width="100%"></iframe>

# Conectando desde red local

## Opción A La Raspberry con pantalla, teclado y ratón

Esta es más fácil, pero tienes que encender la Raspberry con teclado, pantalla y ratón:

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="569" id="bkmrk--1" src="https://docs.google.com/presentation/d/e/2PACX-1vQShQenHWgn0_axlCmlKpIX6kqQOHHzaIHhy7SxTtXjLOXZip40JO5B-UB7KRx6g1Z8M1LsUg2N8fi8/embed?start=false&loop=false&delayms=3000" width="100%"></iframe>

## Opción B La Raspberry sin pantalla, teclado y ratón

Con esta opción es **más difícil**, pero no tienes que encender la Rasbperry para la configuración, sólo manipular los ficheros de la tarjeta micro SD.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="569" id="bkmrk--2" src="https://docs.google.com/presentation/d/e/2PACX-1vSuE389RRI67Vi1LGxySj5rWjhfNMjV9t27FbO80BOqMqDJyKcH7hFZWdOXubwsuO8NtnwXtaTQfg4p/embed?start=false&loop=false&delayms=3000" width="100%"></iframe>

**Texto que hay que poner en interfaces**

```bash
auto wlan0
iface wlan0 inet static
address 192.168.1.xxx
gateway 192.168.1.1
netmask 255.255.255.0
wpa-ssid el_nombre_tu_red_wifi
wpa-psk la_contraseña_de_tu_wifi
dns-nameservers 8.8.8.8 188.244.82.1
```

**Texto que hay que poner en wpa\_supplicant.conf**

```bash
# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="nombre de tu router o SSID"
    psk="tu contraseña del wi-fi"
    key_mgmt=WPA-PSK
}
```

# SSH

Controlar Raspberry pi de forma remota y de forma textual es muy rápido y eficaz, sobre todo para la robótica con AlphaBot.

**SSH** (Secure Shell) según [Wikipedia](https://es.wikipedia.org/wiki/Secure_Shell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder servidores privados a través de una puerta trasera. Te recomiendo visitar [esta página](https://www.luisllamas.es/consola-de-comandos-raspberry-pi/) de Luis Llamas.

Recuerda que lo que hemos hecho es:

- Hemos conectado la Raspberry a la Wifi
- Hemos activado el protocolo SSH y VNC en la raspberry
- Hemos fijado una IP y la sabemos para poder acceder a él.

Ya podemos trabajar por SSH con la Raspberry, no nos hace falta que conectemos la raspberry a una pantalla, teclado, etc....

**YA PODEMOS ENCENDER LA RASPBERRY** si has elegidos las opciones A de [3.-Raspbian](https://libros.catedu.es/3-raspbian.md) y [4.-Conectando](https://libros.catedu.es/4-primera-comunicacion.md) aún no habrás encendido la Raspberry.

### <span style="color: rgb(22, 145, 121);">**Si trabajas con Windows**</span>

No lo tiene nativo, tenemos que instalar [Putty](https://www.putty.org/)

Y rellenamos los campos de la IP (la que hayas determinado, en la imagen es 192.168.1.111), puerto y el protocolo SSH, es recomendable grabar la sesión para tenerlo en futuras entradas.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-6dlyz9ss.png)

Se abre una ventana pidiendo el usuario ***pi*** y contraseña por defecto ***rasbperry***

## <span style="color: rgb(22, 145, 121);">**Si trabajas con Linux**</span>

Linux tiene de forma nativa el protocolo SSH, lo activamos en el icono en negro que es el **Terminal**:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-j05uxw8n.jpeg)

Supongamos que la IP fija que le hemos asignado a la Rasbperry la IP 192.168.1.131 Tecleamos

```bash
ssh pi@192.168.1.131
```

Te pide usuario y contraseña, por defecto es usuario pi y la contreseña *raspberry*, la tecleas ***no la puedes ver***, te tiene que salir algo así en la pantalla:

**Cuando te sale pi@raspberrypi: es que ya está preparado para recibir órdenes**

```bash
cat@cat-Aspire-E5-571 ~ $ ssh pi@192.168.1.131
pi@192.168.1.131's password: 
Linux raspberrypi 4.9.80-v7+ #1098 SMP Fri Mar 9 19:11:42 GMT 2018 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar 23 18:03:09 2018 from 192.168.1.131
pi@raspberrypi:~ $
```

##### <span style="color: rgb(22, 145, 121);">**Nota por si te pasa**</span>

Si después de un intento fallido, o realizar la conexión con otra computadora.... te sale este error al intentar conectarte por ssh:

<p class="callout warning">@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is  
Please contact your system administrator. Add correct host key in /home/user/.ssh/known\_hosts to get rid of this message. Offending key in /home/user/.ssh/known\_hosts:1 RSA host key for ras.mydomain.com has changed and you have &gt;requested strict checking. Host key verification failed.</p>

---

Entonces antes de intentar conectarte por ssh, hay que obligar a la Raspberry que reinicie las claves de conexión de ssh, ejecuta esta orden :

Supongamos que la IP fija que le hemos asignado a la Rasbperry en el[ punto 4](https://libros.catedu.es/4-primera-comunicacion.md) es 192.168.1.131 Tecleamos

**ssh-keygen -R 192.168.1.131**

---

# 6 Cambiar usuario y contraseña

El usuario por defecto es **pi** y su contraseña es **raspberry** pero lo podemos cambiar perfectamente

## Opción A remota con SSH

Entramos por SSH [como hemos aprendido](https://libros.catedu.es/5-ssh.md), y tecleamos

**sudo passwd pi**

y nos pide enseguida la contraseña, la tenemos que insertar dos veces *no se puede ver*.

## Opción B local por pantalla

Entramos por VNC o conectamos una pantalla, teclado y ratón a la raspberry y en **Preferencias- RaspberryPi configuration**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-k1bn4kjn.png)

Y entramos en **System**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-gudgw7u0.png)

# 7 Apagar

Apagar de forma caliente (es decir simplemente quitando de la fuente de alimentación la corriente) daña al sistema operativo Rasbpian dejando ficheros corruptos.

## 7.1 Opción de forma remota con SSH

Muy fácil, teclea

```bash
sudo poweroff
```

# 7.2 Opción local de forma gráfica

Igual que en otros sistemas operativos Windows o Linux tenemos que apagar desde el menú **Shutdown**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-8tt3bpbr.jpeg)

# 8 VNC

VNC es un programa que nos permite la conexión remota con los servidores pero de forma gráfica. Es el sistema elegido por RASPBIAN pues ya lo tiene incorporado, pero no activado.

Hay que tener claro que son **dos programas**: \* **VNC SERVER** que es el programa que se ejecuta en la RASPBERRY y que aunque viene instalado, hay que activarlo. Es el programa que lanza el escritorio para que lo lea: \* **VNC VIEWER** es el programa que tenemos que tener en nuestro ordenador para ver lo que lanza VNC SERVER.

En la imagen podemos ver un pantallazo de mi ordenador, el escritorio negro es mi escritorio y el de la careterra es el de la Raspberry:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-kgqf8za5.jpeg)

# 9 Transferencia ficheros

Para hacer una transferencia de ficheros, necesitamos un lugar común entre nuestro Raspberry y nuestro PC.

Podemos hacer una carpeta compartida en el Linux de Raspbian instalando un servidor Samba para que nuestro PC lo vea ... o también podemos compartir una carpeta compartida en nuestro PC, añadir usuarios y permisos apropiados y depende si nuestro ordenador es Windows7, Windows10, Linux, Mac... todas estas opciones son muy interesantes, en Internet puedes encontrar tutoriales muy buenos y .... siempre hay fallos.

O dejarnos de ser tan tecnológicos .....

## Opción sencilla A: utilizar el adaptador y la micro tarjeta de la Raspberry

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-ypauhn1t.png)

#### A1.- En mi PC tengo LINUX

Pues mejor, ves las dos particiones de la micro tarjeta SD:

- boot
- rootfs

Create una carpeta en **rootfs** en la carpeta /**home/pi** y ahí guarda tus proyectos.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-g1ktgdpn.jpeg)

#### A2.- En mi PC tengo Windows

Pues sólo ves una de las dos particiones, almacena todo en la **boot** y luego en Rasbian por VNC pasa los archivos a la otra partición **rootfs** en la carpeta /**home/pi**:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-axlqurq4.jpeg)

## Opción sencilla B: Utilizar un pendrive USB

Exacto, como un ordenador, grabamos lo que queremos en un pendrive, luego lo conectamos a la Raspberry y saldrá automáticamente el gestor de archivos:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-k5clz4er.jpeg)

Si no sale, lo tienes en /media/pi en este caso he insertado un pendrive llamado Jorge:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-uotmygr0.jpeg)

### Opción C con VNC pues tengo la raspberry inaccesible

#### Por ejemplo está en [Alphabot](https://catedu.github.io/alphabot/)

Si estás conectado por VNC entonces hay una opción de transferir archivos:

#### Opción C1 de mi ordenador a la Raspberry

Vas a la parte superior de tu pantalla y aparecerá un menú de VNC de tu ordenador, pulsa en el botón de transferencia de archivos:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-vtmhpfur.jpeg)

### Opción C2 de la Raspberry a mi ordenador

Tienes que ir al icono de VNC negro superior derecha que hay en el escritorio de la **Raspberry** viéndolo a través del VNC de tu ordenador (*sí, ya sé que es un poco lioso pero es fácil*):

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-gpqjuqvr.jpeg)

## Opción C3 No quiero un archivo, quiero una carpeta entera

Pues no va a poder ser, VNC sólo admite archivos, pero existe un truco: **comprimir**.

Hay que tener en cuenta que VNC sólo permite formato ZIP, tar.. pero no rar que no lo admitirá:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-wwqxukvy.jpeg)

Dentro de la Raspberry navegando con VNC puedes descomprimir el archivo con el botón derecho

---

O sea, nuestro consejo es elegir la opción menos complicada que veas.

#### Divagando un poco...

> Esto de que el camino sencillo es lo mejor, me recuerda a una historia en la carrera espacial: Hay un problema a la hora de usar los bolígrafos en gravedad 0 pues sólo funcionan por la caída de la tinta. La NASA gastó 4.382,50$ en desarrollar un bolígrafo capaz de escribir en el espacio pero el proyecto fue cancelado por duras críticas ¿por qué? ... porque **los rusos usaban un lápiz**. :DD
> 
> Luego [una empresa SpacePen acabó inventandolo](https://es.wikipedia.org/wiki/Space_Pen). Ahora tanto rusos como americanos usan el SpacePen a 6$ ya que es peligroso que la mina de un lápiz se rompa, es infamable, etc..
> 
> *Extraido de* [*Taringa.net*](https://www.taringa.net/posts/info/12704492/Desmintiendo-el-mito-de-la-lapicera-Yankee-y-el-lapiz-Ruso.html)

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-djn8nq39.jpeg)

# 10 Robótica con Raspberry

Con este minilibro ya hemos aprendido a: \* Instalar Raspbian \* Conectarnos con la RASPBERRY via: \* Comandos con SSH \* Gráfica con VNC

Ahora toca otra aventura, con esta base ya podemos programar la Raspberry

## ¿Qué ventaja tiene?

La principal ventaja de hacer robótica con la Raspberry es que **PROGRAMAMOS EN EL MISMO ROBOT** para que veas la diferencia:

- **Robótica con Arduino**: Realizas el programa en tu PC, lo compilas (es decir lo convierte a lenguaje binario), lo grabas en el Arduino y el Arduino lo ejecuta.
- **Robótica con Raspberry**: Realizas el programa **en la misma Raspberry** se compila también y se ejecuta **en la misma Raspberry**.

Otras ventajas es que al ser un ordenador en sí mismo, se puede realizar muchas cosas sin necesidad de añadir nuevo hardware. Por ejemplo una WebCam, Wifi con Internet, etc...

Para que lo veas más claro:

<iframe allowfullscreen="true" frameborder="0" height="569" id="bkmrk-" mozallowfullscreen="true" src="https://docs.google.com/presentation/d/e/2PACX-1vSWQY7gRe34Ji3EaKthZEvmHS6FWIjv5eN1jUr65SsBklHgC0O786dxo1fGKo4svpgZ1pz0i7k1Qiuh/embed?start=false&loop=false&delayms=3000" webkitallowfullscreen="true" width="100%"></iframe>

## Nuestra propuesta:

Hemos pensado las siguientes opciones: - Propuesta A: Pibrella. Muy básico con Scratch. - Propuesta B: Rover marciano Alphabot. Avanzado con Python.

### Propuesta A. PIBRELLA Robot muy básico CON SCRATCH

- [CURSO EN AULARAGÓN](https://catedu.github.io/pibrella/)
- Programación con **Scratch**
    - Pondremos una shield sencilla educativa [Pibrella](http://pibrella.com/)
    - Haremos pequeño coche teledirigido

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-modx7b67.gif)

### Propuesta B ROVER MARCIANO ALPHABOT Programación con Python

- [CURSO EN AULARAGON](https://catedu.github.io/rover-marciano-alphabot/)
- Programación con **Python**
    - Utilizaremos un robot [AlphaBot](https://www.waveshare.com/wiki/AlphaBot) con webcam

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-sabiz2dg.png)

## Fuera de nuestra propuesta

En [este muro](https://padlet.com/CATEDU/usosRaspberry), puedes enriquecerlo:

<div class="padlet-embed" id="bkmrk--2" style="border:1px solid rgba(0,0,0,0.1);border-radius:2px;box-sizing:border-box;overflow:hidden;position:relative;width:100%;background:#F4F4F4"><iframe allow="camera;microphone;geolocation" frameborder="0" src="https://padlet.com/embed/g3mfklbq6ngn" style="width:100%;height:608px;display:block;padding:0;margin:0"></iframe>

<div style="padding:8px;text-align:right;margin:0;">[![Hecho con Padlet](https://resources.padletcdn.com/assets/made_with_padlet.png)](https://padlet.com?ref=embed)</div></div>

# Para frikis fuera del curso

# 11 Conectando desde Internet

Hasta ahora todas las conexiones ha sido a través de red local, pero ...

**¿Podríamos comunicarnos con nuestra Raspberry ya sea de forma textual SSH como gráfica VNC desde Internet?** Imagínate las posibilidades... ¡¡a que sería fascinante !!!

Vale, vale... ya veo que no te emocionas

<iframe allowfullscreen="" class="giphy-embed" frameborder="0" height="360" id="bkmrk-" src="https://giphy.com/embed/kKefeMw8rbMVq" width="480"></iframe>

[via GIPHY](https://giphy.com/gifs/kKefeMw8rbMVq)

## 11.1 Remote.it

### 11.1.1 Servicios de dominio virutal

Primero lo que necesitamos es alguien que nos consiga un dominio virtual, hay varios, aquí te contamos dos :

> **¿Qué es eso de dominio virtual?** vamos a poner las cosas claras: \* Cuando contratas un servicio de Internet, navegas por el mundo con unas IP dinámicas, es decir, van cambiando, no navegas con una IP fija. Por lo tanto no puedes acceder a tu Raspberry como lo hacíamos a nivel local pues no sabes que IP tienes, y si la sabes, te la van cambiando, al menos que contrates una IP fija. \* Un servicio de dominio virtual permite que te den un nombre de dominio y asocian ese nombre a la IP de tu dispositivo con la ventaja de que aunque cambie tu IP, el nombre que te han asignado no cambia.

###  **OPCIÓN REMOTE.IT**  https://remot3it.zendesk.com

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-t5hqajg8.jpeg)

 **Registrarse en remote.it**No tiene dificultades, y nos registraremos con nuestro **correo electrónico** y eligiremos una **contraseña**  válida. Hay varios planes, elegiremos la personal-no comercial y gratuita.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-zhb7y8px.jpeg)

### **NO-IP** https://www.noip.com/

A pesar que *noip.com* es muy famoso y hay buenos tutoriales, en este tutorial vamos a elegir **remote.it** pues está especializado en la Raspberry.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-3gw1bzft.jpeg)

## 11.2 Instalar remote.it en la Raspberry y añadir servicios

Tienes dos opciones:

### OPCIÓN A Instalar ya una imagen RASBIAN con todos los servicios (recomendado)

Es el método más sencillo:

1. Desgarcar la imagen del Raspbian con los servicios Remote.it ya preinstalados desde [esta página](https://remote.it/downloads/#raspberrypi)
2. Instalar la imágen en la Raspberry [ver instalar Raspbian](https://catedu.github.io/raspberry-muy-basico/3-raspbian.html)
3. Arrancar la Raspberry en modo gráfico, utilizando un monitor, teclado y ratón.
4. Aparece los diálogos típicos que pongas contraseña al usuario pi y configuración de teclado, idiomas...
5. Importante, configura la Raspberry para que esté en Internet (doble click en el icono Wifi arriba a la derecha)
6. Hay un nuevo diálogo que abre remote.it y te pide loguearte, entra con tu usuario y contraseña (OJO estamos hablando del navegador de la Raspberry no de tu ordenador) y te pide un nombre para el dispositivo y ... ya está!!
7. Entra ahora desde tu ordenador a https://remote.it/ te logueas, y automáticamente aparece tu raspberry con el botón verde si está conectado a Internet y con la opción de activar VNC y SSH

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--3" src="//www.youtube.com/embed/j9EsCvBF-cA" width="560"></iframe>

### OPCIÓN B Instalar remote.it en tu raspbian

Si optas por querer instalar remote.it en tu Raspbian sin utilizar la imagen, hay que seguir las instrucciones de esta página https://support.remote.it/hc/en-us/articles/360047542051-Installing-remoteit-on-a-Raspberry-Pi-running-Raspbian-or-Raspberry-Pi-OS

Que en definitiva los pasos importantes son :

1. sudo apt update //Actualizar raspbian
2. sudo apt install remoteit //instala servicio remoteit
3. sudo remoteit add //añade el servicio que quieras tener SSH, VNC ...

## 11.3 SSH y VNC de mi Raspberry desde Internet

Nos vamos a la página de [Remote.it](https://remote.it/) y al logearnos nos aparecerá nuestro dispositivo si hemos hecho los pasos anteriores correctamente

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-ualzev2g.jpeg)

Pinchamos en el dispositivo y nos aparece los servicios que tenemos instalados:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-d3t5g3kc.jpeg)

Vemos que tenenemos SSH, VNC y HTTP que eso lo verás si haces el curso de [Alphabot](https://catedu.github.io/alphabot/)

### 11.3.1 Conexión SSH

Pinchamos en la anterior imagen en SSH y nos aparece los valores que tenemos que necesitamos para nuestra conexión SSH

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-1olguy1r.jpeg)

Entramos en nuestra aplicación SSH por ejemplo en Windows con [PUTTY](https://www.putty.org/)

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-klbxtoek.jpeg)

Y ya nos sale la terminal SSH, ponemos nuestro usuario y contraseña, [¿no la sabes?](/6-cambiar-usuario-y-contrasena.md) y ya estamos conectados:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-bhbd90yb.jpeg)

### 11.3.2 Conexión por VNC

En los servicios de nuestro dispositivo, pinchamos en VNC

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-luxrqglb.jpeg)

> Nots, puedes observar que antes remote.it ofrecía servicio HTTP que venía muy bien para manejar la [cámara de Alphabot](https://catedu.github.io/alphabot/8-camara.html), ahora no lo ofrece

Salta una nueva página web que nos da un enlace web para conectar por VNC

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-rsjfafnp.jpeg)

o nos da la configuración que tenemos que añadir a VNC Viewer en el campo VNC Server:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-eijoux8c.jpeg)

evidentemente nos preguntará por nuestro usuario y nuestra contraseña en la raspberry, [¿no la sabes?](/6-cambiar-usuario-y-contrasena.md).

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-kxkmhrh3.jpeg)

# Créditos

# Créditos

2018 por [CATEDU](https://web.catedu.es) (Javier Quintana Peiró).

{{@3195}}

Excepto para las imágenes embebidas de GIFPY que están en estos [términos](https://giphy.com/terms).

<iframe allowfullscreen="" class="giphy-embed" frameborder="0" height="270" id="bkmrk-" src="https://giphy.com/embed/kh9CRgRpKlXnG" width="480"></iframe>[via GIPHY](https://giphy.com/gifs/models-older-raspberry-kh9CRgRpKlXnG)