INHOUDSOPGAWE:

Google Vision API met behulp van Raspberry Pi en Node: 11 stappe
Google Vision API met behulp van Raspberry Pi en Node: 11 stappe

Video: Google Vision API met behulp van Raspberry Pi en Node: 11 stappe

Video: Google Vision API met behulp van Raspberry Pi en Node: 11 stappe
Video: Build Your Own AI Assistant Part 1 - Creating the Assistant 2024, November
Anonim
Google Vision API met behulp van Raspberry Pi en Node
Google Vision API met behulp van Raspberry Pi en Node

Dit is 'n begingids vir die gebruik van die Google Vision API. Dit gebruik die volgende

  • Framboos Pi Zero W
  • Arch Linux
  • NodeJS
  • internet konneksie

Ken jy nie Arch Linux nie? Of hoe om 'n Raspberry Pi op te stel? Moenie bekommerd wees nie, ek het 'n reeks artikels geskryf wat dit redelik vinnig behandel. Dit is baie makliker om op te stel as wat u dink. Moet dit dus nie afskrik nie.

  • Installeer Arch Linux op Raspberry Pi met onmiddellike WiFi -toegang
  • Stel i2c op Raspberry Pi Zero W op met behulp van Arch Linux
  • Stel NodeJS -projekruimte op Raspberry Pi Zero W op
  • Oordrag van DRV8830 I2C -motorbestuurderkode na NodeJS
  • Raspberry Pi -kode op afstand redigeer vanaf Visual Studio Code
  • 1B1 robot

Voorbladfoto deur Andy Kelly op Unsplash

Stap 1: Kry 'n Google API -rekening

Ongelukkig is Google Vision API nie 'n heeltemal gratis diens nie. By die skryf van 'n API -rekening bied 1000 gratis Google Vision API -oproepe per maand. Dan is dit $ 1,00 vir elke 1000 oproepe.

Ek weet, ek weet, nie te erg nie. Maar dit is nie 'n kommersiële projek nie. Ek wil dit gebruik vir 'n klein huisbot. As my vrou 'n rekening van $ 40 kry omdat ek besluit het om beelde na die API te stroom, dan is dit 'n dooie bot. Ek het in elk geval gedink ek sal nog steeds die diens vir poep-en-giggel ondersoek.

Om 'n rekening te besoek, besoek

Google Console

En meld aan met 'n bestaande Google-rekening of skep een.

Stap 2: Voer faktuurinligting in

Voer faktuurinligting in
Voer faktuurinligting in

Hier is die skrikwekkende deel: u moet u faktuurinligting invoer voordat u begin. Onthou dat u gehef sal word as u meer as 1000 oproepe doen. Weereens, as u u 1 000 gratis oproepe oorskry, word u gehef. (Wat? Ek het dit al gesê? O.)

Stap 3: Maak die API -biblioteek oop

Maak die API -biblioteek oop
Maak die API -biblioteek oop

Nadat ons faktuurinligting opgestel het, moet ons steeds die Cloud Vision API aktiveer. Dit is 'n veiligheidsfunksie, in wese is alle Google API's standaard gedeaktiveer, so as iemand per ongeluk toegang kry, laat hulle nie die hel oral los nie.

Stap 4: Soek vir Google Vision API

Soek vir Google Vision API
Soek vir Google Vision API

Soek nou na Vision en klik op die knoppie. Hier moet 'n duidelike Aktiveer -knoppie wees. Druk dit.

Stap 5: Gaan na geloofsbriewe

Gaan na geloofsbriewe
Gaan na geloofsbriewe

Die laaste ding wat ons moet doen, is om die API -sleutel te kry. Dit moet by die API -oproepopskrifte ingesluit word vir verifikasie.

Moenie toelaat dat iemand u API -sleutel kry nie. En moenie dit in u kode hardkodeer nie. Glo my, dit sal jou byt. As dit per ongeluk op die internet verskyn, vind 'n webkruiper dit vinnig en betaal u miljarde dollars.

Laat hierdie artikel u 'n bietjie skrik.

Ontwikkelaar plaas AWS -sleutels op Github

Ok! Kom ons gaan haal u API -sleutel. Soek die geloofsbriewe -afdeling

Stap 6: Skep Google Vision API -sleutel

Skep Google Vision API -sleutel
Skep Google Vision API -sleutel
Skep Google Vision API -sleutel
Skep Google Vision API -sleutel

U sien waarskynlik geen geloofsbriewe nie, aangesien u waarskynlik nog nie 'n geskep het nie.

Kom ons skep 'n nuwe API -sleutel. Ek noem die sleutel iets betekenisvol en beperk dit tot slegs die Google Cloud API. Kopieer u API -sleutel, want ons benodig dit in die volgende stap.

Stap 7: Raspberry Pi -kantopstelling

Die artikels bo -aan hierdie een sal u help om die Raspberry Pi vir hierdie stap op te stel. Maar as u dinge anders doen, behoort die meeste hiervan steeds vir u te werk. As ons egter die gedeelte van ongeveer omgewingsveranderlikes bereik, sal dit vir ander Linux -geure anders wees.

Begin met SSH'ing in u Pi.

En werk alle pakkette op

sudo pacman -Syu

Ons gaan 'n omgewingsveranderlike vir die Google Cloud Vision API skep. Dit is om te verhoed dat u API -sleutel in die kode verder in die kode gekodeer word. Dit sal werk, maar ek beveel sterk aan dat u by my bly en 'n omgewingsveranderlike bestuurder instel om die API te hanteer.

Skakel oor na die wortelgebruiker deur te tik

su

Sleutel jou wagwoord in.

Die volgende ding wat ons doen, is om u Google Vision API -sleutel as omgewingsveranderlike by die

/etc/profile

lêer, moet dit veroorsaak dat dit geïnstalleer word tydens die opstart.

Tik, vervang

JOU_API_KEY

met u werklike API -sleutel.

eggo 'uitvoer GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> /etc /profile

Herlaai die Pi nou sodat dit in werking tree.

sudo herlaai

Meld weer aan. Kom ons kyk of die API -sleutel gelaai word.

eggo $ GOOGLE_CLOUD_VISION_API_KEY

As u API -sleutel teruggekeer word, moet u klaar wees.

Stap 8: Projekopstelling

Projekopstelling
Projekopstelling

Kom ons skep 'n projekgids.

mkdir google-vis

cd google-vis

Laat ons nou 'n nuwe Node -projek inisieer.

npm init

Pas die pakketbesonderhede aan as u wil. As u soos ek lui is, druk Enter totdat u terug is na die opdragprompt.

Laat ons die nodige Node -biblioteke byvoeg. Dit is een. Die axios -biblioteek, wat asynchroniseerde webversoeke moontlik maak.

npm axios

Beeld
Beeld

Laat ons ook 'n hulpbrongids skep en ons wonderlike toetsbeeld aflaai. Ag, mis Hepburn!

Maak seker dat u in die

google-vis/hulpbronne

projekgids by die aflaai van die prent.

mkdir hulpbronne

cd -bronne

Stap 9:

Skep 'n lêer in die

go-vis

gids genoem

app.js

nano app.js

Plak dan die onderstaande kode in en stoor die lêer deur CTRL+O in te tik en CTRL+X te verlaat.

//

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

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

as (! API_KEY) {

console.log ('Geen API -sleutel verskaf nie')}

funksie base64_encode (lêer) {

// lees binêre data var bitmap = fs.readFileSync (lêer); // omskep binêre data na base64 -gekodeerde string 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 = {

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

axios.post (apiCall, reqObj).dan ((reaksie) => {

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

Hierdie kode gryp die API -sleutelomgewingsveranderlike en skep 'n programkonstante daaruit.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Op hierdie manier vermy ons die kodering van die API -sleutel.

Stap 10:

Laat ons die program uitvoer.

node app.js

As alles goed verloop, moet u dieselfde uitvoer as hieronder kry

data: {response:

Stap 11: En soveel meer …

Hierdie artikel is kort-'n sprong begin. Daar is egter baie potensiaal hier. Stuur byvoorbeeld u eie beelde met die Raspberry Pi -kamera

  • raspicam
  • pi-kamera

Vra gerus enige vrae oor die gebruik van die uitset.

Daar is ander versoeke om funksie op te spoor.

Google Vision API - Ander funksies

Ek gaan die artikel egter beëindig en verder gaan met my visie -opsporingstelsels. Sodra ek die stogastiese helling afkom.

Aanbeveel: