Tabla de contenido:
- Paso 1: Partes
- Paso 2: ensamblar la cámara e instalar Raspbian
- Paso 3: habilita la cámara
- Paso 4: expanda el sistema de archivos
- Paso 5: Opciones de arranque
- Paso 6: Configure el RPi en el teclado USB (HID)
- Paso 7: Instale RPi-Cam-Web-Interface
- Paso 8: Otorgue acceso a Www-data al dispositivo / dev / hidg0
- Paso 9: configurar la interfaz web
- Paso 10: personalice la apariencia web
- Paso 11: Prueba y uso
Video: Parada y monitorización remota del CNC: 11 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este proyecto proporciona un medio económico de realizar de forma remota un STOP (ALT + S) a Mach3. Esto se logra con una cámara Raspberry Pi (RPi) + conectada a una PC a través de un cable USB. La monitorización y activación del STOP en el CNC se realiza con una aplicación web de transmisión de vídeo que se ejecuta en el RPi. El uso de esta solución debe hacerse bajo su propio riesgo. Le recomiendo que se ponga en contacto con el fabricante de su CNC y compre e instale la parada de emergencia remota recomendada especificada.
Nota: Esto no es lo mismo que una parada de emergencia (EStop) conectada a su panel de control CNC, sino la ejecución de una tecla de acceso rápido para realizar una parada de Mach3.
Paso 1: Partes
- Raspberry Pi Zero W
- Cable de cámara Raspberry Pi Zero 1.3
- Cámara Raspberry Pi (Nota: las cámaras web USB no son compatibles)
- Estuche para Raspberry Pi y Cámara
- tarjeta micro SD de 16 GB
- cable USB
Paso 2: ensamblar la cámara e instalar Raspbian
Ensamble la cámara RPi, el cable y el RPi juntos según las instrucciones que se encuentran en Cómo conectar el módulo de la cámara Raspberry Pi a la Raspberry Pi Zero W y la carcasa oficial. Nota: las cámaras web USB no son compatibles.
Instale la última versión de Raspbian en Raspberry Pi Zero W. Recomiendo seguir las instrucciones paso a paso que se pueden encontrar en el inicio rápido de Raspberry Pi Zero Headless de Adafruit.
Realice una conexión SSH al RPi, como se menciona en las instrucciones anteriores, e inicie una configuración general del sistema ejecutando la utilidad raspi-config.
sudo raspi-config
Paso 3: habilita la cámara
En la ventana principal de raspi-config, seleccione el número 5. Opciones de interfaz: configure las conexiones a los periféricos. En la siguiente ventana, seleccione P1. Cámara: habilita / deshabilita la conexión a la cámara Raspberry Pi. La siguiente ventana preguntará ¿Desea que se habilite la interfaz de la cámara? Seleccione y presione Enter. La última pantalla indicará que se ha habilitado la interfaz de la cámara y presione Entrar para. Esto lo regresará a la ventana principal de raspi-config.
Paso 4: expanda el sistema de archivos
En la ventana principal de raspi-config, seleccione el número 7. Opciones avanzadas: configure las opciones avanzadas. En la siguiente ventana, seleccione A1. Expandir el sistema de archivos: garantiza que se utilice todo el almacenamiento de la tarjeta SD. Después de seleccionar este elemento, aparecerá una ventana que indica que se ha cambiado el tamaño de la partición raíz. El sistema de archivos se ampliará en el próximo reinicio. Presione la tecla Enter para seleccionar. Esto le devolverá la ventana principal de raspi-config.
Paso 5: Opciones de arranque
En la ventana principal de raspi-config, seleccione el número 3. Opciones de arranque: configure las opciones para el inicio. En la siguiente pantalla, seleccione B1. Escritorio / CLI: elija si desea iniciar en un entorno de escritorio. Esto lo llevará a la ventana final y seleccionará B1. Consola: consola de texto que requiere que el usuario inicie sesión. Al seleccionar esto, volverá a la ventana principal de raspi-config.
Puede salir de raspi-config seleccionando, lo que probablemente requerirá un reinicio. Ejecute el reinicio y vuelva a SSH en el RPi.
Paso 6: Configure el RPi en el teclado USB (HID)
Una PARADA se genera enviando una pulsación de tecla ALT + s a través del RPi a la PC que ejecuta Mach3. Como resultado, el RPi debe configurarse para aparecer y funcionar como teclado USB en la PC. Esto le permite enviar comandos de teclas de acceso rápido como ALT + s a la PC. Las instrucciones para configurar el RPi se encuentran en Convertir Raspberry Pi Zero en un teclado USB (HID).
Después de reiniciar, ingrese el siguiente comando:
ls -l / dev / hid *
Debería ver el dispositivo / dev / hidg0 apareciendo en la lista como se ve arriba. El acceso de grupo y el acceso de lectura y escritura a este dispositivo se modificarán en los pasos a seguir.
Paso 7: Instale RPi-Cam-Web-Interface
Instale el software de servidor web y de transmisión de video según las instrucciones en RPi-Cam-Web-Interface.
Durante la instalación, se le solicitarán las siguientes opciones de configuración:
- Subcarpeta Cam: html
- Inicio automático: (sí / no) sí
- Servidor: (apache / nginx / lighttpd) apache
- Puerto web: 80
- Usuario: (en blanco = nologin) admin (ejemplo)
- Contraseña: # 34By97Zz (ejemplo)
- jpglink: (sí / no) no
- phpversion: (5/7) 7
Elegí las entradas predeterminadas para simplificar la instalación, pero agregué un usuario y una contraseña para proteger la página web de RPi. Seleccione y continúe con la instalación. Al final, se le pedirá que inicie el sistema de cámara. Ahora seleccione y continúe. Si tiene éxito, será llevado al símbolo del sistema.
Conéctese a la página web de RPi https:// / html /
Paso 8: Otorgue acceso a Www-data al dispositivo / dev / hidg0
Ahora que se han instalado todas las aplicaciones y el hardware, se pueden realizar los últimos ajustes para finalizar la instalación. El objetivo de este paso es otorgar al usuario acceso www-data al dispositivo de teclado USB / dev / hidg0.
Primero, cree un grupo llamado hid y agregue www-data al grupo:
sudo addgroup hid
sudo adduser www-data hid
A continuación, abra /etc/rc.local con este comando (nuevamente):
sudo nano /etc/rc.local
Agregue lo siguiente antes de la línea que contiene la salida 0, pero debajo de la línea que agregó en el paso Configurar el RPi en el teclado USB (HID):
sudo chown root: hid / dev / hidg0sudo chmod 660 / dev / hidg0
El comando anterior proporcionará el acceso necesario al dispositivo / dev / hidg0 para el usuario www-data. Después de realizar las modificaciones anteriores y reiniciar, verá el dispositivo / dev / hidg0 con el siguiente comando:
ls -l / dev / hid *
Observe que el grupo para este dispositivo ahora está oculto y el grupo tiene acceso de lectura y escritura.
======================================
Opcional: Si desea utilizar scripts que accedan a GPIO, I2C y / o SPI a través de la página web de RPi, deberá habilitar estas interfaces en raspi-config. En segundo lugar, deberá otorgar acceso a los datos www al usuario a estas interfaces.
sudo usermod -a -G gpio, i2c, spi www-data
Paso 9: configurar la interfaz web
Cargue el archivo userbuttons.txt que se encuentra a continuación en el directorio de inicio de su RPi '/ home / pi /'.
Desde su directorio de inicio, copie userbuttons.txt a la carpeta '/ var / www / html /':
cd ~ sudo cp userbuttons.txt / var / www / html / userbutton
Cambiar la propiedad y los permisos de los botones de usuario:
sudo chown www-data: www-data / var / www / html / userbutton
Cree el script de shell stop_cnc.sh:
sudo nano /var/www/html/macros/stop_cnc.sh
Copie y pegue el siguiente texto en este archivo:
#! / bin / bashfunction write_report {echo -ne $ 1> / dev / hidg0} # CTRL = x10 SHIFT = x20 ALT = x40 # ALT + swrite_report "\ x40 / 0 / x16 / 0 / 0 / 0 / 0 / 0" # Nullwrite_report "\ 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0" #echo "STOP CNC" >> /var/www/html/macros/testmacro.txt
Después de guardar /var/www/html/macros/stop_cnc.sh, proporcione los permisos necesarios al archivo con estos comandos:
sudo chown www-data: www-data /var/www/html/macros/stop_cnc.shsudo chmod 764 /var/www/html/macros/stop_cnc.sh
====================================== Opcional: si desea tener botones para INICIO DE CICLO y FEED HOLD, puede agregar los siguientes botones a / var / www / html / userbuttons:
sudo nano / var / www / html / userbuttons
Busque y elimine el # de las líneas que se muestran a continuación en el archivo de botones de usuario:
#FEED HOLD, feed_hold.sh, btn btn-warning btn-lg, style = "width: 50%" # CYCLE START, cycle_start.sh, btn btn-success btn-lg, style = "width: 50%"
Cree el script de shell cycle_start.sh:
sudo nano /var/www/html/macros/cycle_start.sh
Copie y pegue el siguiente texto en este archivo:
#! / bin / bashfunction write_report {echo -ne $ 1> / dev / hidg0} # CTRL = x10 SHIFT = x20 ALT = x40 # ALT + r - INICIO DEL CICLOwrite_report "\ x40 / 0 / x15 / 0 / 0 / 0 / 0 / 0 "# Nullwrite_report" / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 "#echo" CYCLE START ">> /var/www/html/macros/cycle_start.txt
Cree el script de shell feed_hold.sh:
sudo nano /var/www/html/macros/feed_hold.sh
Copie y pegue el siguiente texto en este archivo:
#! / bin / bashfunction write_report {echo -ne $ 1> / dev / hidg0} # CTRL = x10 SHIFT = x20 ALT = x40 # SPACE - FEED HOLD write_report "\ 0 / 0 / x2c / 0 / 0 / 0 / 0 / 0 "# Null write_report" / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 "#echo" FEED HOLD ">> /var/www/html/macros/feed_hold.txt
Cambiar la propiedad y los permisos de los scripts de shell:
sudo chown www-data: www-data /var/www/html/macros/cycle_start.shsudo chown www-data: www-data /var/www/html/macros/feed_hold.shsudo chmod 764 / var / www / html / macros / cycle_start.shsudo chmod 764 /var/www/html/macros/feed_hold.sh
Paso 10: personalice la apariencia web
Antes del paso anterior, la página web aparecía como la imagen "Antes" que se muestra arriba. Después de las modificaciones en el botón STOP aparecerá. Algunos de los cambios recomendados en la configuración de la cámara:
- Resoluciones: Max View 972p 4: 3
- Anotación (máx. 127 caracteres): Texto: Leva CNC% Y.% M.% D_% h:% m:% s
- Calidad de vista previa (1… 100) Predeterminado 10: 50 Ancho (128… 1024) Predeterminado 512: 1024 Divisor (1-16) Predeterminado 1: 1
El nombre de la barra de título y el nombre 'RPi Cam Control v6.4.34: mycam @ raspberrypi' se pueden modificar personalizando el archivo /var/www/html/config.php.
sudo nano /var/www/html/config.php
Modifique 'RPi Cam Control' si desea cambiar el nombre del título:
// nombre de esta aplicacióndefine ('APP_NAME', 'RPi Cam Control');
En la sección de configuración del 'Sistema' puede cambiar el Estilo a Noche y hacer clic en Aceptar para que el fondo se vuelva negro.
Paso 11: Prueba y uso
Conecte un cable USB al puerto USB del RPi (no al PWR USB) y conecte el otro extremo a la PC que ejecuta Mach3. Este cable alimentará el RPi y controlará Mach3 en la PC. Por lo tanto, NO conecte una fuente de alimentación externa a PWR USB en el RPi. Esto podría dañar la PC o el RPi.
foco: la ventana que actualmente tiene el foco del teclado. Cualquier pulsación de tecla del teclado se producirá en esta ventana.
Como se mencionó anteriormente, el USB del RPi envía una tecla de acceso rápido ALT + al USB de la PC conectada. Para probar la configuración (sin Mach3), abra una aplicación (preferiblemente un editor de texto) que tenga una opción de Menú que comience con S, como se ve arriba en la aplicación Notepad ++. Observe que la S está subrayada en el menú, lo que indica que una pulsación de tecla ALT + s activará el menú. Puede probarlo con el teclado de la PC para probar los resultados. Como en el ejemplo anterior, apareció el menú de búsqueda. Sus resultados serán diferentes, dependiendo de la aplicación que abra con un menú que contiene una opción con S. Si su prueba fue exitosa, pruebe su configuración con la aplicación web. Fije el foco en la misma aplicación que antes y acceda a la aplicación web del RPi desde un dispositivo diferente. Incluso puede utilizar un teléfono inteligente para acceder al RPi. Haga clic en el botón DETENER en la página web y el mismo menú debería desplegarse como antes.
Si su prueba tiene éxito, está listo para usar esto con Mach3. Utilizo Mach3 2010 Screenset y funciona bien.
Asegúrese de que Mach3 esté enfocado para la entrada del teclado de la PC. Tocar la barra de título de Mach3 es suficiente para asegurar que este sea el caso. Mach3 debería ser la única aplicación que se ejecute en el escritorio de la PC.
El uso de este método debe hacerse bajo su propio riesgo.
Recomendado:
Construya un dispositivo de monitorización de energía usando un electrón de partículas: 5 pasos (con imágenes)
Construya un dispositivo de monitoreo de energía usando un electrón de partículas: en la mayoría de las empresas, consideramos que la energía es un gasto comercial. La factura aparece en nuestro correo o correos electrónicos y la pagamos antes de la fecha de cancelación. Con la aparición del IoT y los dispositivos inteligentes, la energía está comenzando a ocupar un nuevo lugar en un negocio 'bala
Sistema de monitorización meteorológica con sensor Raspberry Pi3 y DHT11: 4 pasos
Sistema de monitoreo del clima usando el sensor Raspberry Pi3 y DHT11: en este tutorial, le mostraré cómo conectar el DHT11 a la Raspberry Pi y enviar las lecturas de humedad y temperatura a una pantalla LCD.El sensor de temperatura y humedad DHT11 es un pequeño módulo agradable que proporciona temperatura y humedad digitales
Coche IoT RC con lámpara inteligente remota o puerta de enlace: 8 pasos (con imágenes)
Coche IoT RC con Smart Lamp Remote o Gateway: para un proyecto no relacionado, había estado escribiendo un código Arduino para hablar con las lámparas inteligentes MiLight y los controles remotos de lámparas que tengo en mi hogar. Decidí hacer un pequeño auto RC para probar
Apagar o reiniciar de forma remota una computadora con un dispositivo ESP8266: 10 pasos (con imágenes)
Apagar o reiniciar de forma remota una computadora con un dispositivo ESP8266: Para ser claros aquí, estamos apagando SU computadora, no la computadora de otra persona. un montón de matemáticas, pero todas las mañanas a las 3 am, cierran. S
Robusto robot de vigilancia remota de chasis con seguimiento: 7 pasos (con imágenes)
Robusto robot de vigilancia remota de chasis con seguimiento: Introducción: este era un proyecto que inicialmente quería comenzar y completar en 2016, sin embargo, debido al trabajo y una plétora de otras cosas, solo pude comenzar y completar este proyecto en el año nuevo 2018! Tardaron unas 3 semanas