Control de frambuesa pi. Frambuesa Pi: control LED. Restaurar Raspberry Pi después de fallas

Cuando compras una Raspberry Pi, sólo estás comprando placa de circuito impreso, que viene incluso sin fuente de alimentación y Sistema operativo. Este artículo tiene como objetivo darte una idea de cómo configurar tu Raspberry Pi para que puedas comenzar a utilizarla.

Raspberry Pi es una minicomputadora que tiene muchos puertos que se pueden usar para conectar varios dispositivos periféricos. Puede conectar un monitor independiente a través de Puerto HDMI y teclado y ratón mediante conectores USB, la Raspberry Pi también dispone de un puerto Ethernet, para que puedas utilizar Internet en tus proyectos de Raspberry Pi.

EN este manual Se le guiará por una serie de pasos que le permitirán conectar su Raspberry Pi a su computadora portátil o de escritorio, eliminando la necesidad de usar dispositivos individuales Para frambuesa Pi.

Hardware y software

  • 1x;
  • 1 cable Ethernet;
  • 1 x computadora portátil o de escritorio;
  • 1 tarjeta SD ( tamaño mínimo 4GB);
  • 1x microcable USB (para alimentar la Raspberry Pi).

Antes de continuar, necesitaremos algún software que deba descargarse. A continuación se muestra una lista software y enlaces donde puedes descargarlo gratis:

  • Sistema operativo Raspbian: Cuando compras una Raspberry Pi, tienes la opción (en algunas tiendas) de comprar un sistema operativo preinstalado en la tarjeta SD, o simplemente descargar un archivo zip desde https://www.raspberrypi.org/downloads/ que contiene la imagen del sistema operativo Raspbian, para escribirla en tu tarjeta SD;
  • SDFormateador: La SD Card Association tiene un software muy bueno que puede usarse para formatear su tarjeta SD. Visite https://www.sdcard.org/downloads/formatter_4/index.html y descargue SDFormatter para su sistema operativo;
  • Win32DiskImager: Para grabar el sistema operativo Raspbian en su tarjeta SD, necesitará utilidad útil Win32DiskImager. Puedes descargarlo aquí;
  • : Deberá determinar la dirección IP de su Raspberry Pi cuando la conecte a su computadora. Simplemente descargue este programa http://www.advanced-ip-scanner.com/;
  • Masilla: PuTTy es un cliente SSH que se utilizará para conectarse a Raspberry Pi. Puedes descargarlo aquí http://www.putty.org/;
  • VNC: Y el último es un servidor VNC. Puedes descargarlo aquí https://www.realvnc.com/download/.

Una vez que haya descargado todo este software, descomprímalo e instálelo.

Instalación del sistema operativo

  1. Inserte la tarjeta SD en el lector de tarjetas y verifique qué letra fue asignada a la unidad.
  2. Abra Win32DiskImager, es posible que deba ejecutarlo como administrador.
  3. Seleccione la imagen del sistema operativo Raspbian descomprimido.
  4. Seleccione la letra asignada a su tarjeta SD en la lista desplegable del dispositivo. Asegúrate de seleccionar letra correcta unidad para evitar dañar los datos de cualquier otra unidad.
  5. Hacer clic Anotar(Escribir) y espere a que finalice.
  6. Cierre Win32DiskImager, retire la tarjeta SD e insértela en la Raspberry Pi.

Nota: Después de grabar el sistema operativo, notarás que solo quedan unos pocos megabytes en la tarjeta SD. Esto se debe a la partición creada, el resto espacio libre oculto. Podrás solucionar este problema una vez que nos conectemos a la Raspberry Pi.

Internet compartido a través del puerto Ethernet

Una vez que la tarjeta SD esté lista, insértala en la Raspberry Pi. Conecte el cable de alimentación USB. Y también conecta la Raspberry Pi y el portátil con un cable Ethernet.

Si está conectando la Raspberry Pi a un enrutador con acceso a Internet, puede omitir este paso.

Comprobando la dirección IP asignada a su Raspberry Pi

Es simple, asegúrese de que su Raspberry Pi esté conectada a Redes Ethernet su computadora (directamente o a través de un enrutador). Si todo funciona bien, verás que los LED del tablero parpadean.


