Tabla de contenido:

Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos
Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos

Video: Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos

Video: Configurar desde cero una Raspberry Pi para registrar datos desde Arduino: 5 pasos
Video: Raspberry Pi, Curso para principiantes 2024, Mes de julio
Anonim
Configurar desde cero una Raspberry Pi para registrar datos desde Arduino
Configurar desde cero una Raspberry Pi para registrar datos desde Arduino

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

Preparar Raspberry Pi
Preparar Raspberry Pi
Preparar Raspberry Pi
Preparar Raspberry Pi
Preparar Raspberry Pi
Preparar Raspberry Pi
Preparar Raspberry Pi
Preparar Raspberry Pi
  1. Descarga el sistema operativo para RPi. Recomiendo una versión completa de Raspbian, como esta aquí.
  2. 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)
  3. 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.
  4. 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.
  5. Espere hasta que el RPi se inicie y muestre el escritorio, presione la tecla Ventana, vaya a Accesorios / Terminal y Enter.
  6. 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

Prepare un ejemplo simple para recopilar datos de Arduino
Prepare un ejemplo simple para recopilar datos de Arduino
Prepare un ejemplo simple para recopilar datos de Arduino
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

Arranque RPi desconectando y conectando energía a RPi. Inicie VNCViewer, inicie sesión en su RPi
Arranque RPi desconectando y conectando energía a RPi. Inicie VNCViewer, inicie sesión en su RPi
Arranque RPi desconectando y conectando energía a RPi. Inicie VNCViewer, inicie sesión en su RPi
Arranque RPi desconectando y conectando energía a RPi. Inicie VNCViewer, inicie sesión en su RPi
Arranque RPi desconectando y conectando energía a RPi. Inicie VNCViewer, inicie sesión en su RPi
Arranque RPi desconectando y conectando energía a RPi. Inicie VNCViewer, inicie sesión en su RPi
Arranque RPi desconectando y conectando energía a RPi. Inicie VNCViewer, inicie sesión en su RPi
Arranque RPi desconectando y conectando energía 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

Instalar Samba para compartir carpeta
Instalar Samba para compartir carpeta
Instalar Samba para compartir carpeta
Instalar Samba para compartir carpeta
Instalar Samba para compartir carpeta
Instalar Samba para compartir 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:

  1. Hay otro enfoque aquí usando bibliotecas pyserial y numpy
  2. 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.
  3. Un escrito breve pero concreto. Opciones breves y suficientes de alternativas para registrar los datos.

Recomendado: