Kazalo:

Google Vision API z uporabo Raspberry Pi in vozlišča: 11 korakov
Google Vision API z uporabo Raspberry Pi in vozlišča: 11 korakov

Video: Google Vision API z uporabo Raspberry Pi in vozlišča: 11 korakov

Video: Google Vision API z uporabo Raspberry Pi in vozlišča: 11 korakov
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, November
Anonim
Google Vision API z uporabo Raspberry Pi in Node
Google Vision API z uporabo Raspberry Pi in Node

To je začetni vodnik za uporabo API -ja Google Vision. Uporablja naslednje

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • internetna povezava

Ne poznate programa Arch Linux? Ali kako nastaviti Raspberry Pi? Brez skrbi, napisal sem vrsto člankov, ki to zelo hitro pokrivajo. Namestitev je veliko lažja, kot si mislite. Zato naj vas to ne odvrne.

  • Namestitev Arch Linuxa na Raspberry Pi s takojšnjim dostopom do WiFi
  • Namestite i2c na Raspberry Pi Zero W z uporabo Arch Linux
  • Namestite projektni prostor NodeJS na Raspberry Pi Zero W
  • Prenos kode gonilnika motorja DRV8830 I2C na NodeJS
  • Urejanje kode Raspberry Pi na daljavo iz kode Visual Studio
  • Robot 1B1

Naslovna fotografija Andyja Kellyja na Unsplash

1. korak: Pridobite račun Google API

Žal Google Vision API ni popolnoma brezplačna storitev. Račun API v času pisanja ponuja 1000 brezplačnih klicev API -ja Google Vision na mesec. Nato je 1,00 USD za vsakih 1000 klicev.

Vem, vem, ni hudo. Toda to ni komercialni projekt. Želim ga uporabiti za gnusnega hišnega bota. Če moja žena dobi račun za 40 USD, ker sem se odločil, da slike pretočim v API, bo to mrtev bot. Kakorkoli že, mislil sem, da bom še raziskal storitev za poo-and-giggles.

Za dostop do računa obiščite

Google Console

Prijavite se z obstoječim Google Računom ali ga ustvarite.

2. korak: Vnesite podatke za obračun

Vnesite podatke za obračun
Vnesite podatke za obračun

Tu je strašljiv del: pred začetkom morate vnesti podatke za obračun. Ne pozabite, da vam bomo zaračunali, če opravite več kot 1000 klicev. Še enkrat, če presežete 1000 brezplačnih klicev, vam bomo zaračunali. (Kaj? To sem že rekel? Oh.)

3. korak: Odprite knjižnico API

Odprite knjižnico API
Odprite knjižnico API

Po nastavitvi podatkov za obračun moramo še vedno omogočiti Cloud Vision API. To je varnostna funkcija, v bistvu so vsi Googlovi API -ji privzeto onemogočeni, zato če kdo slučajno dobi dostop, ne povsod sproži pekla.

4. korak: Poiščite Google Vision API

Poiščite Google Vision API
Poiščite Google Vision API

Zdaj poiščite Vision in kliknite gumb. Tu bi moral biti očiten gumb Omogoči. Pritisnite.

5. korak: Pomaknite se do poverilnic

Pomaknite se do poverilnic
Pomaknite se do poverilnic

Zadnja stvar, ki jo moramo storiti, je, da dobimo ključ API. To je treba vključiti v glave klicev API -ja za preverjanje pristnosti.

Nikomur ne dovolite, da dobi vaš ključ API. In tega ne kodirajte v kodi. Verjemite mi, to vas bo ugriznilo. Če se to po nesreči potisne v splet, ga bo spletni pajek hitro našel in plačali boste bajiljone dolarjev.

Naj vas ta članek nekoliko prestraši.

Razvijalec postavlja ključe AWS na Github

V redu! Pojdimo po ključ API. Poiščite razdelek poverilnice

6. korak: Ustvarite ključ API -ja za Google Vision

Ustvarite ključ API -ja za Google Vision
Ustvarite ključ API -ja za Google Vision
Ustvarite ključ API -ja za Google Vision
Ustvarite ključ API -ja za Google Vision

Verjetno ne boste videli nobenih poverilnic, saj jih še niste ustvarili.