Conexión a Raspberry Pi a través de PuTTy

¡Excelente! Antes de continuar, veamos lo que ya hemos hecho hasta ahora.

En este artículo veremos cómo controlar las entradas/salidas (GPIO) de la microcomputadora Raspberry Pi a través de la interfaz web. Esto permite gestionar varios dispositivos a través de Internet.

Peculiaridades de este proyecto:

programa de servidor ejecutándose en Raspberry Pi para leer valores GPIO

usando mysql base de datos para almacenar el estado GPIO

– usando el servidor web Apache2 para controlar GPIO a través del navegador web

Entonces, lo primero que necesitas instalar en tu Raspberry Pi es:

servidor web apache

servidor mysql

– phpMyAdmin (hay una versión rusa)

Porque micro computadora frambuesa Pi se ejecuta en sistemas Linux, por lo que Internet está lleno de descripciones en ruso sobre cómo instalar todos estos paquetes. Por tanto, no nos detendremos en esto. Hay buenas instrucciones para Raspberry Pi, pero Inglés: leer.

Acceso completo a la raíz

Para obtener un completo acceso raíz necesitas escribir el comando en la terminal sudo-i, que transfiere al usuario a una sesión como root.

Si ya ha habilitado la cuenta raíz, puede omitir más, si no, después comandos sudo-se debe especificar una contraseña usuario root, esto se hace mediante el comando raíz de contraseña. Luego ingrese la contraseña 2 veces. Ahora puedes cerrar la sesión SSH e iniciar sesión nuevamente como root.

Configuración de la base de datos

Para simplificar el trabajo, realizaremos todas las acciones con MySQL desde el shell phpMyAdmin.

Descargar archivos de proyecto

Artículo original en inglés (traducción de A.V. Koltykov para el sitio web cxem.net)

Figura 1. Diagrama de bloques del hardware del sistema

Describir el proceso de instalación del hardware del sistema lleva mucho tiempo, pero es bastante sencillo. En primer lugar, debe conectar la fuente de alimentación a la toma de corriente mediante un cable de extensión, cortando el enchufe del cable de extensión. Pele los cables y asegúrelos con tornillos a los terminales de la fuente de alimentación. A continuación, conecte la Raspberry Pi a la fuente de alimentación cortando el conector tipo A de Cable USB y conectando los cables a los terminales correspondientes de la fuente de alimentación, e insertando el conector microusb en el conector de alimentación RPi. Después de esto, debes pelar ambos extremos de los dos hilos del cable flexible y conectarlos a los terminales correspondientes marcados como GND y JDVcc del bloque de alimentación y relés. Finalmente, retire el puente que conecta el pin etiquetado JDVcc al pin etiquetado Vcc. Si no retira este volcador, se aplicará un voltaje de 5 V a los pines de 3,3 V del RPi, lo que probablemente destruirá la computadora.

Ahora que se suministra energía a todos los terminales, conecte las líneas IN1-IN8 del módulo de relé a los pines GPIO correspondientes usando un cable flexible como se muestra en la Figura 2. El código presentado en este artículo fue diseñado para el caso en el que el IN1-IN7 pines conectados a los pines GPIO1-GPIO7. Si decide conectar estos pines de manera diferente, deberá modificar su código en consecuencia.

La distribución de pines GPIO de Raspberry Pi se muestra en la Figura 2. Los puertos de E/S de Raspberry Pi funcionan a 3,3 V y el módulo de relé funciona a 5 V. Sin embargo, los relés están aislados de los pines GPIO de Raspberry Pi mediante optoacopladores. Los optoacopladores se pueden alimentar con un voltaje de 3,3 V desde el pin Vcc. El pin Vcc del módulo de relé se puede alimentar con un voltaje de 3,3 V desde el conector GPIO de Raspberry Pi. Asegúrese de quitar el puente que pone en cortocircuito los terminales Vcc y JDVcc del módulo de relé. El pin JDVcc debe ser de 5V para funcionamiento correcto relé. El módulo de relé en cuestión abre los contactos en estado activo. De ello se deduce que debe poner a tierra los terminales IN1-IN8 para encender el relé.

Figura 2. Distribución de pines GPIO de Raspberry Pi

Advertencia: Tenga extrema precaución al conectar componentes de hardware del sistema. Consecuencias de la derrota descarga eléctrica puede resultar ser ¡fatal!

Recorte los cables de extensión restantes con enchufes y asegure los cables a los terminales apropiados en el módulo de relé. Conecte también los hilos del cable que posteriormente conectará el sistema a la toma de pared a los terminales correspondientes del módulo de relé. Todo el hardware del sistema se puede colocar en un estuche para lápices o en un contenedor similar. Piense en el gabinete con anticipación para evitar tener que desconectar y volver a conectar los cables a los terminales del módulo de relé una vez que haya terminado de trabajar en el hardware del sistema. También inserté varias abrazaderas de cable atornilladas en los orificios correspondientes del chasis para limitar la tensión del cable (Figura 3).

Figura 3. Instalación del hardware del sistema

Entorno de software

Empecé a crear el mío propio. entorno de software desde la instalación de la imagen del sistema operativo Raspbian. Antes de comenzar a instalar la imagen del sistema operativo, deberá preparar una pantalla que admita HDMI, un teclado y un mouse con Conectores USB, y también cable de red para conectarse al sistema a través de protocolo ethernet. También puede establecer una conexión con el sistema a través de adaptador wifi. Cree una tarjeta SD de arranque para iniciar su sistema por primera vez, siguiendo las instrucciones en http://www.raspberrypi.org/documentation/installation/installing-image. Durante el primer arranque del sistema, el instalador configurará el sistema operativo y colocará los datos de su imagen en todo el espacio disponible de la tarjeta de memoria. Después del primer inicio, debería poder iniciar sesión con las credenciales de su cuenta de usuario estándar (nombre de usuario "pi" y contraseña "raspberry").

Actualizar el sistema es una acción inteligente que debe realizarse inmediatamente después de iniciar sesión correctamente. La imagen del sistema operativo Raspbian se basa en paquetes de software de la distribución Debian y utiliza la aplicación aptitude como administrador de paquetes de software. Además, necesitará paquetes de software llamados python, pip y git. También recomendaría instalar Webmin para simplificar el proceso de administración del sistema. Instrucciones para instalando webmin se encuentran en http://www.webmin.com/deb.html (siga las recomendaciones dadas en la sección "Uso del repositorio APT de Webmin"):

Sudo apt-get update && sudo apt-get dist-upgrade sudo apt-get install python python-pip git git-core

Después de esto, tendrás que configurar una conexión mediante un adaptador Wi-Fi. puedes encontrar instrucciones detalladas en el recurso http://www.raspberrypi.org/documentation/configuration/wireless. Recomiendo usar la opción wicd-courses. En en esta etapa puedes cambiar los parametros Configuraciones de frambuesa Pi usando el comando sudo raspi-config. Luego de ingresar este comando, tendrá acceso a una conveniente interfaz gráfica que le permitirá configurar los valores de parámetros como el volumen. RAM compartido con GPU, parámetros de rendimiento procesador central, modo de uso GUI durante el proceso de carga y otros.

a otros herramienta útil es el IDE de Cloud 9. Cloud 9 IDE le permitirá editar su código a nivel de Raspberry Pi a través de un navegador web. Este IDE también le dará acceso a la interfaz. línea de comando dentro de un navegador web. Puede desarrollar y ejecutar cualquier código sin salir de su navegador web. Colud 9 IDE requiere versión específica Marco NodeJS. El uso de una versión no compatible del marco resultará en una pérdida permanente accidentes Rendimiento del servidor Cloud 9, que puede desanimar a cualquier usuario. Las instrucciones para instalar el marco NodeJS en una computadora Raspberry Pi se proporcionan en http://weworkweplay.com/play/raspberry-pi-nodejs.

Software

Decidí crear la interfaz de usuario de mi sistema utilizando tecnologías HTML5, CSS3 y JavaScript. La combinación de las tres tecnologías mencionadas es poderosa herramienta para crear interfaces de usuario. Idioma programación javascript le permite utilizar una API simple para interactuar con los servidores. Además, existen muchas bibliotecas para el lenguaje de programación JavaScript, como JQuery, Bootstrap y otras, entre las que puedes elegir la más adecuada. HTML5 proporciona la API WebSocket, que permite a un navegador web mantener una conexión y comunicarse a través de esa conexión. Esta circunstancia hace que la API WebSocket sea especialmente útil para la implementación. aplicaciones dinámicas y aplicaciones de streaming como juegos y chats. Mesas en cascada estilos CSSútil para peinar varios elementos páginas HTML. Si se usan correctamente, le permiten crear dinámicas. interfaces de usuario cambiando los estilos de los elementos de la página cuando ocurren ciertos eventos. Para este proyecto, elegí el framework JQuery para manejar eventos, Bootstrap CSS para diseñar los botones en una cuadrícula y el lenguaje de programación JavaScript para implementar mecanismos de intercambio de datos basados ​​en la API WebSocket.

Bibliotecas

La aplicación del servidor que se ejecuta a nivel de Raspberry Pi debe controlar el estado de los pines GPIO. Tablas de frambuesa Pi. También debe proporcionar una interfaz HTTP para pasar datos GUI y una interfaz WebSocket para pasar mensajes con comandos y datos de estado. Listo para instalar aplicación de servidor con una funcionalidad tan específica simplemente no existe, así que decidí crear mi propia implementación de servidor usando el lenguaje Programación en Python. Para simplificar el desarrollo de la aplicación de servidor descrita utilizando el lenguaje de programación Python, se encuentran disponibles módulos con implementaciones de métodos para trabajar con la interfaz GPIO de Raspberry Pi para crear servidor HTTP y para trabajar con la interfaz WebSockets. Dado que todos los módulos enumerados están diseñados para realizar las tareas asignadas, tuve que desarrollar una cantidad mínima de código.

Sin embargo, los módulos mencionados no están incluidos con el intérprete de Python y deben instalarse por separado. En primer lugar, necesitarás un módulo para controlar el estado de los pines del conector GPIO de la Raspberry Pi. La forma más sencilla cambiar el estado de los pines de este conector es utilizar la biblioteca RPi.GPIO, disponible en https://pypi.python.org/pypi/RPi.GPIO. Puede instalar el módulo correspondiente usando el siguiente comando:

Sudo pip instala RPi.GPIO

Trabajar con el módulo RPi.GPIO no presenta ninguna dificultad. Puedes encontrar ejemplos de uso. de este módulo en . El primer paso para trabajar con un módulo es importar su código al código del proyecto. Después de esto, tendrás que seleccionar un modo de funcionamiento. Se puede utilizar la constante GPIO.BOARD o la constante GPIO.BCM como identificador del modo de funcionamiento. La elección del modo de funcionamiento determina si se utilizan los pines del chip BCM o del conector de E/S al hacer referencia a los números de pin en todos los comandos posteriores. A continuación deberás indicar si los pines del conector en cuestión se utilizan para entrada o salida. Ahora puede utilizar las clavijas de este conector para el fin previsto. Finalmente, tendrás que llamar al método cleanup() para restablecer los pines GPIO. Listado 1 muestra ejemplo más simple utilizando el módulo RPi.GPIO.

Listado 1. Usando el módulo RPi.GPIO

Importar RPi.GPIO como GPIO # importa el código del módulo al código del proyecto GPIO.setmode(GPIO.BOARD) # indica que la numeración se usa para identificar los pines del conector GPIO.setup(0, GPIO.IN) # indica que el canal 0 se usará para la entrada GPIO.setup(1, GPIO.OUT) # indicando que el canal 1 se usará para la salida var1=GPIO.input(0) # lee el estado del canal 0 GPIO.output(1, GPIO.HIGH ) # configurando uno lógico en el canal 1 GPIO.cleanup() # restableciendo el estado de los pines del conector GPIO.

La Raspberry Pi no es sólo una minicomputadora diseñada para reproducir música en ella. También se puede utilizar en aplicaciones eléctricas más serias. Para ello dispone de líneas de entrada/salida. propósito general(GPIO), que veremos hoy.



Los GPIO están en el conector 2x13, donde puedes encontrar interfaces SPI, I2C, UART y líneas eléctricas de 3,3 V y 5 V.



Ocho de estos pines se pueden utilizar directamente como entrada o salida digital. Por lo tanto, se pueden utilizar para controlar LED, controladores de motor y otros dispositivos similares. Naturalmente, se les pueden conectar botones e interruptores para ingresar información en la Raspberry Pi.



Entonces, ¿cómo se gestionan las líneas GPIO en Raspberry Pi?


Primero necesitas instalar la biblioteca RPi.GPIO Python. Es posible que ya esté preinstalado en su distribución del sistema operativo Raspbian OS. Para comprobar esto, ingrese:


sudo pitón


Luego ingresa en la línea:


importar RPi.GPIO como GPIO


Si no aparece ningún error, entonces todo está bien. Pero si surge, debe seguir los siguientes pasos.


Primero, descargue la biblioteca RPi GPIO:


wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.3.1a.tar.gz


Luego extraiga los archivos:


tar zxf RPi.GPIO-0.3.1a.tar.gz


Luego vamos al directorio extraído:


CD RPi.GPIO-0.3.1a


E instale la biblioteca:


instalación de sudo python setup.py


Usando la biblioteca RPi.GPIO Python


# importar biblioteca importar RPi.GPIO como GPIO # usar la numeración del conector Raspberry Pi GPIO.setmode(GPIO.BOARD) # o GPIO.setmode(GPIO.BCM) # configurar los pines GPIO como entrada o salida GPIO.setup(11, GPIO.IN ) GPIO.setup(13, GPIO.OUT) # toma el valor de entrada del pin 11 input_value = GPIO.input(11) # establece valor de salida al pin 13 GPIO.output(13, GPIO.HIGH) #GPIO.output(13, GPIO.LOW)

La diferencia entre GPIO.setmode(GPIO.BOARD) Y GPIO.setmode(GPIO.BCM) Consiste en el sistema de numeración de pines. En el primer caso se utiliza la numeración del conector P1 a bordo de la Raspberry Pi, y en el segundo caso, la numeración de los pines del sistema en chip Broadcom, que es el núcleo de la Raspberry Pi. Debes saber que en el caso de BCM, la numeración de pines entre la primera y la segunda revisión es ligeramente diferente, y cuando usando TABLERO La revisión no hace ninguna diferencia, todo sigue igual.


Ahora conectemos los LED y los botones a la Raspberry Pi. Disponemos de ocho GPIO en el conector.



Conexiones:



Los valores de resistencia se pueden calcular de la siguiente manera. Utilizado en en este caso Los LED de 5 mm consumen 20 mA de corriente. El voltaje suministrado desde la Raspberry Pi es de 3,3 V. Entonces la resistencia será de 3,3 V / 20 mA = 165 ohmios. Para los botones se utilizaron resistencias de 1KOhm.




desde el momento importar suspensión importar RPi.GPIO como GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(16, GPIO.IN) GPIO.setup(18, GPIO.IN) GPIO.setup(11, GPIO.OUT) GPIO. setup(13, GPIO.OUT) GPIO.setup(15, GPIO.OUT) GPIO.output(11, GPIO.LOW) GPIO.output(13, GPIO.LOW) GPIO.output(15, GPIO.LOW) # estado - determina si el LED debe estar encendido o apagado = 0 # incremento - dirección del cambio de estado inc = 1 mientras es Verdadero: # botón presionado if (GPIO.input(16) == True): if (inc == 1): estado = estado + 1; más: estado = estado - 1; # estado máximo alcanzado, retroceder (disminuir) si (estado == 3): inc = 0 #estado mínimo alcanzado, retroceder (incrementar) elif (estado == 0): inc = 1 si (estado == 1): GPIO.output(11, GPIO.HIGH) GPIO.output(13, GPIO.LOW) GPIO.output(15, GPIO.LOW) elif (estado == 2): GPIO.output(11, GPIO.HIGH) GPIO. salida(13, GPIO.ALTO) GPIO.salida(15, GPIO.BAJO) elif (estado == 3): GPIO.salida(11, GPIO.ALTO) GPIO.salida(13, GPIO.ALTO) Salida GPIO(. 15, GPIO.HIGH) más: GPIO.output(11, GPIO.LOW) GPIO.output(13, GPIO.LOW) GPIO.output(15, GPIO.LOW) print("presionado B1 ", estado) # botón de reinicio presionado si (GPIO.input(18) == Verdadero): estado = 0 inc = 1 GPIO.output(11, GPIO.LOW) GPIO.output(13, GPIO.LOW) GPIO.output(15, GPIO. LOW) print("presionado B2 ", estado) dormir(0.2);

Entonces, como podemos ver, usar GPIO en Raspberry Pi es bastante simple. Aunque no hay tantos como Arduino, pero junto con poder de computación sistema en chip, esta minicomputadora será útil en

hoy aprenderemos administrar encender y apagar relé usando frambuesa pi 2, por ejemplo lo haremos encender y apagar el tomacorriente, administrar lámpara u otro aparato eléctrico. yo usé relé SRD-05VDC-SL-C.
1) Conectandoél a frambuesa pi y a la línea de 220V. Solo conecté un relé, pero tengo dos en el tablero.

Agregaré una imagen de los conectores aquí. frambuesa GPIO pi 2

GPIO frambuesa pi 2

En la imagen de abajo diagrama de conexion de rele a raspberry pi 2 y linea 220 V.

Diagrama de conexión de relé a línea raspberry pi 2 y 220 V
(imagen en la que se puede hacer clic)

Déjame explicarte de nuevo.
Según el circuito de relé, está conectado por un lado a Puertos GPIO raspberry pi 2, y por el otro con un enchufe de 220 V. En la placa de relés hay 4 pines: GND, IN1, IN2, VCC.
a) GND en el relé debe estar conectado a GND en la Raspberry Pi.
b) IN1 e IN2 son solo dos relés. Conecté IN1 a GPIO17 (pin 11) y IN2 a GPIO25 (pin 22). Solo los tengo libres, es posible que tengas otros conectores GPIO libres.
c) conecte 5v al pin VCC en el relé de la frambuesa pi 2. Decidí usar el pin n.° 2 en la frambuesa.
También hay tres contactos en el tablero cerca de cada relé. Desde la línea de 220 V conecté un cable al contacto NO1 en el relé 1. Conecto el contacto COM1 en el relé 1 a uno de los conectores hembra. Inmediatamente suministro 220 V al segundo contacto del enchufe, es decir, va directamente, sin pasar por el relé y la frambuesa. Si no se conecta a NO1, sino a NC1, la energía se suministrará constantemente, el enchufe suministrará corriente incluso sin la frambuesa, por lo que simplemente no uso NC1.
CON conexión física Creo que está claro. Ten cuidado. Haces todo bajo tu propia responsabilidad y riesgo.

Pasemos a la parte del software.
2) escribe 2 guiones simples:
sudo nano /script/gpio/relay01-01-down.sh

#!/bin/bash

eco 17 > /sys/class/gpio/exportar
eco >
eco 1 > /sys/class/gpio/gpio17/valor

y el segundo guión:
sudo nano /script/gpio/relay01-01-up.sh
el contenido debería ser así:
#!/bin/bash

eco 17 > /sys/class/gpio/exportar
salida de eco > /sys/class/gpio/gpio17/direction
eco 0 > /sys/class/gpio/gpio17/valor

3) hacerlos ejecutables:
sudo chmod +x /script/gpio/relay01-01-down.sh
sudo chmod +x /script/gpio/relay01-01-up.sh

En general, ya puedes jugar conectando una lámpara al enchufe, ejecutando cada script por turno, encenderá y apagará la lámpara.
sudo /script/gpio/relay01-01-up.sh
sudo /script/gpio/relay01-01-down.sh

4) Pero es más interesante crear botones de control de relés en la interfaz web. El servidor web ya ha sido instalado, por lo que en su raíz (por defecto este es el directorio /var/www/) escribimos el código con botones en el archivo index.php. El código es posible.
Allí, en la raíz del servidor web, creamos un archivo style.css con contenido que puede ser .

Vamos al servidor web http://ip-address-raspberru-pi/ y deberíamos ver dos botones (aún no funcionan).

5) agregue derechos para www-data de la siguiente manera:
sudo visudo
agregue allí:
www-data TODOS = (TODOS) NO CONTRASEÑA: TODOS

6) intente presionar botones en la interfaz web. Ya deberían estar trabajando y haciendo clic en el stick.
Resultado de la construcción:




Arriba