¿Busca una manera de comenzar con Rust?  Aquí se explica cómo construir un programa de hardware básico con Rust en la Raspberry Pi.

Cómo comenzar con el óxido en Raspberry Pi

Anuncio Si está interesado en la programación, probablemente haya oído hablar de Rust. 7 Razones. Rust es el nuevo lenguaje de programación más emocionante. 7 Razones. Rust es el nuevo lenguaje de programación más emocionante. ¿Desea comenzar a programar? He aquí por qué Rust es el nuevo lenguaje de programación más emocionante y accesible. Lee mas .

Anuncio

Si está interesado en la programación, probablemente haya oído hablar de Rust. 7 Razones. Rust es el nuevo lenguaje de programación más emocionante. 7 Razones. Rust es el nuevo lenguaje de programación más emocionante. ¿Desea comenzar a programar? He aquí por qué Rust es el nuevo lenguaje de programación más emocionante y accesible. Lee mas . El lenguaje, diseñado por Mozilla, es muy apreciado por los desarrolladores y continúa creciendo en devotos.

La Raspberry Pi es la navaja suiza de las computadoras pequeñas, y es perfecta para aprender código. Combinemos los dos e instalemos Rust en una Raspberry Pi.

Configurando su Raspberry Pi

Para este proyecto necesitarás:

  • Raspberry Pi.
  • CONDUCIDO, LIDERADO.
  • Resistencia de 220-1k Ohm.
  • Tablero y cables de conexión.

Un diagrama de circuito que muestra un LED y una resistencia conectados a los pines GPIO 18 y GND de una Raspberry Pi

Configure su circuito con GPIO 18 conectado a la pata positiva del LED, y la pata negativa del LED a la resistencia, y de vuelta a un pin GND en el Pi.

Este tutorial se realizó utilizando una Raspberry Pi 3B + con Raspbian Stretch en modo de escritorio. También funcionaría perfectamente a través de una conexión SSH remota, aunque diferentes modelos de Pi y diferentes sistemas operativos podrían tener resultados variables.

Cómo instalar Rust en Raspberry Pi

El comando Terminal requerido para instalar Rust

Para instalar rust, dirígete a la página de instalación de rust-lang y copia el comando de instalación en tu terminal. Cuando se le solicite, elija una instalación predeterminada.

Las tres opciones presentadas por el instalador Rust.

El instalador le notificará cuando esté completo, aunque la instalación puede demorar un tiempo dependiendo de su conexión.

Después de la instalación

Rustc y Cargo están instalados, pero actualmente no están en RUTA

La instalación es exitosa, pero aún no puede comenzar a usarla. Si intenta verificar el óxido y la carga por versión, obtendrá un error. Por lo general, debe agregar un idioma a su RUTA para usarlos en la línea de comando.

Afortunadamente, Rust hace esto por usted, y todo lo que necesita hacer es reiniciar su Pi, o cerrar sesión y volver a iniciarla. Ahora comprobar si hay óxido y carga debería funcionar.

Prueba de óxido y carga en PATH con sus números de versión.

Compilará y creará todos sus scripts desde la terminal, pero también necesitará un editor de código. En este proyecto usaré Code-OSS, una compilación comunitaria de VS Code que puede instalar en Pi, pero no es esencial. Cualquier editor de código lo hará.

Crear un proyecto de óxido

Para crear un proyecto Rust, cree un nuevo directorio e ingréselo escribiendo

 mkdir YourFolder cd YourFolder 

Use Cargo para crear un nuevo proyecto Rust.

 cargo new YourProject 

Recibirá una confirmación de que el nuevo proyecto ha sido creado.
Hacer un nuevo directorio en la terminal y poner un proyecto de óxido en blanco

Ingrese la nueva carpeta del proyecto y enumere su contenido.

 cd YourProject ls 

Verá una carpeta llamada src y un archivo llamado Cargo.toml . Estos dos elementos constituyen la base de cada proyecto Rust.

Un proyecto simple de óxido, explicado

Un ejemplo de script de óxido de hello-world

Primero, abramos el directorio src y abramos main.rs en un editor de código. Verá que el nuevo proyecto viene completo con un script "Hello World" para comenzar.

La sintaxis de Rust será familiar para aquellos que han usado lenguajes C o Java anteriormente. Esto difiere de Python, que utiliza espacios en blanco, punto y coma y llaves para denotar bloques de código. El código de óxido debe compilarse y compilarse antes de ejecutarse.

Un archivo Cargo.toml en blanco

De vuelta en la carpeta principal del proyecto, abra Cargo.toml en un editor de código. Cualquiera que haya codificado en JavaScript o Ruby probablemente lo encuentre familiar. La información del proyecto, las instrucciones de compilación y las dependencias se enumeran en este archivo. Los paquetes se llaman Crates in Rust, y usaremos uno más tarde para acceder a los pines GPIO de la Raspberry Pi.

Construyendo el Proyecto de Muestra

De vuelta en la ventana de terminal, asegúrese de estar en el directorio de su proyecto y compile el proyecto.

 cargo build 

Usando el comando Cargo Build para construir el proyecto de muestra

Esto crea otra carpeta dentro de su proyecto llamada target . También notará un nuevo archivo llamado Cargo.lock . Cuando se trabaja con un equipo o se codifica algo para implementar en un servidor, este archivo bloquea el proyecto a una versión que se compiló y compiló previamente con éxito. Mientras aprende, puede ignorar este archivo de forma segura.

Dentro de la carpeta de destino hay una subcarpeta llamada depuración, y aquí es donde estará su archivo ejecutable. En Mac y Linux, ejecute su proyecto escribiendo:

 ./YourProject 

En Windows, tendrá un nuevo archivo EXE que puede ejecutar haciendo doble clic.

La estructura de archivos del proyecto de óxido construido junto con el programa hello world en ejecución.

¡Éxito! Convirtamos este proyecto en algo que use los pines GPIO.

Configuración de pines GPIO

Agregar la caja Rust GPIO Zero al archivo Cargo.toml

Utilizaremos la caja rust_gpiozero de Rahul Thakdoor para este proyecto. Si bien no es la única forma de acceder a los pines GPIO, esta caja está diseñada para ser similar a la biblioteca Python GPIO Zero.

En lugar de descargar manualmente la caja, pegue su nombre bajo dependencias en el archivo Cargo.toml.

 [dependencies] rust_gpiozero = "0.2.0" 

Guárdelo y abra su terminal. En esta etapa, no tiene sentido reconstruir el proyecto ya que ningún código ha cambiado. Cargo proporciona una función que verificará que el código se compilará y que todas las dependencias están presentes.

 cargo check 

La verificación de carga verificará el código en busca de errores e instalará dependencias

Dependiendo de su conexión, esto puede demorar unos minutos, pero solo necesita hacerlo una vez, cuando agrega o cambia elementos en el archivo Cargo.toml.

Hola parpadeo

Una Raspberry Pi con un LED conectado

Ahora cambiará su guión de hello world a un guión de luz parpadeante. Comience abriendo main.rs en su editor. Si desea omitir la codificación, puede encontrar el script terminado en Github Gist.

Debe informar al compilador que está utilizando la biblioteca rust_gpiozero, por lo que en la parte superior del script agregue una referencia a la biblioteca.

 use rust_gpiozero::*; 

Al igual que el boceto de parpadeo basado en Python normal, necesitamos una forma de agregar un retraso entre encender y apagar el LED. En Rust, usamos dos elementos de la biblioteca estándar para hacer esto:

 use std::thread::sleep; use std::time::Duration; // note the capital D! 

Ahora en su función principal, agregue una variable para su pin LED y un bucle para contener las instrucciones parpadeantes.

 let led = LED::new(18); // sets a variable for the led pin loop{ // starts a loop led.on(); sleep(Duration::from_secs(1)); // creates a 1 second pause led.off(); sleep(Duration::from_secs(1)); } 

¡Eso es! Guarde su script y regrese a la terminal.

Pruébalo

Una imagen que muestra el LED iluminado

Construya el proyecto nuevamente para actualizar el ejecutable. Alternativamente, el comando ejecutar construye y ejecuta el script en un solo paso:

 cargo run 

Debería ver un LED parpadeante. ¡Bien hecho! Acaba de hacer su primer programa de hardware con Rust. Presione Ctrl-C para volver a la terminal. Si tiene algún error, revise su código minuciosamente para ver si faltan dos puntos, punto y coma o corchetes.

Un futuro emocionante con óxido en Raspberry Pi

Actualmente, Python no está en peligro de ser reemplazado por Rust. Es fácil de aprender y Python tendrá muchas aplicaciones en los próximos años.

Dicho esto, Rust tiene un gran revuelo al respecto, y hay muchas razones por las que debes aprender el idioma. 7 Razones Rust es el nuevo lenguaje de programación más emocionante 7 Razones Rust es el nuevo lenguaje de programación más emocionante ¿Quieres comenzar con la programación? He aquí por qué Rust es el nuevo lenguaje de programación más emocionante y accesible. Lee mas !

Explora más sobre: ​​Raspberry Pi, Rust.