Controlando gpio raspberry pi vía web. Gestión de líneas GPIO en Raspberry Pi. Comprobando la dirección IP asignada a su Raspberry Pi

Recientemente, apareció en Novaya Gazeta una reseña de libros de no ficción de 2016. El editor de política Kirill Martynov seleccionó 10 publicaciones de divulgación científica, cuyas lecturas y debates ayudan a aclarar el momento en que vivimos. La lista incluye el libro “Inteligencia artificial” del filósofo estadounidense Nick Bostrom. El autor de la reseña escribe: “El tema del desarrollo de redes neuronales, inteligencia artificial y la automatización de los trabajos administrativos es clave para cultura moderna y economía."

Estamos de acuerdo: el tema es muy importante y serio. Por eso, en la columna de hoy hablamos de las perspectivas de aparición de máquinas superinteligentes.

Las películas sobre el cyborg Terminator son populares en todo el mundo desde hace más de treinta años. En 2015 se estrenó la quinta película de esta serie. Pero, ¿alguno de los espectadores piensa que tal desarrollo de los acontecimientos no es tan fantástico? De hecho, pueden surgir máquinas superinteligentes. Sin embargo, es poco probable que la gente pueda resistirse a ellos, como en una popular película de acción.

Beneficios de la inteligencia artificial

Si bien es muy difícil, si no imposible, comprender intuitivamente de qué es capaz la superinteligencia, sólo podemos acercarnos a esta comprensión observando las ventajas que tiene la inteligencia digital. Es más fácil apreciar los beneficios del hardware.

  • Velocidad de los elementos informáticos. La velocidad máxima de funcionamiento de las neuronas biológicas es de unos 200 Hz, siete órdenes de magnitud más lenta que la de los microprocesadores modernos.
  • Número de elementos computacionales. Evidentemente, el número de neuronas en un ser biológico está limitado por el volumen del cráneo y las características del metabolismo. A diferencia del cerebro biológico, equipo de computo escalas a gigante dimensiones fisicas. Las supercomputadoras pueden ser del tamaño de un almacén o incluso más grandes, y pueden conectarse a potencia informática remota adicional mediante cables de alta velocidad.


Titán supercomputadora.

  • Capacidad de memoria. Una persona es capaz de retener no más de cuatro o cinco bloques de información en la memoria a corto plazo a la vez. Aunque no es del todo correcto comparar directamente la memoria a corto plazo con la memoria de acceso aleatorio de la computadora, está claro que las ventajas de diseño de la inteligencia digital le permiten tener mucha más memoria de trabajo. tamaño más grande. Esto significa que dicha inteligencia es capaz de captar intuitivamente la esencia de relaciones complejas que las personas sólo pueden encontrar mediante un trabajo minucioso.
  • Fiabilidad, esperanza de vida, sensores, ausencia de fatiga y mucho más.

¿Podrán las máquinas pensar?

¿Crees que las computadoras nunca serán más inteligentes que las personas? Pero algunos programas ya están superando fácilmente a los campeones mundiales en juegos mentales. Por ejemplo, el programa Chinook venció al actual campeón mundial de damas en 1994, el programa TD-Gammon supera a los mejores jugadores de backgammon y la supercomputadora Deep Blue derrotó al campeón mundial de ajedrez Garry Kasparov en 1997.


El mismo azul profundo. ahora esta en el museo historia de la computadora en california.

Aquí hay algunos datos más que a nuestros antepasados ​​les habrían parecido fantásticos:

  • El sistema Logic Theoretician pudo demostrar casi todos los teoremas del segundo volumen de los Fundamentos de las matemáticas de Alfred Whitehead y Bertrand Russell, lo que demuestra la capacidad de la máquina para la deducción y las construcciones lógicas.
  • El robot Shaking demostró que una máquina puede pensar y controlar su actividad motora cuando se combina el pensamiento lógico con la percepción de la realidad circundante.
  • El programa ELIZA simula perfectamente el comportamiento de un psicoterapeuta.
  • A mediados de la década de 1970, el programa SHRDLU demostró cómo un robot simulado en un mundo simulado podía manipular tranquilamente objetos volumétricos. formas geométricas, no sólo siguiendo las instrucciones del usuario, sino también respondiendo a sus dudas.
  • En las décadas siguientes, se crearon programas que podían componer música clásica de varios géneros, resolver problemas de diagnóstico clínico con mayor rapidez y confianza que los médicos en formación, conducir automóviles de forma independiente y realizar invenciones patentables.

Es poco probable que tales hechos puedan causar al menos alguna impresión ahora. Pero esto se debe al hecho de que nuestras ideas sobre los estándares están algo sesgadas, ya que estamos familiarizados con los logros sobresalientes en el mundo de la informática.

Los programas modernos todavía están lejos de lo que se puede llamar superinteligencia. Sin embargo, muchos científicos confían en que aparecerá, y muy pronto.

La máquina infantil, evolución y mejora continua

El matemático Alan Turing sugirió en 1950 que el aprendizaje podría utilizarse como medio para desarrollar un sistema simple: “En lugar de intentar crear un programa que imite la mente de un adulto, ¿por qué no creamos un programa que imite la mente de un adulto? ¿niño? Después de todo, si la mente de un niño recibe una educación adecuada, se convierte en la mente de un adulto”.

Hoy en día, esta teoría parece ser la más prometedora: los esfuerzos deberían centrarse en crear un sistema capaz de aprender y trabajar con información incierta.


Turing también dijo que el proceso de creación de inteligencia artificial tendrá mucho en común con la evolución: “Es poco probable que podamos conseguir una buena “máquina infantil” en el primer intento. Es necesario realizar un experimento para entrenar una de estas máquinas y descubrir cómo se puede enseñar. Luego haz el mismo experimento con otra máquina y descubre cuál es mejor. Existe una conexión obvia entre este proceso y la evolución de la naturaleza viva..."

En teoría, la programación genética podría conducir a una inteligencia comparable a la de los humanos, incluso más probable que la evolución ciega.


Hay otro concepto importante que mencionar aquí. Si los humanos logran crear una inteligencia artificial embrionaria capaz de mejorarse continuamente, entonces la primera versión creará una versión mejorada de sí misma que es mucho más inteligente que la original; la versión mejorada, a su vez, comenzará a funcionar en la siguiente versión, y así sucesivamente.

Como resultado, sin duda habrá tal “explosión intelectual” que la mente humana retrocederá mucho. Sin embargo, no hay garantía de que la inteligencia artificial sea amigable.

Escenarios: lento, moderado y rápido

Si se produce el ascenso de la inteligencia humana a superinteligente, se desarrollará según uno de tres escenarios:

1. Despegue lento. En este caso, la humanidad todavía tiene tiempo suficiente por delante (décadas o incluso siglos) para pensar detenidamente cómo actuar en las nuevas condiciones. Podremos calcular nuestros movimientos y formar especialistas. También tendremos acceso a pruebas constantes de diversos enfoques, al desarrollo de sistemas de seguridad más avanzados y a la oportunidad de llevar a cabo las negociaciones necesarias.

2. Despegue rápido. Ocurrirá casi instantáneamente (en cuestión de minutos, horas, días) y es poco probable que podamos reaccionar de alguna manera. Lo más probable es que perdamos antes de que nos demos cuenta de lo que está sucediendo.

3. Despegue moderado. Esta opción supone que tendremos varios meses o años. Por supuesto, no podremos analizar la situación tan bien como durante un despegue lento, pero tendremos la posibilidad de responder correctamente a los cambios.

Si cree que el escenario lento es el más plausible, está equivocado. Probablemente veremos un rápido aumento de la inteligencia artificial.

¿A qué podría conducir el surgimiento de la superinteligencia?

Incluso si el programa contiene objetivos positivos, por ejemplo, hacer felices a todas las personas o prevenir la contaminación de los océanos del mundo, se desconoce de qué manera la superinteligencia logrará ese objetivo y si sus acciones conducirán a la extinción de la humanidad. .

Pero imaginemos que ha aparecido la inteligencia artificial y que, a pesar de las alarmantes expectativas, coexistimos de forma bastante pacífica. En este futuro imaginado, los trabajadores mecánicos, más capaces y más baratos que los trabajadores humanos, nos reemplazarán en prácticamente todas las profesiones.


Si queda algún empleo, los salarios caerán por debajo del costo de vida. Digamos que la gente todavía posee capital. Entonces, en su conjunto, los ingresos de la humanidad serán enormes, pero es poco probable que esta riqueza llegue a todos.

Lo más probable es que nos aguarde una existencia miserable y la única fuente Los ingresos serán beneficios del gobierno. Una disminución de ingresos y otras circunstancias nos llevarán a retroceder y no poder llevar una vida activa.

Quizás nuestro futuro sea un cerebro sumergido en un recipiente especial y conectado a un suministro de oxígeno y fluidos nutritivos, abastecido por máquinas y capaz de ahorrar algo de dinero para la reproducción clonándose con un técnico robótico.

EN Todos estos escenarios son bastante amenazadores, pero tenemos una gran ventaja: el primer paso sigue siendo nuestro. Lea sobre robots y computadoras, el surgimiento de la inteligencia artificial y el futuro de la humanidad en el libro de advertencia de Nick Bostrom, profesor de filosofía en Oxford.

Prefacio

El tema es inagotable, y esta nota no es una guía de acción, sino un intento de no olvidar lo que ya he intentado.

De tres opciones computadora frambuesa Pi A, B y B+ Logré familiarizarme con los dos últimos. El modelo B está a la venta desde febrero de 2012 y el B+ desde julio de 2014. En cuanto al funcionamiento de la cámara, no existen diferencias entre estos modelos. Están equipados con un procesador ARM11 Broadcom BCM2835 con frecuencia de 700 MHz y un módulo RAM 512 MB.

Diferencias en el número de puertos USB y en la ubicación y tipo de conectores. El modelo B tiene entradas de audio y vídeo separadas y una ranura para tarjetas SD, y el D+ tiene un conector combinado para audio y vídeo, como en muchas cámaras, y una ranura para tarjetas de memoria micro SD. Existe algún tipo de protección y estabilización de energía solo si se suministran 5 V al conector micro USB, y esta parte se implementa de manera diferente en estos modelos. Si suministra energía al conector GPIO, debe encargarse usted mismo de la calidad de la energía. El éxito del proyecto Arduino ha demostrado que para muchas tareas la productividad no es felicidad y es necesario utilizar ordenadores del rendimiento necesario para resolver la tarea. Las estimaciones muestran que el rendimiento del procesador central Raspberry Pi es comparable al del Pentium II de 300 MHz del año 1997. Sin embargo, la GPU Broadcom VideoCore IV de 250 MHz está muy fuera del siglo XXI y proporciona salida de vídeo de 1080p a 30 fotogramas por segundo y decodificación de hardware de H.264, MPEG-4 AVC.

Computadoras Raspberry Pi modelos B y B+ (izquierda)

Modelo B en estuche propietario.

Aunque el estuche tiene ranuras para un cable que conduce a la cámara, es de poca utilidad al crear configuraciones de fotografía. La carcasa de la cámara y la computadora debe realizarse de acuerdo con la tarea. Por ejemplo, para una cámara exterior con baterías de gran capacidad y con una batería de larga duración, hice el siguiente diseño.

El adaptador 802:11n sin nombre funcionó de inmediato, pero siguió perdiendo la red. Compramos dos adaptadores externamente diferentes de diferentes marcas, pero tras un examen más detenido resultaron estar en el mismo chip: REALTEK RTL8188ETV. La creación de controladores a partir del código fuente produjo controladores no funcionales para Raspberry Pi. Sin embargo, se encontraron binarios ya compilados en la red en el sitio www.fars-robotics.net / y con ellos todo funcionó de manera confiable. Sin embargo, este camino tiene un enemigo mortal: sudo apt-get Upgrade. La siguiente actualización del sistema, que también afectó a la cámara y por lo tanto estaba justificada, dejó los adaptadores inoperativos y las actualizaciones no aparecieron en el sitio mencionado anteriormente.

El adaptador USB-Bluetooth (el primero en la imagen) se puede usar para controlar la cámara, pero la conexión debe establecerse antes de iniciar el programa y, por lo tanto, resultó más conveniente usar el adaptador com-Bluetooth, ya que el serial El puerto es desde y en África el puerto serie y, independientemente de si el programa está conectado, no jurará. Para emparejar dispositivos en este caso, no se requiere nada del sistema operativo; si se suministra energía al adaptador, se puede establecer una conexión con él.

Al conectar receptor digital Señal IR (por ejemplo TSOP1736) a GPIO, puede utilizar los resultados del trabajo del proyecto LIRC para organizar el control de la cámara desde el control remoto mando a distancia.

En la foto de abajo, el fotodetector está insertado en una placa de expansión, que en este caso solo es necesaria para facilitar la conexión.

Existen muchos sistemas operativos para usar una computadora. Por ejemplo, pude instalar Slackware ARM sin ningún problema, pero resultó ser un sistema base enorme que aún tenía que adaptarse para funcionar con la cámara. Por lo tanto, a pesar de todo mi amor por esta distribución, me decidí por el sistema más extendido y, en consecuencia, más adaptado y documentado: Raspbian (Debian Wheezy).

Es compatible con la cámara desde el primer momento, pero cuando la enciende por primera vez, debe permitir el acceso llamando a sudo raspi-config. El sistema operativo se instala copiando el comando dd a una tarjeta de memoria, y aquí observo que el sistema resultó ser muy exigente con las tarjetas. Mi intento de utilizar tarjetas antiguas de 4 GB en la mayoría de los casos fracasó, o no se registró o el sistema no se inició con estas tarjetas.

La lista más completa de recursos, en mi opinión, se encuentra en elinux.org/RPi_Hub. Y en consecuencia, una sección dedicada a la cámara: elinux.org/Rpi_Camera_Module. Desde el punto de vista de la construcción de sistemas propios que se diferencian de los producidos comercialmente, el mayor interés está en las enormes posibilidades de control remoto de la cámara. esto y red cableada

, Wi-Fi, Bluetooth, control remoto por infrarrojos y entradas digitales que le permiten sondear los botones más simples y organizar la transferencia de datos a través de una variedad de protocolos en serie.

Bash-4.2# ifconfig eth0 192.168.0.214 arriba

Y deshabilítelo con el comando:

Bash-4.2# ifconfig eth0 abajo

En el caso de una conexión de red, la forma más sencilla de acceder a Raspberry Pi y, en consecuencia, a la cámara es escribir el comando en la línea de comando: ssh -l pi 192.168.0.198 donde 192.168.0.198 es la dirección de Raspberry Pi e ingresar la contraseña de frambuesa

Bash-4.1$ ssh -l pi 192.168.0.198 [correo electrónico protegido]"s contraseña: Linux raspberrypi 3.12.22+ #691 PREEMPT miércoles 18 de junio 18:29:58 BST 2014 armv6l Último inicio de sesión: sábado 27 de septiembre 16:49:37 2014 desde 192.168.0.215 pi@raspberrypi ~ $

Se puede asignar una dirección IP permanente editando el archivo etc/network/interfaces, algo como lo siguiente. Aquellos. comente la línea con dhcp y agregue la configuración que corresponda a su red local.

Auto lo iface lo inet loopback #iface eth0 inet dhcp iface eth0 inet dirección estática 192.168.0.199 máscara de red 255.255.255.0 red 192.168.0.0 transmisión 192.168.0.255 puerta de enlace 192.168.0.1 permitir-hotplug wlan0 iface wlan0 inet manual wpa -roam /etc/wpa_supplicant /wpa_supplicant.conf #iface predeterminado inet dhcp iface predeterminado inet dirección estática 192.168.0.198 máscara de red 255.255.255.0 red 192.168.0.0 transmisión 192.168.0.255 puerta de enlace 192.168.0.1

Necesita instalar algún tipo de cliente SSH en su teléfono Android. Tengo . Esta solución general es similar en estilo y capacidades a trabajar desde una computadora grande. También existen muchos programas diseñados específicamente para trabajar con Raspberry Pi. Intenté trabajar con y .

Aunque el primero ya tiene ajustes preestablecidos para trabajar con la cámara, me gustó más la opción de crear tu propia lista de comandos, que se ofrece en el segundo.

Ahora tenemos la posibilidad de acceder directamente a la cámara y, por ejemplo, hacer que tome fotografías cuando pulsamos Enter:
Pi@raspberrypi ~ $ raspistill -o foto%03d.jpg -k -v -t 999999 Aplicación de cámara raspistill v1.3.6 Ancho 2592, Alto 1944, calidad 85, nombre de archivo foto%03d.jpg Retraso de tiempo 999999, Sin formato no Miniatura habilitada Sí, ancho 64, alto 48, calidad 35 Enlace al último fotograma habilitado no Vista previa de resolución completa No Captura método: Captura al presionar una tecla Vista previa Sí, Sí Ventana de vista previa 0,0,1024,768 Opacidad 255 Nitidez 0, Contraste 0, Brillo 50 Saturación 0, ISO 0, Estabilización de video No, Compensación de exposición 0 Modo de exposición "automático", Modo AWB "automático", Efecto de imagen "ninguno" Modo de medición "promedio", efecto de color habilitado No con U = 128, V = 128 Rotación 0, hflip No, vflip No ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000 Componente de cámara terminado Componente de codificador terminado Iniciando etapa de conexión de componentes Conexión de vista previa de la cámara puerto para renderizar video. Conexión del puerto de fotografías de la cámara al puerto de entrada del codificador Presione Enter para capturar, X y luego ENTER para salir

El programa raspistill brinda acceso a casi todas las capacidades de la cámara.

Comandos de parámetros de imagen -?, --help: esta información de ayuda -w, --width: establece el ancho de la imagen -h, --height: establece la altura de la imagen -q, --quality: establece la calidad jpeg<0 to 100>-r, --raw: agrega datos de bayer sin procesar a los metadatos jpeg -o, --output: nombre del archivo de salida (para escribir en la salida estándar, utilice "-o -"). Si no se especifica, no se guarda ningún archivo -l, --latest: vincula la última imagen completa al nombre del archivo -v, --verbose: genera información detallada durante la ejecución -t, --timeout: tiempo (en ms) antes de tomar la fotografía y apagarse (si no se especifica, configúrelo en 5 s) -th, --thumb: establece parámetros de miniatura ( x:y:calidad) o ninguno -d, --demo: ejecuta un modo de demostración (recorre el rango de opciones de la cámara, sin captura) -e, --encoding: codificación para usar en el archivo de salida (jpg, bmp, gif, png) -x, --exif: Etiqueta EXIF ​​para aplicar a las capturas (formato como "clave=valor") o ninguna -tl, --timelapse: Modo Timelapse. Toma una foto cada ms -fp, --fullpreview: ejecuta la vista previa usando la resolución de captura fija (puede reducir los fps de la vista previa) -k, --keypress: espera entre capturas para ENTER, X y luego ENTER para salir -s, --signal: espera entre capturas capturas para un SIGUSR1 de otro proceso -g, --gl: dibuja una vista previa de la textura en lugar de usar el componente de renderizado de video -gc, --glcapture: captura el frame-buffer GL en lugar de la imagen de la cámara Comandos de parámetros de vista previa -p, -- vista previa: configuración de la ventana de vista previa<"x,y,w,h">-f, --fullscreen: modo de vista previa en pantalla completa -op, --opacity: opacidad de la ventana de vista previa (0-255) -n, --nopreview: no mostrar una ventana de vista previa Comandos de parámetros de imagen -sh, --sharpness: establecer imagen nitidez (-100 a 100) -co, --contrast: establece el contraste de la imagen (-100 a 100) -br, --brightness: establece el brillo de la imagen (0 a 100) -sa, --saturation: establece la saturación de la imagen (- 100 a 100) -ISO, --ISO: establece la captura ISO -vs, --vstab: activa la estabilización de video -ev, --ev: establece la compensación EV -ex, --exposure: establece el modo de exposición (ver Notas) - awb, --awb: Establece el modo AWB (ver Notas) -ifx, --imxfx: Establece el efecto de imagen (ver Notas) -cfx, --colfx: Establece el efecto de color (U:V) -mm, --metering: Establece modo de medición (ver Notas) -rot, --rotation: establece la rotación de la imagen (0-359) -hf, --hflip: establece el giro horizontal -vf, --vflip: establece el giro vertical -roi, --roi: establece la región de interés (x,y,w,d como coordenadas normalizadas) -ss, --shutter: establece la velocidad de obturación en microsegundos Opciones del modo de exposición: automático, nocturno, vista previa nocturna, contraluz, foco, deportes, nieve, playa, muy largo, fps fijos, antivibración, fuegos artificiales Opciones de modo AWB: apagado, automático, sol, nube, sombra, tungsteno, fluorescente, incandescente, flash, horizonte Opciones de modo de efecto de imagen: ninguno, negativo, solarización, boceto, eliminación de ruido, relieve, pintura al óleo, sombreado, gpen, pastel , acuarela, película, desenfoque, saturación, intercambio de colores, descolorido, posterizado, punto de color, equilibrio de color, dibujos animados Opciones de modo de medición: promedio, puntual, retroiluminado, matriz Comandos de parámetros de vista previa -gs, --glscene: escena GL cuadrada, tetera, espejo, yuv ,sobel -gw, --glwin: configuración de la ventana GL<"x,y,w,h">

Si necesita obtener una imagen en vivo desde una cámara en una computadora remota, debe usar el programa raspivid. Hay dos opciones posibles aquí.

El primero es usar netcat. Primero ejecutamos en la computadora local:

Nc-l-p 5001 | mplayer -fps 31 -caché 1024 -

Y luego en la Raspberry Pi:

Raspivid -t 999999 -w 640 -h 480 -fps 10 -o - | carolina del norte -v 192.168.0.24 5001

Donde 192.168.0.24 es la dirección IP de la computadora local.

La segunda opción es usar VLC. No pude repetir esta hazaña al escribir este artículo. Seguí las instrucciones descritas. Resultó que el motivo fue la actualización a la versión 3.12.28+. Resuelto reinstalando VLC.

Por supuesto habrá un retraso, y variará bastante dependiendo de la configuración del ordenador de control.

Para facilitar el trabajo con la línea de comando, puede crear una interfaz gráfica. Se puede ejecutar en una computadora remota o, si instala VNC, puede obtener acceso remoto al escritorio y ejecutarlo en la Raspberry Pi en consecuencia. Existen soluciones listas para usar: Pi Vision y RaspiCam Remote. Otra forma estándar de controlar la cámara es Python, para la cual existe una biblioteca especial de picamera.

Para mí lo principal es la repetibilidad de los resultados, es decir. En primer lugar, necesito poder configurar la velocidad de obturación y la sensibilidad desde el programa. Como no encontré inmediatamente una solución preparada, escribí la mía propia. (La opción Pi Sight no me convenía). Planeo considerar el programa con más detalle en un artículo separado, pero por ahora, para aquellos que quieran profundizar en él, proporciono el código fuente para Python 2.7.3 y picacámara 1.8.

Para acceder a las carpetas de Raspberry Pi a través de la red, puede escribir la siguiente dirección en Dolphin: [correo electrónico protegido] Pez://

:22/casa/pi/ Para acceder al escritorio desde computadora remota

Lo instalé en Raspberry Pi con sistema operativo Raspbian:

Sudo apt-get install apretadovncserver

Si desea utilizar el portapapeles con la máquina local en el futuro a través del menú F8, instale adicionalmente:

Sudo apt-get install gsfonts-x11 xfonts-75dpi xfonts-100dpi autocutsel

Y en el archivo /home/pi/.vnc/xstartup agregamos la línea autocutsel -fork después de la línea xsetroot -solid grey.

Habilitar servidor vnc:

Pi@raspberrypi ~ $ vncserver:1 -geometry 800x480 El nuevo escritorio "X" es raspberrypi:1 Las aplicaciones de inicio especificadas en /home/pi/.vnc/xstartup El archivo de registro es /home/pi/.vnc/raspberrypi:1.log Para acceder desde computadora de escritorio

y una laptop con Slackware OS instalé el paquete Tightvnc.

Lanzamos vncviewer, en la ventana que aparece ingresamos, en mi caso, la dirección 192.168.0.198:1, luego la contraseña y obtenemos:

Existen muchas aplicaciones para Android. Remote Ripple, VNC Viewer, DesktopVNC me parecieron relativamente aceptables. En mi caso, para conectarme, tuve que configurar la dirección y el puerto 5901 y al conectarme, ingresar la contraseña especificada para vncserver. Un problema común con este método de control de la cámara es la emulación del mouse, que es difícil considerar cómoda en la pantalla de un teléfono pequeño. En la pantalla de un teléfono pequeño, quizás lo más conveniente para mí fue VNC Viewer con la ubicación constante de los botones del mouse en la parte inferior de la pantalla.

Si ignoramos las preferencias individuales por la comodidad de la interfaz, ya se han escrito suficientes programas para conexiones de red para implementar cualquier tipo de disparo. Cuando se trabaja con una computadora portátil, Tightvnc, en mi opinión, le permite trabajar cómodamente con un programa de control de cámara que se ejecuta en una Raspberry Pi. Si necesita una imagen en vivo, entonces tal vez valga la pena escribir algún tipo de interfaz para los comandos enviados a través de SSH para facilitar el cambio entre el modo de transmisión de video para visualización y el modo de toma de fotografías. En este caso, no veo ninguna ventaja particular en el uso de Python y puedes limitarte a llamar a raspistill y raspivid.

El protocolo de control de cafeteras de hipertexto HTCPCP/1.0, que apareció en 1998, ahora está inmerecidamente olvidado. Para revivir las ideas plasmadas por sus creadores implementaremos una cafetera controlada por una Raspberry Pi.

Muchos amantes del café sueñan con tener café caliente esperándoles al despertar. A los sueños se les superponían conversaciones sobre “ hogar inteligente", controladores, sensores, y luego ordené tablero de frambuesa Pi (RPi) “para jugar”; en general, su destino ya estaba decidido. Si en 1998 controlar una cafetera a través de Internet parecía realmente divertido, hoy en día es muy posible hacerlo uno mismo. Con un juguete como RPi, la alegría será doble. En este contexto, el Arduino Mega 2560 acumulando polvo en una caja parece una rareza que accidentalmente cayó en el futuro del mundo de los procesadores de 8 bits de los años 80 y 90, al que por alguna razón se incluyeron Wi-Fi, escudos y sensores. adjunto.

Pero volvamos a la cocina a tomar un café. Encendemos la cafetera mediante un relé, controlamos el relé con RPi, acceso a RPi desde el navegador mediante wifi. Despertarte directamente desde la cama usando el navegador de tu teléfono. Y observamos cómo se elabora a través de una cámara web. O detectamos movimiento y el café comienza a prepararse en el momento en que entramos a la cocina o encendemos la luz. Un verdadero geek podrá encender la cafetera desde la cama a través de SSH, un verdadero vago, simplemente yendo a la cocina, y un usuario simple como yo, a través de un navegador.

ELEGIR UNA CAFETERA

Se requiere poco de la cafetera. Tipo - goteo: el precio es mucho más bajo y el café, para mi gusto, es más suave que el espresso. Y lo más importante: un mínimo de electrónica. Todo el control debe constar de un único interruptor mecánico para que se pueda encender la cafetera simplemente aplicándole corriente. No es necesaria una cafetera grande en casa, energía alta Tampoco es necesario: una corriente más baja significa menos demanda en los controles del componente. Aunque en cafeteras de este tipo es imposible automatizar completamente el proceso de preparación y será necesario rellenarla con agua y café molido todas las noches.

La elección de cafeteras de pequeño volumen y potencia es escasa, la mayoría de ofertas tienen una capacidad de más de un litro, pero casi de inmediato me gustó la Moulinex BCA 1.L1 Little Solea. Potencia 640 W, cafetera 0,6 l.

Giramos todo junto

La primera revisión de las placas RPi tiene fusibles defectuosos (Fig. 2), por lo que casi todos los periféricos USB deben conectarse a través de un concentrador USB con comida adicional. Este problema se solucionó en revisiones posteriores, pero debido a la baja fuente de alimentación, es posible que aún necesites un concentrador USB.

Los dos monitores que probé tenían un borde negro alrededor de los bordes de la pantalla en la configuración predeterminada. Esto se puede corregir mediante la configuración del modo de sobreexploración; en mi caso, se solucionó apagándolo en el menú de configuración.

Sistema operativo

El sistema operativo principal en en este momento es Raspbian, basado en Debian, con soporte para un coprocesador de punto flotante de hardware. En la página de descarga puedes descargar no sólo este (necesitas Raspbian “wheezy”), sino también varios otros, también basados ​​en Linux, junto con las utilidades necesarias.

La imagen de la tarjeta debe descargarse en el disco, descomprimirse y luego, si todo se hace en Windows, cargarse usando la utilidad Win32DiskImager (el enlace está en la página de descarga) en una tarjeta SD, cuyo tamaño debe ser de al menos 2 GB. . No todas las tarjetas SD funcionarán; existe una lista de tarjetas y otros equipos compatibles, pero incluso el uso de tarjetas de esta lista no garantiza que una tarjeta en particular no sea falsa. Si el RPi no arranca desde la imagen que acaba de cargar en la tarjeta, lo primero que debe intentar es cambiar la tarjeta SD.

Después de instalar la tarjeta SD en el RPi, encenderla y arrancar (nombre de usuario predeterminado pi, contraseña - raspberry), se muestra el menú de configuración inicial, en el que debe expandir sistema de archivos desde 2 GB de imagen hasta toda la tarjeta SD y permitir SSH. Además, vale la pena configurar la distribución del teclado, los idiomas, la zona horaria y cambiar la contraseña predeterminada.

Es mejor experimentar con el overclocking por separado, verificando la estabilidad del RPi inmediatamente después de cambiarlo. Pero vale la pena intentarlo, ya que el aumento de velocidad se nota visualmente. Siempre puedes volver al menú de configuración con el comando:

$sudo raspi-config

Después de completar la configuración inicial, reinicie:

$ sudo reiniciar

El siguiente paso es actualizar los paquetes: el desarrollo de RPi es muy activo y actualizaciones importantes sale muy a menudo.

$ sudo apt-obtener actualización $ sudo apt-obtener actualización

Configurar Ethernet y Wi-Fi

La tarjeta Wi-Fi D-Link DWA-140 B2 que tenía estaba en la lista de equipos compatibles. Lo conecté y verifiqué que se identificó correctamente:

$lsusb<..>Bus 001 Dispositivo 006: ID 07d1:3c0a Sistema D-Link Adaptador RangeBooster N DWA-140 (rev.B2) $ extensiones inalámbricas iwconfig lono. eth0 sin extensiones inalámbricas. wlan0 IEEE 802.11bgn ESSID: apagado/cualquier Modo: Punto de acceso administrado: Potencia de transmisión no asociada = 20 dBm Límite largo de reintento: 7 RTS thr: off Fragmento thr: off Administración de energía: encendido

El Wi-Fi se puede configurar según la documentación.

SSH Y VNC

Comenzar servidor SSH habilitado en el menú de configuración inicial. Para acceder desde una máquina Windows puede utilizar Putty, desde un teléfono Android - Irssi ConnectBot. Pero aquí se trata de sabor y color...

Si SSH no es suficiente y necesita acceso al escritorio RPi (por ejemplo, para ver imágenes tomadas por Motion sin copiarlas a la máquina local), puede obtenerlo a través de vncviewer desde TightVNC, y para acceder desde Android, usando androidVNC. Para hacer esto, necesita instalar VNC siguiendo las recomendaciones de bit.ly y bit.ly.

CÁMARA WEB Y MOVIMIENTO

Mi versión utiliza una cámara web Logitech HD C525 como cámara web. Al comprar una cámara web nueva, vale la pena consultar la lista de equipos compatibles con RPI; algunos pueden requerir un concentrador USB con alimentación adicional. También vale la pena verificar la compatibilidad de Motion usando los enlaces "Dispositivos que funcionan" y "Dispositivos que no funcionan". Si una cámara no está en la lista "Dispositivos que funcionan", esto no significa que no funcionará, pero definitivamente no vale la pena comprar una cámara de la segunda lista.

$lsusb<..>Bus 001 Dispositivo 007: ID 046d:0826 Logitech, Inc.

Puedes comprobar la cámara intentando tomar una captura de pantalla de la cámara:

$ sudo apt-get install uvccapture $ uvccapture -S80 -B80 -C80 -G80 -x800 -y600

Debería aparecer un archivo snap.jpg en el directorio actual (incluso si hubo mensajes de error), que se puede abrir en el RPi usando Image Viewer. Motion es una aplicación para monitorear la señal de la cámara, lo que le permite determinar que una parte importante de la imagen ha cambiado (es decir, detectar movimiento en el encuadre) y, en este caso, guardar imágenes e iniciar programas externos. Página de inicio del proyecto.

$ sudo apt-get instalar movimiento

Para permitir que Motion se inicie automáticamente:

$ sudo nano /etc/default/motion # establecido en "yes" para habilitar el demonio de movimiento start_motion_daemon=yes

Permitir el acceso a la interfaz web de Motion desde hosts externos:

$ sudo nano /etc/motion/motion.conf webcam_localhost desactivado control_localhost desactivado

El mismo archivo almacena configuraciones para la detección de movimiento, el inicio y el final de la grabación desde la cámara y el inicio de un programa externo cuando se detecta movimiento.

$ sudo nano /etc/motion/motion.conf # Comando que se ejecutará cuando se detecte un cuadro de movimiento (predeterminado: ninguno) on_event_start sudo /home/pi/motion-det

/home/pi/motion-det: script que se ejecutará cuando se detecte movimiento. el necesitara derechos de raíz para la gestión portuaria. Agregue el usuario Motion (movimiento) a la lista de sudoers:

$sudo visudo

haber añadido siguiente línea al final del archivo:

Movimiento TODO=(TODO) NOCONTRASEÑA: TODO

Ejecutar con salida de información a la consola:

$ sudo movimiento -n

Cuando Motion se está ejecutando, la configuración se puede cambiar desde el navegador en: //:8080

En su lugar, deberá sustituir la dirección IP real del RPi. Puedes ver la imagen de la cámara en //:8081

En Firefox, es posible que la imagen no se actualice correctamente. Todo está bien en Chrome. Los navegadores preinstalados en el RPi no pueden mostrarlo en absoluto. Se proporciona un modo de configuración para configurar la detección de movimiento.

$ sudo movimiento -s

En este modo, al visualizar la imagen de la cámara, se mostrará diferentes colores detección de movimiento en sí, y puede ajustar los parámetros de detección en la página de configuración.

Las imágenes de la cámara se guardan en el directorio /tmp/motion, el formato predeterminado para imágenes individuales es jpg, para videos - swf. El formato se puede cambiar en archivo de configuración. Puede desactivar el guardado de archivos como este:

Output_normal desactivado ffmpeg_cap_new desactivado

PUERTOS GPIO - CARACTERÍSTICAS Y CONTROL

El RPi tiene puertos de E/S integrados. Se denominan GPIO, General Purpose Input/Output, es decir, puertos de entrada/salida de propósito general. Estrictamente hablando, puedes conectar el actuador sin problemas especiales y a una simple PC, pero ¿por qué no tener una PC en la cocina? Eso es lo bueno del RPi económico y en miniatura: se puede colocar fácilmente al lado del actuador.

Los puertos GPIO funcionan a niveles de 3,3 V. Sin embargo, la placa RPi no proporciona protección para los puertos y un cortocircuito accidental de 5 V en ellos puede ser fatal.

Aquí se proporciona el cableado de puertos y ejemplos de cómo acceder a ellos desde varios lenguajes de programación: bit.ly/StAJXA.

Hay dos versiones principales de las placas, Revisión 1 y 2, con cableado y asignaciones de puertos ligeramente diferentes. Para determinar qué versión, debe ingresar el comando cat /proc/cpuinfo y buscar el código de revisión del hardware en la tabla: Hay información adicional sobre las diferencias entre la Revisión 1 y 2.

Alimentación +5 V y 3,3 V, tierra (GND) y Puerto GPIO 4, que seguiremos usando, se colocan en los mismos contactos en ambas versiones. Los desarrolladores de RPi notan repetidamente el peligro de quemar el puerto o todo el RPi si el puerto no está conectado correctamente. Para evitar que esto suceda, se recomienda proteger el puerto de acciones erróneas. Se pueden ver esquemas de protección de puertos (y también ejemplos de conexión de varios periféricos).

Acceso al puerto

La forma más sencilla de gestionar un puerto es desde línea de comando. El estado del puerto se puede comprobar con un voltímetro. Todas las acciones se realizan bajo raíz.

$sudo-i

Comenzando con el puerto:

$ eco "4" > /sys/class/gpio/exportar

Modo de funcionamiento - salida:

$ eco "fuera" >

Valores de salida:

$ echo "1" > /sys/class/gpio/gpio4/value $ echo "0" > /sys/class/gpio/gpio4/value

Modo de funcionamiento - entrada:

$ echo "en" > /sys/class/gpio/gpio4/direction

$ gato /sys/class/gpio/gpio4/valor

Dejar de trabajar con el puerto:

$ eco "4" > /sys/class/gpio/unexport

Preparemos un script para controlar un puerto determinado, que usaremos más adelante:

$ sudo nano switch_gpio

#! /bin/bash PORT_NUM=$1 si [$2. == "encendido." ]; entonces NEW_VALUE=1 sino si [$2. == "apagado." ]; luego NEW_VALUE=0 else echo "Uso: $0 PORT_NUM on|off" exit fi fi # Configure el puerto GPIO para salida if [ ! -e /sys/class/gpio/gpio$PORT_NUM ] luego echo $PORT_NUM > /sys/class/gpio/export fi # Leer el estado anterior OLD_VALUE=$(cat /sys/class/gpio/gpio$PORT_NUM/value) si [ $OLD_VALUE == 1 ]; luego OLD_VALUE_TEXT="on" else OLD_VALUE_TEXT="off" fi echo "out" > /sys/class/gpio/gpio$PORT_NUM/direction echo -ne "Cambiando GPIO "$PORT_NUM" de "$OLD_VALUE_TEXT" a "$2". .." echo $NEW_VALUE > /sys/class/gpio/gpio$PORT_NUM/value echo " hecho."

Derechos de ejecución:

$ chmod +x cambiar_gpio

Y comprobemos:

$ switch_gpio 4 activado $ switch_gpio 4 desactivado

MÓDULO DE RELÉ

La conexión del relé se implementa según el diagrama de este artículo. EN posición normal, cuando la salida del puerto GPIO es lógica cero y potencial cero, el transistor está cerrado y no se suministra voltaje a la carga. Si se aplica uno lógico al GPIO, 3,3 V a través de una resistencia abrirán el transistor, la corriente fluirá a través de él y el relé funcionará. El diodo está diseñado para eliminar sobretensiones negativas cuando el relé está apagado.

Se utiliza otro relé (más sobre esto un poco más adelante) y un transistor con un diodo, los que estaban a mano, de características similares. Resistencia R1 (1 kOhm), tipo de diodo KD522 (1N4148), transistor H547. El artículo contiene recomendaciones sobre cómo elegir análogos. Además, vale la pena verificar la corriente de salida del puerto cuando el relé está encendido.


La carga conectada al circuito es de 640 W. Esto significa que a un voltaje de 220 V, la corriente será 640 W / 220 V = 2,9 A. Otro requisito para el relé es que dos cables se cierren y se abran a la vez y la carga esté completamente desenergizada. Una opción adecuada para tales requisitos es el relé TRIL-5VDC-SD-2CM-R, controlado desde 5 V y capaz de conmutar hasta 8 A 250 V CA.

Puede iniciar la instalación en el contacto tablero de circuitos. Por supuesto, no es adecuado para tareas serias, pero circuitos pequeños como este se pueden ensamblar y depurar rápidamente. Primero, lo alimentamos desde una fuente separada de +5 V, verificamos todo sin conectarnos al RPi, reemplazamos la conexión al puerto con una resistencia y un botón a +5 V, medimos todas las corrientes e instalamos un conector para conectar al placa principal RPi. Es absolutamente imposible conectar 220 V a una placa de este tipo, por lo que aún tendrá que tomar un soldador y transferirlo a la placa de circuito impreso.

Para conectarse a la placa RPi principal, puede ensamblar un cable a partir de un par de conectores y un cable plano, conectarle una placa intermedia, en la que ya están enrutados los puertos necesarios y se suministra energía a los cables a los dispositivos periféricos, por lo que hasta ahora solo uno, ya no un tren de 26, sino de 4 hilos Se conecta a la placa de circuito, sobre la cual se ensambla exactamente igual que en la primera opción, agregando bloques de terminales para 220 V. Soldamos los bloques de terminales al relé con un cable con una sección de 0,75, y Verifique cuidadosamente la funcionalidad del circuito con un probador haciendo clic en el relé. Además, puedes diluir la tierra. Luego conectamos los cables a terminales, también con una sección transversal de 0,75, en uno de los cuales se coloca un enchufe y en el otro, un enchufe para el cable.


A continuación, tenga cuidado y cuidado: 220 V con una frecuencia de 50 Hz es un voltaje; si se maneja descuidadamente, las consecuencias pueden ser mucho más trágicas que un RPi quemado. Verifique visualmente la soldadura en el tablero de relés, verifique que los cables de 220 V estén bien sujetos a los bloques de terminales. Arreglamos el tablero, o mejor aún, lo instalamos en cuerpo cerrado para no golpear accidentalmente contactos abiertos bajo voltaje. Nos tomamos nuestro tiempo y verificamos constantemente con un evaluador en cada paso. Desconectamos la placa de relés de la placa principal del RPi, la enchufamos al 220. No sale humo. Nos desconectamos de la red, conectamos la placa principal del RPi, la volvemos a encender a 220. No vuelve a salir humo, el RPi está vivo. Hacemos clic en el relé, vemos 220 en el zócalo. Apagamos el relé y 220, conectamos una lámpara de mesa al enchufe, aplicamos 220, hacemos clic en el relé. ¡Hurra!

Arroz. 5. La segunda versión del módulo de relé, soldado en una placa de circuito impreso.
con tablero de interruptores intermedio

Tomemos un respiro e instalemos la placa de relés en la carcasa de de forma continua, estamos probando la versión final, con una cafetera como carga.

GESTIÓN PORTUARIA MEDIANTE WEBIOPI

La forma más sencilla de acceder a los puertos GPIO a través de la web es instalar WebIOPi. Esta es una aplicación que le permite configurar visualmente la dirección de un puerto (entrada/salida), ver su estado durante la entrada y establecer el valor en la salida.

La instalación se describe detalladamente.

$ sudo apt-get instalar apache2 php5

Para funcionar, WebIOPi utiliza el módulo de reescritura y anulación de configuración (.htaccess):

$ sudo a2enmod reescritura $ sudo nano /etc/apache2/sites-enabled/000-default

en la sección cambie la línea "AllowOverride Ninguno" a "AllowOverride Todo":

Opciones Índices SeguirSymLinks MultiViews PermitirAnular todo Ordenar permitir, denegar permitir de todos

Agregue el usuario de Apache (www-data) a la lista de sudoers:

$sudo visudo

Agregue la siguiente línea al final del archivo:

www-data TODOS = (TODOS) NO CONTRASEÑA: TODOS

Reinicie Apache:

$ sudo /etc/init.d/apache2 reiniciar

$ wget //webiopi.googlecode.com/files/WebIOPi-0.3.tar.gz $ tar xvzf WebIOPi-0.3.tar.gz

Mueva los archivos al directorio apropiado:

$ sudo mv webiopi /var/www

La interfaz principal está disponible en: //localhost/webiopi.

Si abre una página directamente desde RPi, entonces debe hacerlo en Chromium o Midori; no funciona ni en NetSurf ni en Dillo debido a la falta de soporte de JavaScript en ellos.

VINCULANDO TODO JUNTO

Para controlar el puerto desde un navegador a través de la web, la interfaz web WebIOPi es suficiente si lo desea, puede configurarse según sus necesidades; Para encender el relé cuando se detecta movimiento, agregue el inicio de movimiento a tiempo especificado por la mañana, por ejemplo a las 8:00, en /etc/crontab:

0 8* * * echo $(fecha)": "$(inicio de movimiento del servicio) >> /var/log/motion_start.log

crontab/etc/crontab

Creemos un script que se iniciará desde Motion:

$ nano /home/pi/motion_det

#!/bin/bash /home/pi/switch_gpio 4 activado servicio movimiento detener suspensión 1800 /home/pi/switch_gpio 4 desactivado

Derechos de ejecución:

Chmod +x /home/pi/motion_det

Ahora a las ocho de la mañana se lanzará Motion, que comenzará a detectar movimiento. Cuando se detecta movimiento, se ejecutará el script motion_det, que enviará un uno lógico al puerto GPIO 4, aplicará voltaje al relé y encenderá la cafetera, detendrá el movimiento, esperará 30 minutos y enviará un cero lógico al mismo puerto. , apagando la carga.

CONCLUSIÓN

La mayoría de los componentes se compraron en Chip and Dip (incluidas carcasas, prensaestopas, placas, adaptadores, etc.). Esta es una tienda con buena eleccion, donde puedes ir, mirar y tocar, pero no es barato, los hay mucho más baratos; Aquellos que no quieran esperar mucho tiempo hasta que les entreguen el RPi ya pueden comprarlo, por ejemplo, en Terraelectronics, aunque no por 25 dólares.

Para evitar la oscuridad en las mañanas de invierno, puedes conectar un sensor de movimiento IR en lugar de una cámara (o además de ella). Puedes aprender a utilizar una cafetera espresso automática y no tener que preocuparte por volver a llenar tu café a la mañana siguiente. Puedes conectar un relé a través de ZygBee, agregar otros actuadores, por ejemplo, una lámpara en el dormitorio. Puede implementar el control vía SMS conectando un módem 3G, o con teléfono normal vía DTMF, elevando Asterisk o Freeswitch. O puedes escribir una aplicación para Android y iPhone/iPad.

Hay muchas opciones y con la llegada de RPi, la capacidad de experimentar en la frontera entre la programación y el mundo físico se ha expandido dramáticamente. Sí y, por supuesto, el próximo 1 de abril habrá que pensar en apoyo total Estándar RFC 2324.

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.

Transferiré aquí una imagen de los conectores GPIO de la raspberry 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 los puertos GPIO de Raspberry Pi 2 y por el otro a una toma de 220 V. Hay 4 pines en la placa de relé: 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 una 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 joystick.
Resultado de la construcción:

. Hoy es la tercera lección, en la que trabajaremos con la consola y la utilidad apt-get, aprenderemos a tomar capturas de pantalla y configurar. mando a distancia a través de VNC.

Vídeo de la tercera lección:

Para la tercera lección necesitaremos:

  • placa Raspberry Pi;
  • cable de alimentación;
  • teclado USB;
  • ratón USB;
  • monitor o TV con interfaz HDMI/RCA/DVI;
  • un cable, un extremo del cual es RCA o HDMI y el otro corresponde a su monitor;
  • Tarjeta SD con sistema operativo Raspbian ya instalado (vea cómo instalarlo);
  • Divisor USB con fuente de alimentación propia;
  • Módem WiFi.

Trabajar con la consola en Raspberry Pi

En sistema operativo raspbiano(como en otras distribuciones linux) hay una consola principal. Si no hubiésemos tomado las medidas adecuadas configuración rasppi, la consola se abriría inmediatamente cuando se iniciara el sistema operativo. Trabajar con una consola de este tipo no es conveniente, ya que tendrá que salir del modo gráfico. Es mucho más conveniente utilizar un programa preinstalado. Terminal LX, que emula la consola principal como una ventana en una GUI. Cuando abramos este programa, veremos la línea pi@raspberrypi ~ $ Aquí pi— nombre de usuario en el sistema operativo, frambuesapi- nombre de host, ~ - directorio actual, ~ reemplaza /inicio/pi. Cuando veamos esa línea, podremos escribir nuestro propio comando. En particular, aquí puede realizar acciones con archivos, carpetas, archivos (pero estas acciones también se pueden realizar en modo gráfico, lo cual es mucho más conveniente).

sudo

Algunas acciones requieren derechos de administrador, puede usarlas simplemente agregando sudo al comienzo del comando.

instalación del programa y utilidad apt-get

Analizamos la instalación de programas usando PiTienda. Esta es una forma cómoda e intuitiva con una interfaz gráfica, pero la biblioteca PiTienda no contiene tantos programas como nos gustaría.

Una forma alternativa de buscar, descargar e instalar programas en Frambuesa Pi- utilidad de consola apto-obtener.

apto-obtener almacena datos sobre varios programas y utilidades de consola y gráficos en Frambuesa Pi. Antes de trabajar con esta utilidad, debe actualizar la base de datos del programa usando el comando

sudo apt-obtener actualización

Después de la actualización, puede descargar programas. Para buscar en la base de datos de servicios públicos, debe realizar la siguiente solicitud:

búsqueda de caché apt<запрос>

Por ejemplo,

árbol de búsqueda de apt-cache

Después de la solicitud, se mostrará una lista de programas y utilidades, cuyo nombre o descripción contiene la solicitud ingresada. Seleccionamos el programa apropiado y recordamos su nombre.

Solicitamos instalación:

sudo apt-get instalar<название>

Por ejemplo,

árbol de instalación sudo apt-get

Deberá confirmar la instalación usando Ingresar.

Después de la instalación, puede encontrar información sobre el programa o utilidad:

información<название>

Por ejemplo,

En el archivo de salida puede encontrar información general sobre el programa, licencia, parámetros utilizados (si es una versión de consola) y otra información.

para usar programa de consola ingresar<название> <параметры и флаги>, Por ejemplo árbol.

Para eliminar un programa, utilice el comando (también es necesario confirmar la eliminación):

sudo apt-get eliminar<название>
Por ejemplo,
sudo apt-get eliminar árbol
Periódicamente es recomendable realizar las siguientes acciones con esta utilidad:
sudo apt-get update (actualización de la base de datos del programa)
sudo apt-get update (actualizar programas instalados)
sudo apt-get autoremove (eliminar bibliotecas, programas adjuntos, etc. que quedan después de desinstalar programas)

Tomar capturas de pantalla en Raspberry Pi

Desafortunadamente, el sistema operativo Raspbian no tiene herramientas preinstaladas para crear capturas de pantalla: capturas de pantalla.

Puede buscar herramientas para crear capturas de pantalla en apt-get mediante la solicitud:

captura de pantalla de búsqueda de apt-cache

La utilidad scrot me resultó útil para tomar capturas de pantalla. Instalación de la utilidad scrot:

sudo apt-get instalar scrot

Para tomar una captura de pantalla, debes ingresar el comando scrot. Puede especificar un retraso en la ejecución del comando; esto es necesario para que tenga tiempo de minimizar o cerrar la consola; de lo contrario, se incluirá en la captura de pantalla. Por un retraso de 5 segundos debes ingresar:

Configurar el control remoto a través de VNC

Computación en red virtual (VNC) - un sistema para el acceso remoto al escritorio de una computadora. El control se logra transmitiendo las pulsaciones de teclas del teclado y los movimientos del mouse de una computadora a otra y transmitiendo el contenido de la pantalla a través de red informática . Usaremos VNC para controlar remotamente la Raspberry Pi.

Para configurar el control remoto, instale e inicie el servidor VNC x11vnc, Descubra la dirección IP de la Raspberry Pi:
sudo apt-get instalar x11vnc
x11vnc -escritorio:0
Veamos la dirección IP de Raspberry Pi usando el comando nombre de host -I.

En el ordenador desde el que queramos controlar remotamente la Raspberry Pi descargaremos e instalaremos un cliente VNC, por ejemplo, de realVNC. Iniciémoslo e ingresemos la dirección IP de Raspberry Pi. Después de esto podremos controlar de forma remota.

Con esto concluye la tercera lección, ¡sigue!

En la próxima lección trabajaremos con puertos GPIO, en particular haremos parpadear el LED en diferentes modos.




Arriba