Cuprins:

API Google Vision folosind Raspberry Pi și Node: 11 pași
API Google Vision folosind Raspberry Pi și Node: 11 pași

Video: API Google Vision folosind Raspberry Pi și Node: 11 pași

Video: API Google Vision folosind Raspberry Pi și Node: 11 pași
Video: Treaba mea este să observ pădurea și aici se întâmplă ceva ciudat. 2024, Noiembrie
Anonim
API Google Vision Utilizarea Raspberry Pi și Node
API Google Vision Utilizarea Raspberry Pi și Node

Acesta este un ghid de pornire pentru utilizarea API-ului Google Vision. Folosește următoarele

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • conexiune internet

Nu știți Arch Linux? Sau cum să configurați un Raspberry Pi? Nu vă faceți griji, am scris o serie de articole care o acoperă destul de repede. Este mult mai ușor de configurat decât crezi. Așa că nu-l lăsa să te descurajeze.

  • Instalarea Arch Linux pe Raspberry Pi cu acces WiFi imediat
  • Configurați i2c pe Raspberry Pi Zero W utilizând Arch Linux
  • Configurați spațiul proiectului NodeJS pe Raspberry Pi Zero W
  • Portarea codului driverului motorului DRV8830 I2C pe NodeJS
  • Editarea codului Raspberry Pi de la distanță de la Visual Studio Code
  • 1B1 Robot

Fotografie de copertă de Andy Kelly pe Unsplash

Pasul 1: obțineți un cont Google API

Din păcate, API-ul Google Vision nu este un serviciu complet gratuit. În momentul redactării, un cont API oferă 1000 de apeluri gratuite Google Vision API pe lună. Apoi, este de 1,00 USD pentru fiecare 1000 de apeluri.

Știu, știu, nu prea rău. Dar acesta nu este un proiect comercial. Vreau să-l folosesc pentru un bot de casă mic. Dacă soția mea primește o factură de 40 USD pentru că am decis să transmit imagini în API, ei bine, va fi un bot mort. Oricum, m-am gândit că voi explora în continuare serviciul pentru poo-și-chicoti.

Pentru a vizita un cont

Consola Google

Și conectați-vă cu un cont Google existent sau creați unul.

Pasul 2: introduceți informațiile de facturare

introduceți informațiile de facturare
introduceți informațiile de facturare

Acum, iată partea înfricoșătoare, trebuie să introduceți informațiile de facturare înainte de a începe. Amintiți-vă, veți fi taxat dacă depășiți peste 1000 de apeluri. Din nou, dacă depășiți 1 000 de apeluri gratuite, veți fi taxat. (Ce? Am spus asta deja? Oh.)

Pasul 3: Deschideți biblioteca API

Deschideți biblioteca API
Deschideți biblioteca API

După configurarea informațiilor de facturare, trebuie totuși să activăm API-ul Cloud Vision. Aceasta este o caracteristică de securitate, în esență, toate API-urile Google sunt dezactivate în mod implicit, astfel încât, dacă cineva primește acces accidental, nu dezlănțuie iadul peste tot.

Pasul 4: Căutați API Google Vision

Căutați API Google Vision
Căutați API Google Vision

Acum căutați Vision și faceți clic pe buton. Aici ar trebui să existe un buton activ de activare. Apasa-l.

Pasul 5: Navigați la acreditări

Navigați la acreditări
Navigați la acreditări

Ultimul lucru pe care trebuie să-l facem este să obținem cheia API. Acest lucru trebuie inclus în anteturile de apel API pentru autentificare.

Nu lăsați pe nimeni să vă obțină cheia API. Și nu îl codificați în codul dvs. Crede-mă, asta te va mușca. Dacă acest lucru este împins accidental pe web, un crawler web îl va găsi rapid și veți plăti miliarde de dolari.

Lăsați acest articol să vă sperie puțin.

Dezvoltatorul pune cheile AWS pe Github

Bine! Să luăm cheia API. Găsiți secțiunea acreditări

Pasul 6: creați cheia API Google Vision

Creați cheia API Google Vision
Creați cheia API Google Vision
Creați cheia API Google Vision
Creați cheia API Google Vision

Probabil că nu veți vedea acreditări create, așa cum probabil nu le-ați creat încă.

Să creăm o nouă cheie API. Aș numi cheia ceva semnificativ și l-aș limita doar la Google Cloud API. Continuați și copiați cheia API, deoarece vom avea nevoie de ea în pasul următor.

Pasul 7: Configurare laterală Raspberry Pi

Articolele listate în partea de sus a acestuia vă vor ajuta să configurați Raspberry Pi pentru acest pas. Dar dacă faci lucruri diferite, cele mai multe dintre acestea ar trebui să funcționeze în continuare pentru tine. Cu toate acestea, când ajungem la partea despre variabilele de mediu, acest lucru va fi diferit pentru alte versiuni Linux.

Începeți prin SSH'ing în Pi.

Și actualizați toate pachetele

sudo pacman -Syu

Vom crea o variabilă de mediu pentru API-ul Google Cloud Vision. Acest lucru este pentru a evita codarea în hard a cheii API în cod mai jos. Acest lucru va funcționa, dar vă recomand cu tărie să rămâneți cu mine și să configurați un manager de variabile de mediu pentru a gestiona API-ul.

Treceți la utilizatorul root tastând

su

Introduceți parola.

Următorul lucru pe care îl facem este să adăugăm cheia API Google Vision ca variabilă de mediu la

/ etc / profile

fișier, aceasta ar trebui să provoace inițializarea acestuia la pornire.

Tastați, înlocuiți

YOUR_API_KEY

cu cheia dvs. API reală.

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

Acum reporniți Pi, astfel încât să aibă efect.

reporniți sudo

Conectați-vă din nou. Să verificăm pentru a ne asigura că se încarcă cheia API.

ecou $ GOOGLE_CLOUD_VISION_API_KEY

Dacă cheia dvs. API are ecou înapoi, ar trebui să fiți bine să mergeți.

Pasul 8: Configurarea proiectului

Configurare proiect
Configurare proiect

Să creăm un director de proiect.

mkdir google-vis

cd google-vis

Acum să inițializăm un nou proiect Node.

npm init

Nu ezitați să personalizați detaliile pachetului, dacă doriți. Dacă ești leneș ca mine, apasă pe Enter până când revii la promptul de comandă.

Să adăugăm bibliotecile Node necesare. E unul. Biblioteca axios, care permite solicitări web asincronizate.

npm axios

Imagine
Imagine

De asemenea, să creăm un director de resurse și să descărcăm imaginea noastră de test minunată. Ah, domnișoară Hepburn!

Asigurați-vă că vă aflați în

google-vis / resources

directorul proiectului la descărcarea imaginii.

resurse mkdir

resurse cd wget

Pasul 9:

Creați un fișier în

vizual

director numit

app.js

nano app.js

Apoi lipiți codul de mai jos și salvați fișierul tastând CTRL + O și ieșind folosind CTRL + X.

//

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

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

if (! API_KEY) {

console.log („Nu este furnizată nicio cheie API”)}

funcția base64_encode (fișier) {

// citire date binare var bitmap = fs.readFileSync (fișier); // convertiți datele binare în șir codificat bazat 64 întoarce nou 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 = {

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

axios.post (apiCall, reqObj).then ((response) => {

console.log (răspuns); console.log (JSON.stringify (response.data.responses, nedefinit, 4)); }). catch ((e) => {console.log (e.response);});

Acest cod captează variabila de mediu cheie API și creează o constantă de program din aceasta.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Acesta este modul în care evităm codarea hard a cheii API.

Pasul 10:

Să rulăm programul.

nod app.js

Dacă totul a mers bine, ar trebui să obțineți rezultate similare cu cele de mai jos

date: {răspunsuri:

Pasul 11: Și mult mai mult …

Acest articol este scurt - un început important. Cu toate acestea, există mult potențial aici. De exemplu, trimiterea propriilor imagini folosind camera Raspberry Pi

  • raspicam
  • pi-camera

Vă rugăm să nu ezitați să puneți întrebări cu privire la modul de utilizare a rezultatului.

Există și alte cereri de detectare a caracteristicilor.

API Google Vision - Alte caracteristici

Cu toate acestea, voi încheia articolul și voi trece la sistemele mele de detectare a vederii. De îndată ce îmi dau seama descendența de gradient stochastic.

Recomandat: