Tabla de contenido:
- Paso 1: ¿Qué es el estiramiento del reloj?
- Paso 2: un poco de ayuda de los cerdos que vuelan
- Paso 3: TL; Versión DR
- Paso 4: instalación
- Paso 5: instala Pigpio
- Paso 6: Opcional: Configuración del sistema de desarrollo
- Paso 7: Configuración de WinSCP
- Paso 8: (w) obtener el código
- Paso 9: Nota para los futuros piratas informáticos
Video: ¿TinyLiDAR en un Pi ?: 9 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
¡Hola de nuevo!
Bueno, ahora que ha pasado un tiempo de calidad con tinyLiDAR y su Arduino, su Raspberry Pi tal vez se sienta un poco solo;)
El pi tiene un puerto I2C, ¿verdad? Entonces, ¿por qué no conectarlo y probarlo allí? Buen plan, pero si ya lo ha intentado, es posible que haya notado que los datos se ven un poco extraños.
Sí, el pi ya ha incorporado 1.8K pull-ups, por lo que tendrá que cortar las almohadillas I2C en tinyLiDAR para sacar los 4.7K pull-ups del circuito; consulte el manual de referencia para obtener más detalles. Pero esta no es la razón de los datos extraños.
Esto se debe a que el bus I2C del pi no cumple exactamente las especificaciones. Ha sido así desde que se introdujo por primera vez el pi debido al conjunto de chips Broadcom. Desde el principio, no han admitido adecuadamente una función I2C llamada "alargamiento del reloj".
Puede leer más sobre este error de h / w aquí.
Paso 1: ¿Qué es el estiramiento del reloj?
Como sabrá, el bus I2C consta de 3 cables. Estos son para reloj (SCL), datos (SDA) y terreno común. El reloj y las líneas de datos son del tipo de colector abierto / drenaje abierto, lo que significa que necesitan resistencias pull-up conectadas a un riel de suministro positivo para darles un nivel lógico alto. Para obtener una lógica baja, cualquier dispositivo en el bus puede bajar la línea a tierra común.
Según el estándar I2C, el dispositivo maestro es el que suministra la señal de reloj en la línea SCL, pero si esta velocidad es demasiado rápida, entonces el dispositivo esclavo puede ralentizarlo simplemente manteniendo presionada la línea del reloj hasta que esté listo para tratar. con la información. Esto es lo que llamamos "estiramiento del reloj".
Oficialmente, el alargamiento del reloj se incluyó como una característica opcional en el estándar I2C, pero es una característica muy común que es necesaria para la mayoría de los esclavos "inteligentes" que necesitan algo de tiempo adicional para proporcionar datos de sensores, etc.
Paso 2: un poco de ayuda de los cerdos que vuelan
Para solucionar este error de I2C h / w, encontramos una pequeña biblioteca gratuita llamada "pigpio". Es una biblioteca muy popular, rápida y liviana escrita en C. Se ejecuta como un demonio en segundo plano para Raspberry Pi y nos permite controlar el I2C y cualquier GPIO fácilmente desde Python. La biblioteca trata los puertos I2C más como GPIO y, por lo tanto, ha pasado por alto el error de estiramiento del reloj I2C. Como todo el software en pi, la biblioteca pigpio está a solo una simple "inclusión" de distancia, ¡así que vamos!
Paso 3: TL; Versión DR
Configurar PiEnable SSH para iniciar sesión con Putty Instalar la biblioteca pigpio Obtener el archivo zip tinyLiDAR Descomprimir y ejecutar desde Putty
Opcional:
Configurar SublimeText con WinSCP
Paso 4: instalación
Para nuestra Raspberry Pi 3, utilizamos el sistema operativo estándar New Out Of the Box Software (NOOBS Lite v2.4). Contiene una versión predeterminada de Python ya instalada para nosotros lista para codificar. Puede descargar el sistema operativo desde aquí.
Una vez instalado en una tarjeta micro SD, debe conectar un teclado y un monitor para que pueda iniciar sesión en el pi por primera vez:
Nombre de usuario: pi Contraseña: frambuesa
Luego, puede iniciar un servidor shell seguro (SSH) con estos comandos:
sudo systemctl habilitar sshsudo systemctl iniciar ssh
A continuación, necesitaremos la dirección IP del pi en su red para que podamos iniciar sesión con PuTTY. Para obtener esto, simplemente escriba:
nombre de host -I
Y busque una dirección de formato IPv4 (para nuestra configuración era: 192.168.0.27)
Los pasos anteriores permitirán que pi se ejecute "sin cabeza", lo que significa que no necesitará volver a escribir en este teclado y tampoco necesitará un monitor de video. Iniciaremos sesión a través de la red a través de una conexión SSH segura en el futuro. El comando anterior hace que el servidor SSH se inicie automáticamente cada vez que se enciende el pi. Esto es conveniente para nosotros mientras estamos codificando, pero podría ser un riesgo de seguridad más adelante (ser paranoico es bueno), así que cuando esté listo, puede deshabilitar esta función SSH de inicio automático usando este comando:
sudo systemctl deshabilitar ssh
Este comando debe escribirse en el teclado conectado al pi, por supuesto.
PuTTY es un programa de terminal que se requiere para emitir comandos desde la PC al pi, por lo que debe obtener la última copia desde aquí.
Instale e inicie PuTTY. Deberá escribir la dirección IP de arriba en la entrada del Nombre de host y usar la configuración SSH predeterminada. Dé a la sesión el nombre que desee y presione guardar. Luego presione cargar y haga clic en ABRIR para iniciar una sesión.
Debería llevarte a la pantalla de inicio de sesión de pi. Utilice su mismo nombre de usuario y contraseña que utilizó anteriormente.
Paso 5: instala Pigpio
Ahora, lo único que necesitamos instalar después de esto sería la biblioteca pigpio y podemos hacerlo usando los siguientes comandos.
Sugerencia: simplemente puede copiar [ctrl + c] y pegar [clic derecho del mouse] estos y cualquier otro comando en la terminal PuTTY
sudo apt-get update
sudo apt-get install pigpio python-pigpio python3-pigpio
Paso 6: Opcional: Configuración del sistema de desarrollo
Así que aquí hay un consejo que puede ayudarlo a ahorrar algo de tiempo en su mundo de desarrollo de código. Realmente odiamos a los editores de texto basados en Unix. La interfaz de usuario es normalmente torpe y las fuentes apestan. GNU nano es casi soportable pero ninguno es tan refinado como SublimeText que puedes descargar desde aquí
Tenemos un entorno de desarrollo basado en Windows y nos encanta usar este editor de texto siempre que sea posible. Entonces, el consejo aquí es configurar su sistema para poder usar este editor de texto profesional de forma nativa en su escritorio de Windows para codificar directamente en su pi sin cabeza.
¿Cómo? Usando una aplicación gratuita llamada WinSCP que puede descargar desde aquí
Paso 7: Configuración de WinSCP
WinSCP es un programa seguro de transferencia de archivos que ofrece una representación gráfica de los archivos presentes en su rpi, como lo que ve en el administrador de archivos de su PC con Windows.
Así que continúe e instale los dos programas anteriores también ahora.
A continuación, tendrá que hacer algunos ajustes para que todos funcionen correctamente.
Para WinSCP, puede hacer clic en NUEVO sitio. Usaremos la configuración SFTP predeterminada y solo necesita ingresar la dirección IP (para el nombre de host) de su pi y el nombre de inicio de sesión (para el nombre de usuario). Puede optar por dejar la contraseña vacía si lo desea; se le solicitará la contraseña cada vez que inicie sesión.
A continuación, haga clic en el botón Avanzado y luego haga clic en el lado izquierdo para la configuración del Shell de entorno. En el lado derecho, cambie el menú desplegable "Predeterminado" a la opción "sudo su -". Esto permitirá que los cambios se escriban en su pi sin errores de permiso cuando presione guardar desde SublimeText.
Establezca SublimeText como editor predeterminado en WinSCP
Para hacer esto, haga clic en el botón Herramientas en la pantalla de configuración de inicio de sesión de WinSCP donde inició su cuadro de diálogo NewSite. Las dos capturas de pantalla muestran cómo está configurado, pero básicamente hará clic para configurar la preferencia Editores y Agregar un editor que será un editor externo. A continuación, puede buscar el archivo.exe de la ubicación de este editor en su computadora.
Paso 8: (w) obtener el código
Una vez hecho esto, inicie sesión con WinSCP y PuTTY.
Ahora que estamos listos, podemos iniciar nuestro código tinyLiDAR.
Cree un directorio llamado tinyLiDAR en su directorio home / pi.
Puede hacerlo haciendo clic con el botón derecho en el lado derecho de la pantalla de WinSCP y seleccione Nuevo / Directorio.
Ahora en la terminal PuTTY puedes escribir
cd t
y presione el tabulador para permitir que complete automáticamente su comando para llegar al directorio tinyLiDAR.
Una vez aquí escriba lo siguiente:
wget
para obtener los archivos directamente de nuestro servidor. Luego podemos descomprimirlos escribiendo
descomprimir r
y presiona tab para autocompletar el nombre nuevamente
Para ejecutarlo, simplemente escriba
python tlgui.py
Y su tinyLiDAR responderá a todos sus comandos en el pi:)
Paso 9: Nota para los futuros piratas informáticos
Continúe y eche un vistazo debajo del capó haciendo doble clic en cualquiera de los archivos de código de WinSCP. Son los que tienen extensión.py. Los archivos deberían abrirse en SublimeText directamente en su PC. Cambie lo que quiera y luego presione guardar. Sus cambios se guardarán directamente en su pi.
Cuando esté listo, vuelva a ejecutarlo usando la tecla de flecha hacia arriba para el último comando escrito o simplemente escríbalo nuevamente y presione enter:
python tlgui.py
Es posible que haya notado que el diseño de la GUI de Terminal se ve un poco mejor que la versión de Arduino. Es porque PuTTY admite caracteres Unicode, por lo que pudimos usar algunos caracteres de control de cursor adicionales para que se vea más refinado.
También hay un comando agregado aquí (en comparación con la versión de Arduino) que es "dc" para la función de lectura continua. Pruébelo y vea lo que piensa.
¡Eso es todo!
Gracias por leer y disfruta hackear el pi:)
Recomendado:
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática Este / Oeste: 11 pasos (con imágenes)
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática de este a oeste: El proyecto: Una oficina de 200 pies cuadrados debe funcionar con baterías. La oficina también debe contener todos los controladores, baterías y componentes necesarios para este sistema. La energía solar y eólica cargará las baterías. Hay un pequeño problema de solo
Cómo: Instalación de Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: 7 pasos (con imágenes)
Cómo: Instalar Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: planeo usar este Rapsberry PI en un montón de proyectos divertidos en mi blog. No dudes en comprobarlo. Quería volver a usar mi Raspberry PI, pero no tenía un teclado ni un mouse en mi nueva ubicación. Ha pasado un tiempo desde que configuré una Raspberry
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: 6 pasos (con imágenes)
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: ¡Hola, chicos! Akarsh aquí de CETech. En este proyecto, vamos a echar un vistazo a HuskyLens de DFRobot. Es un módulo de cámara impulsado por inteligencia artificial que es capaz de realizar varias operaciones de inteligencia artificial como el reconocimiento facial
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: 6 pasos (con imágenes)
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: ya escribí un artículo sobre cómo ejecutar demostraciones de OpenMV en Sipeed Maix Bit y también hice un video de demostración de detección de objetos con esta placa. Una de las muchas preguntas que la gente ha hecho es: ¿cómo puedo reconocer un objeto que la red neuronal no está tr
Cómo desmontar una computadora con sencillos pasos e imágenes: 13 pasos (con imágenes)
Cómo desmontar una computadora con sencillos pasos e imágenes: esta es una instrucción sobre cómo desmontar una PC. La mayoría de los componentes básicos son modulares y se quitan fácilmente. Sin embargo, es importante que se organice al respecto. Esto ayudará a evitar que pierda piezas y también a que el reensamblaje sea más fácil