Meerdere 3D Scanner van de Raspberry PI (3 / 8 stap)

Stap 3: De software

Im ' using Raspian OS, gewoon de standaard downloaden vanaf de website van raspberry pi.

Het verzamelen van alle beelden, ben ik met behulp van een centraal bestandsserver (in mijn geval gebruik ik een Qnap). Ik geconfigureerd de raspbian afbeelding op de bestandsserver op. hiervoor gebruikt cifs aansluiten. Dit wordt gedaan in het bestand/etc/fstab.

Ik ben ook met behulp van de centrale bestandsserver op te slaan mijn software, zodat ik wijzigingen aanbrengen kunt zonder het moeten bijwerken van elke framboos op zijn eigen.

Nadat ik dit beeld, gebruikte ik dd (op mijn mac) om een kloon van de SD kaart 40 x voor elke framboos.

Ik wilde een "luisteren" script schrijven dat elke framboos lopen zou, luisteren naar een bepaald netwerk uitzenden pakket dat zou leiden tot de camera en vervolgens opslaan van de foto en kopieer deze naar de bestandsserver. Als ik wil alle afbeeldingen worden opgeslagen in een map (een map per schot), ben ik met behulp van het lokale IP-adres van elke framboos (de laatste 3 cijfers) voor een voorvoegsel van de bestandsnaam.

Hier de python luisteren script die ik gebruik:

#! / usr/bin/python
invoer aansluiting
struct importeren
fcntl importeren
een subproces voor importeren
importeren van sys

MCAST_GRP = '224.1.1.1'
MCAST_PORT = 5007

sock = socket.socket (socket.AF_INET, socket. SOCK_DGRAM, socket. IPPROTO_UDP)
sock.setsockopt (aansluiting. SOL_SOCKET, socket. SO_REUSEADDR, 1)
sock.bind (('', MCAST_PORT))
mreq = struct.pack ("4sl", socket.inet_aton(MCAST_GRP), socket. INADDR_ANY)

sock.setsockopt (aansluiting. IPPROTO_IP, socket. IP_ADD_MEMBERSHIP, mreq)

def get_ip_address(ifname):
s = socket.socket (socket.AF_INET, socket. SOCK_DGRAM)
keren 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('.')

afdrukken ' ID: ' + ip4

#create een options bestand, dit bestand moeten containt de parameters voor de raspistill afbeelding cmd
optionfile = open('/server/options.cfg','r')
opties = optionfile.readline()
optionfile.Close()
afdrukken "optons:" + opties

terwijl juist:
gegevens = sock.recv(10240)
gegevens = data.strip()
Als gegevens == "reboot":
afdrukken "herstart..."
cmd = "sudo reboot"
PID = subprocess.call (cmd, shell = True)
anders:
"schieten" + gegevens afdrukken
cmd = 'raspistill -o /tmp/photo.jpg' + opties
PID = subprocess.call (cmd, shell = True)
Print "maken directory"
cmd = ' mkdir/server/3dscan /' + gegevens
PID = subprocess.call (cmd, shell = True)
afdrukken "afbeelding kopiëren"
cmd = 'cp /tmp/photo.jpg/server/3dscan /' + data + "/" + data + "_" + ip4 + '.jpg'
PID = subprocess.call (cmd, shell = True)
Print "Foto geüpload"

Om te beginnen alle de frambozen om een foto te maken, heb ik een script"verzenden". Dat zou vragen om een naam. Deze naam wordt verzonden naar de frambozen in het voorvoegsel van de bestandsnaam op te nemen. Dus ik wie de beelden zijn weet van.

Hier sturen de python script:

invoer aansluiting
importeren van sys
importeren

afdrukken ' foto naam:'
n = sys.stdin.readline()
n = n.strip('\n')

MCAST_GRP = '224.1.1.1'
MCAST_PORT = 5007

sock = socket.socket (socket.AF_INET, socket. SOCK_DGRAM, socket. IPPROTO_UDP)
sock.setsockopt (aansluiting. IPPROTO_IP, socket. IP_MULTICAST_TTL, 2)
sock.sendto (n, (MCAST_GRP, MCAST_PORT))

Het luisteren script controleert de naam ontvangen. Als de naam opnieuw opstarten, opnieuw laden of opnieuw opstarten doet het een speciale actie, in plaats van een foto te schieten.

Als u wilt configureren welke opties die ik wil gebruiken voor raspistill (de standaard afbeelding capture software op de framboos voor de PI-camera) ben ik met behulp van een options.cfg-bestand configureren dit. Opnieuw wordt dit opgeslagen op de centrale server, dus ik gemakkelijk de opties veranderen kan.

Ik heb een aantal testen om te zien hoe in-sync alle de framboos taarten zou het nemen van de foto. Aangezien zij allen het netwerk uitzenden pakket op precies hetzelfde moment ontvangen, vond ik dit werkte prima. Ik heb een setup met 12 eenheden testen alle het nemen van een foto van mijn iPhone in werking stellend de stopwatch app. Elke foto veroverde hij exact hetzelfde 1/10de van een seconde.

Gerelateerde Artikelen

Ultieme Configuratiegids van de Raspberry Pi

Ultieme Configuratiegids van de Raspberry Pi

de Raspberry Pi is een groot goed: het is echte computer, het is goedkoop ($40), het kan interface met electronica, praten met het web en heeft volledige HDMI ondersteunen.Maar het draait op Linux, wat heb ik een haat-liefde relatie met. Ik hou van h
Maak een 3D-Scanner van een mobiele telefoon en fietswiel

Maak een 3D-Scanner van een mobiele telefoon en fietswiel

Hoe maak je een werkende 3D-scanner tuig van een mobiele telefoon en een fietswiel. Die waarschijnlijk klinkt een beetje belachelijk, hoe kun je iets dat zo gecompliceerd en Geavanceerd als een 3D-scanner van iets dat zo gewoon als een mobiele telefo
Omzetten van uw Raspberry Pi in een HTPC

Omzetten van uw Raspberry Pi in een HTPC

In dit instructable, ik zal u tonen hoe om te zetten van uw Raspberry Pi in een HTPC met een Linuxdistributie genoemd Raspbmc.Van de sectie over van Raspbmc de website:Raspbmc is een minimale Linux-distributie, op basis van Debian die uw Raspberry Pi
Beheersing van een Raspberry Pi RC auto met een toetsenbord

Beheersing van een Raspberry Pi RC auto met een toetsenbord

In deze tussenliggende tutorial leert u over het werken met een gehackte RC auto met een toetsenbord met behulp van een model B Raspberry Pi apparaat met behulp van Python. De belangrijkste punten in deze tutorial toevoegen:• De virtuele puls breedte
Instellen van de Raspberry Pi met behulp van SSH

Instellen van de Raspberry Pi met behulp van SSH

Dus je net gekocht een Raspberry Pi (RPi) omdat je gehoord en u achterhalen wat u doen met het wilt kunt (zoals ik enige tijd geleden deed).Maar nu heb je het je advertentie bekijkt het en jezelf te vragen "wat moet ik nu doen?".in het begin von
DIY High Speed Boek Scanner van Trash en goedkope camera's

DIY High Speed Boek Scanner van Trash en goedkope camera's

ik hou van boeken. Er is enige echt fantastisch kennis en informatie verborgen die er in hard te vinden, zeldzame en niet commercieel levensvatbaar boeken. Ik vind dat ik wil mijn boeken met me overal. Maar dat is waar de problemen beginnen. Kopen, v
De Linkit met behulp van een Raspberry PI Program

De Linkit met behulp van een Raspberry PI Program

In dit instructable, ik ga u tonen hoe te programmeren van de Linktit een bord met behulp van een Raspberry Pi, en ook seriële communicatie met het vast te stellen. Dit instructable ziet u hoe u een micro-controller (één Linkit) en het werk van een m
Bouwen van een Raspberry Pi SUPER weerstation

Bouwen van een Raspberry Pi SUPER weerstation

Laten we eerlijk zijn, wij mensen praten over het weer een veel ⛅️. De gemiddelde persoon praat over het weer vier keer per dag, voor een gemiddelde van 8 minuten en 21 seconden. Doe de wiskunde en die bedraagt 10 maanden van je leven dat je zal door
Omzetten van uw Raspberry Pi in een persoonlijke webserver

Omzetten van uw Raspberry Pi in een persoonlijke webserver

LAMP is een acroniem dat voor LinuxApacheMySQLPHP staat en zijn componenten verplicht tot het uitvoeren van een dynamische HTML-webpagina.Dit instructable demonstreer hoe kunt u uw Raspberry Pi in een persoonlijke webserver. De stappen voor het insta
Controle van de Raspberry pi GPIO met behulp van een app

Controle van de Raspberry pi GPIO met behulp van een app

Veel mensen hebben gevraagd voor een zelfstudie over het beheren van de Raspberry pi GPIO pinnen met behulp van een app (je zelf gemaakt).Dus is hier een snelle tutorial over hoe om dit te doen. Het zal grotendeels worden gebaseerd op de vorige tutor
Het eerste gebruik van de Raspberry Pi 2

Het eerste gebruik van de Raspberry Pi 2

Vandaag, ga ik u tonen hoe te gebruiken van de Raspberry Pi 2 board. Als u net Raspberry Pi 2 bord gekocht hebben, of u van plan bent om te kopen, is dit instructable voor jou.De noodzaak lijst:1. de raspberry Pi 2 Model B v1.12. de lichtnetadapter (
PiPoE - het aandrijven van een Raspberry Pi via Ethernet

PiPoE - het aandrijven van een Raspberry Pi via Ethernet

Dit project maakt een Raspberry Pi, Beaglebone of andere kleine computer om gevoed worden via een ethernetkabel. Dit zeer handig als u hebt een Pi ergens waar aan de netspanning aan het is moeilijk, of als u wilt uitvoeren verschillende apparaten in
Eenvoudig Project - besturingselement een LED-lampje met Python met behulp van een Raspberry Pi

Eenvoudig Project - besturingselement een LED-lampje met Python met behulp van een Raspberry Pi

Dit is de eenvoudigste Raspberry Pi GPIO LED-project ooit. Als u deze handleiding volgt moet duurt minder dan 20 minuten te installeren en te hebben uitgevoerd. Het doel van dit project is om een enkel LED licht knipperen gebaseerd op een Python prog
Maak van uw Raspberry Pi spreken

Maak van uw Raspberry Pi spreken

Een eenvoudige methode om wat feedback te krijgen van de Raspberry Pi is het gebruik van tekst-naar-spraak (TTS).Ik heb dit Instructable ik zal u tonen hoe om dit te doen met behulp van Python en Espeak.Onderdelen die nodig zijn:-Raspberry Pi met int