Tenía un proyecto universitario para implementar tecnología de sensores de huellas digitales para calcular la asistencia. Entonces nuestro equipo comenzó con Raspberry Pi y esto es lo que habíamos hecho.
En primer lugar, necesita una biblioteca para ejecutar su sensor de huellas digitales. Encontré uno aquí: https: //github.com/bastianraschk…
Siga las instrucciones para instalar la biblioteca en su pi. Luego conecte su escáner de huellas digitales a la frambuesa usando los puertos GPIO. Puede encontrar qué puertos corresponden a qué en el manual del sensor de huellas digitales.
Utilizamos el puerto serie disponible en Raspberry con un RS232 / TTL y un ADAPTADOR DE SERIE USB De forma predeterminada, el puerto serie de la Raspberry Pi está configurado para usarse para la entrada / salida de la consola. Esto puede ayudar a solucionar problemas durante el arranque o para iniciar sesión en Pi si el video y la red no están disponibles.
- ¿Por qué Nokia no fabrica teléfonos Android?
- ¿Cuáles son buenas referencias (libros, sitios web) para diseñar fuentes de alimentación eléctrica y electrónica?
- ¿Es el gobierno de Mamata el gobierno más desagradable de la historia?
- ¿Qué es mejor: ECE en DTU o CSE en NSIT?
- ¿Qué universidad es mejor para ECE en Bangalore: Dayanand Sagar, BMSIT o RNSIT?
Para poder utilizar el puerto serie para conectarse y comunicarse con otros dispositivos (por ejemplo, un módem, una impresora …), el inicio de sesión de la consola del puerto serie debe estar desactivado.
Aquí usamos Raspberry Pi 2, y conectamos un adaptador RS232 / TTL 3-5,5V a los pines 4 (5V), 6 (GND), 8 (TX), 10 (RX) de Raspberry, obviamente conectamos tx con rx y viceversa.
Para buscar los puertos seriales disponibles, usamos el comando
dmesg | grep tty
La salida es algo como esto
[correo electrónico protegido] ~ $ dmesg | grep tty
[0.000000] Línea de comando del kernel: dma.dmachans = 0x7f35 bcm2708_fb.fbwidth = 656 bcm2708_fb.fbheight = 416 bcm2709.boardrev = 0xa01041 bcm2709.serial = 0x93f9c7f9 smsc95xx.macaddr: B2: F2: f2: f2: f2: f2f2: ffff: Bf2 = 1 bcm2709.disk “. elevador ext4 = espera raíz
[0.001774] consola [tty1] habilitada
[0.749509] dev: f1: ttyAMA0 en MMIO 0x3f201000 (irq = 83, base_baud = 0) es un PL011 rev3
[1.268971] consola [ttyAMA0] habilitada
[correo electrónico protegido] ~ $
La última línea indica que la consola está habilitada en el puerto serie ttyAMA0, por lo que la deshabilitamos
Ejecute el comando de configuración y siga las instrucciones a continuación.
sudo raspi-config
Reinicia y prueba con
dmesg | grep tty
salida ahora es
[correo electrónico protegido] ~ $ dmesg | grep tty
[0.000000] Línea de comando del kernel: dma.dmachans = 0x7f35 bcm2708_fb.fbwidth = 656 bcm2708_fb.fbheight = 416 bcm2709.boardrev = 0xa01041 bcm2709.serial = 0x93f9c7f9 smsc95xx.macaddr: B2: F2: f2: f2: f2: f2f2: ffff: Bf2 = 1 bcm2709.disk_led_gpio = 47 bcm2709.disk_led_active_low = 0 sdhci-bcm2708.emmc_clock_freq = 250000000 vc_mem.mem_base = 0x3dc00000 vc_mem.mem_size = 0x3f00.fq_fq.tf = 0fc.fcfc.f = 2.
[0.001769] consola [tty1] habilitada
[0.749438] dev: f1: ttyAMA0 en MMIO 0x3f201000 (irq = 83, base_baud = 0) es un PL011 rev3
[correo electrónico protegido] ~ $
Ahora podemos usar la serie ttyAMA0. Conectamos un adaptador usb / serial, luego intentaremos establecer una comunicación entre los dos puertos seriales; obviamente, en una aplicación práctica para cada serie, podríamos conectar un dispositivo, por ejemplo, un módem, una impresora, un lector RFID, etc.
Después de conectar el segundo puerto serie, iniciamos el comando para encontrar el nombre que le da Raspberry
dmesg | grep tty
La salida es algo como esto
[correo electrónico protegido] ~ $ dmesg | grep tty
[0.000000] Línea de comando del kernel: dma.dmachans = 0x7f35 bcm2708_fb.fbwidth = 656 bcm2708_fb.fbheight = 416 bcm2709.boardrev = 0xa01041 bcm2709.serial = 0x93f9c7f9 smsc95xx.macaddr: B2: F2: f2: f2: f2: f2f2: ffff: Bf2 = 1 bcm2709.disk_led_gpio = 47 bcm2709.disk_led_active_low = 0 sdhci-bcm2708.emmc_clock_freq = 250000000 vc_mem.mem_base = 0x3dc00000 vc_mem.mem_size = 0x3f00.fq_fq.tf = 0fc.fcfc.f = 2.
[0.001769] consola [tty1] habilitada
[0.749438] dev: f1: ttyAMA0 en MMIO 0x3f201000 (irq = 83, base_baud = 0) es un PL011 rev3
[971.919417] usb 1-1.2: convertidor pl2303 ahora conectado a ttyUSB0
[correo electrónico protegido] ~ $
Ok, ahora creamos dos archivos, uno que escribe algo en el puerto ttyAMA0 y el otro que lee en el puerto ttyUSB0.
serial_write.py
#! / usr / bin / env python
tiempo de importación
importar en serie
ser = serial.Serial (
puerto = ‘/ dev / ttyAMA0’,
velocidad de transmisión = 9600,
paridad = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
tiempo de espera = 1
)
contador = 0
mientras que 1:
ser.write (‘Escribir contador:% d \ n’% (contador))
time.sleep (1)
contador + = 1
serial_read.py
#! / usr / bin / env python
tiempo de importación
importar en serie
ser = serial.Serial (
puerto = ‘/ dev / ttyUSB0’,
velocidad de transmisión = 9600,
paridad = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
tiempo de espera = 1
)
contador = 0
mientras que 1:
x = ser.readline ()
imprimir x
Si ejecutamos ambos archivos, serial_read.py leerá lo que serial_write.py escribe
Este es solo un pequeño ejemplo, pero puede servir como punto de partida para enviar una impresión a una impresora antigua o leer datos desde un enrutador o un gps.
PD: Cancelamos con Raspberry porque era costoso, así que ahora lo hacemos con NODEMCU.