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: Top 5 unaprijed instaliranih korisnih programa za Windows 2024, Studeni
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

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

Ne znate 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 pristupom WiFi -u
  • Postavite i2c na Raspberry Pi Zero W pomoću Arch Linuxa
  • Postavite NodeJS Project Space na Raspberry Pi Zero W
  • Prijenos koda upravljačkog programa motora DRV8830 I2C na NodeJS
  • Uređivanje Raspberry Pi koda na daljinu iz koda Visual Studio
  • Robot 1B1

Naslovnu fotografiju Andy Kelly na stranici Unsplash

1. korak: 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 USD jer sam odlučio prenijeti slike u API, to će biti mrtvi bot. U svakom slučaju, mislio sam da ću još 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.

2. korak: Unesite podatke za naplatu

Unesite podatke o naplati
Unesite podatke o naplati

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

Korak 3: Otvorite API knjižnicu

Otvorite API knjižnicu
Otvorite API knjižnicu

Nakon postavljanja podataka o naplati još uvijek moramo omogućiti Cloud Vision API. Ovo je sigurnosna značajka, u biti su svi Google API -ji prema zadanim postavkama onemogućeni pa ako netko 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 trebao postojati jasan gumb Omogući. Pritisnite ga.

5. korak: Dođite do vjerodajnica

Dođite do vjerodajnica
Dođite do vjerodajnica

Posljednje što moramo učiniti je nabaviti API ključ. To treba uključiti u zaglavlja API poziva za provjeru autentičnosti.

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

Neka vas ovaj članak malo uplaši.

Programer stavlja AWS ključeve na Github

U redu! Idemo po vaš API ključ. Pronađite odjeljak Vjerodajnice

Korak 6: Izradite API ključ Google Vision

Izradite Google Vision API ključ
Izradite Google Vision API ključ
Izradite Google Vision API ključ
Izradite Google Vision API ključ

Vjerojatno nećete vidjeti nikakve vjerodajnice, jer ih vjerojatno još niste stvorili.

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

Korak 7: Raspberry Pi Side Setup

Članci navedeni na vrhu ovog članka pomoći će vam da postavite Raspberry Pi za ovaj korak. No, ako radite stvari drugačije, većina bi vam toga ipak trebala uspjeti. Međutim, kada prijeđemo na dio o varijablama okruženja, to će biti drugačije za ostale okuse 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. Time se izbjegava teško kodiranje vašeg API ključa u kôd niže. To će uspjeti, ali toplo preporučujem da se držite mene i postavite upravitelja varijabli okruženja za rukovanje API -jem.

Prebacite se na root korisnika upisivanjem

su

Unesite svoju lozinku.

Sljedeće što 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.

Upišite, zamjenjujući

VAŠ_API_KLJUČ

s vašim stvarnim API ključem.

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

Sada ponovno pokrenite Pi kako bi stupio na snagu.

sudo ponovno podizanje sustava

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

eho $ GOOGLE_CLOUD_VISION_API_KEY

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

Korak 8: Postavljanje projekta

Postavljanje projekta
Postavljanje projekta

Kreirajmo direktorij projekta.

mkdir google-vis

cd google-vis

Ajmo sada inicijalizirati novi projekt Node.

npm init

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

Dodajmo potrebne knjižnice Node. Jedan je. Knjižnica axios koja omogućuje asinkronizaciju web zahtjeva.

npm axios

Slika
Slika

Također, stvorimo direktorij resursa i preuzmimo 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:

Izradite datoteku u

go-vis

imenik nazvan

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 = zahtijevaju ('axios'); const fs = zahtijevaju ('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 = {

zahtjeva: [{"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 taj način izbjegavamo teško kodiranje API ključa.

10. korak:

Pokrenimo program.

čvor app.js

Ako je sve prošlo dobro, 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-kamera

Slobodno postavite bilo kakva pitanja u vezi s upotrebom izlaza.

Postoje i drugi zahtjevi za otkrivanje značajki.

Google Vision API - ostale značajke

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

Preporučeni: