Cómo Traducir Vídeos de YouTube a cualquier Idioma 

*(Generar subtítulos en Español)



 

This series of lessons will show you how to set up and run the Raspberry Pi. These initial lessons focus on learning the Linux command line on the Raspberry Pi. After you become a master of the linux command line and terminal, we will then look at the GUI interface. In putting these lessons together, I assume you know nothing, so take you slowly from the beginning step-by-step. These are the lessons I use to teach the Pi and Linux to My High School sophomore and freshmen classes.

                                                                                                    Paul McWhorter

"Esta serie de lecciones le mostrará cómo configurar y ejecutar Raspberry Pi. Estas lecciones iniciales se centran en aprender la línea de comandos de Linux en Raspberry Pi. Después de que te conviertas en un maestro de la línea de comandos y el terminal de Linux, veremos la interfaz GUI. Al juntar estas lecciones, asumo que no sabe nada, así que llévelo lentamente desde el principio, paso a paso. Estas son las lecciones que uso para enseñar Pi y Linux a las clases de segundo y primer año de My High School."

                                                                                                                       Pablo McWhorter

 

LECCIÓN 1 . Introducción 

LECCIÓN 2 . Formatear la tarjeta SD, descargar e instalar el sistema operativo y arrancar la Pi.

LECCIÓN 3 : Aprendemos el comando de Linux que nos permite navegar a través de la carpeta y el sistema de archivos en Raspberry Pi. 

LECCIÓN 4 : Crear nuevos directorios y carpetas usando el comando mkdir, y luego cómo crear y editar archivos de texto usando el comando nano.

LECCIÓN 5 : Nombrar archivos y carpetas. 

LECCIÓN 6 : Copiar, mover y eliminar archivos y carpetas en Linux en Raspberry Pi.

LECCIÓN 7 : Simplificar las tareas repetitivas utilizando Linux Wildcard. El comodín le permite automatizar tareas repetitivas.

LECCIÓN 8 : Dirigir la salida de los comandos de Linux a un archivo en lugar de a la ventana del terminal.

LECCIÓN 9 : Comando sort. Clasificación hacia adelante y hacia atrás, y la clasificación de nombres, números y meses.

LECCIÓN 10 : Apagar la Raspberry Pi de forma adecuada y segura.

LECCIÓN 11 : Resolución de problemas con teclados estadounidenses y caracteres especiales.

LECCIÓN 12 : Comandos path

LECCIÓN 13 : Linux Pipes

LECCIÓN 14 : Comandos tee y pipe

LECCIÓN 15 : Búsqueda de archivos con el comando find de Linux.

LECCIÓN 16 : Buscar dentro de los archivos de Linux usando el comando grep.

LECCIÓN 17 : Esta lección le muestra cómo determinar su dirección IP usando ifconfig.

LECCIÓN 18 : Conexión en remoto desde Windows usando  Putty SSH Telnet Client

LECCIÓN 19 : Agregar y eliminar usuarios de la Raspberry Pi.

LECCIÓN 21 : Agregar un usuario administrador con los mismos privilegios que el usuario "pi".

LECCIÓN 23 : Administrar los permisos en archivos y carpetas.

LECCIÓN 24 : Ejecución de  Python en Raspberry Pi.

LECCIÓN 25 : Configuración de los pins GPIO 

LECCIÓN 26 : Control de los pins GPIO usando Python

LECCIÓN 27 : Voltajes analógicos en los pines GPIO usando GPIO PWM con Python

LECCIÓN 28 : Controlar un servo usando los pines GPIO y Python.

LECCIÓN 29 : Configurar los pines GPIO como entradas y leerlos en python. Resistencias pullup internas en los pines GPIO. 

LECCIÓN 30 : Controlar dos LED desde dos botones usando Python.

LECCIÓN 31 : Crear un LED regulable cuyo brillo se controla mediante dos botones.

LECCIÓN 32 : Opciones de entrada analógica a la Raspberry Pi.

LECCIÓN 33 : Iniciar Raspberry Pi en la interfaz gráfica de usuario similar a la de Windows.

LECCIÓN 34 : Google Chromium en Raspberry Pi. 

LECCIÓN 35 : Procesador de texto y hoja de cálculo gratuitos .

LECCIÓN 36 : Abrir programas, archivos y carpetas con un solo clic en la interfaz gráfica de usuario.

LECCIÓN 37 : Ejecutar de forma remota una interfaz gráfica de usuario en Raspberry Pi. 

LECCIÓN 38: Construir una cámara IP basada en Raspberry Pi y el módulo de cámara RPi.

The Ultimate Raspberry Pi Project : ¡Al borde del espacio y de vuelta con una Raspberry Pi! Este proyecto le muestra hasta dónde puede llevar una Raspberry Pi.

 



 LECCIÓN 1:

Introducción a Raspberry Pi

Si nos ha seguido a través de nuestra serie de lecciones sobre Arduino, y luego las lecciones sobre el uso de Arduino con Python, ya ha aprendido algunas cosas realmente interesantes. Probablemente hayas aprendido tanto, de hecho, que estás empezando a contemplar proyectos que estirarán los recursos disponibles en el arduino. Por ejemplo, si decidiera agregar una pantalla LCD a nuestro proyecto de rastreador GPS, probablemente se encontraría con que se quedó sin memoria en el Arduino.

Entonces, si bien todos amamos, y seguiremos amando, el Arduino, finalmente llega al punto en que necesita un microcontrolador con un poco más de potencia. Aquí es donde entra en juego la Raspberry Pi. La Raspberry Pi tiene aproximadamente el mismo tamaño que el arduino, pero tiene la potencia de una computadora de escritorio. Con Raspberry Pi, aún tiene acceso directo a puertos y pines para crear sus propios proyectos personalizados, pero tiene la velocidad, la memoria y la CPU necesarias para proyectos mucho más sofisticados. Raspberry Pi ejecuta Linux, que tendremos que aprender en estas lecciones. La buena noticia es que cuando tengamos Pi en funcionamiento, podrá escribir y ejecutar programas Python en él, y ya hemos pasado un poco de tiempo aprendiendo Python. Entonces, con su experiencia en Arduino y Python, estará listo y funcionando en el Pi en muy poco tiempo.

Para empezar, necesitarás reunir tu equipoDefinitivamente recomiendo el modelo 2 de Raspberry Pi, ya que es el último y el mejor en el momento en que se realiza esta lección. Necesitarás la Raspberry Pi, una fuente de alimentación, una tarjeta micro SD y un cable de monitorTambién necesitará un monitor, un teclado y un ratón, pero probablemente ya tenga esas cosas por ahí. He encontrado que lo mejor es comprar un kit que incluye la pi, fuente de alimentación, tarjeta micro SD, cable de monitor y adaptador WIFI USB. Un kit que me gusta mucho y que creo que tiene un valor excelente se puede encontrar AQUÍTenga en cuenta que este kit (y la mayoría de los kits) contienen un cable HDMI a HDMI. La salida de la Raspberry Pi es HDMI. Sin embargo, muchos monitores no tienen una entrada HDMI pero quieren un conector DVI. Si tu monitor solo tiene entrada DVI, necesitarás un cable adicional, que puedes encontrar AQUÍ . Para la mayoría de las personas, obtener el kit y el cable será todo lo que necesita para comenzar.

Si solo tiene un monitor muy antiguo con una entrada VGA, tenga en cuenta que los cables HDMI a VGA disponibles en Amazon no funcionan. (Al menos todo lo que he intentado no funciona). No se trata solo de conseguir un cable con los conectores adecuados en el extremo. Tienes que convertir HDMI a analógico, cosa que el cable no hace. Para el caso de hacer que la Pi funcione con un monitor VGA, he descubierto que el adaptador de HDMI a VGA de Belkin funcionará con la Pi y puedes conseguirlo AQUÍ .

Tenga en cuenta que he descubierto que la parte más complicada de poner en marcha el Pi es obtener el cable adecuado para su monitor. Verifique cuidadosamente qué tipo de monitor tiene y obtenga el cable correcto.

Entonces, ordene su equipo y en la próxima lección cubriremos cómo conectar y configurar las cosas.

 

Lección 2:

Primeros pasos e instalación del sistema operativo

En la LECCIÓN 1  , describimos el equipo que necesitarías para trabajar con Raspberry PiEn este punto, debes tener el equipo y estar listo para empezar a funcionar. En esta lección, le mostraremos cómo poner en funcionamiento su PI. Lo primero que tendrá que hacer es formatear su tarjeta SDTenga en cuenta que NO DEBE utilizar la rutina estándar de formato de Windows. Debe descargar el formateador de tarjeta de asociación SDPuede obtener la última versión AQUÍ . En la parte inferior de la página, acepte los términos y debería comenzar la descarga. Después de la descarga, haga clic en el archivo y la instalación debería comenzar. Después de la instalación, el programa se puede usar para formatear correctamente su tarjeta SD.

Después de haber formateado su tarjeta, lo siguiente es descargar el sistema operativo para la PI. La forma más fácil de comenzar es descargar el sistema NOOBS AQUÍ . Puede seleccionar el enlace Descargar ZipDespués de descargar el archivo, abra la carpeta zip y elimine el contenido de la carpeta. Puede poner el contenido en otra carpeta normal que llame "NOOBS". Una vez que haya extraído el contenido de la carpeta ZIP a la carpeta NOOBS, estará listo para moverlo a la tarjeta SD. Desea copiar el CONTENIDO de la carpeta NOOBS a su tarjeta SD. "No copie la carpeta NOOBS en la tarjeta SD, solo el contenido".

Ahora está listo para iniciar su Pi. Primero, conecte la tarjeta SD a su Raspberry Pi. Ahora conecte un teclado a un puerto USB y luego conecte un ratón a un puerto USBTambién puede conectar un cable Ethernet si lo desea. "Lo último que hay que conectar es la alimentación". Tenga en cuenta que debe tener cuidado de NUNCA quitar la tarjeta SD mientras el Pi está encendidoEsto corromperá la tarjeta. Siempre debe apagar correctamente la PI con el comando de Linux "sudo shutdown" antes de desconectar la energía de la Raspberry pi. Es bastante fácil corromper la tarjeta SD si no tiene cuidado.

Cuando vea que la PI cobra vida, se le preguntará qué instalarElija el sistema operativo Raspbian y luego haga clic en instalar. Tomará aproximadamente una hora para que instale el sistema operativo. Una vez completada la instalación, le ofrecerá un menú de opciones para configurar la PI Para estas lecciones, usaremos la terminal de Linux para controlar la pi y aprender Linux. Veremos la interfaz gráfica de usuario en lecciones posteriores, pero por ahora vamos a aprender Linux

 

Lección 3:

Navegación por carpetas y archivos en Linux

Lo primero que debemos aprender con Linux es cómo navegar por la estructura de archivos/carpetas. En Window, hacemos esto simplemente haciendo clic en las imágenes de carpetas y archivos. La estructura de archivos en Linux funciona de la misma manera. Tenemos una carpeta de nivel superior que llamamos carpeta raíz, y luego tenemos carpetas y archivos dentro de carpetas, además, esas carpetas pueden tener más carpetas y archivos. Es una estructura de tipo árbol con la que ya está familiarizado. Lo que es diferente es en Linux navegamos a través de los archivos  desde las líneas de comando y no haciendo clic en imágenes de ventanas y carpetas. Una vez que domine la línea de comandos, la preferirá al método de hacer clic en las imágenes de Windows.

En esta lección aprenderemos a navegar por los archivos. En Linux, primero das al “qué”, eso es lo que quieres hacer, o el comando que quieres hacer, y luego das al “dónde”, es decir, en qué parte de la estructura de archivos quieres ejecutar el comando. .

El primer comando que podemos aprender es pwdAl escribir pwd en la línea de comandos, le mostrará en qué carpeta se encuentra actualmente. Eso es útil mientras aprende a navegar, ya que siempre le mostrará dónde se encuentra.

El siguiente comando es lsls simplemente enumera los archivos y carpetas en la carpeta actual.

El comando final cubierto en la lección de video anterior es cd, que significa cambiar directorio.

Después del comando, das el “dónde”, que es el camino hacia donde quieres hacer el comando.

El método de navegación y comprensión de la estructura de archivos es más fácil de comunicar mostrándote, así que mira el video de arriba. Si sigues el video, debes comprender claramente cómo funciona la metodología de ruta en Linux.

 

LECCIÓN 4:

Creación y edición de archivos de texto usando "Nano" 

A medida que aprendamos más sobre Raspberry Pi, llegaremos al punto en que necesitaremos escribir programas. Hemos aprendido a escribir programas de Python en nuestra serie de tutoriales anteriores sobre Arduino. La buena noticia es que podemos aplicar lo que aprendimos allí a la Raspberry Pi. Pero primero tendremos que aprender a crear y editar archivos de texto. El editor de texto que usaremos en la Raspberry Pi se llama “nano”Aprenderemos a usar nano creando y editando archivos de texto simples. También en esta lección aprenderemos cómo crear nuevos directorios en Linux usando el comando mkdirTambién aprendemos que podemos ver un archivo sin abrirlo usando el comando "cat".

Mire el video de arriba para obtener toda esta información. Estos conceptos se enseñan y aprenden mejor observando y haciendo. Entonces, mira el video y haz los comandos conmigo. ¡Serás un experto en poco tiempo!

 

LECCIÓN 5:

Convención de nomenclatura de archivos y carpetas

Windows es bastante indulgente con la forma en que nombra sus archivos y carpetas. En Linux, debes recordar que las cosas distinguen entre mayúsculas y minúsculas y debes evitar el uso de espacios en los nombres de sus archivos y carpetasRecuerde también que en Linux las carpetas también se denominan directorios. Este video muestra tres convenciones de nomenclatura adecuadas en Linux que permiten que los nombres de los archivos sean tanto descriptivos como legibles.

 

LECCIÓN 6:

Mover, copiar y eliminar archivos y carpetas

En este tutorial, aprendemos cómo mover, copiar y eliminar archivos y carpetas en la ventana de terminal de Linux en Raspberry Pi. Esto le permitirá comenzar a trabajar con archivos y carpetas como un profesional. Mire el video de arriba y sígalo en su Raspberry Pi. Es muy importante que domine la navegación por los archivos desde la ventana del terminal y la línea de comandos, y que sepa cómo mover, copiar y eliminar archivos.

 

LECCIÓN 7:

Uso del comodín  (Wildcard)

En esta lección aprenderemos a usar el comodín de Linux. El comodín le permite automatizar lo que de otro modo serían tareas tediosas. El comodín es el carácter *Por ejemplo, un comando con *.txt afectaría a todos los archivos que terminan en .txt. Del mismo modo, *.* afectaría a todos los archivos. También podría imaginar que dog*.txt afectaría a todos los archivos que comienzan con "dog" y terminan con .txt. El video brinda muchos ejemplos del uso del comodín para simplificar las cosas.

 

LECCIÓN 8:

Redirigir la salida de comando de Linux a un archivo

Esta lección muestra que podemos redirigir la salida de nuestros comandos de Linux a un archivo en lugar de a la ventana del terminal.

Si tenemos un comando como:

$ ls

El resultado es la lista de archivos y carpetas en el directorio actual. Si, en cambio, queremos enviar la salida a un archivo, podríamos usar lo siguiente:

$ ls >out_file.txt

La lista de archivos y carpetas se dirige a un nuevo archivo llamado out_file.txtTenga en cuenta que se siguen aplicando las mismas reglas para las rutas.

Si volviéramos a emitir el comando, se sobrescribiría el contenido antiguo del archivo. Si quisiéramos agregar los resultados al final del archivo en lugar de sobrescribirlos, podríamos hacer lo siguiente:

$ ls>>out_file.txt

Cuando usamos  >>  en lugar de >, los resultados se agregarán al final del archivo.

 

LECCIÓN 9:

Uso del comando sort (clasificar) de Linux

En esta lección exploramos un nuevo y muy poderoso comando de Linux. el comando sort (clasificar). El comando sort le permite ordenar un archivo alfabéticamente, numéricamente o por mes calendario. Mostramos cómo ordenar hacia adelante o hacia atrás, y cómo enviar la lista ordenada a un archivo o a la ventana de la terminal. Este video rápido lo pondrá al día sobre la clasificación en Linux.

 

LECCIÓN 10:

Apagado correcto y seguro de la Raspberry Pi

Es muy fácil dañar la tarjeta SD y su sistema operativo en su Raspberry Pi. Es importante apagar siempre correctamente la raspberry pi. Nunca simplemente desconecte la energía, siempre apague primero. Nunca retire la tarjeta SD mientras la PI está arrancada o mientras está encendida. Para quitar la tarjeta SD, primero apague la PI y luego retire la tarjeta. Del mismo modo, nunca conecte la tarjeta mientras la PI está encendido.

La forma más sencilla de apagar la PI es con el comando:

$ sudo hait

En cambio, si desea apagar y luego reiniciar, puede usar:

$ sudo reboot

Estos dos comandos se encargarán de todo la mayor parte del tiempo. Si por alguna razón sudo halt no funciona, puede intentar lo siguiente:

$ sudo shutdown -h now

Eso casi siempre funcionará.

 

LECCIÓN 11:

Resolución de problemas con teclado y caracteres especiales

La configuración de arranque estándar de Raspberry pi puede hacer que algunos caracteres no funcionen correctamente en los teclados de EE. UU. En particular, los caracteres de número de turno como !,~,# no pueden estar donde los espera. La forma más fácil de solucionar esto es editar el archivo nano /etc/default/keyboardLo siguiente debería arreglar las cosas para usted.

$ sudo nano /etc/predeterminado/teclado

Luego, en la línea de XKBLAYOUT, cámbielo a:

XKBLAYOUT=”us”

Eso debería hacer que su pi funcione correctamente con la mayoría de los teclados de EE. UU.

 

LECCIÓN 12:

Más sobre los comandos de Linux Path

Una clave para convertirse en un experto en Linux es dominar la técnica de crear buenos nombres de rutas para sus archivos y carpetas. 

Esta lección repasa material de lecciones anteriores, además de analizar algunas técnicas adicionales para llegar rápidamente al archivo o carpeta que está buscando.

 

LECCIÓN 13:

Uso de Linux Pipes

Los pipes (tuberías, en inglés) son una forma de redirección que se utiliza en los sistemas operativos Linux y de la familia Unix para enviar la salida de un programa a la entrada de otro (para continuar el procesamiento). La redirección consiste en transferir la salida estándar a otro destino, como un programa o archivo, en lugar de ser mostrado por pantalla (salida estándar por defecto en una consola). De esta forma un pipe puede ser visto como un pipeline de comandos. Es decir, una secuencia de comandos por los cuales se procesa un dato. Esto significa que los pipes conforman un mecanismo de comunicación entre procesos IPC, ya que consisten en un mecanismo de comunicación entre procesos de un pipeline.

Los pipes se identifican con una barra vertical (|). Esta barra representa la conexión entre la salida estándar del comando actual y la entrada estándar del comando siguiente.

 

LECCIÓN 14:

Uso de los comandos Linux Tee y Pipe

Vimos en lecciones anteriores cómo podemos usar conductos de Linux para enviar la salida de un comando o programa a otro comando o programa. 

En esta lección, aprenderemos a usar "tees" para enviar la salida a varios lugares.

 

LECCIÓN 15:

Uso del comando find (buscar) de Linux

A medida que comience a escribir programas y crear archivos, eventualmente necesitará ayuda para encontrar sus archivos y carpetas. Aquí es donde entra en juego el comando "find" de Linux.

En este video exploramos el uso del comando find y demostramos cómo el uso de find con wildcars (comodines) y pipes crea una combinación poderosa.

 

LECCIÓN 16:

Búsqueda en archivos usando grep

En lecciones anteriores, aprendimos cómo buscar archivos usando el comando "find" de Linux. 

De hecho, podemos buscar dentro de los archivos usando el comando "grep". 

Este video le muestra cómo buscar palabras o términos dentro de archivos usando grep.

 

LECCIÓN 17:

Encuentre su dirección IP de Raspberry Pi

Vamos a comenzar a pasar a las técnicas para conectarse de forma remota a Raspberry Pi a través de una red. Para hacer esto, necesitará saber la dirección IP de la Raspberry Pi. Esta lección en video le muestra cómo usar el comando "ifconfig" para obtener su dirección IP.

 

LECCIÓN 18:

Conexión en remoto desde Windows usando Putty SSH Telnet Client

Ahora estamos listos para comenzar a conectarnos a Raspberry Pi de forma remota desde una máquina basada en Windows.

 Esta lección le muestra cómo instalar Putty, un cliente SSH Telnet, en su máquina con Windows y luego conectarse a Raspberry Pi desde cualquier lugar de su red. Terminará con una ventana de Terminal en su computadora de escritorio que está conectada a su Raspberry Pi. El inicio de sesión remoto es una de las potentes funciones de Linux.

LECCIÓN 19:

Añadir nuevos usuarios

En esta lección, mostramos cómo agregar nuevos usuarios a Raspberry Pi. 

La cuenta Pi predeterminada en Raspberry Pi tiene acceso sudo, lo que significa que cuando inicia sesión como "pi" puede hacer prácticamente cualquier cosa que desee accediendo al prefijo del comando sudo.

 En esta lección no agregamos un usuario sudo, sino uno que prácticamente puede hacer cosas en la carpeta de su cuenta. 

Para agregar otro usuario llamado Austin sin privilegios de sudo, usaremos el comando:

$ sudo adduser austin -m -s /bin/bash -g usuarios

Luego, para asignar una contraseña, daría el comando:

$ sudo passwd austin

Luego ingrese la contraseña cuando se le solicite.

Al crear un nuevo usuario en el grupo "usuarios", ese nuevo usuario puede crear y editar archivos en su carpeta (/home/austin), y puede ver la mayoría de las cosas en el sistema, pero no puede cambiar ni agregar cosas fuera de su carpetaPara permitir que el usuario tenga privilegios de sudo, deberá agregarse al grupo de sudo.

Para eliminar un usuario, debe iniciar sesión en una cuenta con privilegios de sudo y luego ingresar el comando:

$ sudo userdel austin

Lo que eliminaría al usuario austin. Este comando eliminaría al usuario, pero mantendría sus archivos y carpetas (/home/austin), pero la persona ya no podría iniciar sesión. Si quisiera eliminar al usuario y todos sus archivos, usaría el siguiente comando:

$sudo userdel -r austin

Para este comando, se eliminan el usuario Austin y todos sus archivos.

 

LECCIÓN 20:

Copia de seguridad de la tarjeta SD y sistema operativo

Es bastante fácil corromper su tarjeta SD o su sistema operativo en la Raspberry Pi. Si esto sucede y no tiene una copia de seguridad, es probable que tenga que reconstruir su sistema desde cero. Por lo tanto, es importante ser diligente para mantener una copia de seguridad de su Pi. En esta lección le mostramos cómo puede hacer una copia de seguridad usando Windisk32Manager, un programa gratuito y simple que nos hará el trabajo.

Tenga en cuenta que no puede hacer una copia de seguridad de la tarjeta simplemente arrastrando y soltando el contenido de Windows. En realidad tienes que hacer la imagen del disco como se muestra en el vídeo.

 

LECCIÓN 21:

Agregar un usuario administrador con los mismos privilegios que el usuario "pi"

En la LECCIÓN 19 mostramos cómo agregar usuarios al Pi con permisos limitados. En esta lección, mostramos cómo agregar un usuario con privilegios de administrador como el usuario "Pi" predeterminado.

 

Primero querrá iniciar sesión como el usuario "pi" predeterminado. Después de iniciar sesión, puede agregar otro usuario con el comando: 

 

$ sudo adduser paul
Una vez que se agrega el usuario, puede otorgarle privilegios de administrador como el usuario pi al
modificar la cuenta con el comando:

 

Ahora su usuario "paul" tiene los mismos privilegios de administrador que "pi". Sin embargo, si “paul” intenta ejecutar un comando sudo, le pedirá su contraseña. Si desea que "paul" pueda ejecutar sudo sin ingresar la contraseña, debe hacer lo siguiente:

NOTA: Estropear este archivo corromperá su sistema operativo. Sugiero como muy importante hacer una copia de seguridad de su sistema antes de seguir adelante. O bien, puede dejar las cosas como están, y "paul" tendrá que ingresar la contraseña al ejecutar un comando sudo

 y luego estarás editando un archivo. Agregue lo siguiente a la última línea del archivo:

 

paul todos=(todos) "sin contraseña": todos

 

Luego control o e ingrese para guardar el archivo, y luego control x para salir.

 

LECCIÓN 22:

Comprender los permisos de archivos y carpetas de Linux

En Linux, los permisos, los atributos y la propiedad de los archivos controlan el nivel de acceso que el sistema procesa y los usuarios tienen a los archivos. Esto garantiza que solo los usuarios y procesos autorizados puedan acceder a archivos y directorios específicos.

El modelo básico de permisos de Linux funciona asociando cada archivo del sistema con un propietario y un grupo y asignando derechos de acceso a permisos para tres clases diferentes de usuarios:

  • El propietario del archivo.
  • Los miembros del grupo.
  • Otros (todos los demás).

La propiedad del archivo se puede cambiar usando los comandos chown y .chgrp

Se aplican tres tipos de permisos de archivos a cada clase de usuarios:

  • El permiso de lectura.
  • El permiso de escritura.
  • El permiso de ejecución.

Este concepto le permite controlar qué usuarios pueden leer el archivo, escribir en el archivo o ejecutar el

archivo.

Para ver los permisos del archivo, use el ls comando:

$ ls -l file_name

El primer carácter indica el tipo de archivo. Puede ser un archivo normal ( -), un directorio ( d), un enlace simbólico ( l) u otros tipos especiales de archivos. Los siguientes nueve caracteres representan los permisos de archivo, tres tripletes de tres caracteres cada uno. El primer triplete muestra los permisos del propietario, el segundo grupo los permisos y el último triplete muestra los permisos de todos los demás.

En el ejemplo anterior ( rw-r--r--) significa que el propietario del archivo tiene permisos de lectura y escritura ( rw-), el grupo y los demás solo tienen permisos de lectura ( r--).

Los permisos de archivo tienen un significado diferente según el tipo de archivo.

Cada uno de los tres tripletes de permisos se puede construir con los siguientes caracteres y tener diferentes efectos, dependiendo de si se configuran en un archivo o en un directorio:

Efecto de los permisos en los archivos

Permiso Personaje Significado en archivo
Leer - El archivo no es legible. No puede ver el contenido del archivo.
  r El archivo es legible.
Escribe - El archivo no se puede cambiar ni modificar.
  w El archivo se puede cambiar o modificar.
Ejecutar - El archivo no se puede ejecutar.
  x El archivo se puede ejecutar.
  s Si se encuentra en el usertriplete, establece el setuidbit. Si se encuentra en el grouptriplete, establece el setgidbit. También significa que la xbandera está configurada. 
Cuando se establecen los indicadores setuidsetgiden un archivo ejecutable, el archivo se ejecuta con los privilegios de propietario y/o grupo del archivo.
  S Igual que s, pero la xbandera no está configurada. Esta bandera rara vez se usa en archivos.
  t Si se encuentra en el otherstriplete, establece el stickybit. 
También significa que la xbandera está configurada. Esta bandera es inútil en los archivos.
  T Igual que, tpero la xbandera no está configurada. Esta bandera es inútil en los archivos.

Efecto de los permisos en directorios (carpetas)

Los directorios son tipos especiales de archivos que pueden contener otros archivos y directorios.

Permiso Personaje Significado en el directorio
Leer - No se puede mostrar el contenido del directorio.
  r Se puede mostrar el contenido del directorio. 
(por ejemplo, puede enumerar archivos dentro del directorio con ls).
Escribe - El contenido del directorio no se puede modificar.
  w El contenido del directorio se puede modificar. 
(por ejemplo, puede crear nuevos archivos , eliminar archivos , etc.)
Ejecutar - El directorio no se puede cambiar a.
  x El directorio se puede navegar usando cd.
  s Si se encuentra en el usertriplete, establece el setuidbit. Si se encuentra en el grouptriplete, establece el setgidbit. También significa que la xbandera está configurada. Cuando el setgidindicador se establece en un directorio, los nuevos archivos creados en él heredan el ID de grupo de directorio (GID) en lugar del ID de grupo principal del usuario que creó el archivo. 
setuidno tiene ningún efecto en los directorios.
  S Igual que s, pero la xbandera no está configurada. Esta bandera es inútil en los directorios.
  t Si se encuentra en el otherstriplete, establece el stickybit. 
También significa que la xbandera está configurada. Cuando el sticky bit se establece en un directorio, solo el propietario del archivo, el propietario del directorio o el usuario administrativo pueden eliminar o cambiar el nombre de los archivos dentro del directorio.
  T Igual que t, pero la xbandera no está configurada. Esta bandera es inútil en los directorios.

 

LECCIÓN 23:

Cambio de permisos de archivos y carpetas

En esta lección, veremos cómo cambiar los permisos de archivos y carpetas. 

En las lecciones anteriores, aprendimos que podemos ver los permisos de archivos y carpetas al navegar a la carpeta de interés y luego dar el comando ls -l

Para cambiar los permisos, usaremos el comando chmod

Este video explica cómo usar el comando chmod para controlar quién tiene qué permisos.

 

LECCIÓN 24:

Ejecución de Python en Raspberry Pi

Si ha estado siguiendo estas lecciones hasta este momento, debería sentirse bastante cómodo con el sistema operativo Linux y debería saber suficientes comandos para hacer lo que necesita desde la ventana de terminal y la línea de comandos. 

Ahora queremos avanzar para comenzar a hacer cosas con Pi. 

Para ello, utilizaremos el lenguaje de programación Python.

 

El lenguaje de programación Python en realidad comenzó como un lenguaje de scripting para Linux. Los programas de Python son similares a los scripts de shell en que los archivos contienen una serie de comandos que la computadora ejecuta de arriba a abajo.

Python 2 y Python 3 vienen preinstalados en los sistemas operativos Raspbian, pero para instalar Python en otro sistema operativo Linux o para actualizarlo, simplemente ejecute uno de estos comandos en el símbolo del sistema:

 

  • Instala o actualiza Python 3: sudo apt-get install python3
  • Instala o actualiza Python 2: sudo apt-get install python

Para demostrar la creación y ejecución de un programa de Python, haré un programa simple de "hola mundo". Para comenzar, abre el editor de texto Nano y crea un nuevo archivo llamado hello-world.py tecleando esto en el terminal:

sudo nano hello-world.py

Teclea este código en Nano y después presiona Ctrl-X e Y para salir y guardar el archivo:

#!/usr/bin/python
print "Hello, World!";

Todos los archivos de programa de Python deberán guardarse con una extensión ".py". Puede escribir el programa en cualquier editor de texto como Notepad o Notepad ++, solo asegura guardarlo con esta extensión.

EJECUTANDO UN PROGRAMA DE PYTHON

Para ejecutar el programa sin hacerlo ejecutable, navega hasta la ubicación donde se guardó el archivo y teclea esto en el terminal:

python hello-world.py

HACER UN ARCHIVO EJECUTABLE DE PYTHON

Para hacer un programa escrito en Python ejecutable teclea esto en el terminal de sistema:

chmod + x file-name.py

Ahora para ejecutar el programa, lo que necesitas teclear es:

./file-name.py

 

LECCIÓN 25:

Distribución de pines de Raspberry Pi 2

En nuestras lecciones anteriores, hemos ido desde la instalación del sistema operativo hasta la creación y ejecución de su primer programa Python.

En este punto, ya sabe cómo operar en general la plataforma Raspberry Pi. 

Ahora estamos listos para comenzar a construir proyectos y hacer que Pi funcione para nosotros. 

Lo primero que debemos entender es qué pines hacen qué. La pi tiene muchos pines, por lo que el siguiente diagrama muestra lo que puede hacer cada uno:

Para comprender el número de pin, asegúrese de tener su pi esté orientada como se muestra en la figura. Ahora mire las dos columnas centrales del gráfico. Estos le muestran el número pin físico. Las dos columnas exteriores del gráfico le muestran la numeración bcm. El sistema de numeración que utilice depende de cómo configure las cosas en el software. Cubriremos esto en la próxima lección, pero por ahora sepa que hay dos esquemas de numeración diferentes. Para los ejemplos de esta serie de lecciones, usaremos el esquema de numeración bcm, por lo que usaremos las referencias numéricas en las dos columnas exteriores.

Observe también que algunos de los pines son multiusos. Por ejemplo, los pines físicos 3 y 5 pueden ser pines GPIO o pueden configurarse para I2C. Del mismo modo, 8 y 10 pueden ser pines GPIO de uso general, o pueden ser Tx y Rx. Tenga en cuenta que los pines GPIO son análogos a sus pines de entrada/salida digital en Arduino (los que no tienen ~).

En general, cuando configuro un proyecto, trato de seleccionar pines GPIO que no son multifunción. De esta forma, si alguna vez amplío el proyecto y quiero agregar capacidad Tx/Rx o I2C, esos pines seguirán estando libres.

LECCIÓN 26:

Control de pins GPIO con Python

En esta lección, comenzaremos a controlar los pins GPIO desde Raspberry Pi. Comenzaremos viendo cómo escribir un pin alto o bajo. Haremos esto en el lenguaje de programación Python. Una cosa realmente importante para recordar es que el usuario predeterminado "Pi" no tiene acceso a los pines, por lo que para que estos ejemplos funcionen, debe ejecutar los programas con "sudo". El comando sudo se ejecuta como superusuario y le dará acceso al programa a los pins GPIO.

Para empezar, construyamos un circuito simple. Si compró el kit que mostramos en la lección 1, debe tener todos los componentes que necesita seguir junto con estos ejemplos. Si aún no ha comprado un kit, puede obtener uno en amazon.com AQUÍ . En esta primera lección, solo veremos el parpadeo de un LED. Entonces, ahora puede continuar y conectar el siguiente circuito. Como referencia, mostramos a continuación el pinout de la Raspberry Pi.

Pinout GPIO de Raspberry PI
Pinout GPIO de Raspberry PI

En este ejemplo, usaremos el pin físico 9 como tierra y el pin físico 11 como pin de controlAhora puede continuar y conectar el siguiente circuito. Recuerda la dirección en la que conectas el LED en cuestión. la pata larga debe conectarse al pin 11. La resistencia utilizada debe ser de unos 330 ohmios.

Para familiarizarme con los comandos, me gusta comenzar en el shell de Python. Básicamente, le damos los comandos a python una línea a la vez y observamos lo que sucede. Luego, más tarde, podemos escribir y ejecutar programas.

Tenga en cuenta que las versiones recientes de la distribución de Raspberry Pi incluyen la biblioteca RPi, pero si tiene una distribución anterior, actualice su sistema con estos comandos:

$ sudo apt-obtener actualización

y

$ sudo apt-obtener actualización

Si no lo ha hecho durante un tiempo, puede llevar algún tiempo descargar e instalar las actualizaciones. Ahora estamos listos para comenzar a trabajar con los pines GPIO. Para ingresar al shell de python, abra una ventana de terminal en Raspberry Pi y escriba:

$ sudo pitón

Asegúrese de usar el comando sudo anterior, ya que le dará acceso administrativo a los pines GPIO. Ahora, debe obtener el símbolo del sistema de comandos de python, que se ve así:

>>>

En este punto, cualquier comando que escriba será ejecutado por el intérprete de python. Básicamente, puede ejecutar un programa de Python una línea a la vez. Tenga en cuenta que para salir del shell de python, escriba Ctrl-d.

Bien, ¡veamos si podemos controlar el LED!

Primero, necesitamos importar la biblioteca RPi. Tenga en cuenta que se distingue entre mayúsculas y minúsculas, así que tenga cuidado de usar mayúsculas exactamente:

>>> importar RPi.GPIO como GPIO

Ahora, necesitamos inicializar el GPIO para usar los esquemas de numeración de pines BOARD o BCMEn el diagrama en la parte superior de esta lección, la convención de numeración BOARD se muestra en las dos columnas centrales. Si desea utilizar el esquema de numeración BCM, utilice los números indicados en las dos columnas exteriores. En estos ejemplos, quiero usar los números pin físicos, ya que es más fácil para mí hacer un seguimiento de las cosas. Por lo tanto, querré usar el esquema BOARD. Puedo hacer eso con este comando:

>>>GPIO.setmode(GPIO.BOARD)

Como puede imaginar, si desea usar BCM, BOARD debe reemplazarse con BCM en el comando anterior.

Si recuerdas en nuestras lecciones de Arduino, tuvimos que hacer comandos pinmode para decirle al arduino si los pines son entradas o salidas. Hacemos algo similar en Raspberry Pi. Necesitamos decirle al Pi si usaremos un pin como entrada o salida. En el diagrama de cableado anterior, puede ver que queremos encender el LED desde el pin físico 11, por lo que debemos configurarlo como una salida.

>>>GPIO.configuración(11,GPIO.SALIDA)

Ahora estamos listos para encender el LED. Podemos hacer esto configurando el pin 11 en True:

>>>GPIO.salida(11,Verdadero)

Ahora para apagar el LED, podemos hacer:

>>>GPIO.salida(11,Falso)

Ahora puede jugar con diferentes pines GPIO y encender y apagar el LED como desee. Antes de salir del shell de Python, asegúrese de limpiar el GPIOHaces esto dando el comando de limpieza:

>>>GPIO.limpieza()

Esto asegurará que no reciba mensajes de error si intenta trabajar con los pines GPIO nuevamente. Es una buena práctica limpiar siempre después de que haya terminado.

 

LECCIÓN 27:

Voltajes analógicos usando GPIO PWM en Python

Si recuerda nuestras lecciones de Arduino, recordará que podríamos escribir voltajes analógicos en los pins de salida con el ~ al lado de ellos. Sin embargo, la verdad es que en realidad no estábamos escribiendo voltajes analógicos, solo estábamos simulando voltajes analógicos usando modulación de ancho de pulso (PWM). El arduino pudo apagar 5 voltios. Por lo tanto, si desea simular una señal de 2,5 voltios, puede encender y apagar el pin rápidamente, cronometrando las cosas de manera que el pin esté encendido y apagado la mitad del tiempo. De manera similar, si quisiera simular una salida analógica de 1 voltio, programaría las cosas para que la señal de 5 voltios estuviera encendida el 20% del tiempo. Para muchas aplicaciones, como controlar el brillo de los LED, este enfoque funciona muy bien. Arduino hizo que fuera fácil y transparente para el usuario generar estos voltajes de salida similares a los analógicos usando el comando analogWrite.

Esta capacidad también está disponible en los pines GPIO de Raspberry Pi. Sin embargo, la implementación requiere que piense en términos de una señal con una frecuencia y un ciclo de trabajo. Considere una señal con una frecuencia de 100 Hz. Esta señal tendría un Periodo de 10 milisegundos. En otras palabras. la señal se repite cada 10 milisegundos. Si la señal tuviera un ciclo de trabajo del 100%, sería "Alta" el 100% del tiempo y "Baja" el 0% del tiempo. Si tuviera un ciclo de trabajo del 50%, sería alto el 50% del tiempo (.5X10 milisegundos = 5 milisegundos) y bajo el 50% del tiempo (.5X10 milisegundos = 5 milisegundos). Entonces, serían 5 milisegundos altos y 5 milisegundos bajos para un período total de 10 milisegundos, que como esperamos, si una frecuencia de 100 Hz. (Tenga en cuenta que el Período de una señal = 1/frecuencia y frecuencia = 1/Período)

Tenga en cuenta que en Raspberry Pi, el voltaje de salida es de 3,3 voltios en comparación con la salida de 5 voltios en Arduino. Por lo tanto, Raspberry Pi solo puede simular voltajes analógicos entre 0 y 3,3 voltios. Para este ejemplo, volveremos a jugar con el siguiente circuito. Tenga en cuenta que estamos usando el pin físico 9 como pin de tierra y el pin físico 11 como pin de alimentación. Consulte la Lección 25 a continuación para ver un diagrama de números de pin en la Raspberry Pi.

OK, basta de antecedentes, empecemos a jugar con algo de código.

 En ejemplos como este, creo que es más fácil operar desde Python Shell, ya que esto nos permite observar los efectos de nuestros comandos uno a la vez. Para ingresar a Python Shell, escriba sudo python en la línea de comando de Linux en una ventana de terminal. El sudo es importante ya que le permite ingresar al shell de python como superusuarioEl acceso a los pines GPIO requiere privilegios de superusuario. Además, recuerde que para salir del shell de python y volver al símbolo del sistema de Linux, ingrese Ctrl-d. Entonces, escriba sudo python para ir al shell de python. Debería ver el aviso >>> que indica que no está en el shell de python. 

Lo primero que debe hacer es importar la biblioteca RPi:

>>> importar RPi.GPIO como GPIO

Ahora dígale a Raspberry Pi qué esquema de número de pin desea usar (consulte la Lección 25 ). Prefiero usar el sistema de numeración de pines físicos porque me resulta más fácil de recordar. Para usar el sistema de numeración de pluma física, debe ingresar este comando:

>>> GPIO.setmode(GPIO.BOARD)

Tenga en cuenta que si prefiere el sistema BCM, reemplace BOARD con BCM en el comando anterior.

Ahora debemos decirle a la Pi que el pin físico 11 será una salida. Podemos hacer eso con el comando:

>>> GPIO.configuración(11,GPIO.SALIDA)

En este punto, podríamos escribir el pin alto o bajo, pero nuestro objetivo aquí es usar PWM, por lo que debemos hacer algunas cosas más. Primero, necesitamos crear un objeto PWMLlamaré a mi objeto my_pwmNecesitaremos pasar los parámetros del pin físico que queremos usar, y la frecuencia. Me gusta usar 100 Hz, lo que nos da un período de 10 mseg. El comando que necesitamos para esto es:

>>>mi_pwm=GPIO.PWM(11,100)

¡Recuerde que las mayúsculas deben ser EXACTAS! Ahora, para iniciar el pwm, debemos decidir qué DutyCyle queremos. Recuerde, el DutyCycle es el porcentaje del período en que la señal estará altaSi quisiéramos aproximarnos a una señal de 1,6 voltios, notaríamos que 1,6 es aproximadamente la mitad de los 3,3 que salen del Pi, por lo que querríamos un ciclo de trabajo del 50 %. El comando para esto sería:

>>>mi_pwm.inicio(50)

Cuando escriba este comando, debería ver que se enciende el LED, si ha conectado las cosas correctamente. Debería estar aproximadamente a la mitad del brillo.

Ahora, si desea cambiar el brillo, simplemente cambie el ciclo de trabajo. Por ejemplo, si desea que el LED esté muy tenue, puede configurar un ciclo de trabajo del 1 %. Podrías hacer esto con el comando:

>>>mi_pwm.ChangeDutyCycle(1)

Del mismo modo, si quisiera un brillo completo, querría un ciclo de trabajo del 100%, que podría obtener con el comando:

>>>mi_pwm.ChangeDutyCycle(100)

Nuevamente, recuerde que las mayúsculas deben ser exactasAhora puede obtener el brillo que desee cambiando el ciclo de trabajo a cualquier valor entre 0 y 100, inclusive.

Tenga en cuenta que también puede cambiar la frecuencia de la señal PWMDigamos que quería una frecuencia de 1000 Hz. Podríamos hacer esto con el comando:

>>>mi_pwm.ChangeFrequency(1000)

Tenga en cuenta que al hacer esto no hay un cambio perceptible en el brillo del LED porque no ha cambiado el tiempo relativo de encendido y apagado de la señal. Simplemente va más rápido, pero no afecta el tiempo fraccionario que la señal está encendida y apagada, por lo tanto, el brillo del LED no cambia.

Si bien en estos ejemplos hemos hecho cosas desde la línea de control, puede escribir programas de Python que ejecutarán los comandos por ustedPor ejemplo, escriba un programa que le pregunte al usuario qué tan brillante quiere el LED, entre 0 y 100, y luego configúrelo en ese brillo ajustando el ciclo de trabajo, como hicimos en el ejemplo anterior. Juega con diferentes pines y diferentes frecuencias y valores. Familiarícese con estos comandos.

Ahora, finalmente, si desea desactivar pwm, debe usar el comando:

>>>mi_pwm.stop()

Además, recuerde que siempre debe limpiar después de usted mismo, por lo que en la parte inferior de su programa, o antes de salir del shell, siempre suelte sus pines y limpie con el comando:

>>>GPIO.limpieza()

 

LECCIÓN 28:

Controlar un servo en Raspberry Pi con Python

En esta lección, le mostraremos cómo controlar con precisión un Servo usando Raspberry Pi

Primero, para el servo pequeño que estoy usando, verifiqué que es seguro conducir desde el pin de 5 voltios (pin físico 2) en la Raspberry Pi. Es posible dañar su Raspberry Pi extrayendo demasiada corriente de un pin. Por lo tanto, si no está seguro de los requisitos actuales de su Servo, es mejor alimentarlo desde una fuente de 5 voltios que no sea un pin Raspberry Pi. Todavía puede controlarlo desde Raspberry Pi si usa una conexión a tierra común, pero solo obtenga la alimentación (cable rojo) de una fuente externa. Para mi pequeño servo, puedo alimentarlo de manera segura desde el pin físico 2 de Raspberry Pi.

El segundo punto es que para controlar el servo, debe usar la modulación de ancho de pulso. Por lo tanto, le recomiendo ENCARECIDAMENTE que siga la LECCIÓN 27 si aún no lo ha hecho. La Lección 27 le muestra cómo usar PWM en los pines GPIO en la Raspberry PiSi está al día con PWM, esta lección será mucho más fácil.

 

Con esto aclarado, estamos listos para conectar nuestro servo. Para mi servo, el cable de tierra es negro, el cable rojo es de 5 voltios y el cable amarillo es la línea de controlSi está utilizando un servo diferente, deberá leer las instrucciones para ver cuál es el código de color para sus tres cables, pero es probable que sea similar al mío. El siguiente esquema muestra cómo debe conectar el servo. Observe que tengo los 5 V conectados al pin físico 2 de Pi, la conexión a tierra del servo conectado al pin físico 9 de Pi y la línea de control del servo conectada al pin físico 11 de Pi.

Servo conectado a pines GPIO de Raspberry Pi
Servo conectado a pines GPIO de Raspberry Pi

Ahora, con el servo conectado, estamos listos para intentar controlarlo. Para este ejemplo, trabajaremos en el shell de PythonPara ingresar al shell de python, abra una ventana de Terminal y, en el símbolo del sistema, escriba:

$ sudo python

Es importante incluir sudo, ya que la Raspberry Pi solo permite el acceso a los pines GPIO al superusuarioPor lo tanto, debe ingresar al shell de python como superusuario. Cuando escriba el comando anterior, debería moverse al shell de Python y debería ver el indicador de shell de Python de >>>.

Ahora estamos listos para controlar el servo. Primero debemos importar la biblioteca RPiEstos primeros pasos te resultarán familiares si hiciste la LECCIÓN 27.

>>>importar RPi.GPIO como GPIO

Ahora necesitamos decirle al Pi qué esquema de numeración de pines queremos usarMe gusta usar los números de pin físicos (vea el diagrama en la LECCIÓN 25 ). Entonces, necesitamos emitir el comando:

>>>GPIO.setmode(GPIO.BOARD)

Ahora debemos decirle al Pi que el pin físico 11 será un pin de salida:

>>>GPIO.configuración(11,GPIO.SALIDA)

La posición de los servos está controlada por el ancho de pulso de una señal PWM de 50 Hz. Por lo tanto, necesitamos activar la secuencia PWM a 50 HzTenga en cuenta que para una señal de 50 Hz, el período de la señal es 1/50 = 0,02 segundos o 20 milisegundos. Tenga en cuenta este Período, ya que volveremos a él más adelante. Comenzamos creando un objeto PWM en el Pin 11 con una señal de 50 Hz con el comando:

>>>pwm=GPIO.PWM(11,50)

Ahora podemos iniciar la secuencia pwm dando un comando para especificar el DutyCycle de la señal. Antes de hacer esto, necesitamos hablar un poco sobre cómo funcionan los servos. Un servo típico quiere ver una frecuencia de 50 Hz en la línea de control. La posición a la que se mueve depende del ancho de pulso de la señal. La mayoría de los servos se comportan más o menos como tales, pero deberá ajustar estos números para su servo en particular. Por lo general, el servo irá a la posición completamente izquierda cuando vea un ancho de pulso de 1 milisegundo, irá a la posición media cuando vea un ancho de pulso de 1,5 milisegundos y irá a la posición completamente a la derecha cuando vea un ancho de pulso de 1,5 milisegundos. ancho de pulso de 2 milisegundos. Sin embargo, tenga en cuenta que en Raspberry Pi no especificamos un ancho de pulso, pero especificamos un DutyCycle. Entonces, podemos usar la siguiente relación:

DutyCycle =PulseWidth/Period

Recuerda que Periodo = 1/frecuencia, entonces:

DutyCycle = PulseWidth/(1/frecuencia) = PulseWidth * frecuencia

El PulseWidth que nos dará una posición completamente a la izquierda es 1 milisegundo. Ahora calculamos el DutyCycle aplicado para darnos la posición deseada:

DutyCycle = PulseWidth*frequency=.001 *50 = .05 = 5%

Entonces, para una señal de 50 Hz, si configuramos DutyCycle en 5, entonces deberíamos ver que el servo se mueve a la posición completamente izquierda. De manera similar, si configuramos DutyCycle en 7.5, deberíamos obtener la posición media, y si lo configuramos en 10, deberíamos estar en la posición correcta completa. Puede obtener todas las posiciones intermedias escalando linealmente entre 5 y 10. Tenga en cuenta que estos valores variarán entre marcas y entre servos individuales, así que juegue con su servo para calibrarlo. Ahora estamos listos para aplicar un comando para posicionar el servo. Si queremos que el servo esté completamente a la izquierda, debemos configurar el DutyCycle al 5%. Lo hacemos con el comando:

>>>pwm.inicio(5)

Esto iniciará la señal PWM y la configurará al 5%. Recuerde, ya especificamos la señal de 50 Hz cuando creamos el objeto pwm en nuestros comandos anteriores. Ahora, si queremos cambiar la posición, podemos cambiar el DutyCycle. Por ejemplo, si queremos ir a la posición media, queremos un DutyCycle de 7.5, que podemos obtener con el comando:

>>>pwm.ChangeDutyCycle(7.5)

Ahora, si queremos la posición correcta completa, queremos un ciclo de trabajo de 10, que obtendríamos con el comando:

>>>pwm.ChangeDutyCycle(10)

Recuerde, no es DutyCycle el que realmente controla la posición del servo, es PulseWidth. Estamos creando DutyCycles para darnos el PulseWidth deseado.

Ahora, juegue con su servo particular y luego encuentre los DutyCycles específicos que lo lleven a las posiciones completamente izquierda y derecha. Para mi servo, encuentro que la izquierda completa está en DutyCycle = 2, y la derecha completa está en DutyCycle = 12. Con estos valores, puedo crear una ecuación lineal que me dará cualquier ángulo que desee entre 0 y 180. Esto hará que la Raspberry Pi se comporte mucho más como la operación simple e intuitiva de Arduino.

Para hacer la ecuación lineal necesito dos puntos. Bueno, yo sé que para un ángulo deseado de 0, debo aplicar un DutyCycle de 2. Este sería el punto (0,2). Ahora también sé que para un ángulo deseado de 180, debo aplicar un DutyCycle de 12. Este sería el punto (180,12). Ahora tenemos dos puntos y podemos calcular la ecuación de la recta. (Recuerde, juegue con su servo... sus números pueden ser ligeramente diferentes a los míos, pero la metodología a continuación funcionará si usa sus dos puntos)

Recuerda que la pendiente de una recta será:

m=(y2-y1)/(x2-x1)=(12-2)/180-0)=10/180 = 1/18

Ahora podemos obtener la ecuación de la línea usando la fórmula punto pendiente.

y-y1=m(x-x1)

y-2=1/18*(x-0)

y = 1/18*x + 2

Introduciendo nuestras variables reales, obtenemos

Ciclo de trabajo = 1/18* (Ángulo deseado) + 2

Ahora para cambiar a esa posición, simplemente usamos el comando:

pwm.ChangeDutyCycle(DutyCycle)

Espero que esto tenga sentido. Mire el video mientras lo paso con cuidado. Si el artículo anterior no tiene sentido, con suerte el video aclarará las cosas.

 

LECCIÓN 29:

Configuración de pins GPIO como entradas

Ahora estamos listos para aprender a "leer" valores de los pins GPIO de Raspberry PiPara demostrar esto, mostraremos un ejemplo simple usando botones. 

Para empezar, debe armar un circuito simple que conecte dos botones a su Raspberry Pi. Conecte de acuerdo con este esquema.

  Circuito simple que conecta dos botones a la Raspberry Pi
Circuito simple que conecta dos botones a la Raspberry Pi

Tenga en cuenta que una pata de cada botón está conectada al riel de tierra en la protoboard, que está conectado a la tierra Pi en el pin físico 6. Luego conectamos la pata izquierda del botón izquierdo al pin físico 16, y la pata izquierda del botón derecho al pin físico 12.

Para poder leer el estado de estos botones, es decir, si están siendo presionados o no, necesitamos escribir un programa en python. Para empezar debemos importar la biblioteca GPIO y especificar que queremos

 Ahora estamos listos para configurar los modos de pin en los pines que estamos usando. Estamos usando los pines 12 y 16. Configuraremos variables para que podamos hacer referencia a los pines mediante variables descriptivas.

Tenga en cuenta que en nuestros comandos GPIO.setup, no sólo estamos definiendo los pines como entradas, también estamos activando resistencias pullup con

Con este comando, la Raspberry pi coloca una resistencia pullup entre el pin designado y el riel de 3.3 V. Esto significa que si simplemente leemos el pin, leeremos un "1", "Verdadero" o "Alto", ya que el pin verá el riel a través de la resistencia pullup. Si conectamos el pin a tierra presionando un botón o interruptor, el pin leerá un "0", "Falso" o "Bajo" porque será una conexión directa a tierra y, a medida que la corriente fluya a través de la resistencia pullup, los 3,3 voltios caerán a través de la resistencia pullup. Por lo tanto, el pin ve 0 voltios.

El resultado es que con la resistencia pullup activada, el pin siempre informará un "1" hasta que algo conecte el pin a tierra, y luego leerá un "0". Esta configuración debería funcionar para la mayoría de las cosas, pero si obtiene resultados impredecibles que pueden resultar del ruido eléctrico, intente usar resistencias pullup externas.

 Ahora estamos listos para leer los valores de los pines.

Observe que leemos desde el pin usando el comando GPIO.input. También tenga en cuenta que para obtener resultados confiables, generalmente necesita poner un pequeño retraso en su código. Esto ayudará a eliminar el rebote del botón y también dará resultados más estables.

Bien, entonces nuestro código final es el siguiente:

Este código se ubicará y monitoreará los botones, y cuando se presione uno, informará que ese botón ha sido presionado.

 

LECCIÓN 30:

Control de LED desde botones pulsadores

En esta lección, le mostraremos cómo puede controlar los LED desde los botones pulsadores. 

Para comenzar, deberá expandir el circuito que construimos en la LECCIÓN 29 para incluir dos LED. El siguiente esquema muestra cómo deberá conectar las cosas (Además, recuerde que puede ver el pinout de Raspberry Pi en la LECCIÓN 25 ). 

 Este circuito controla dos LED de botones pulsadores
Este circuito controla dos LED de botones pulsadores

En la lección en video, lo guiamos a través del código paso a paso. 

Usamos las técnicas aprendidas en la LECCIÓN 29 para detectar si se ha presionado un botón. Introducimos dos nuevas variables, BS1 y BS2, para indicar el estado de los LED'sUn BS1=Falso significa que el LED1 está apagado. Un BS1=Verdadero significa que el LED está encendido. Este concepto nos permite determinar si debemos encender o apagar el LED cuando se presiona el botón. Básicamente, queremos ponerlo en el estado opuesto cuando se presiona un botón. El código está debajo. El video muestra cómo funciona.

 

LECCIÓN 31:

Crear un LED regulable con Python

En esta lección estamos listos para reunir mucho de lo que aprendimos en lecciones anteriores. Crearemos LED regulables que responderán a dos botonesSi se presiona uno, el LED se atenuará gradualmente. Si se presiona el otro, el LED se volverá más brillante gradualmente. Esto requerirá que usemos nuestras habilidades en el uso de entradas GPIO, resistencias pullup, salidas GPIO y PWM.

Para mayor comodidad, usaremos el mismo circuito que usamos en la LECCIÓN 30, que se muestra a continuación.

 Este circuito controla dos LED de botones pulsadores
Este circuito controla dos LED de botones pulsadores

El objetivo de este circuito es que queremos que los LED se vuelvan más brillantes cada vez que se presiona el botón derecho, y queremos que se atenúen cada vez que se presiona el botón izquierdo.

El video anterior muestra y explica este código.

LECCIÓN 32:

Opciones para entrada analógica en Raspberry Pi

En este punto, hemos aprendido cómo escribir valores digitales en los pines GPIO, hemos aprendido a simular una salida analógica usando PWM y hemos aprendido cómo hacer lecturas digitales desde los pines. Si eres como yo y vienes del mundo de Arduino, entonces probablemente te estarás preguntando: "Ahora, ¿qué pasa con las lecturas analógicas?". El arduino tiene pines A0-A5 que facilitan y agilizan el trabajo de lectura de valores analógicos de cosas como fotómetros, sensores y otros elementos del circuito.

La conclusión es que, desafortunadamente, no hay capacidades análogas en Raspberry Pi. No hay forma de leer directamente los voltajes analógicos.

Algunos sugieren incorporar varios chips convertidores de analógico a digital en sus circuitos que requieren lecturas analógicas. Para mí, mi solución preferida es simplemente agregar un Arduino al circuito Raspberry Pi. Hay muchas versiones de factor de forma muy pequeño del Arduino. Por ejemplo, el nano es muy pequeño y hay algunos ejemplos que son aún más pequeños. Algunas de estas pequeñas implementaciones se pueden encontrar por menos de $10.

Si adopta este enfoque, todo lo que tiene que hacer es aprender a comunicarse entre Raspberry Pi y Arduino, ya sea a través de USB o Ethernet. Le muestro cómo hacer ambas cosas en la serie de lecciones en este sitio WEB "Uso de Python con Arduino". Esto muestra cómo comunicarse entre python y arduino usando el USB, usando Ethernet o usando las radios Xbee. Dado que python se ejecuta en Raspberry Pi, todas las técnicas que se enseñan en esas lecciones se pueden aplicar a Raspberry Pi.

En nuestro paquete de instrumentación de globos de gran altitud, en realidad ejecutamos una Raspberry pi que controla dos nano microcontroladores arduino. El arduino controla la IMU de 9 ejes y el otro arduino ejecuta GPS, temperatura, presión y otros sensores. El raspberry pi y Arduinos se comunican a través de un pequeño conmutador Ethernet integrado. El sistema se comunica con el suelo a través de radios bala de ubicuidad de 1 vatio.

Por lo tanto, la Raspberry Pi no debe verse como un reemplazo de Arduino, debe verse como un dispositivo complementario que puede funcionar bien junto con Arduino.

LECCIÓN 33:

Arranque desde la interfaz gráfica de usuario

Si ha estado siguiendo estas lecciones, hemos estado operando desde la ventana del terminal y la línea de comandos de Linux. Has aprendido que puedes hacer lo que quieras de manera simple y eficiente desde la ventana de la terminal. Raspberry Pi, sin embargo, tiene una interfaz gráfica. 

En este tutorial, le mostramos cómo iniciar en la interfaz gráfica y luego cómo orientarse.

LECCIÓN 34:

Instalar un producto gratuito similar a Office en Raspberry Pi

Ahora que estamos arrancando en la interfaz gráfica de usuario en Raspberry Pi, podemos explorar algunas aplicaciones útiles que se ejecutarán en Pi. 

LibreOffice es un producto gratuito que hará muchas de las cosas que hace Microsoft Office. Esta es una gran adición a su Raspberry Pi. Puede instalar este producto yendo a la ventana del terminal y en el símbolo del sistema en su Raspberry Pi escriba:

$ sudo apt-get install libreoffice

Ahora el nuevo software debería aparecer debajo del botón de menú. El video anterior lo guía a través de algunas de las características interesantes del producto.

 

LECCIÓN 36:

Opere su Raspberry Pi en modo de un solo clic

Realmente odio tener que hacer doble clic en íconos o programas para que se abran. 

Esta lección es rápida, pero explica cómo hacer que su Raspberry Pi abra archivos, carpetas y programas con un solo clic del ratón. 

Para hacer esto, inicie la Raspberryl Pi en la interfaz gráficaLuego haga clic en el icono del archivador para abrir una carpeta. Luego, en Editar, seleccione PreferenciasLuego marque la casilla que dice "Abrir archivos con un solo clic". 

¡Hecho!

 

LECCIÓN 37:

Ejecute un escritorio gráfico remoto desde Raspberry Pi

En lecciones anteriores, le mostramos cómo iniciar sesión de forma remota en su Raspberry Pi usando el programa PuTTY SSH. Esto es excelente para muchas cosas, pero a veces le gustaría tener el escritorio gráfico completo de Raspberry Pi disponible desde una computadora remota.

 En esta lección, mostramos cómo ejecutar la interfaz gráfica de usuario de Pi de forma remotaEl software es TightVNCserver y realmente funciona muy bien. El video anterior lo guía a través de la instalación y ejecución del software.

LECCIÓN 38

Cámara IP Raspberry Pi de bajo costo

En esta lección te damos un tutorial paso a paso sobre cómo crear una cámara IP de bajo costo a partir de una Raspberry Pi y el módulo de cámara Raspberry Pi. 

Este video lo llevará a través de los pasos uno a la vez. Además, el tutorial a continuación tiene los comandos que puede copiar y pegar. Le recomendamos que siga el video y obtenga los pasos de las instrucciones a continuación, para que no tenga que escribir los comandos manualmente. Ten mucho cuidado . debe ser preciso al seguir estas instrucciones para que las cosas funcionen.

 

Bien, ahora suponiendo que tiene su Raspberry Pi en funcionamiento y puede conectarse a través de Putty o SSH, estos son los pasos para que su excelente cámara IP personal funcione. Escribirá o copiará y pegará estas líneas una a la vez en la línea de comandos de Raspberry Pi.

No es posible ver el contenido de Powr.io debido a tu configuración de cookies actual. Haz clic en la Política de cookies (funcional y marketing) para aceptar la Política de cookies de Powr.io y poder ver el contenido. Puedes encontrar más información al respecto en la Política de privacidad de Powr.io.

El proyecto definitivo de Raspberry Pi:

hasta el espacio con Raspberry Pi

Tenemos lo que consideramos el proyecto Ultimate Raspberry Pi. enviamos un paquete de instrumentos Raspberry Pi al espacio y telemedimos datos en vivo a la tierra, incluido video en vivo a través de radios HAM. Hacemos la telemetría con una técnica innovadora que llamamos Ethernet sobre Ham, donde usamos la banda Ham de 2,39 GHz justo debajo del WiFi comercial.

Hemos tenido 5 lanzamientos exitosos y nos estamos preparando para el lanzamiento de Eagle VI a principios de febrero de 2017. Mire el video y vea una demostración en vivo de nuestro sistema basado en raspberry pi.

 ¡Disfrutar!