2016-03-01 1 views
4

J'essaye de programmer un pi de framboise ainsi il peut prendre l'image toutes les 1o secondes et télécharger vers DynamoDB par l'intermédiaire d'AWS IoT. Jusqu'à présent, j'ai programmé pi pour prendre une photo toutes les 10 minutes. Mais je ne peux pas l'envoyer à AWS IoT. Je travaille sur cela depuis des semaines maintenant. Quelqu'un peut-il m'aider pleaseeee ?? J'apprécierai vraiment cela. Je suis très nouveau à la programmation. Merci d'avanceComment télécharger des images prises par framboise à AWS IoT

Ce que j'ai déjà fait: J'ai créé quelque chose dans AWS J'ai aussi créé un certificat et ce genre de choses. J'ai également créé une table dans DynamoDB

J'ai besoin d'aide avec quels codes dois-je ajouter à ce que j'ai en ce moment. Ainsi, les images prises par Pi sont téléchargées sur DynamoDB au lieu d'enregistrer dans pi. Si vous pouvez me diriger vers d'autres sites ou endroits où vous savez où je peux obtenir de l'aide sera vraiment apprécié.

Voici mon code

ROLL=$(cat /var/tlcam/series) 

SAVEDIR=/var/tlcam/stills 

while [ true ]; do 

filename=$ROLL-$(date -u +"%d%m%Y_%H%M-%S").jpg 

/opt/vc/bin/raspistill -o $SAVEDIR/$filename 

sleep 4; 

done; 
+0

Mettez à jour votre question avec ce que vous avez déjà essayé et quelqu'un vous aidera probablement à l'améliorer/réparer. Mais étant donné que vous avez mentionné que c'est un projet d'école, la plupart des gens s'opposeront à vous répondre simplement – hardillb

+0

merci monsieur. Je viens d'éditer ma question –

+0

Cela me semble scripté - les chances sont que vous aurez besoin d'utiliser un langage plus puissant. Mais la façon dont vous voudrez probablement le faire est de faire de la charge utile du message MQTT les octets qui représentent le JPG, puis peut-être le nom du JPG comme queue du sujet. Mais vous devrez écrire plus de code que vous avez ici pour le faire. Vous aurez probablement besoin de quelque chose sur le côté AWS IoT pour prendre ce message MQTT tel qu'il est reçu et le valider dans votre base de données. Ce n'est qu'un moyen de le faire, peut-être pas le meilleur. Ce n'est pas particulièrement difficile, mais nécessite un peu de travail. – Preston

Répondre

1

Je crois que vous voulez utiliser S3 au lieu de DynamoDB. La limite d'objet dans DynamoDB est de 64 Ko, ce qui serait une très petite image. S3 vous permettra de stocker un objet jusqu'à 5 To de taille. (Storing a lot of images S3 vs DynamoDB)

S3 a quelques SDK disponibles (aws.amazon.com/code), mais comme vous utilisez un Raspberry Pi, je suppose que vous voudriez utiliser Python ou CLI. Vous pouvez trouver quelques exemples de Python en utilisant S3 ici: boto3.readthedocs.org/en/latest/guide/s3.html. Vous pouvez également trouver des exemples d'utilisation de la CLI ici: docs.aws.amazon.com/cli/latest/reference/s3api/index.html

Ces SDK vous permettent de télécharger des images sur S3 et de télécharger les images à partir de S3. (disons à une interface web ou une application).