Sadržaj:

Google Vision API pomoću Raspberry Pi i čvora: 11 koraka
Google Vision API pomoću Raspberry Pi i čvora: 11 koraka

Video: Google Vision API pomoću Raspberry Pi i čvora: 11 koraka

Video: Google Vision API pomoću Raspberry Pi i čvora: 11 koraka
Video: Napušteni dom 102-godišnje gospođe u SAD-u ~ radi struja! 2024, Novembar
Anonim
Google Vision API koristeći Raspberry Pi i Node
Google Vision API koristeći Raspberry Pi i Node

Ovo je početni vodič za korištenje Google Vision API -ja. Koristi sljedeće

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • priključak za internet

Ne poznajete Arch Linux? Ili kako postaviti Raspberry Pi? Bez brige, napisao sam niz članaka koji to prilično brzo pokrivaju. Mnogo je lakše postaviti nego što mislite. Zato nemojte dopustiti da vas to odvrati.

  • Instaliranje Arch Linuxa na Raspberry Pi s trenutnim WiFi pristupom
  • Postavite i2c na Raspberry Pi Zero W koristeći Arch Linux
  • Postavite NodeJS Project Space na Raspberry Pi Zero W
  • Prenošenje koda vozača motora DRV8830 I2C na NodeJS
  • Uređivanje Raspberry Pi koda daljinski iz Visual Studio koda
  • 1B1 Robot

Naslovna fotografija Andy Kelly na Unsplash

Korak 1: Nabavite Google API račun

Nažalost, Google Vision API nije potpuno besplatna usluga. U vrijeme pisanja API računa pruža 1000 besplatnih Google Vision API poziva mjesečno. Zatim, to je 1,00 USD za svakih 1000 poziva.

Znam, znam, nije tako loše. Ali ovo nije komercijalni projekt. Želim ga upotrijebiti za truljenja kućnog bota. Ako moja žena dobije račun za 40 dolara jer sam odlučio prenijeti slike u API, to će biti mrtav bot. U svakom slučaju, mislio sam da ću ipak istražiti uslugu za kakanje i kikotanje.

Da biste dobili račun, posjetite

Google konzola

Prijavite se s postojećim Google računom ili ga stvorite.

Korak 2: Unesite podatke za naplatu

Unesite podatke za naplatu
Unesite podatke za naplatu

Evo zastrašujućeg dijela. Prije nego što krenete, morate unijeti podatke za naplatu. Upamtite, bit ćete naplaćeni ako pređete više od 1000 poziva. Opet, ako premašite svojih 1000 besplatnih poziva, bit će vam naplaćeno. (Šta? Već sam to rekao? Oh.)

Korak 3: Otvorite API biblioteku

Otvorite API biblioteku
Otvorite API biblioteku

Nakon postavljanja podataka o naplati još uvijek moramo omogućiti Cloud Vision API. Ovo je sigurnosna značajka, u osnovi su svi Google API -ji zadano onemogućeni pa ako neko slučajno dobije pristup, neće svugdje osloboditi pakao.

Korak 4: Potražite Google Vision API

Potražite Google Vision API
Potražite Google Vision API

Sada potražite Vision i kliknite gumb. Ovdje bi trebalo postojati upadljivo dugme Omogući. Pritisnite ga.

Korak 5: Idite na Credentials

Idite na Credentials
Idite na Credentials

Zadnje što trebamo učiniti je nabaviti API ključ. Ovo mora biti uključeno u zaglavlja API poziva za provjeru autentičnosti.

Ne dozvolite nikome da dobije vaš API ključ. I nemojte to teško kodirati u svom kodu. Vjerujte mi, ovo će vas ugristi. Ako se ovo slučajno prebaci na web, alati za indeksiranje web stranica brzo će ga pronaći i platit ćete milijarde dolara.

Neka vas ovaj članak malo uplaši.

Programer postavlja AWS ključeve na Github

Uredu! Idemo po vaš API ključ. Pronađite odjeljak akreditivi

Korak 6: Kreirajte Google Vision API ključ

Kreirajte Google Vision API ključ
Kreirajte Google Vision API ključ
Kreirajte Google Vision API ključ
Kreirajte Google Vision API ključ

Vjerovatno nećete vidjeti nikakve akreditive, jer ih vjerojatno još niste stvorili.

Kreirajmo novi API ključ. Ključu bih dao ime smisleno i ograničio ga samo na Google Cloud API. Samo naprijed i kopirajte svoj API ključ jer će nam trebati u sljedećem koraku.

Korak 7: Raspberry Pi Side Setup

Članci navedeni na vrhu ovog članka pomoći će vam da postavite Raspberry Pi za ovaj korak. Ali ako radite stvari drugačije, većina ovoga bi vam ipak trebala uspjeti. Međutim, kada prijeđemo na dio o varijablama okruženja, to će biti drugačije za druge ukuse Linuxa.

Počnite tako što ćete SSH ući u svoj Pi.

I ažurirajte sve pakete

sudo pacman -Syu

Stvorit ćemo varijablu okruženja za Google Cloud Vision API. Ovo služi za izbjegavanje hard kodiranja vašeg API ključa u kôd niže. To će funkcionirati, ali toplo vam preporučujem da ostanete uz mene i postavite upravitelja varijabli okruženja za rukovanje API -jem.

Prebacite se na root korisnika upisivanjem

su

Unesite svoju lozinku.

Sljedeća stvar koju radimo je dodavanje vašeg Google Vision API ključa kao varijable okruženja u

/etc/profile

datoteku, to bi trebalo uzrokovati njegovu inicijalizaciju pri pokretanju.

Tip, zamjena

YOUR_API_KEY

sa vašim stvarnim API ključem.

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

Sada ponovno pokrenite Pi tako da stupi na snagu.

sudo reboot

Ponovo se prijavite. Provjerimo da li učitava API ključ.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Ako vaš API ključ ima odjek, trebali biste biti spremni.

Korak 8: Postavljanje projekta

Podešavanje projekta
Podešavanje projekta

Kreirajmo direktorij projekta.

mkdir google-vis

cd google-vis

Sada idemo na inicijalizaciju novog Node projekta.

npm init

Slobodno prilagodite detalje paketa ako želite. Ako ste lijeni poput mene, pritisnite enter dok se ne vratite u naredbeni redak.

Dodajmo potrebne Node biblioteke. Jedan je. Biblioteka axios koja omogućuje asinhronizaciju web zahtjeva.

npm axios

Image
Image

Također, kreirajmo direktorij resursa i preuzmite našu lijepu testnu sliku. Ah, gospođice Hepburn!

Provjerite jeste li u

google-vis/resources

direktorij projekta prilikom preuzimanja slike.

mkdir resursi

cd resursi wget

Korak 9:

Kreirajte datoteku u

go-vis

imenik koji se zove

app.js

nano app.js

Zatim zalijepite donji kôd i spremite datoteku upisivanjem CTRL+O i izlaskom pomoću 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 ('Nije naveden API ključ')}

funkcija base64_encode (datoteka) {

// čita binarne podatke var bitmap = fs.readFileSync (datoteka); // pretvaranje binarnih podataka u base64 kodirani niz 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 = {

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

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

console.log (odgovor); console.log (JSON.stringify (response.data.responses, nedefinirano, 4)); }). catch ((e) => {console.log (e.response);});

Ovaj kod hvata varijablu okruženja ključa API -ja i od nje stvara programsku konstantu.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Na ovaj način izbjegavamo hardkodiranje API ključa.

Korak 10:

Pokrenimo program.

čvor app.js

Ako je sve prošlo u redu, trebali biste dobiti sličan ispis dolje

podaci: {odgovori:

Korak 11: I još mnogo toga …

Ovaj članak je kratak-početak rada. Međutim, ovdje postoji veliki potencijal. Na primjer, slanje vlastitih slika pomoću Raspberry Pi kamere

  • raspicam
  • pi-camera

Slobodno postavite bilo kakva pitanja u vezi s načinom korištenja izlaza.

Postoje i drugi zahtjevi za otkrivanje funkcija.

Google Vision API - Ostale funkcije

Međutim, završiću članak i preći ću na uvođenje sistema za detekciju vida. Čim shvatim stohastički gradijentni silazak.

Preporučuje se: