Escáner 3D de múltiples frambuesa PI (3 / 8 paso)

Paso 3: El software

Estoy utilizando sistema operativo Raspian, sólo la descarga predeterminada de la Página Web de frambuesa pi.

Recopilar todas las imágenes, estoy usando un servidor de archivo central (en mi caso estoy usando un Qnap). He configurado la imagen raspbian para conectarse al servidor de archivo mediante cifs. Esto se hace en el archivo/etc/fstab.

También estoy usando el servidor de archivos central para almacenar mi software, por lo que puedo hacer modificaciones sin tener que actualizar cada frambuesa por cuenta propia.

Después de que terminé esta imagen, usé dd (en mi mac) para clonar la tarjeta SD 40 x para cada frambuesa.

Quería escribir un guión "escuchando" que funcionaría cada frambuesa, escuchar una red particular transmitidos que disparar la cámara y luego guardar la foto y copiar en el servidor de archivos. Como quisiera que todas las imágenes se almacenan en un solo directorio (uno por disparo), estoy usando la dirección IP local de cada frambuesa (los 3 últimos dígitos) para un prefijo de nombre de archivo.

Aquí el script de python escucha estoy usando:

#! / usr/bin/python
importación zócalo
estructura de importación
fcntl de importación
subproceso de importación
Import sys

MCAST_GRP = '224.1.1.1'
MCAST_PORT = 5007

calcetín = socket.socket (socket.AF_INET, zócalo. CALCETÍN_DGRAM, toma de corriente. IPPROTO_UDP)
sock.setsockopt (socket. SOL_CASQUETE, zócalo. SO_REUSEADDR, 1)
sock.BIND (('', MCAST_PORT))
mreq = struct.pack («4sl», socket.inet_aton(MCAST_GRP), zócalo. INADDR_ANY)

sock.setsockopt (socket. IPPROTO_IP, zócalo. IP_ADD_MEMBERSHIP, mreq)

DEF get_ip_address(ifname):
s = socket.socket (socket.AF_INET, zócalo. CALCETÍN_DGRAM)
volver socket.inet_ntoa (fcntl.ioctl)
s.fileno(),
0X8915, # SIOCGIFADDR
struct.Pack ('256s, ifname[:15])
) [20:24])

ID = get_ip_address('eth0')

IP1, ip2, ip3, ip4 = id.split('.')

imprimir ' ID: ' + ip4

#create un archivo de opciones, este archivo debe contener los parámetros para el cmd de la imagen de raspistill
optionfile = open('/server/options.cfg','r')
opciones = optionfile.readline()
optionfile.Close()
Imprimir "extramo:" + opciones

Aunque la verdad:
datos = sock.recv(10240)
datos = data.strip()
Si los datos == "reboot":
Imprimir "reiniciar..."
cmd = 'sudo reboot'
PID = subprocess.call (cmd, shell = True)
otra cosa:
Imprimir "disparando" + datos
cmd = 'raspistill -o /tmp/photo.jpg' + opciones
PID = subprocess.call (cmd, shell = True)
Imprimir "crear directorio"
cmd = ' mkdir/Server/3dscan /' + datos
PID = subprocess.call (cmd, shell = True)
Imprimir "Copiar imagen"
cmd = 'cp /tmp/photo.jpg/Server/3dscan /' + datos + "/" datos + "_" + ip4 + ".jpg"
PID = subprocess.call (cmd, shell = True)
Imprimir "carga foto"

Para iniciar todas las frambuesas para tomar una fotografía, he creado un script de"enviar". Le pida un nombre. Este nombre es enviar a las frambuesas en el prefijo del nombre de archivo. Así que sé que las imágenes son de.

Aquí el python enviar secuencias de comandos:

importación zócalo
Import sys
tiempo de importación

imprimir ' nombre de Foto:'
n = sys.stdin.readline()
n = n.strip('\n')

MCAST_GRP = '224.1.1.1'
MCAST_PORT = 5007

calcetín = socket.socket (socket.AF_INET, zócalo. CALCETÍN_DGRAM, toma de corriente. IPPROTO_UDP)
sock.setsockopt (socket. IPPROTO_IP, zócalo. IP_MULTICAST_TTL, 2)
sock.SendTo (n, (MCAST_GRP, MCAST_PORT))

Escucha la secuencia de comandos comprueba el nombre recibido. Si el nombre es reiniciar, volver a cargar o reiniciar hace una acción especial, en vez de tirar una foto.

Para configurar las opciones desea utilizar para raspistill (el defecto imagen software de captura de la frambuesa para la cámara PI) estoy usando un archivo options.cfg para configurar esto. Otra vez se almacena en el servidor de archivo central, por lo que fácilmente puedo cambiar las opciones.

Hice algunas pruebas para ver cómo todas las tartas de frambuesa en sync tomaría la foto. Todos reciben el paquete de broadcast de red a la vez exactamente, encontré este gran trabajo. Hice una instalación de prueba con 12 unidades todos tomando una foto de mi iPhone ejecutar la aplicación del cronómetro. Cada foto captura exacta misma 1/10 de segundo.

Artículos Relacionados

Escáner de documentos de frambuesa Pi con subida automática a Dropbox.

Escáner de documentos de frambuesa Pi con subida automática a Dropbox.

¿Siempre tienes preocupados cuando usted no ha podido encontrar una nota bill o post-it que usted realmente necesita? Con este escáner de documentos de frambuesa Pi ahora no tendrás que! Todas tus notas, recibos y documentos será ahora un clic lejos
Escáner 3D: Pi FabScan

Escáner 3D: Pi FabScan

Hay varias vías para construir un escáner 3D asequible para su hogar. Una forma es hacer fotos (tal vez incluso automatisied) de todos los lados de un objeto y que Autodesk 123D Catch haga su magia. Otra opción es utilizar una cámara de profundidad c
Iluminado gabinete de escáner 3D para menores $50

Iluminado gabinete de escáner 3D para menores $50

Construir un gabinete iluminado de escáner 3D para mejorar la captura 3D utilizando dispositivos de mano con aplicaciones como Autodesk Catch 123.Este diseño trata de mejorar la captura de imagen durante el uso de software de escaneo que requiere mov
Hacer tu propio escáner 3d!

Hacer tu propio escáner 3d!

Mis metas para este proyecto fueron los siguientes:Hacer escáner que* puede con precisión y correctamente producen modelos de la computadora en 3D* trabajar para objetos de menos de 1' x 1' x 1' en tamaño* no cuesta más de $20 en el proyecto (materia
Escáner 3D casero barato

Escáner 3D casero barato

Hace unos años participé en un proyecto de talla en madera con un amigo. La clase de talla de madera que se hacíamos fácilmente se podría haber hecho por una máquina de Control numérico computerizado (CNC), pero según mi amigo, el costo de un solo el
Hacer un escáner 3D de un teléfono celular y una rueda de bicicleta

Hacer un escáner 3D de un teléfono celular y una rueda de bicicleta

Cómo hacer un escáner 3D funcionamiento de la plataforma de un teléfono celular y una rueda de bicicleta. Suena un poco absurdo, ¿cómo puede hacer algo tan complicado y probablemente avanzado como un escáner 3D de algo tan común como un teléfono celu
Escáner láser 3D

Escáner láser 3D

crear su propio escáner láser 3D Hi-Tech super. Usando sólo un puntero láser, vidrio de vino, girar la plataforma y una cámara de vídeo digital, usted puede hacer modelos 3D precisos de un objeto o persona.Ahora sé por qué! Haga clic en los pasos ant
Escáner Rgb Led Pwm lámpara controlada por Arduino Nano

Escáner Rgb Led Pwm lámpara controlada por Arduino Nano

Reciclado escáner rgb led lámpara pwm controlado por Arduino NanoPaso 1: Resultado FinalEsto es lo que obtienes si sigues este instructable.Paso 2: Buscar una impresoraBusque un hp roto todo en una impresora. (Otras marcas también pueden tener las pi
Escáner de película casera de Smartphone

Escáner de película casera de Smartphone

Introducción:La fotografía es uno de mis favorito hobby, allá entonces, solía tener mi cámara Kodak, una cámara analógica. Para poder disparar o tomar algunas fotos en ocasiones especiales, como Navidad, cumpleaños o cualquier evento. Y cámara fue el
Teléfono soporte de escáner

Teléfono soporte de escáner

Como profesora, siempre estoy escanear documentos (claves de respuesta, el trabajo del estudiante, etc.) y guardar las imágenes como PDF. Durante muchos años, tengo usuario la función de escáner en la fotocopiadora de oficina. Ahora, con el uso de un
Cómo desmontar la impresora (escáner, Fax)

Cómo desmontar la impresora (escáner, Fax)

los siguientes te lleva a través del proceso de desarmar un impresora/escáner/fax con la suficiente precaución para capturar piezas útiles para reutilización sostenible.  Básicamente, una vez que se han venido abajo, usted será capaz de utilizar los
Crear un dispositivo protésico imprimible personalizado 3D utilizando los datos de un escáner CT

Crear un dispositivo protésico imprimible personalizado 3D utilizando los datos de un escáner CT

Este Instructable muestra cómo crear un dispositivo protésico imprimible personalizado 3D utilizando los datos de un tomógrafo. En este caso, ilustrará el proceso para la creación de un stent tráquea personalizado. Este Instructable no incluye inform
GotMesh: El más barato y simple escáner 3D.

GotMesh: El más barato y simple escáner 3D.

¿tiene malla? es el más barato y simple escáner 3D de código abierto.Si te gustó este instructable, por favor vote por él en el 3D 2016 concurso de impresión .¿tiene malla? permite a los propietarios de impresoras 3D para recrear fácilmente detallado
Percibir la soporte de escáner para MacBook Pro

Percibir la soporte de escáner para MacBook Pro

Soporte de escáner de sentido para un MacBook ProMientras que la exploración de personas y objetos con el escáner 3D de mano sentido cubificar (http://cubify.com/en/Products/Sense), es altamente deseable para ver la pantalla del ordenador mientras se