Table des matières:

API Google Vision utilisant Raspberry Pi et Node : 11 étapes
API Google Vision utilisant Raspberry Pi et Node : 11 étapes

Vidéo: API Google Vision utilisant Raspberry Pi et Node : 11 étapes

Vidéo: API Google Vision utilisant Raspberry Pi et Node : 11 étapes
Vidéo: How to Turn Raspberry Pi into Web Server for Free 2024, Novembre
Anonim
API Google Vision utilisant Raspberry Pi et Node
API Google Vision utilisant Raspberry Pi et Node

Ceci est un guide de démarrage pour utiliser l'API Google Vision. Il utilise ce qui suit

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • connexion Internet

Vous ne connaissez pas Arch Linux ? Ou comment configurer un Raspberry Pi ? Pas de soucis, j'ai écrit une série d'articles qui le couvre assez rapidement. C'est beaucoup plus facile à configurer que vous ne le pensez. Alors ne vous laissez pas décourager.

  • Installation d'Arch Linux sur Raspberry Pi avec accès WiFi immédiat
  • Configurer i2c sur Raspberry Pi Zero W à l'aide d'Arch Linux
  • Configurer l'espace de projet NodeJS sur Raspberry Pi Zero W
  • Portage du code de pilote de moteur DRV8830 I2C vers NodeJS
  • Modification du code Raspberry Pi à distance à partir du code Visual Studio
  • 1B1 Robot

Photo de couverture par Andy Kelly sur Unsplash

Étape 1: Obtenez un compte API Google

Malheureusement, l'API Google Vision n'est pas un service entièrement gratuit. Au moment de la rédaction de cet article, un compte API fournit 1 000 appels d'API Google Vision gratuits par mois. Ensuite, c'est 1,00 $ pour chaque 1000 appels.

Je sais, je sais, pas trop mal. Mais ce n'est pas un projet commercial. Je veux l'utiliser pour un petit robot domestique. Si ma femme reçoit une facture de 40 $ parce que j'ai décidé de diffuser des images vers l'API, eh bien, ce sera un bot mort. Quoi qu'il en soit, je pensais que j'explorerais toujours le service pour les caca et les rires.

Pour obtenir une visite de compte

Console Google

Et connectez-vous avec un compte Google existant ou créez-en un.

Étape 2: Saisir les informations de facturation

Saisir les informations de facturation
Saisir les informations de facturation

Maintenant, voici la partie effrayante, vous devez entrer vos informations de facturation avant de partir. N'oubliez pas que vous serez facturé si vous dépassez les 1000 appels. Encore une fois, si vous dépassez vos 1 000 appels gratuits, vous serez facturé. (Quoi ? Je l'ai déjà dit ? Oh.)

Étape 3: Ouvrez la bibliothèque d'API

Ouvrir la bibliothèque d'API
Ouvrir la bibliothèque d'API

Après avoir configuré les informations de facturation, nous devons encore activer l'API Cloud Vision. Il s'agit d'une fonctionnalité de sécurité, essentiellement, toutes les API Google sont désactivées par défaut, donc si quelqu'un y accède accidentellement, il ne déclenche pas l'enfer partout.

Étape 4: Recherchez l'API Google Vision

Rechercher l'API Google Vision
Rechercher l'API Google Vision

Recherchez maintenant Vision et cliquez sur le bouton. Ici, il devrait y avoir un bouton Activer flagrant. Appuie.

Étape 5: Accédez aux informations d'identification

Accédez aux informations d'identification
Accédez aux informations d'identification

La dernière chose que nous devons faire est d'obtenir la clé API. Cela doit être inclus dans les en-têtes d'appel d'API pour l'authentification.

Ne laissez personne obtenir votre clé API. Et ne le codez pas en dur dans votre code. Croyez-moi, cela va vous mordre. Si cela est accidentellement poussé sur le Web, un robot d'exploration le trouvera rapidement et vous paierez des milliards de dollars.

Laissez cet article vous effrayer un peu.

Le développeur place les clés AWS sur Github

D'accord! Allons chercher votre clé API. Trouvez la section Identifiants

Étape 6: Créer une clé API Google Vision

Créer une clé API Google Vision
Créer une clé API Google Vision
Créer une clé API Google Vision
Créer une clé API Google Vision

Vous ne verrez probablement aucune information d'identification créée, car vous n'en avez probablement pas encore créé.

Créons une nouvelle clé API. Je nommerais la clé quelque chose de significatif et la limiterais à l'API Google Cloud. Allez-y et copiez votre clé API, car nous en aurons besoin à l'étape suivante.

Étape 7: configuration côté Raspberry Pi

Les articles répertoriés en haut de celui-ci vous aideront à configurer le Raspberry Pi pour cette étape. Mais si vous faites les choses différemment, la plupart des choses devraient toujours fonctionner pour vous. Cependant, lorsque nous aborderons la partie concernant les variables d'environnement, ce sera différent pour les autres versions de Linux.

Commencez par SSH dans votre Pi.

Et mettre à jour tous les packages

sudo pacman -Syu

Nous allons créer une variable d'environnement pour l'API Google Cloud Vision. Ceci afin d'éviter de coder en dur votre clé API dans le code plus bas. Cela fonctionnera, mais je vous recommande fortement de rester avec moi et de configurer un gestionnaire de variables d'environnement pour gérer l'API.

Basculez vers l'utilisateur root en tapant

su

Tapez votre mot de passe.

La prochaine chose que nous faisons est d'ajouter votre clé d'API Google Vision en tant que variable d'environnement au

/etc/profil

fichier, cela devrait provoquer son initialisation au démarrage.

Type, remplacement

YOUR_API_KEY

avec votre clé API actuelle.

echo 'exporter GOOGLE_CLOUD_VISION_API_KEY=YOUR_API_KEY' >> /etc/profile

Maintenant, redémarrez le Pi pour que cela prenne effet.

redémarrage sudo

Reconnectez-vous. Vérifions qu'il charge la clé API.

echo $GOOGLE_CLOUD_VISION_API_KEY

Si votre clé API est renvoyée, vous devriez être prêt à partir.

Étape 8: Configuration du projet

Configuration du projet
Configuration du projet

Créons un répertoire de projet.

mkdir google-vis

cd google-vis

Initialisons maintenant un nouveau projet Node.

initialisation npm

N'hésitez pas à personnaliser les détails du package si vous le souhaitez. Si vous êtes paresseux comme moi, appuyez sur Entrée jusqu'à ce que vous reveniez à l'invite de commande.

Ajoutons les bibliothèques Node nécessaires. C'est un. La bibliothèque axios, qui permet les requêtes Web asynchrones.

axios npm

Image
Image

Créons également un répertoire de ressources et téléchargeons notre belle image de test. Ah, mademoiselle Hepburn !

Assurez-vous que vous êtes dans le

google-vis/ressources

répertoire du projet lors du téléchargement de l'image.

ressources mkdir

ressources cd wget

Étape 9:

Créer un fichier dans le

rendez-vous

répertoire appelé

app.js

nano app.js

Collez ensuite le code ci-dessous et enregistrez le fichier en tapant CTRL+O et en quittant en utilisant CTRL+X.

//

const const axios = require('axios'); const fs = require('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

si (!API_KEY) {

console.log('Aucune clé API fournie') }

fonction base64_encode(fichier) {

// lit les données binaires var bitmap = fs.readFileSync(file); // convertir les données binaires en chaîne codée en base64 return new Buffer(bitmap).toString('base64'); } var base64str = base64_encode('./resources/audrey.jpg');

const apiCall = `https://vision.googleapis.com/v1/images:annotate?key=${API_KEY}`;

const reqObj = {

request:[{ "image":{ "content": base64str }, "features":[{ "type":"LABEL_DETECTION", "maxResults":5 }, { "type":"FACE_DETECTION", "maxResults": 5 }, { "type": "IMAGE_PROPERTIES", "maxResults":5 }] }] }

axios.post(apiCall, reqObj).then((réponse) => {

console.log(réponse); console.log(JSON.stringify(response.data.responses, undefined, 4)); }).catch((e) => { console.log(e.response); });

Ce code récupère la variable d'environnement de la clé API et crée une constante de programme à partir de celle-ci.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

C'est ainsi que nous évitons de coder en dur la clé API.

Étape 10:

Exécutons le programme.

nœud app.js

Si tout s'est bien passé, vous devriez obtenir une sortie similaire à celle ci-dessous

data: { réponses:

Étape 11: Et bien plus encore…

Cet article est court - un démarrage rapide. Cependant, il y a beaucoup de potentiel ici. Par exemple, envoyer vos propres images à l'aide de la caméra Raspberry Pi

  • raspicam
  • pi-caméra

N'hésitez pas à poser des questions sur l'utilisation de la sortie.

Il existe d'autres demandes de détection de fonctionnalités.

API Google Vision -- Autres fonctionnalités

Cependant, je vais terminer l'article et passer au déploiement de mes systèmes de détection de vision. Dès que je comprends la descente de gradient stochastique.

Conseillé: