Plusieurs PI framboise Scanner 3D (3 / 8 étapes)

Étape 3: Le logiciel

J’utilise Raspian OS, juste le téléchargement par défaut sur le site de framboise pi.

Pour collecter toutes les images, j’utilise un serveur de fichiers central (dans mon cas, j’utilise un Qnap). J’ai configuré l’image raspbian de se connecter au serveur de fichiers en utilisant cifs. Cela se fait dans le fichier/etc/fstab.

J’utilise également le serveur de fichier central pour stocker mes logiciels, donc je peux apporter des modifications sans avoir à mettre à jour chaque framboise sur ses propres.

Après avoir terminé cette image, j’ai utilisé le dd (sur mon mac) pour cloner la carte de SD x 40 pour chaque framboise.

J’ai voulu écrire un script « écoute » qui irait chaque framboise, écoutant un réseau particulier diffusion paquet qui pourrait déclencher la caméra puis enregistrez la photo et copiez-le sur le serveur de fichiers. Comme je l’entends toutes les images d’être stockées dans un répertoire unique (un seul répertoire par coup), j’utilise l’adresse IP locale de chaque framboise (les 3 derniers chiffres) pour un préfixe du nom de fichier.

Voici le script écoute python que j’utilise :

#! / usr/bin/python
douille d’importation
importer des struct
fcntl Import
importation des sous-processus
import sys

MCAST_GRP = « 224.1.1.1 »
MCAST_PORT = 5007

chaussettes = socket (socket.AF_INET, socket. SOCK_DGRAM, prise de courant. IPPROTO_UDP)
Sock.setsockopt (prise de courant. SOL_SOCKET, prise de courant. SO_REUSEADDR, 1)
Sock.bind (('', MCAST_PORT))
mreq = struct.pack (« 4sl », socket.inet_aton(MCAST_GRP), prise de courant. INADDR_ANY)

Sock.setsockopt (prise de courant. IPPROTO_IP, prise de courant. IP_ADD_MEMBERSHIP, mreq)

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

imprimer "ID:" + ip4

#create un fichier d’options, ce fichier doit contenir les paramètres pour le cmd d’image raspistill
optionfile = open('/server/options.cfg','r')
options = optionfile.readline()
optionfile.Close()
imprimer "optons:" + options

While True :
données = sock.recv(10240)
données = data.strip()
Si données == « reboot » :
imprimer « redémarrage... »
cmd = "sudo reboot"
PID = subprocess.call (cmd, shell = True)
autre chose :
imprimer « shooting » + données
cmd = « raspistill -o /tmp/photo.jpg » + options
PID = subprocess.call (cmd, shell = True)
annuaires imprimés « création »
cmd = ' mkdir/Server/3dscan /' + données
PID = subprocess.call (cmd, shell = True)
imprimer « copier l’image »
cmd = 'cp /tmp/photo.jpg/Server/3dscan /' + données + "/" + données + "_" + ip4 + ".jpg"
PID = subprocess.call (cmd, shell = True)
impression « photo téléchargée »

Pour lancer toutes les framboises pour prendre une photo, j’ai créé un script « envoyer ». Qui demanderait un nom. Ce nom est envoyé vers les framboises à inclure dans le préfixe du nom de fichier. Donc, je sais qui proviennent des images.

Ici, le python envoyer script :

douille d’importation
import sys
moment de l’importation

Print "nom de la photo:'
n = sys.stdin.readline()
n = n.strip('\n')

MCAST_GRP = « 224.1.1.1 »
MCAST_PORT = 5007

chaussettes = socket (socket.AF_INET, socket. SOCK_DGRAM, prise de courant. IPPROTO_UDP)
Sock.setsockopt (prise de courant. IPPROTO_IP, prise de courant. IP_TTL, 2)
Sock.SendTo (n, (MCAST_GRP, MCAST_PORT))

L’écoute script vérifie le nom reçu. Si le nom est remise à zéro, de recharger ou de redémarrage il fait une action spéciale, au lieu de tirer une photo.

Pour configurer les options je veux utiliser pour raspistill (la valeur par défaut image logiciel de capture sur la framboise pour la caméra de PI), j’utilise un fichier options.cfg pour configurer cela. Encore une fois, cela est stocké sur le serveur de fichier central, si je peux facilement changer les options.

J’ai fait quelques tests pour voir comment dans la synchro toutes les tartes aux framboises-prendre la photo. Comme ils sont tous de recevoir le paquet de diffusion réseau au moment exactement les mêmes, j’ai trouvé ce grand travaillé. J’ai fait une installation d’essai avec 12 unités tous prendre une photo de mon iPhone exécutant l’application de chronomètre. Chaque photo qu’il a capturé exacte même 1/10e de seconde.

Articles Liés

Économiseur d’écran raccourci à l’aide de lot

Économiseur d’écran raccourci à l’aide de lot

toujours faire quelque chose de « privé » sur l'ordinateur ? Jamais eu de fermer ce que vous faisiez très rapidement afin que personne ne voyait et lâche que les données non enregistrées ?Eh bien ne cherchez plus ! Ces étapes courtes vous montrera co
Affiche les Pi framboise Arcade jeu Score élevé pour plusieurs emplacements

Affiche les Pi framboise Arcade jeu Score élevé pour plusieurs emplacements

Cet Instructable va vous montrer comment utiliser une planche de Raspberry Pi avec un moniteur d'ordinateur existant pour créer un jeu d'arcade haut score affichage pour votre maison ou bureau. Vous et votre famille ou vos collègues de travail peuven
Unifier les mots de passe utilisateur et répertoires Pi framboise plusieurs dispositifs

Unifier les mots de passe utilisateur et répertoires Pi framboise plusieurs dispositifs

IntroductionDans intructables « Faire des Pi framboise dans un serveur LDAP » et « Faire Raspberry Pi do l'authentification LDAP », nous avons appris unifier toutes les machines linux de comptes d'utilisateur et mot de passe. Cependant, le répertoire
Digital Signage Pi framboise : tableaux d’affichage taux de change

Digital Signage Pi framboise : tableaux d’affichage taux de change

Raspberry Pi (Modèle B) est un ordinateur monocarte qui utilise un ARM 11 (ARM1176JZF-S core) cadencé à 700MHz (il peut overclocker jusqu'à 1GHz) avec 512 Mo de RAM.Cet article vous montre comment transformer votre Pi de framboise dans un bon marché,
Débutants guident d’installation et configuration Octoprint sur une facture pro forma framboise pour l’impression 3D

Débutants guident d’installation et configuration Octoprint sur une facture pro forma framboise pour l’impression 3D

Si vous avez lu un de mes autres instructables, plus notable le débutant complet étape par étape, l'imprimante 3D avec toutes les listes de pièces, vous savez que je me rappelle mes propres frustrations à l'instruction incomplète et guides même après
Scanner 3D: Pi FabScan

Scanner 3D: Pi FabScan

Il y a plusieurs façon de construire un scanner 3D abordable pour votre maison. Une façon est de faire des photos (peut-être même automatisied) de tous les côtés d'un objet et laissez Autodesk 123D Catch sa magie. Une autre option consiste à utiliser
Ajouter Webmin pour gérer une framboise Pi

Ajouter Webmin pour gérer une framboise Pi

Ma méthode préférée pour travailler avec un Pi de framboise est via SSH. Lorsqu'on installe Raspian sur le site de Raspberry Pi, SSH est actif et disponible sur le port 22 (numéro de port SSH par défaut). Tous on a besoin est une connexion ethernet,
Comment faire un supercalculateur Pi framboise !

Comment faire un supercalculateur Pi framboise !

Seul le Raspberry Pi ne se vanter des spécifications impressionnantes. Mais avec le prix très bon marché, acheter plusieurs d'entre eux et de les connecter à utilisation ils sont combinés à la puissance de traitement pourrait potentiellement faire un
Sans fil sonnette - (PI framboise & Amazon Dash)

Sans fil sonnette - (PI framboise & Amazon Dash)

Que fait-elle ? (voir vidéo)Lorsque le bouton est enfoncé, framboise Découvre nouvel appareil en vous connectant sur le réseau sans fil. Cette façon-it peut reconnaître le bouton et transmettre les informations de ce fait à votre téléphone portable (
Préparer la carte mémoire avec HypriotOS pour Datarhei/Restreamer sur framboise Pi1 & Pi2 avec Microsoft Windows

Préparer la carte mémoire avec HypriotOS pour Datarhei/Restreamer sur framboise Pi1 & Pi2 avec Microsoft Windows

Avant que vous pourriez commencer en streaming avec le Datarhei/Restreamer vous avez besoin préparer une carte mémoire et mise en route de Docker sur votre facture pro forma de framboise. Nous vous recommandons d'utiliser l'image de HypriotOS Raspber
Internet a permis Pi framboise Pet Feeder

Internet a permis Pi framboise Pet Feeder

Il s'agit d'un conducteur de chien, propulsé par un Pi de framboise.Si tu veux:un moyen facile pour nourrir votre gros chiengarder une trace de lorsque vous nourrircontrôler combien et combien de fois vous nourriret éventuellement pouvoir alimenter à
Frigo à bière framboise Pi d’Awesomeness

Frigo à bière framboise Pi d’Awesomeness

Comment prendre un parfaitement bonne bière ou vin réfrigérateur et qu'il est génial ? Un bon début est d'avoir votre réfrigérateur vous dire combien de bouteilles est en elle, lorsque la porte est ouverte ou fermée et la température à l'intérieur de
3 lecteurs audio à la 1 framboise Pi avec Bluetooth - une installation HiFi Multiroom facile

3 lecteurs audio à la 1 framboise Pi avec Bluetooth - une installation HiFi Multiroom facile

Notre environnement sonore populaire de Squeezebox sur Max2Play a été tenté de connecter plusieurs lecteurs audio facilement et de créer un système HiFi smart. Avec l'ajout de quelques nouveaux plugins incroyables à nos images de carte SD, nous pouvo
Framboise enregistreur PI et DHT22 la température et l’humidité avec lampe et envoyer des avertissements

Framboise enregistreur PI et DHT22 la température et l’humidité avec lampe et envoyer des avertissements

Il s'agit d'un enregistreur de température et d'humidité Raspberry Pi basé qui utilise 2 capteurs de Adafruit DHT22 (fonctionne aussi avec 1) pour les mesures. Vous pourriez avoir vu le même type d'instructions avant, mais celui-ci a une torsion. Il