Tabla de contenido:
- Paso 1: prepara Raspberry Pi
- Paso 2: Prepare un ejemplo simple para recopilar datos de Arduino
- Paso 3: Inicie RPi desconectando y conectando la alimentación a RPi. Inicie VNCViewer, inicie sesión en su RPi
- Paso 4: Instale Samba para compartir la carpeta
- Paso 5: referencias útiles
Video: Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este tutorial es para aquellos que no tienen experiencia en la instalación de un nuevo hardware o software, y mucho menos Python o Linux.
Digamos que ha pedido a Raspberry Pi (RPi) con tarjeta SD (al menos 8GB, yo usé 16GB, tipo I) y fuente de alimentación (5V, al menos 2.5A). Hoy, decides configurarlo y registrar datos de Arduinos. ¡Así que comencemos!
El tutorial incluye configurar Raspberry Pi desde el principio, incluido Desktop Remote, preparar un Arduino con sensores de temperatura 18B20 y ejecutar un script Python en Raspberry Pi para recopilar y guardar los datos. Actualicé la publicación agregando samba share para transferir el archivo entre la computadora host (su PC) y la Raspberry Pi
Paso 1: prepara Raspberry Pi
- Descarga el sistema operativo para RPi. Recomiendo una versión completa de Raspbian, como esta aquí.
- Suponga que tiene una computadora que funciona con Windows, descargue el software Rufus para escribir la imagen en la tarjeta SD. Desplácese hacia abajo y obtenga rufus 3.0 (junio de 2018)
- Descomprima el archivo Raspbian (4,6 GB) y seleccione cuidadosamente su tarjeta SD de destino. Se necesitan unos 3 minutos para completar la escritura de la imagen en la tarjeta.
- Inserte la tarjeta SD en la ranura, conecte el cable de alimentación al puerto micro USB, una pantalla con cable HDMI, un teclado, un mouse es opcional.
- Espere hasta que el RPi se inicie y muestre el escritorio, presione la tecla Ventana, vaya a Accesorios / Terminal y Enter.
- Configure RPi por tipo:
sudo raspi-config
7. Cambie un par de cosas en la configuración de RPi:
- En 1. Cambiar contraseña
- En 2. Opción de red: cambie el nombre de host (algo único, el mío es rpi1001) y el SSID y la contraseña de wifi.
- En 4. Opciones de ubicación: Cambiar zona horaria, teclado, configuración regional
- En 5. Opciones de interfaz: habilite SSH (para iniciar sesión a través de la línea de comando), habilite VNC (para escritorio remoto)
- En 7: Opción avanzada: Expandir sistemas de archivos:
- Reiniciar
- Después de arrancar: anote la dirección IP ejecutando
sudo ifconfig
Si se usa Ethernet, la IP debe ser el primer bloque, si se usa Wifi, la IP está en el tercer bloque, algo así como 192.168.1.40, ejecute este comando para actualizar la distribución de Linux:
sudo apt-get update && sudo apt-get upgrade –y && sudo poweroff
El último apagará el RPi después de terminar con las actualizaciones.
8. Si olvidó la nota de la IP de RPi, o se cambió recientemente, use PowerShell (escriba PowerShell para buscar el cuadro en Windows)
En PowerShell para hacer ping al Rpi: p ing rpi1001.local –4 obtenga algo como esto 192.168.1.40. rpi1001 es mi nombre de host para mi Rpi.
9. Instale VNCViewer, este software funciona como TeamViewer o Desktop Remote en Windows (solo Win 10 Pro tiene la función Desktop Remote).
Instale en su máquina Windows, en el cuadro de búsqueda en la parte superior de VNCViewer, escriba la IP de RPi (192.168.1.40) o el nombre de host de RPi (el mío es rpi1001.local) y Enter. Ingrese su nombre y la contraseña de RPi, seleccione "Recordar contraseña" si lo desea. Si todo salió bien, debería ver el escritorio emergente de Rpi.
10. Para transferir archivos desde o hacia TeamView, la forma más sencilla de utilizar la transferencia de archivos incorporada mediante VNCView:
Y eso es todo, puede usar una frambuesa para recopilar datos por usted e iniciar sesión para obtener datos cuando sea necesario.
Paso 2: Prepare un ejemplo simple para recopilar datos de Arduino
Supongamos que desea recopilar la temperatura de 4 sensores. En este ejemplo, utilicé 18B20, un sensor de temperatura popular. Otras opciones son la familia TMP35, 36 o un termistor.
El cableado se incluye arriba. Los 18B20 comparten el cable (o bus), y aquí está el código Arduino en Github. El archivo adjunto en el siguiente archivo contiene los códigos y el mapa de cableado también.
Además, instale el controlador USB para Arduino en Windows. La mayoría de los Arduino "clonados" utilizan el controlador USB CH341. El conductor está aquí.
Instale el controlador, cuando conecte el Arduino al USB de su Windows, debe reconocer el controlador y asignar un puerto COM (el mío es COM4)
El monitor en serie debería aparecer como en la foto de arriba.
Paso 3: Inicie RPi desconectando y conectando la alimentación a RPi. Inicie VNCViewer, inicie sesión en su RPi
Transfiera la secuencia de comandos de Python mediante la herramienta VNCViewer. Hay un banner cerca de la parte superior del VNCViewer, busque el botón de dos flechas. Para transferir datos del RPi a Windows, use el símbolo de Transferencia de archivos en VNC en la parte superior derecha (cerca del símbolo Wifi) en el escritorio del RPi.
Raspberry se ejecuta en Linux y Python 2 y 3 están instalados de forma predeterminada. Solo necesita instalar una biblioteca de Python llamada pyserial para recopilar datos impresos desde la línea serial.
para instalar Python Serial, escriba esta línea en la terminal de Linux
sudo apt-get install python3-serial
- en Windows: escriba este PowellShell:
- pip.exe instalar pyserlal
Luego descargue el script y guárdelo en el escritorio del RPi
Para ejecutar el script, primero conviértalo en ejecutable:
sudo chown u + x recordSerial.py
Cargue el código Arduino en la placa Arduino, luego conecte su cable USB con USB, verifique el puerto de la siguiente manera:
- En Linux, escriba esto en la terminal: ls / dev / ttyUSB *
- En Wndows: vaya al Administrador de dispositivos, verifique COM #
Si la secuencia de comandos se modifica en Windows, es posible que deba ejecutar la secuencia de comandos de Python en dos2unix para eliminar el carácter de final de línea extraño de Windows. Instalarlo por
sudo apt-get install dos2unix
y convierta el script ejecutando esto en la terminal
dos2unix recordSerial.py
Modificó el puerto real en el script mediante un editor de texto:
sudo nano recordSerial.py
luego ejecute./recordSerial.py yourfilename.txt
La secuencia de comandos de Python guardará los datos de la RAM en el disco por cada 10 líneas, que se pueden ajustar.
Para detener la grabación, presione Ctrl + C, El script se puede ejecutar en Windows (doble clic), el nombre de los datos de registro es el predeterminado que incluye una marca de tiempo
Si usa PowerShell, puede ingresar su nombre de archivo personalizado, python.exe recordSerial.py awesome.txt
No todos los 18B20 son iguales. ¡Vea la lectura!
También envié el código a GitHub.
¡Espero que este tutorial sea útil!
Paso 4: Instale Samba para compartir la carpeta
Este paso lo guiará a través de una configuración básica para tener una carpeta compartida alojada en Raspberry Pi a la que se puede acceder desde otras computadoras.
Primero, instale samba, un programa para compartir y administrar carpetas compartidas en la red:
sudo apt-get install samba
hacer una carpeta compartida
mkdir ~ / Escritorio / sambaShare
modifique el archivo de configuración para el samba de la siguiente manera:
sudo samba /etc/samba/smb.conf
agregue las siguientes líneas al final del archivo:
[sambaShare] comentario = compartir carpeta en Research RPI ruta = / home / pi / Desktop / sambaShare navegable = sí solo lectura = no escribible = sí público = sí crear máscara = 0777 máscara de rectoría = 0777 invitado ok = sí
Si tiene el problema de escribir en Windows, fuerce agregando esta línea al final del archivo: force user = pi
En Linux, es posible que deba usar el usuario root (publicaré el problema una vez que me entere)
A continuación, agregue un usuario a samba y cree una contraseña también:
sudo smbpasswd -a pi
luego ingrese una contraseña para la samba (puede ser la misma o diferente a la contraseña para el usuario pi en el sistema)
prueba si el archivo de configuración está bien
testparm
presione Ctrl + X para guardar, y luego reinicie el servicio samba de la siguiente manera:
sudo systemctl reiniciar smbd
En la computadora host, digamos Linux:
Si no es así, instale samba plus sambaclient y cifs para admitir la unidad compartida, hágalo ejecutando:
sudo apt-get instala samba smbclient cifs-utils
Compruebe si la carpeta compartida en RPI está lista mediante:
sudo smbclient -L yourRPI_IP
si ve la unidad compartida, cree un punto de montaje en Linux:
sudo mkdir / mnt / researchRPi
usuario de sudo chown: grupo de usuarios -R / mnt / researchRPI
usuario, grupo de usuarios es su nombre de grupo y usuario de Linux
luego monte el recurso compartido por:
sudo mount -f cifs -o username = pi // your_rpi_IP / sambaShare / mnt / researchRPi
ingrese sus contraseñas y cree un enlace suave a su escritorio:
sudo ln -s / mnt / researchRPi ~ / Desktop / researchRPi
Si tiene problemas con el permiso de lectura y escritura en la carpeta compartida, experimente con un permiso débil:
en PI:
sudo chmod -R 776 ~ / Escritorio / samba
En Windows, es aún más fácil, Vaya a Mi PC y asigne una carpeta, luego ingrese la IP de RPI, la carpeta compartida debería aparecer. Creo que hay algo en Mac que puede explorar la carpeta compartida en la red.
Paso 5: referencias útiles
A continuación se muestran algunas referencias útiles:
- Hay otro enfoque aquí usando bibliotecas pyserial y numpy
- Una mirada completa a la comunicación electrónica comienza con la instalación de Arduino IDE. Una buena referencia si quieres una inmersión más profunda.
- Un escrito breve pero concreto. Opciones breves y suficientes de alternativas para registrar los datos.
Recomendado:
Crea una aplicación básica "Hello World" desde cero en Flutter: 7 pasos
Crea la aplicación básica "Hello World" desde cero en Flutter: Hola chicos, he creado el Tutorial de Flutter para principiantes. Si quieres comenzar el desarrollo de Flutter ahora, esto te ayudará con el Tutorial de Flutter para principiantes
Cómo registrar datos de la estación meteorológica »Wiki Ùtil Liono Maker: 5 pasos
Cómo registrar datos de la estación meteorológica »Wiki Ùtil Liono Maker: Introducción: Hola, soy #LionoMaker. Este es mi canal de YouTube de código abierto y oficial. Aquí está el enlace: Liono Maker / YOUTUBE CHANNEL En este proyecto aprenderemos cómo hacer " Registro de datos de la estación meteorológica ". esto es muy interesante pr
Registrar ECG de alta velocidad u otros datos, de forma continua durante más de un mes: 6 pasos
Registrar ECG de alta velocidad u otros datos, de forma continua durante más de un mes: este proyecto se desarrolló para apoyar a un equipo de investigación médica de la universidad, que necesitaba un dispositivo portátil que pudiera registrar 2 señales de ECG a 1000 muestras / seg cada una (2K muestras / seg en total) de forma continua durante 30 días, con el fin de detectar arritmias. El proyecto pres
Fuente de alimentación para banco de laboratorio de bricolaje desde cero: 6 pasos
Fuente de alimentación para banco de laboratorio de bricolaje desde cero: ¿está cansado de alimentar sus circuitos con una batería de 9 V poco convincente y no recargable? ¿Desea poder pagar una fuente de alimentación? Si es así, ¿por qué no intenta hacer usted mismo una fuente de alimentación? que puede entregar hasta 27V y 3A
Base de pared Corona para iPod desde cero (con altavoces integrados en el hogar): 6 pasos
Base de pared para iPod Corona desde cero (con altavoces hechos en casa): estaba jugando con la idea de hacer una base para iPod, diferente a las que se ven en casi todas partes hoy en día, así que después de ver en alguna parte un diseño para una lámpara que ilumina por su perímetro en cambio que directamente, tuve la idea de hacer el