Ustvarimo nov ključ API. Ključu bi dal nekaj smiselnega in ga omejil le na Google Cloud API. Pojdite naprej in kopirajte ključ API, saj ga bomo potrebovali v naslednjem koraku.

7. korak: Raspberry Pi Side Setup

Članki, navedeni na vrhu tega, vam bodo pomagali nastaviti Raspberry Pi za ta korak. Če pa počnete stvari drugače, bi vam večina tega morala delovati. Ko pa pridemo do dela o spremenljivkah okolja, bo pri drugih okusih Linuxa drugače.

Začnite tako, da SSH vstopite v svoj Pi.

In posodobite vse pakete

sudo pacman -Syu

Ustvarili bomo spremenljivko okolja za Google Cloud Vision API. S tem se izognete trdemu kodiranju ključa API v kodo spodaj. To bo delovalo, vendar toplo priporočam, da se držite mene in nastavite upravitelja spremenljivk okolja za upravljanje API -ja.

Z vnosom preklopite na korenskega uporabnika

su

Vnesite geslo.

Naslednja stvar, ki jo naredimo, je, da svoj ključ Google Vision API dodamo kot spremenljivko okolja v datoteko

/etc/profile

datoteko, to bi moralo povzročiti njeno inicializacijo ob zagonu.

Vrsta, zamenjava

YOUR_API_KEY

z vašim dejanskim ključem API.

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

Zdaj znova zaženite Pi, da začne veljati.

sudo ponovni zagon

Znova se prijavite. Preverimo, ali nalaga ključ API.

odmev $ GOOGLE_CLOUD_VISION_API_KEY

Če vaš ključ API odmeva nazaj, bi morali biti pripravljeni.

8. korak: Nastavitev projekta

Nastavitev projekta
Nastavitev projekta

Ustvarimo imenik projekta.

mkdir google-vis

cd google-vis

Zdaj pa inicializiramo nov projekt Node.

npm init

Če želite, lahko prilagodite podrobnosti paketa. Če ste leni kot jaz, pritisnite enter, dokler se ne vrnete v ukazni poziv.

Dodajmo potrebne knjižnice vozlišč. To je eno. Knjižnica axios, ki omogoča asinhronske spletne zahteve.

npm axios

Slika
Slika

Ustvarimo tudi imenik virov in naložimo našo čudovito preskusno sliko. Ah, gospodična Hepburn!

Prepričajte se, da ste v

google-vis/resources

imenik projekta pri prenosu slike.

viri mkdir

cd viri wget

9. korak:

Ustvarite datoteko v

go-vis

imenovan imenik

app.js

nano app.js

Nato prilepite spodnjo kodo in datoteko shranite tako, da vnesete CTRL+O in zapustite tipko CTRL+X.

//

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

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

if (! API_KEY) {

console.log ('Ključ API ni naveden')}

funkcija base64_encode (datoteka) {

// branje binarnih podatkov var bitna slika = fs.readFileSync (datoteka); // pretvorimo binarne podatke v niz kodiran v base64 vrni nov vmesni pomnilnik (bitna slika).toString ('base64'); } var base64str = base64_encode ('./ resources/audrey.jpg');

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

const reqObj = {

zahteve: [{"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, undefined, 4)); }). catch ((e) => {console.log (e.response);});

Ta koda zgrabi spremenljivko okolja ključa API in iz nje ustvari programsko konstanto.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Tako se izognemo trdemu kodiranju ključa API.

10. korak:

Zaženimo program.

vozlišče app.js

Če je vse v redu, bi morali dobiti podoben rezultat kot spodaj

podatki: {odgovori:

11. korak: In še veliko več …

Ta članek je kratek-začetek. Vendar je tukaj veliko potenciala. Na primer, pošiljanje lastnih slik z uporabo kamere Raspberry Pi

  • raspicam
  • pi-kamera

Prosimo vas, da zastavite kakršna koli vprašanja o uporabi izhoda.

Obstajajo tudi druge zahteve za zaznavanje funkcij.

Google Vision API - Druge funkcije

Vendar bom zaključil članek in nadaljeval z uvajanjem sistemov za zaznavanje vida. Takoj, ko ugotovim stohastični gradientni spust.

Priporočena: