Tutorial Raspberry Pi

May 30, 2018 | Author: Allen Lvw | Category: Raspberry Pi, Ip Address, Apache Http Server, Hdmi, Password


Comments



Description

RECONOCIMIENTO DE VOZ.(SAUL) CONTROL DE IMÁGENES(ANIMACION) CON ACELEROMETRO/GIROSCOPIO.(GERSON) CONTROL DE IMÁGENES CON LEAP MOTION.(JESUS) VEHICULO CONTROLADO POR RASPBERRY PI. (GERMAN) CONTROL, USANDO EL KINECT.(JOSHUA) MP3. SERVIDOR.(DANIEL) NUBE.(ADRIAN) RECONOCIMIENTO DE IMÁGENES PI CAMERA(ALEJANDRO) CONTROL DE UN LED. CONTROL DE LEDS CON PYTHON. USO DE TELEGRAM DESDE LA TERMINAL USO DE TELEGRAM CON PYTHON CREAR SERVIDOR WEB INTERCAMBIO DE ARCHIVOS CON WINDOWS USO DE PICAMERA CON PYTHON EYE TOY CAMERA PS2 MOTION SYSTEM(SISTEMA DE SEGURIDAD CASERO). CREA TU PROPIA NUBE CON OWNCLOUD SEGURIDAD CON FAIL2BAN (COMO ASEGURAR TU PLACA CONTRA ATAQUES) USO DE CONVERTIDORES HDMI-VGA SERVIDOR FTP EL PRIMER ENCENDIDO (RASPBIAN) TUTORIAL RASPBERRY PI – GPIO [PARTE 1]: CONTROL DE UN LED ¡Hola! En este tutorial voy a explicar de una manera muy sencilla cómo acceder a los puertos GPIO de la Raspberry Pi con el fin de encender y apagar un LED. Voy a hacer varias partes de esto y, como podéis ver en el título, esta es la primera. Antes de nada, vamos a coger un LED y un par de cables y lo vamos a conectar al GPIO 17 y a tierra (GND) de la Raspberry Pi. ‘cat‘ o ‘echo‘.Debe quedar algo parecido a esto: La manera de la que vamos a acceder a los GPIO (en este caso al 17) es como si fuesen directorios. Podemos utilizar comandos como ‘ls‘. . entre otros. para conocer la estructura y contenidos de los directorios. Ni de entrada ni de salida. Tenemos que crearlo nosotros mismos. Existen dos posibles: ‘0’ y ‘1’. el GPIO 17 será de salida. Como lo que queremos es encender un LED. Para encender el LED: 1 echo 1 > /sys/class/gpio/gpio17/value Para apagar el LED: . el sistema ya sabe que el pin será de salida. Ahora tendremos que darle valores. así que introducimos el siguiente comando: 1 echo 17 > /sys/class/gpio/export Tras esto. tenemos que informar a la Raspberry Pi de si el pin va a ser de salida o de entrada. Queremos tener acceso al GPIO 17. el sistema ha creado un archivo con una estructura GPIO que corresponde al número 17.Ahora mismo no tenemos ningún pin accesible. Introducimos el siguiente comando: 1 echo out > /sys/class/gpio/gpio17/direction Con esto. A continuación. Todos sabemos que esto es algo incómodo. ya sabemos crear. Para ello introduciremos el siguiente comando: 1 echo 17 > /sys/class/gpio/unexport Con esto. por ejemplo en Python. eliminar y cacharrear con los pines GPIO para encender y apagar LEDs. tendremos que eliminar la entrada GPIO creada. es decir. así que lo ideal sería crear un programa.1 echo 0 > /sys/class/gpio/gpio17/value Una vez hayamos acabado de encender y apagar el LED. Esto lo dejaremos para el siguiente tutorial. que nos ayude a gestionar nuestros GPIO. el GPIO 17. . El anterior tutorial lo podéis encontrar en el siguiente enlace: . Ahora vamos a escribir un pequeño programa en Python que haga parpadear un par de LEDs que estén conectados a los GPIO de la Raspberry Pi. Lo hacíamos a través de la terminal.TUTORIAL RASPBERRY PI – GPIO [PARTE 2]: CONTROL DE LEDS CON PYTHON ¡Hola a todos y a todas! Hace unos días que publiqué un tutorial sobre cómo encender y apagar un LED con la Raspberry Pi. Necesitaremos dos LEDs y un par de resistencias. Seguro que así queda más claro. vamos a realizar el montaje. PASO 1: MONTAJE Antes de nada. por ejemplo de 1K Ohmios. TUTORIAL RASPBERRY PI – GPIO [PARTE 1]: CONTROL DE UN LED Vamos a seguir una serie de pasos para llevar a cabo esto. Utilizaremos los GPIO 17 y 27. Quedará algo así: . 5.tar.sourceforge.4.5. Está alojada enSourceForge.5. Por si no tenemos el paquete python-dev. pero podemos descargarla en la Raspberry Pi con el siguiente comando: 1 wget 'http://downloads.4/ Ahora toca instalar la librería.GPIO-0. vamos a descomprimir el tarball: 1 tar zxvf RPi. instalaremos la librería para poder controlar los GPIO con Python. introducimos el siguiente comando: .4.GPIO-0.gz Entramos en el directorio que acabamos de descomprimir: 1 cd RPi.PASO 2: INSTALACIÓN DE LA LIBRERÍA GPIO PARA PYTHON Tras realizar el montaje.net/project/raspberry-gpio-python/RPi.tar.GPIO-0.gz' Una vez descargada. pues tenemos que encender LEDs.2. utilizaremos los GPIO 17 y 27. 1 sudo nano blink. Como ya hemos hecho en el montaje. Los pines serán de salida. Importamos la librería que acabamos de instalar y declaramos los pines. 3. Creamos un nuevo archivo Python. su declaración y el encendido y apagado os recordará a Arduino.1.py 3. . procedemos a instalar la librería: 1 sudo python setup.py install PASO 3: PROGRAMA PYTHON PARA HACER UN ENCENDIDO INTERMITENTE DE LOS LEDS En este tercer paso. vamos a escribir un pequeño programa en Python que haga que se enciendan y apaguen los LEDs de forma intermitente.1 sudo apt-get install python-dev Cuando acabe la instalación del paquete anterior. La forma de tratar los pines. True) ## Enciendo el 27 10 time.setup(17. GPIO.sleep(1) ## Esperamos 1 segundo 8 GPIO. 1 def blink(): 2 print "Ejecucion iniciada.output(17.output(27.GPIO as GPIO 2 import time 3 GPIO..output(17. GPIO. False) ## Apago el 27 7 time.1 import RPi.OUT) ## GPIO 27 como salida 3.BCM) 4 GPIO.output(27. Aquí os dejo un tutorial: Funciones en Python.OUT) ## GPIO 17 como salida 5 GPIO.setup(27.3.. Es la típica con la que se empieza en Arduino. La función se llamará ‘blink‘.setmode(GPIO." 3 iteracion = 0 4 while iteracion < 30: ## Segundos que durara la funcion 5 GPIO. Creamos una función para ejecutar el bucle que enciende y apaga los LEDs.sleep(1) ## Esperamos 1 segundo 11 iteracion = iteracion + 2 ## Sumo 2 porque he hecho dos parpadeos . False) ## Apago el 17 9 GPIO. Por si no sabéis cómo definir funciones en Python. True) ## Enciendo el 17 6 GPIO. ¡Nos vemos en el próximo tutorial! . ya tendríamos todo el código hecho. 1 blink() ## Hago la llamada a la funcion blink Con esto. El código recuerda mucho a cómo se programa Arduino.py Pues fin del tutorial. 3.5. Llamamos a la función. Ejecutamos el código.12 print "Ejecucion finalizada" 13 GPIO. más fácil imposible.cleanup() ## Hago una limpieza de los GPIO 3.4. 1 sudo python blink. así que si ya habéis trabajado con él. Como podéis ver. no tendréis problema alguno en avanzar y hacer cosas más chulas. Afortunadamente la dependencia de este servicio está siendo cubierta por novedosas aplicaciones como lo es Telegram. tras la recién adquisición de Facebook.git && cd tg .TUTORIAL RASPBERRY PI – USO DE TELEGRAM DESDE LA TERMINAL Hola. Por suerte la página nos ofrece versiones no oficiales que podemos instalar en diferentes sistemas operativos.com/vysheng/tg. se ha difundido el temor del cambio en el rumbo del servicio acostumbrado de WhatsApp. Instalación Para instalar en Raspbian ejecutamos desde la terminal: 1 git clone https://github. /configure 2 make .2 liblua5.Después de haber clonado el repositorio de GitHub instalamos lo siguiente: 1 sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2-dev Ejecutamos el archivo de configuración y copilamos el programa: 1 . . pub ./telegram -k tg.¡ A ponerlo en marcha! Para ejecutar el programa simplemente debemos ejecutar en la terminal: 1 . Posteriormente enviará un código de verificación a nuestro celular. nos muestra un listado de todos los comandos que admite. COMANDOS COMPATIBLES Ejecutando el comando help. pedirá nuestro nombre y apellido. sus parámetros y para qué sirve cada uno de ellos.Nota: Como primera vez la aplicación nos pide nuestro numero telefónico incluyendo el signo + y el área del país. . Después si aún no estamos registrados nos preguntará si queremos registrarnos.  chat_with_peer <contacto> comienza una en una sesión de chat con este contacto. . / Salida o / quit para finalizar con este modo.MENSAJERÍA  msg <contacto> texto – envía un mensaje.  load_photo / load_video / load_video_thumb <msg-seqno> – cargas de foto / vídeo para descargar.  chat_add_user <chat> <usuario> – añadir un usuario para chatear. MULTIMEDIA  send_photo <contacto> <photo-file-name> – envía la foto.  mark_read <contacto> – marca como leídos todos los mensajes con el contacto.  chat_del_user <chat> <usuario> – eliminar usuario de chat. add_contact <phone-number> <first-name> <last-name> – intenta agregar el contacto a contacto-lista por teléfono.  rename_chat <chat> <new-name> .  send_video <contacto> <video-file-name> – envía vídeo.  rename_contact <usuario> <first-name> <last-name> – intenta cambiar el nombre de contacto.  send_text <contacto> <text-file-name> – envía un archivo de texto en forma de mensajes sin formato.  view_photo / view_video / view_video_thumb <msg-seqno> – carga de fotos / video para descargar y empieza visor predeterminado del sistema. OPCIONES DE CHAT DE GRUPO  chat_info <chat> – imprime información sobre el chat.  show_license – imprime el contenido de GPLv2.  help – imprime esta ayuda.  visualize_key <secret_chat> – impresiones de visualización de la clave de cifrado. Límite predeterminado = 40.  suggested_contacts – información impresa acerca de los contactos.  dialog_list – imprime información acerca de sus diálogos.  history <contacto> [límite] – historia impresiones (y la marca como leído).BÚSQUEDA  buscar <contacto> patrón – patrón de búsquedas en los mensajes con los compañeros. EJEMPLO: Para crear una conversación con algún contacto basta con ejecutar telegram y teclear el comando chat_with_peer <contacto> . ESTADÍSTICAS Y VARIOS INFO  USER_INFO <usuario> – imprime información sobre el usuario.  global_search patrón – patrón busca en todos los mensajes. Para poder salir simplemente ejecutamos /exit .  contact_list – imprime información acerca de los usuarios en su lista de contactos. CHARLA SECRET  create_secret_chat <usuario> – crea charla secreta con este usuario. se habré un chat interactivo. . Para mandar una imagen es igual de sencillo.En este ejemplo usé Telegram desde mi ordenador y desde la Raspberry Pi. Otra ventaja de esta aplicación es que te permite registrar varios dispositivos e incluso chatear entre ellos sin ningún problema con un sólo número telefónico. . Sólo ejecutamos el comando send_photo <contacto> <ruta del la foto> y enseguida se empezará a cargar la imagen o foto. .Estoy buscando la manera de poder ejecutarlo desde Python para poder hacerlo interactivo con los pines de la Raspberry Pi pero por el momento es muy agradable chatear desde nuestra terminal de la Raspbian. varios Makers como yo. reles y una infinidad de cosas que podrían usarse. sensores. Gracias a una librería no muy conocida pero muy potente llamada Pexpect. MANOS A LA OBRA: Primero que nada tenemos que instalar Telegram messenger CLI como lo expliqué en mi tutorial anterior.TUTORIAL RASPBERRY PI – USO DE TELEGRAM CON PYTHON ¡Hola! Después de la fama que ha rodeado a Telegram. . quieren hacerlo más interactivo con el mundo exterior. desde un programa en Python. arduinos. es decir. que se vuelva una herramienta de comunicación con nuestras cámaras. Después de investigar y experimentar un poco he descubierto la manera para lograr interactuar con la api de Linux que nos brinda la pagina oficial. 1 pexpect. incluso puedes ejecutarlo con parámetros. passwd. En nuestro caso tendremos que ejecutarlo de la siguiente forma para abrir Telegram. FTP. A continuación les mostraré las funciones básicas que usaremos de esta librería. principalmente usado para SSH. Ahora les enseñaré cómo utilizarlo. mencoder. así que tendremos que instalarlo ejecutando en la terminal: 1 sudo apt-get install python-pip Después descargamos Pexpect del repositorio ejecutando en la terminal: 1 pip install pexpect y listo. .Pexpect se encuentra dentro de The Python Package Index o mejor conocido como PyPi. Pexpect está diseñado para ejecutar un programa e interactuar con él por línea de comandos. que es un repositorio lleno de programas de Python.spawn('programa') Esta función ejecuta un programa que sea accesible por medio de comandos. etc. 1 pexpect.spawn('./telegram -k tg.pub') Otra de las funciones es expect (”). Gracias a esta función podemos parar la ejecución de nuestro programa principal hasta que Telegram nos arroje una cadena de texto determinada, un problema es que no lo interpreta como texto plano por lo que si ingresamos * / ] o cualquier otro signo se puede interpretar. Tras unas cuantas pruebas comprobé que para esperar la conexión de Telegram y alistarse para ingresar comandos tenemos que ejecutar la función expect de la siguiente forma: 1 telegram.expect('0m') Lo que seria igual a esperar el signo ‘>’. Nota: La espera por defecto es de 2 minutos. Si pasan estos 2 minutos y aún no aparece la cadena de caracteres que está esperando la función expect el programa se cierra y arroja el valor de su buffer almacenado hasta el momento. Esto se puede regular agregándole un valor al parámetro timeout. 1 expect('0m',timeout = 1200) La función sendline(), nos sirve para poder ejecutar una línea de comando como si nosotros mismos estuviéramos ejecutando directamente a la aplicación de Telegram como en el siguiente ejemplo. 1 sendline('msg Luis_Villa Probando desde Python') Revisen la documentación de la librería para mas información pero, por el momento son las funciones necesarias para enviar mensajes, imágenes y agregar contactos. Por desgracia aún no he podido hacer un programa fiable sin tanto margen de error para la interacción con la recepción de mensajes, debido a que la aplicación de Telegram que usamos en Linux no marca como leídos los mensajes, y las alertas de que un contacto esta escribiendo son muy continuas por lo que es un poco difícil delimitar pero en cuanto tenga más refinado mi código con gusto lo comparto. ENVIO DE UN MENSAJE Cabe destacar que con Telegram sólo podemos enviar mensajes a contactos ya agregados anteriormente. Para el envio del mensaje guardamos el siguiente código en la misma carpeta que esta telegrama en mi caso “/home/pi/tg”. 1 #!usr/bin/env 2 import pexpect 3 4 contacto = "Luis_Villa" #Contacto a quien va el mensaje 5 mensaje = "Probando desde Python!!" #Mensaje a enviar 6 telegram = pexpect.spawn('./telegram -k tg.pub') #Inicia Telegram 7 telegram.expect('0m') 8 telegram.sendline('msg '+contacto+' '+mensaje) #Ejecuta el comando msg 9 print ('Mensaje enviado a '+ contacto) 10 telegram.sendline('quit') #Espera a que termine de iniciar #Notifica que ya se ha mandado el mensaje #cierra Telegram Lo guardamos con el nombre que sea con extension .py y lo ejecutamos en la terminal. ENVIO DE IMÁGENES Básicamente es lo mismo que anteriormente vimos, solo que ahora usaremos la función send_photo <contacto> <ruta del la foto> expect('0m') 14 telegram.sendline('quit') #Contacto a quien va el mensaje #Imagen a enviar #Espera a que termine de iniciar #Notifica que ya se ha mandado el mensaje #Cierra el programa .expect('0m') 9 telegram.jpg" 7 telegram = pexpect.expect('photo') 12 print ('Imagen enviado a '+ contacto) 13 telegram.sendline('send_photo '+contacto+' '+img)#Ejecuta el comando send_photo 10 telegram./telegram -k tg.1 #!usr/bin/env 2 import pexpect 3 import time 4 5 contacto = "Luis_Villa" 6 img = "/home/pi/prueba.pub') #Inicia Telegram 8 telegram.expect('100'.spawn('.timeout = 1200) 11 telegram. .sendline('add_contact '+telefono+' '+nombre+' '+apellido) 11 print ('El contacto '+nombre+' '+apellido+' con el teléfono '+telefono) 12 self.child..spawn('...expect('0m') 10 self.child...pub') 9 self. Telegram sólo nos deja enviar mensaje a números agregados a la lista de contactos.child./telegram -k tg.sendline('quit') ..expect('0m') 13 self.child.' 6 nombre = 'Luis' 7 apellido = 'Villa' 8 telegram = pexpect. Lograr eso es muy sencillo con el siguiente programa a través de Python: 1 #!usr/bin/env 2 import pexpect 3 import time 4 5 telefono = '+521..AGREGAR CONTACTOS Como ya he mencionado antes.. TUTORIAL RASPBERRY PI – CREAR SERVIDOR WEB ¡Hola a todos! Hoy os explicaré paso a paso cómo crear un servidor Web casero con Raspberry Pi. 1 sudo nano /etc/network/interfaces . Lo primero que debemos hacer es asignarle una IP estática. PREPARANDO LA RASPBERRY PI. En mi caso.2 4 netmask 255. ya empezaremos a instalar el servidor Web.0.Me imagino que todos sabrán asignarle unaIP estática a la raspberry pero si alguien no lo sabe yo pondré un ejemplo.0. puesto que tengo la Raspberry Pi conectada por Ethernet. editaré el eth0.168.168.255.1 Donde “address” es la dirección IP de la Raspberry Pi.0 5 gateway 192. 1 auto eth0 2 iface eth0 inet static 3 address 192. Lo siguiente que haremos será crear el grupo “www-data”. Para ello ejecutaremos los siguientes comandos: 1 sudo groupadd www-data 2 sudo usermod -a -G www-data www-data Actualizaremos los repositorios y los programas de nuestra raspberry. “netmask” la máscara de nuestra red y “gateway” la IP de la puerta de enlace de nuestro router.255. . INSTALACIÓN DEL SERVIDOR WEB Una vez tengamos una IP estática en nuestra Raspberry Pi. Debería salirnos un mensaje como este: .1 sudo apt-get update 2 sudo apt-get upgrade A partir de aquí empieza la instalación de Apache: 1 sudo apt-get install apache2 Ahora comprobaremos que todo ha funcionado correctamente abriendo el navegador y. en la barra de direcciones introduciremos la IP de nuestra Raspberry Pi. Para ello ejecutaremos el siguiente comando: 1 sudo apt-get install php5 A continuación instalaremos unos paquetes que nos podrían hacer falta en un futuro.Ahora instalaremos PHP para poder crear contenido dinámico en nuestra web. . 1 sudo apt-get install libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5 Tras esto reiniciamos nuestra Raspberry Pi: 1 sudo reboot Una vez que reiniciemos haremos una prueba con PHP. Deberá salir algo como la siguiente imagen: Si sale esta imagen vamos por buen camino.php Escribiremos el siguiente código dentro del documento 1 <?php 2 3 phpinfo().php) o localhost si estamos en la Raspberry Pi. ?> Abriremos el navegador e introduciremos IPRASPBERRY/info.168. .9/info.php (por ejemplo: 192.1 sudo nano /var/www/info.1. Si todo ha ido bien debería salir algo parecido a esto: .Ahora nos pondremos a instalar MySQL. Para instalar MySQL ejecutaremos el siguiente comando: 1 sudo apt-get install mysql-server mysql-client php5-mysql Reiniciamos de nuevo la Raspberry Pi y. 1 sudo service mysql start Ahora comprobaremos que funciona MySQL mediante el siguiente comando: 1 mysql -u root -p Podemos dejar el parámetro -p vacio y luego nos preguntará la contraseña o poner la contraseña junto a este parámetro para que no la pida. tras reiniciarse abriremos un terminal e iniciamos MySQL. Durante la instalación nos pedirá datos como la contraseña de MySQL. Coged nota porque luego usaremos estos parámetros para comprobar que funciona MySQL. marcaremos Apache y continuaremos. le diremos que sí y nos pedira que introduzcamos la contraseña de MySQL y nos pedirá de nuevo que introduzcamos una contraseña para phpMyAdmin.Pulsamos CTRL+C para que nos deje seguir trabajando con el terminal. Para ello ejecutaremos el siguiente comando: 1 sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin Durante la instalación nos preguntará qué tipo de servidor tenemos.ini Añadiremos lo siguiente. Yo en mi caso lo dejé en la primera línea. Después nos preguntará si queremos configurar una base de datos. . Ahora instalaremos phpMyAdmin para manejar fácilmente las bases de datos de MySQL. Al finalizar editaremos el siguiente fichero: 1 sudo nano /etc/php5/apache2/php. 1 extension=mysql. Le daremos al botón de añadir y volvemos a nuestra Raspberry Pi.d/apache2 reload Si siguiese sin funcionar toca reiniciar la Raspberry Pi. El usuario sera root y la contraseña sera la que hayamos elegido anteriormente.conf 2 sudo /etc/init. En caso de que funcione continuamos. Instalaremos el siguiente programa para que nuestro sitio esté siempre visible. Yo en mi caso me registré en DnsDynamic para crear un dominio gratuito.so Guardaremos el fichero y a través del navegador introduciremos http://IPRASPBERRY/phpmyadmin/ . Al crearlo nos dirá que está disponible y nos asignará una IP al dominio.conf /etc/apache2/conf. Deberia salir phpmyadmin. Para ello ejecutaremos el siguiente comando: 1 sudo apt-get install ddclient . Si no llegara a funcionar ejecutaremos estos 2 comandos: 1 sudo ln -s /etc/phpmyadmin/apache. Ahora queremos que nuestro sitio web tenga siempre la misma IP.d/phpmyadmin. www. En la siguiente pantalla pondremos el sitio de donde hemos conseguido el dominio gratuito. .dnsdynamic. A continuación nos preguntará qué protocolo utiliza. Lo siguiente que nos pedirá es el usuario y contraseña con el que nos registramos en www.org.Durante la instalación nos preguntará si queremos ejecutar el cliente cuando establezca una conexión PPP diremos que “NO” porque a continuación nos preguntará si lo queremos ejecutar como demonio.org. Después nos preguntará qué interfaz de red usará este servicio. En esta seleccionaremos “Otro” y pulsaremos “Aceptar”. entonces le diremos que “SI” y saldrá una ventana para configurar este servicio. Aquí pondremos el eth0 si nuestra Raspberry Pi está conectada al router directamente por cable. nosotros pondremos el protocolo dyndns2.dnsdynamic. Reiniciaremos nuestra Raspberry Pi de nuevo y cuando reinicie iniciaremos Apache. Abriremos nuestro navegador e introduciremos nuestro dominio para comprobar que efectivamente nos muestra nuestro sitio web. En mi caso sigue saliendo la página que tiene por defecto Si tuviéramos problemas con este servicio y quisiéramos reconfigurarlo. yo lo dejé en 300 minutos.Después nos pedirá el dominio que creamos: Por último nos preguntará cada cuanto tiempo realizará las comprobaciones de IP.conf o ejecutar el siguiente comando: . podremos editar el fichero de configuracion en /etc/ddclient. MySQL y comprobaremos queddclient este ejecutandose. 1 sudo dpkg-reconfigure ddclient A partir de aquí sólo queda implementar medidas de seguridad para que nadie pueda tirar nuestro sitio web y hacer copias de seguridad del sistema operativo y nuestro sitio web por si algun día ocurre algo no perder el tiempo con errores inesperados. . abrimos la terminal en Windows (cmd) y miramos nuestra IP que se ha asignado: . ¿Qué necesitamos? – Cable Ethernet RJ45 – WinSCP (podéis descargarlo aquí) ¡Comencemos! Lo primero es descargarse e instalar WinSCP. y conectar a través del cable Ethernet nuestro PC a nuestra Raspberry Pi.TUTORIAL SSH EN WINDOWS CON RASPBERRY PI – INTERCAMBIO DE ARCHIVOS ¡Hola! En este tutorial veremos cómo intercambiar archivos entre nuestra Raspberry Pi y Windows. Una vez lo tengamos instalado. por lo que la IP que asignaremos estéticamente a nuestra Raspberry Pi la pondré entre 169.254. He decidido poner 169.En mi caso.166. la IP de mi ordenador es 169.254.216 y 169.255.254.166.220 Activar y configurar la Raspberry Pi Vamos a nuestra Raspberry Pi y abrimos un terminal.166.254.216.166. para ello usamos la siguiente linea de comando: 1 sudo raspi-config Se nos abrirá un menú tal que así: . Abrimos el menú de configuración de la rasp. Ahora vamos a configurar la IP de nuestra Raspberry Pi.Vamos a “Advanced options” y activamos el SSH: Damos a finalizar. pero primero haremos una copia de seguridad de la carpeta por si acaso: . 1 cd /etc/network/ 2 sudo cp interfaces interbk Y abrimos el editor para editar la IP: 1 sudo nano /etc/network/interfaces Buscamos donde pone “iface eth0 inet dhcp” y lo que hacemos es cambiarlo por esto: 1 iface eth0 inet static 2 address 169.254.166.220 3 netmask 255.255.255.0 4 gateway 169.254.166.1 De donde pongo 169.254.166.220 es la IP que vais a asignar a la rasp. En Gateway copiais la misma IP acabada en 1. En mi caso 169.254.166.1 Guardamos el archivo y lo sobrescribimos. Bien, ya sólo queda abrir el winSCP e introducir nuestros datos: Introducimos la IP de la rasp, “pi” en usuario y “raspberry” en la contraseña, y le damos a conectar. Por último se nos abre el navegador de carpetas y… ¡Ya estamos listos para trabajar! Saludos!!! . org de una librería para controlar nuestra Pi Camera. ejecutando un programa distinto a Python dentro de este. usamos los típicos comandos para la terminal. siempre era con subprocesos. nativa de Python. Todo esto gracias a Dave Hughes. para que pueda encontrar la librería en los repositorios. Instalemos Para instalar como todo programa es recomendable casi necesario actualizar nuestra Raspberry Pi.TUTORIAL RASPBERRY PI – USO DE PICAMERA CON PYTHON ¡Hola! Bueno como habrán leído hay muchas formas de usar nuestra Pi Camera con Python. Hasta que hace pocos días salio la noticia en Raspberrypi. . sin embargo. Con esta librería podemos controlar desde un preview hasta el control del led que incluye la Pi Camera. 1 #!/usr/bin/python 2 import time 3 import picamera 4 5 with picamera.sleep(10) 8 picam.start_preview() 7 time. 1 sudo apt-get install python-picamera Vista previa Esta opción nos permite visualizar en tiempo real la imagen dela cámara. ademas de poder ajustar los parámetros como brillo y ver los resultados inmediatamente en la vista previa.PiCamera() as picam: 6 picam. Crearemos un ejemplo que nos permita ver la vista previa.stop_preview() .1 sudo apt-get update 2 sudo apt-get upgrade y para descargar e instalar la librería basta con ejecutar esto en el Terminal. en el siguiente ejemplo mostraremos con preview y gravaremos un vídeo al mismo tiempo de 20 segundos.PiCamera() as picam: 6 picam. ‘bmp’. ‘gif’. Lo que es bastante cómodo para poder guardar directamente al formato que ocupemos.stop_preview() 10 picam.start_preview() 7 time.close() En el ejemplo fue guardada una captura con el formato ‘jpg’ pero de la misma forma podemos guardar la captura en ‘png’. como lo muestra el siguiente ejemplo: 1 #!/usr/bin/python 2 import time 3 import picamera 4 5 with picamera. Tomar una Foto Tomar una foto con esta librería basta con una función.close() Lo guardamos y lo ejecutamos como cualquier otro programa de python mediante consola. ‘rgb’ y ‘raw’. Filmar un Vídeo Al igual que el anterior ejemplo basta con una función.9 picam.sleep(5) 8 picam.jpg') 9 picam.capture('nombre. ‘yuv’. . hace un reconocimiento al mismo tiempo que va gravando y si por ejemplo ya no hay espacio en disco para la grabación.start_recording('video.stop_recording() 11 picam. “En concreto.sleep().PiCamera() as picam: 7 picam. Resolución Como notaron al tomar la foto es de mayor resolución que el vídeo incluso que la vista previa.stop_preview() 12 picam. el sensor de la cámara tiene una resolución de 2592×1944 píxeles (aproximadamente 5 mega píxeles en el área).h264') 9 picam.1 #!/usr/bin/python 2 3 import time 4 import picamera 5 6 with picamera.start_preview() 8 picam. es importante agregar el wait_recording() ya que aparte de servir como el time.wait_recording(20) 10 picam. . pero sólo los 1920×1080 píxeles en el centro del sensor se utilizan para las previsualizaciones o video” Dave Hughes.close() Por el momento solo he podido grabar en formato H264. 1 #!/usr/bin/python 2 3 import time 4 import picamera 5 .Por esta razón y muchas mas. la librería cuanta con una opción para seleccionar la resolución que queramos como en el siguiente ejemplo. 6 with picamera. 1944) 8 picam.start_preview() 9 time.resolution = (2592.stop_preview() 12 picam.close() Led .PiCamera() as picam: 7 picam.sleep(3) 10 picam.jpg') 11 picam.capture('foto. 1944) 8 picam. así que también nos brindan un modo de reescalar la imagen.jpg'.768)) 11 picam.stop_preview() 12 picam.sleep(3) 10 picam. es decir que abarque todo lo que la cámara ve pero que se guarde en una resolución menor .resolution = (2592.close() También debido a que entre mas resolución la imagen es mas pesada.resize=(1024.PiCamera() as picam: 7 picam.capture('foto. 1 #!/usr/bin/python 2 3 import time 4 import picamera 5 6 with picamera.start_preview() 9 time. ahora gracias a esta librería podemos desactivar este molesto led.sleep(3) 10 picam.start_preview() 9 time. 100. . 320. 400.PiCamera() as picam: 7 picam. 800. 500. para poder sacar mejores fotografías y es muy sencillo. o bien con sudo python programa. tendremos que ejecutar como root.led= False 8 picam.stop_preview() 11 picam.py ISO Para aquellos que sepan un poco mas de fotografía les agradara saber que se puede ajustar el ISO. 640. 200. que pueden ser alguno de estos.close() Nota: Para poder ejecutar en caso de ajustar el led. solo tenemos que llamar a la función ISO e igualarla a un valor.Aveces queremos tomar fotos y que nadie se de cuenta por desgracia la cámara tiene un led que se enciende al usarla. 1 #!/usr/bin/python 2 3 import time 4 import picamera 5 6 with picamera. start_preview() 8 picam.1 #!/usr/bin/python 2 3 import time 4 import picamera 5 6 with picamera.capture('foto.jpg'.768)) 11 picam. lo que te permite sacar fotografías a un mas profesionales.close() Velocidad de Obturación Otra característica que me gusto mucho es que puedes controlar la velocidad de obturación.sleep(3) 10 picam.ISO =500 9 time.PiCamera() as picam: 7 picam. Los valores de dan en micro segundos.resize=(1024.PiCamera() as picam: .stop_preview() 12 picam. 1 #!/usr/bin/python 2 3 import time 4 import picamera 5 6 with picamera. 768)) 13 picam.shutter_speed= 300000 11 picam.resize=(1024.768)) 12 picam.jpg'.sleep(3) 10 picam.brightness= 60 9 picam.close() .stop_preview() 13 picam.close() Brillo Ademas de todas las anteriores igual se puede ajustar el brillo basta con asignar un valor del 0 al 100 .capture('foto.ISO =100 9 time.capture('foto.start_preview() 8 picam.jpg'.shutter_speed= 300000 12 picam.PiCamera() as picam: 7 picam.sleep(3) 11 picam.7 picam. 1 #!/usr/bin/python 2 3 import time 4 import picamera 5 6 with picamera.start_preview() 8 picam.ISO =100 10 time.stop_preview() 14 picam.resize=(1024. close() Nota: Los parámetros como brillo. como saturacion. efectos de imagen . Este es un TimeLapse que hice cuando estaba probando la librería. hacer streaming. encontraran toda la documentación en PICAMERA .image_effect = 'negative' 10 time. espero y les guste.stop_preview() 12 picam. Se pueden ajustar infinidad de cosas mas. rotar imagen. Los invito a que ustedes mismos experimenten con toda esta librería.sleep(20) 11 picam.start_preview() 9 picam. contraste. ISO.PiCamera() as picam: 7 picam. saturación y nitidez se pueden ajustar cuando la vista previa esta activada. Gracias por su tiempo.Efectos de imagen Como toda buena cámara. nitidez. les mando un saludo y suerte en sus proyectos… . ahora mismos solo he probado'negative' . la Picam cuenta con efectos de cámara. ráfagas de fotos muy rápidas. time lapse. 'solarize' y 'gpen' 1 #!/usr/bin/python 2 3 import time 4 import picamera 5 6 with picamera.led = False 8 picam. . Como ya digo en el vídeo. podéis utilizar la cámara que queráis.TUTORIAL RASPBERRY PI – 3. Vamos a crear un sistema de seguridad totalmente casero con nuestra Raspberry Pi y una cámara Eye Toy de la Play Station 2. pero tiene más gracia si usamos la de la PS2. ¿no? . Yo he utilizado esta cámara porque hace ya muchos años que no la utilizo y he considerado que esta era una buena oportunidad para sacarla del baúl y darle algún uso. EYE TOY CAMERA PS2 MOTION SYSTEM ¡Hola a todos! Hoy os traemos un tutorial de lo más interesante. aprenderemos a realizar una configuración básica y a librarnos de algunos Warnings que nos puedan salir durante la instalación y/o ejecución. se dibujará un recuadro localizando el área en el que se ha producido este movimiento. os dejo las sentencias a escribir en la terminal.Básicamente. Al final del vídeo también explicaré cómo acceder desde Internet al streaming de la webcam (noip. lo que vamos a aprender en este tutorial es a controlar una cámara que esté conectada a nuestra Raspberry Pi y a comenzar a emitir vídeo en una Red de Área Local. capturar las imágenes de la cámara cuando detecte movimiento y almacenarlas en formato . En el momento en el que se detecte un movimiento. algo también importante en caso de querer usar este sistema de seguridad. 1. Es una de las virtudes.JPG. Sin más. Podemos.com). a mi parecer. Actualizar nuestra Raspberry Pi: sudo sudo apt-get upgrade apt-get update . además. En el vídeo. de este software llamado “motion”. Comprobar si nuestra cámara está conectada: 2.2.1 Cambiamos los siguientes parámetros:  daemon OFF a ON . Configurar motion: 7. Listamos los dispositivos de USB: lsusb 2. Instalar motion: sudo apt-get install motion 7. Vemos el ID y lo sustituimos en la X: lsusb -s1:X -v 3.1.1.2. Abrimos el primer fichero de configuración: sudo nano /etc/motion/motion. Mostrar información de la cámara: sudo v4l2-compliance -d /dev/video0 6. Confirmar que tenemos un dispositivo de vídeo conectado: ls -al /dev/video* 5. Instalar V4L si no lo tenemos: sudo apt-get install v4l-utils 4.conf 7.1. VÍDEO: . ya podremos acceder a nuestro vídeo.com.168.0. En mi caso.2 Abrimos el segundo fichero de configuración: sudo nano /etc/default/motion 7.1 Cambiamos el parámetro siguiente:  start_motion_daemon NO a YES 7. esribiendo en nuestro navegador la dirección IP de la Raspberry Pi y el puerto. será: 192. webcam_localhost ON a OFF  locate OFF a ON  width 320 a 640  height 240 a 480 7. también podemos acceder desde Internet. Todo esto está explicado por completo en el vídeo.3 Iniciamos la emisión de vídeo:  Cuando no hayamos cambiado la configuración: sudo service motion start  Cuando sí hayamos cambiado la configuración: sudo service motion restart En este momento.18:8081 Además. registrándonos en noip. el cual podéis ver a continuación.2. ¡Nos vemos en los siguientes tutoriales! .Con toda esta información finalizo el tutorial. estáis leyendo bien.nuestra nube personal. no estamos diciendo ninguna tontería. os dejo un link al tutorial anterior: Hola Mundo con Raspberry Pi. CREA TU PROPIA NUBE CON OWNCLOUD ¡Hola a todos y bienvenidos a un nuevo tutorial de Raspberry Pi! Hoy vamos a aprender a crear nuestra propia nube. . porque con OwnCloud podemos hacerlo.TUTORIAL RASPBERRY PI – 2. Antes de nada. Sí. y guardando nuestros archivos en la tarjeta SD de nuestra Raspberry Pi. Poner al día nuestra Raspberry Pi: 1 sudo apt-get upgrade && sudo apt-get update 2. pues no tenéis que estar copiando largas sentencias. como menciono en el vídeo. En los próximos tutoriales. Instalar el servidor Web Apache y PHP para poder hacer funcionar OwnCloud: . ya que así es más cómodo para vosotros. En este tutorial. nos centraremos en acceder desde nuestra LAN (Local Area Network). Sin más. os dejo estos rápidos y sencillos 9 pasos para que os fabriquéis vuestro “Dropberry”.Voy a explicar paso a paso cómo hacer esto. 1. también la configuraremos para poder acceder desde Internet. os he dejado todo lo que hay que escribir por consola. y no únicamente desde nuestra Red de Área Local. aprenderemos a utilizar almacenamiento externo a la Raspberry Pi y. Para realizar este tutorial. 0.0. Copiarlo al directorio de Apache: 1 sudo cp -r owncloud /var/www 6.owncloud.tar. Descargar OwnCloud: 1 wget download. Dar permisos a OwnCloud para acceder a la carpeta del server: .bz2 4.0.1 sudo apt-get install apache2 php5 php5-json php-xml-parser php5-gd php5-sqlite curl libcurl3 libcurl3-dev php 3.org/community/owncloud-5.tar.bz2 5.0. Descomprimir el archivo: 1 tar -xjf owncloud-5. 1 sudo chown -R www-data:www-data /var/www 7.ini 9. Reiniciar Apache: 1 sudo service apache2 restart VÍDEO: ACTUALIZACIÓN . Reiniciar Apache: 1 sudo service apache2 restart 8. Editar el tamaño máximo de subida de archivos: 1 sudo nano /etc/php5/apache2/php. No sé si a alguien más le habrá pasado esto. Owncloud sólo me permitía subir archivos de un máximo de 8M. actualizo el tutorial. parece que también hay que cambiar el valor de “post_max_size” en el mismo archivo que está por defecto a 8M. pero yo lo he solucionado así y ya tira de lujo. Investigando un poco. que me lo ha recordado. Este es su comentario: En este tutorial he tenido un problema y es que al cambiar el valor de “upload_max_filesize” a 500M y tras resetear el servidor apache.Me dí cuenta de que no expliqué una cosa sobre los tamaños máximos de archivos al acabar de grabar el vídeo. Gracias a Dani. . Para evitar que cualquiera pueda atacarnos de esta manera. la que permite el acceso al equipo en cuestión. puesto que en Windows no funciona) ybanea las IPs que .TUTORIAL RASPBERRY PI .16 – SEGURIDAD CON FAIL2BAN ¡Hola! En este tutorial de Raspberry Pi implementaremos un método de seguridad para evitar el éxito de ataques de fuerza bruta que cualquiera pueda realizar sobre nuestra Raspberry Pi. Un ataque de fuerza bruta consiste básicamente en tratar de conseguir una clave probando todas las combinaciones posibles hasta encontrar la correcta. No son muy eficientes. un programa que escanea automáticamente los logs de la Raspberry Pi (o equipo con Linux o Mac OS X. suelen combinarse con un ataque de diccionario. puesto que hay que probar muchas combinaciones y además. utilizaremos Fail2Ban. considera maliciosas. introduciremos lo siguiente en la terminal: 1 sudo apt-get install fail2ban .4 mínimo. Requisitos para instalar Fail2Ban: Python 2. ¿Qué IPs puede considerar maliciosas? Por ejemplo las que hayan fallado la contraseña un cierto número de veces al intentar loguearse. Para instalar Fail2Ban. log Modificaremos la aplicando configuración desde el el archivo /etc/fail2ban/jail. Cada uno que elija el tiempo que quiera.Una vez instalado. Puede que tengamos abiertos varios puertos en nuestro router para acceder desde fuera de nuestra LAN. No penséis que todo el archivo debe contener únicamente las líneas siguientes: . le banearemos durante 30 minutos. Si alguien intenta entrar con una contraseña incorrecta.d/ssh. Únicamente estoy modificando los parámetros que he creído conveniente. así que es importante asegurarlo.conf. Fail2Ban escanea el fichero filtro /etc/fail2ban/filter. /var/log/auth.conf. vamos a configurarlo para que no nos puedan atacar. log .1/8 4 bantime = 1800 5 maxretry = 3 1 [apache] 2 enabled = true 1 [ssh-ddos] 2 enabled = true 1 [pure-ftpd] 2 enabled = true Para comprobar si Fail2Ban está funcionando correctamente. a CIDR mask or a DNS host 3 ignoreip = 127.0.1 [DEFAULT] 2 # "ignoreip" can be an IP address.0. podemos introducir el siguiente comando: 1 cat /var/log/fail2ban. Espero que lo hagáis. ¡Un saludo! . esto es todo por este tutorial. por vuestra propia seguridad.Bien. Por tanto toda la seguridad dependerá de las buenas prácticas en la instalación. lo único que nos separa de esos “objetivos” es una Raspberry Pi y una conexión a Internet. y que por tanto no suelen tener ninguna medida extra de seguridad. televisiones. Como ya hemos explicado. Hoy nos centraremos en conexiones mediante SSH y tenemos dos formas de proceder: . sistemas de vigilancia y una larga lista de cosas que no fueron creadas para estar 24/7 (24h los 7 días de la semana) con acceso a la red.Castro y en este tutorial vamos a ver un poco de Hacking. ¡Hola a todos! Soy Jorge R. Nuestro objetivo será una Raspberry Pi.HACKING RASPBERRY PI ¡Atención! Este artículo se ha publicado con fines educativos e informativos. Geeky Theory no se hace responsable del uso que se le de. muy extendida en nuestro mundo geek y que muchos tienen conectada a jugosos discos duros. impresoras…. . ya sean routers. Todo aquel que no sepa qué es Shodan. Si se conoce la IP de la Raspberry Pi (suelen tener IP´s fijas asignadas para facilitar su conexión). entre otros. Si se desconoce la IP (para descubrirla usaremos Shodan). cámaras. además en opciones avanzadas podremos elegir entre país o puerto. 2. en pocas palabras.1. . es un buscador gratuito que nos permite encontrar todo aquello que esta conectado a Internet. pero es fácil conocerlo googleando un poco). Podemos ver que tiene un disco duro de 1Tb conectado y una impresora. intentaremos conseguir una shell remota. una intruso sabría dónde buscar antes de entrar. y si usamos el comando ping desde el Terminal/Shell sabremos si se encuentra “despierta”. ¡e incluso se han indexado sus directorios y subcarpetas! Una vez hemos elegido la Raspberry Pi. podemos ver información más detallada.Se han indexado hasta las carpetas personales. usando como usuario el que viene por defecto (depende de la distribución instalada. Como podéis ver en la imagen solo con poner “raspberry” encontramos muchísimas máquinas conectadas. . 1 $ ping "ip_elegida" Ahora que tenemos certeza de que esa IP está conectada. o randomizar la IP desde la que “llamamos”. Además. que es vulnerable con ataques de fuerza bruta o diccionario si su longitud no es excesivamente grande. Una vez obtenida la contraseña sólo queda conectarnos. esta aclaración es para ti. por lo que pasaríamos más desapercibidos . para conectarnos mediante SSH necesitamos una IP (dirección a la que intentamos acceder). Aquí es donde usaremos el programa de BruteForce y un diccionario (este será el encargado de intentar acceder usando todas las combinaciones posibles existentes). y un diccionario (“personalizado” o con todas las combinaciones ). pero que puede ser sustituida por vuestro programa de fuerza bruta preferido. 1 $ ssh -l pi "ip_seleccionada" Y voilà!!! ANOTACIÓN Con todo esto debemos empezar a pensar mejor cómo conectamos los equipos y las medidas de seguridad que necesitarán. Además podemos utilizar una configuración avanzada que nos permita separar las peticiones. En este punto usaremos Hydra (herramienta de Linux) .En este caso se trata de “pi”. Como ya sabes. usar proxys. si te has perdido. un usuario valido (por defecto es “pi”) y además la contraseña asociada a ese usuario ( la desconocemos). Tranquilo. así que nos queda sólo la mitad de trabajo: la password. gracias a este pequeño artículo y a . Finalmente es sólo cuestión de tiempo y continuidad de la conexión. otros futuros. Algunas de estas medidas podrían ser (citar todas sería imposible):  No permitir conexiones que origen distinto al de nuestra vivienda.  Deshabilitar el usuario por defecto. que el encargado del backup o donde tenemos nuestras nóminas.  No usar el mismo disco duro que utilizamos para ver películas en nuestra tele. . cambiar la contraseña a una de extensión superior a 8 caracteres y usar caracteres alfanuméricos.  … Espero que os haya sido de utilidad y que hayáis podido mejorar la seguridad de vuestras Raspberry Pi. podremos auditar nuestras instalaciones y así implementar medidas y prácticas más eficaces. además de filtrar por tarjeta MAC si queremos acceder desde fuera o incluso crear un túnel VPN. no contamos con un monitor con entrada HDMI y recurrimos a comprar un adaptador. la señal este con mucho ruido. Bueno estos problemas se deben a que el HDMI maneja señal digital mientras que el VGA es analógica. al convertir la señal los auto detectores . entre otros.TUTORIAL RASPBERRY PI – USO DE CONVERTIDORES HDMI-VGA ¡Hola! Bueno sin duda algo muy usado por cuestión de economía o por reciclar muchos de los que usamos una Raspberry Pi. puede que no mande señal de vídeo. es decir. con interferencia o que la resolución no esté acorde a nuestro monitor. y para esto consume mas energía que un HDMI. entonces nuestro adaptador tiene que convertir esta señal. Además. Esto es lo que causa calentamiento y un mal funcionamiento de la Raspberry Pi. Sin embargo esto nos podría traer algunos problemas. que es mucho mas económico a comprar un monitor. Pero tranquilos. Recomiendo abrir con un editor de código Notepad++. Como vemos en la imagen. CODE WRITER o alguno por el estilo. podemos acceder a este archivo al leer nuestra tarjeta SD en cualquier computadora. eliminar la auto detección de resolución y que la Raspi reconozca que la salida la usaremos para un adaptador y no para un HDMI convencional. Para esto basta con modificar un pequeño archivo llamado config. porque en este archivo se guarda la configuración con la que iniciará nuestro sistema operativo.txt con cuidado.de resolución del HDMI convencional no funcionan o funcionan mal. que esto es muy fácil de corregir y es lo que les enseñaré enseguida. ¡Empecemos! Lo que necesitamos hacer es configurar la salida de vídeo para manejar la resolución de nuestro monitor. porque Linux y Windows tienen una forma . diferente de tratar el salto de línea. mientras que con un editor de código se verá así: Bueno ahora les hablaré de los parámetros que tenemos que agregar a este archivo y qué hace cada uno:  hdmi_force_hotplug . así que no podremos visualizar bien dónde empieza una instrucción. Si lo abrimos con el bloc de notas lo veremos así: No respeta los saltos de línea. Con este comando obligamos a la Raspberry Pi a utilizar la salida HDMI. Esto es porque muchas veces el convertidor VGA no lo identifica la Raspberry Pi y piensa que no hay monitor conectado y cancela la salida de vídeo por ese puerto. incluso si no se detecta alguna pantalla. El grupo 2 que se refiere a VESA (Video Electronics Standards Association) y DTM ( Display Monitor Timing).  hdmi_group Controla la resolución y frecuencia de salida mediante dos grupos: el 1º. A continuación listaré los parámetros posibles: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 These values are valid if hdmi_group=1 (CEA) hdmi_mode=1 VGA hdmi_mode=2 480p 60Hz hdmi_mode=3 480p 60Hz H hdmi_mode=4 720p 60Hz hdmi_mode=5 1080i 60Hz hdmi_mode=6 480i 60Hz hdmi_mode=7 480i 60Hz H hdmi_mode=8 240p 60Hz hdmi_mode=9 240p 60Hz H hdmi_mode=10 480i 60Hz 4x hdmi_mode=11 480i 60Hz 4x H hdmi_mode=12 240p 60Hz 4x hdmi_mode=13 240p 60Hz 4x H hdmi_mode=14 480p 60Hz 2x hdmi_mode=15 480p 60Hz 2x H hdmi_mode=16 1080p 60Hz hdmi_mode=17 576p 50Hz hdmi_mode=18 576p 50Hz H hdmi_mode=19 720p 50Hz hdmi_mode=20 1080i 50Hz . Dándole el valor de ‘1’ es cuando se obliga. recomendado para conectar a monitores de computadoras convencionales. que se refiere al CEA (Consumer Electronics Association) hace referencias a pantallas de alta definición.  hdmi_mode Este parámetro depende del grupo que anteriormente se haya elegido. 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 hdmi_mode=21 hdmi_mode=22 hdmi_mode=23 hdmi_mode=24 hdmi_mode=25 hdmi_mode=26 hdmi_mode=27 hdmi_mode=28 hdmi_mode=29 hdmi_mode=30 hdmi_mode=31 hdmi_mode=32 hdmi_mode=33 hdmi_mode=34 hdmi_mode=35 hdmi_mode=36 hdmi_mode=37 hdmi_mode=38 hdmi_mode=39 hdmi_mode=40 hdmi_mode=41 hdmi_mode=42 hdmi_mode=43 hdmi_mode=44 hdmi_mode=45 hdmi_mode=46 hdmi_mode=47 hdmi_mode=48 hdmi_mode=49 hdmi_mode=50 hdmi_mode=51 hdmi_mode=52 hdmi_mode=53 hdmi_mode=54 hdmi_mode=55 hdmi_mode=56 hdmi_mode=57 hdmi_mode=58 hdmi_mode=59 1 2 3 4 5 6 7 8 9 10 11 These values are valid if hdmi_group=2 (DMT) hdmi_mode=1 hdmi_mode=2 hdmi_mode=3 hdmi_mode=4 hdmi_mode=5 hdmi_mode=6 hdmi_mode=7 hdmi_mode=8 hdmi_mode=9 576i 50Hz 576i 50Hz H 288p 50Hz 288p 50Hz H 576i 50Hz 4x 576i 50Hz 4x H 288p 50Hz 4x 288p 50Hz 4x H 576p 50Hz 2x 576p 50Hz 2x H 1080p 50Hz 1080p 24Hz 1080p 25Hz 1080p 30Hz 480p 60Hz 4x 480p 60Hz 4xH 576p 50Hz 4x 576p 50Hz 4x H 1080i 50Hz reduced blanking 1080i 100Hz 720p 100Hz 576p 100Hz 576p 100Hz H 576i 100Hz 576i 100Hz H 1080i 120Hz 720p 120Hz 480p 120Hz 480p 120Hz H 480i 120Hz 480i 120Hz H 576p 200Hz 576p 200Hz H 576i 200Hz 576i 200Hz H 480p 240Hz 480p 240Hz H 480i 240Hz 480i 240Hz H 640x350 640x400 720x400 640x480 640x480 640x480 640x480 800x600 800x600 85Hz 85Hz 85Hz 60Hz 72Hz 75Hz 85Hz 56Hz 60Hz . 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 hdmi_mode=10 hdmi_mode=11 hdmi_mode=12 hdmi_mode=13 hdmi_mode=14 hdmi_mode=15 hdmi_mode=16 hdmi_mode=17 hdmi_mode=18 hdmi_mode=19 hdmi_mode=20 hdmi_mode=21 hdmi_mode=22 hdmi_mode=23 hdmi_mode=24 hdmi_mode=25 hdmi_mode=26 hdmi_mode=27 hdmi_mode=28 hdmi_mode=29 hdmi_mode=30 hdmi_mode=31 hdmi_mode=32 hdmi_mode=33 hdmi_mode=34 hdmi_mode=35 hdmi_mode=36 hdmi_mode=37 hdmi_mode=38 hdmi_mode=39 hdmi_mode=40 hdmi_mode=41 hdmi_mode=42 hdmi_mode=43 hdmi_mode=44 hdmi_mode=45 hdmi_mode=46 hdmi_mode=47 hdmi_mode=48 hdmi_mode=49 hdmi_mode=50 hdmi_mode=51 hdmi_mode=52 hdmi_mode=53 hdmi_mode=54 hdmi_mode=55 hdmi_mode=56 hdmi_mode=57 hdmi_mode=58 hdmi_mode=59 hdmi_mode=60 hdmi_mode=61 hdmi_mode=62 hdmi_mode=63 hdmi_mode=64 hdmi_mode=65 hdmi_mode=66 hdmi_mode=67 hdmi_mode=68 hdmi_mode=69 hdmi_mode=70 800x600 72Hz 800x600 75Hz 800x600 85Hz 800x600 120Hz 848x480 60Hz 1024x768 43Hz DO NOT USE 1024x768 60Hz 1024x768 70Hz 1024x768 75Hz 1024x768 85Hz 1024x768 120Hz 1152x864 75Hz 1280x768 reduced blanking 1280x768 60Hz 1280x768 75Hz 1280x768 85Hz 1280x768 120Hz reduced blanking 1280x800 reduced blanking 1280x800 60Hz 1280x800 75Hz 1280x800 85Hz 1280x800 120Hz reduced blanking 1280x960 60Hz 1280x960 85Hz 1280x960 120Hz reduced blanking 1280x1024 60Hz 1280x1024 75Hz 1280x1024 85Hz 1280x1024 120Hz reduced blanking 1360x768 60Hz 1360x768 120Hz reduced blanking 1400x1050 reduced blanking 1400x1050 60Hz 1400x1050 75Hz 1400x1050 85Hz 1400x1050 120Hz reduced blanking 1440x900 reduced blanking 1440x900 60Hz 1440x900 75Hz 1440x900 85Hz 1440x900 120Hz reduced blanking 1600x1200 60Hz 1600x1200 65Hz 1600x1200 70Hz 1600x1200 75Hz 1600x1200 85Hz 1600x1200 120Hz reduced blanking 1680x1050 reduced blanking 1680x1050 60Hz 1680x1050 75Hz 1680x1050 85Hz 1680x1050 120Hz reduced blanking 1792x1344 60Hz 1792x1344 75Hz 1792x1344 120Hz reduced blanking 1856x1392 60Hz 1856x1392 75Hz 1856x1392 120Hz reduced blanking 1920x1200 reduced blanking 1920x1200 60Hz 1920x1200 75Hz . en caso del Raspbian tiene comentarios que te ayudan a realizar estas configuraciones que tras a ver visto este tutorial entenderás ala perfección.  hdmi_drive Este parámetro modifica el voltaje de salida del puerto. mientras que el 2 a HDMI normal. escogemos la resolución de nuestro monitor. tiene como valores 1 ó 2. Bueno entonces ya sabemos que paramatros debemos agregar a nuestro archivo config. cambia un poco el archivo de configuración. algunos convertidores no funcionan del todo bien así que es recomendable el valor en 2.73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 hdmi_mode=71 hdmi_mode=72 hdmi_mode=73 hdmi_mode=74 hdmi_mode=75 hdmi_mode=76 hdmi_mode=77 hdmi_mode=78 hdmi_mode=79 hdmi_mode=80 hdmi_mode=81 hdmi_mode=82 hdmi_mode=83 hdmi_mode=84 hdmi_mode=85 hdmi_mode=86 1920x1200 85Hz 1920x1200 120Hz reduced blanking 1920x1440 60Hz 1920x1440 75Hz 1920x1440 120Hz reduced blanking 2560x1600 reduced blanking 2560x1600 60Hz 2560x1600 75Hz 2560x1600 85Hz 2560x1600 120Hz reduced blanking 1366x768 60Hz 1080p 60Hz 1600x900 reduced blanking 2048x1152 reduced blanking 720p 60Hz 1366x768 reduced blanking En la lista 2. Aquí les dejo un ejemplo de mis configuraciones para un monitor LCD que cumple 14 años. .txt. y en cada SO. con sonido. del grupo 2. Aunque la solución fuese obviamente usar el 1. 1 2 3 4 hdmi_force_hotplug=1 hdmi_group=2 hdmi_mode=16 hdmi_drive=2 Nota: agrega tus configuraciones antes de las configuraciones del procesador. El 1 se refiere a voltaje para DVI y sin sonido. . Les recomiendo den una revisión a fondo a estas dos fuentes ya que tienen muchas más configuraciones que nos podrían facilitar nuestra experiencia con Raspberry Pi.org/RPiconfig. SERVIDOR FTP ¡Hola. amigos de GeekyTheory! Hoy vamos a aprender cómo de manera sencilla podemos usar nuestra Raspberry Pi como servidor FTP. Instalación y Configuración de vsftpd Primero vamos a descargar el servidor vsftpd. TUTORIAL RASPBERRY PI – 9.Toda la información de este tutorial fue de distintas fuentes pero me gustaría dar el crédito a “Guía de usuario de Raspberry pi” de Eben Upton. además de esta pagina http://elinux.  local_enable=YES  write_enable=YES Por último reiniciamos el servicio.1 sudo apt-get install vsftpd Una vez que este descargado abrimos el siguiente archivo de configuración. 1 sudo service vsftpd restart Cliente FTP . 1 sudo nano /etc/vsftpd.conf Descomentamos las siguientes líneas para permitir la escritura de archivos a los usuarios de la Raspberry Pi. vamos a ver si funciona.Una vez que hemos instalado nuestro servidor FTP. Al abrirlo nos aparecerá una ventana tal como esta: Rellenamos los campos de servidor. nombre de usuario y contraseña:  servidor : 192.X [IP de la Raspberry Pi]  nombre de usuario: pi  contraseña: la contraseña del usuario pi [por defecto “raspberry”] Una vez que tenemos todos los datos introducidos le damos a conectar . para ello.168. descargamos Filezilla que es un cliente FTP.X. 1 sudo mkdir /home/geekyuser Damos permisos al usuario creado. pero no queremos que accedan a todos los directorios del servidor.Añadir usuarios al servidor FTP Si queremos usar nuestro servidor FTP con varias cuentas de usuario. Creamos un nuevo usuario. debemos hacer lo siguiente. 1 sudo useradd geekyuser Creamos una carpeta en la cual el geekyuser podrá crear todos los directorios que quiera. . 1 sudo chown geekyuser:users /home/user1 Por último creamos una contraseña para el usuario 1 sudo passwd geekyuser Si además tenéis el servicio no-ip instalado podéis acceder remotamente desde cualquier lugar. si no lo tenéis instalado seguid este tutorial. . os enseñaremos a instalar Linux en vuestra Raspberry Pi y a realizar por primera ver una conexión remota a través de SSH y de VNC. Además.TUTORIAL RASPBERRY PI – 1. EL PRIMER ENCENDIDO ¡Hola a todos! ¡Hoy comenzamos con el primero de una serie de tutoriales sobre Raspberry PI! En este post. Puede que te estés preguntando: ¿Qué es Raspberry Pi? . creemos que nunca viene mal un pequeño “Hola Mundo” en Python para empezar con las pilas cargadas. modelo de las 3 placas con las que haremos los tutoriales de esta sección. o por lo menos a eso nos dedicamos en Geeky Theory. Tiene conexión a Internet y unos pines GPIO (General Purpose Input/Output). podemos utilizarla. pero realmente está pensada para programarla. con un teclado y un ratón. botones. para que podamos interactuar con nuestra placa con sensores. o lo que queramos. Además. lógicamente. Por otra parte. . reproduce vídeo en alta definición y también sirve como procesador de textos o para jugar. Existen dos modelos: el modelo A y el modelo B.Raspberry Pi es un pequeño computador del tamañano de una tarjeta de crédito. el cual podemos conectar fácilmente a una televisión vía HDMI o RCA. El más reciente es el modelo B. no tiene conexión Ethernet. ¿Tengo que tener siempre una TV. Y su página oficial es la siguiente: Web oficial. ¿Diferencias entre el modelo A y el modelo B? – Modelo A: 256 MB de RAM. teclado y ratón conectados? No hace falta. Una vez resueltas las preguntas más comunes a la hora de empezar. Podéis descargarla desde aquí: Raspbian.¿Cuánto cuesta? El modelo A cuesta 25 $ y el modelo B 35 $. ¿Qué necesito para el primer arranque? Simplemente una tarjeta SD con el sistema operativo instalado (te enseñamos a hacerlo en el vídeo de abajo). Si tienes la Raspberry Pi conectada a tu Router. puedes acceder a ella a través de SSH o VNC (te enseñamos a hacerlo en el vídeo de abajo). voy a empezar dejando el link de la distro Linux que utilizaremos en estos tutoriales. – Modelo B: 512 MB de RAM. 1 puerto USB. sí tiene conexión Ethernet. 2 puertos USB. . Espero que os haya gustado y sobre todo. cualquier aporte del lector es bien recibido. que os animéis a trastear la Raspberry Pi si no lo habéis hecho ya. sin más. os dejo el enlace donde os podréis descargar el software que utilizaremos: RealVNC. . Esto último lo haremos mediante SSH y VNC (Virtual Network Computing). Para finalizar. Está explicado paso a paso en el vídeo. así que. añado que el “Hola Mundo” en Python. en este tutorial os enseñaremos a montar la imagen en la tarjeta SD y aconectaros de forma remota a la Raspberry Pi. Por supuesto. ¡Aquí tenéis el vídeo! ¡Que lo disfrutéis! Esto es todo por hoy. podéis verlo en este otro tutorial si no sabéis cómo se hace: Hola Mundo en Python.Como ya he comentado anteriormente.
Copyright © 2024 DOKUMEN.SITE Inc.