Indholdsfortegnelse:

Google Vision API ved hjælp af Raspberry Pi og Node: 11 trin
Google Vision API ved hjælp af Raspberry Pi og Node: 11 trin

Video: Google Vision API ved hjælp af Raspberry Pi og Node: 11 trin

Video: Google Vision API ved hjælp af Raspberry Pi og Node: 11 trin
Video: Распознавание номеров авто с YOLOv7 + OCR на Google Colab | Учебник ANPR/ALPR 2023 2024, November
Anonim
Google Vision API ved hjælp af Raspberry Pi og Node
Google Vision API ved hjælp af Raspberry Pi og Node

Dette er en startguide til brug af Google Vision API. Det bruger følgende

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • internetforbindelse

Kender du ikke Arch Linux? Eller hvordan opsættes en Raspberry Pi? Bare rolig, jeg har skrevet en række artikler, der dækker det ret hurtigt. Det er meget lettere at opsætte, end du tror. Så lad det ikke afskrække dig.

  • Installation af Arch Linux på Raspberry Pi med øjeblikkelig WiFi -adgang
  • Opsæt i2c på Raspberry Pi Zero W ved hjælp af Arch Linux
  • Konfigurer NodeJS Project Space på Raspberry Pi Zero W
  • Portning af DRV8830 I2C -motordriverkode til NodeJS
  • Redigering af Raspberry Pi -kode eksternt fra Visual Studio Code
  • 1B1 Robot

Forsidefoto af Andy Kelly på Unsplash

Trin 1: Få en Google API -konto

Desværre er Google Vision API ikke en helt gratis service. I skrivende stund giver en API -konto 1000 gratis Google Vision API -opkald om måneden. Derefter er det $ 1,00 for hvert 1000 opkald.

Jeg ved, jeg ved, ikke så slemt. Men dette er ikke et kommercielt projekt. Jeg vil gerne bruge det til en puttering lille hus bot. Hvis min kone får en regning for $ 40, fordi jeg besluttede at streame billeder til API'en, ja, det vil være en død bot. Jeg troede alligevel, at jeg stadig ville undersøge tjenesten for poo-og-fnis.

For at få et kontobesøg

Google -konsol

Og log ind med en eksisterende Google-konto, eller opret en.

Trin 2: Indtast faktureringsoplysninger

Indtast faktureringsoplysninger
Indtast faktureringsoplysninger

Nu, her er den skræmmende del, du skal indtaste dine faktureringsoplysninger, før du går i gang. Husk, at du bliver opkrævet, hvis du går over 1000 opkald. Igen, hvis du overskrider dine 1.000 gratis opkald, bliver du debiteret. (Hvad? Jeg sagde det allerede? Åh.)

Trin 3: Åbn API -biblioteket

Åbn API -biblioteket
Åbn API -biblioteket

Efter konfigurering af faktureringsoplysninger har vi stadig brug for at aktivere Cloud Vision API. Dette er en sikkerhedsfunktion, hovedsageligt er alle Google API'er deaktiveret som standard, så hvis nogen ved et uheld får adgang, slipper de ikke helvede overalt.

Trin 4: Søg efter Google Vision API

Søg efter Google Vision API
Søg efter Google Vision API

Søg nu efter Vision og klik på knappen. Her skulle der være en lysende Aktiver -knap. Tryk på den.

Trin 5: Naviger til legitimationsoplysninger

Naviger til legitimationsoplysninger
Naviger til legitimationsoplysninger

Den sidste ting, vi skal gøre, er at hente API -nøglen. Dette skal inkluderes i API -opkaldshovederne for godkendelse.

Lad ikke nogen få din API -nøgle. Og ikke hardcode det i din kode. Tro mig, det vil bide dig. Hvis dette ved et uheld bliver skubbet til internettet, finder en webcrawler det hurtigt, og du betaler bajillions dollars.

Lad denne artikel skræmme dig lidt.

Udvikler sætter AWS -nøgler på Github

Okay! Lad os hente din API -nøgle. Find afsnittet Legitimationsoplysninger

Trin 6: Opret Google Vision API -nøgle

Opret Google Vision API -nøgle
Opret Google Vision API -nøgle
Opret Google Vision API -nøgle
Opret Google Vision API -nøgle

Du vil sandsynligvis ikke se nogen legitimationsoplysninger oprettet, da du sandsynligvis ikke har oprettet nogen endnu.

Lad os oprette en ny API -nøgle. Jeg vil navngive nøglen til noget meningsfuldt og begrænse det til kun Google Cloud API. Fortsæt med at kopiere din API -nøgle, da vi får brug for det i det næste trin.

Trin 7: Raspberry Pi Side Setup

Artiklerne i toppen af denne hjælper dig med at konfigurere Raspberry Pi til dette trin. Men hvis du gør tingene anderledes, bør det meste af dette stadig fungere for dig. Men når vi kommer til delen om miljøvariabler, vil det være anderledes for andre Linux -smag.

Start med at SSH'e ind i din Pi.

Og opdater alle pakker

sudo pacman -Syu

Vi skal oprette en miljøvariabel til Google Cloud Vision API. Dette er for at undgå at hardcoding din API -nøgle i koden længere nede. Det vil fungere, men jeg anbefaler stærkt, at du holder dig til mig og opretter en miljøvariabel manager til at håndtere API.

Skift til rodbrugeren ved at skrive

su

Skriv dit kodeord.

Den næste ting, vi gør, er at tilføje din Google Vision API -nøgle som en miljøvariabel til

/etc/profil

fil, bør dette få den til at blive initialiseret ved opstart.

Type, udskiftning

YOUR_API_KEY

med din egentlige API -nøgle.

ekko 'eksporter GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> /etc /profile

Genstart nu Pi, så det får virkning.

sudo genstart

Log ind igen. Lad os kontrollere, om den indlæser API -nøglen.

ekko $ GOOGLE_CLOUD_VISION_API_KEY

Hvis din API -nøgle er ekko tilbage, skal du være god til at gå.

Trin 8: Projektopsætning

Projektopsætning
Projektopsætning

Lad os oprette et projektmappe.

mkdir google-vis

cd google-vis

Lad os nu initialisere et nyt Node -projekt.

npm init

Du er velkommen til at tilpasse pakkeoplysningerne, hvis du vil. Hvis du er doven som mig, skal du trykke på enter, indtil du er tilbage til kommandoprompten.

Lad os tilføje de nødvendige nodebiblioteker. Det er en. Axios -biblioteket, som muliggør asynkroniserede webanmodninger.

npm axios

Billede
Billede

Lad os også oprette et ressourcefortegnelse og downloade vores dejlige testbillede. Åh, savner Hepburn!

Sørg for, at du er i

google-vis/ressourcer

projektmappe, når billedet downloades.

mkdir ressourcer

cd -ressourcer wget

Trin 9:

Opret en fil i

gå-vis

mappe kaldet

app.js

nano app.js

Indsæt derefter koden herunder, og gem filen ved at skrive CTRL+O og afslutte med CTRL+X.

//

const const axios = require ('axios'); const fs = kræver ('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

hvis (! API_KEY) {

console.log ('Ingen API -nøgle leveret')}

function base64_encode (fil) {

// læse binære data var bitmap = fs.readFileSync (fil); // konvertere binære data til base64 kodet streng returnere ny 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 = {

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

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

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

Denne kode griber API -nøglemiljøvariablen og opretter en programkonstant fra den.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Sådan undgår vi hardcoding af API -nøglen.

Trin 10:

Lad os køre programmet.

node app.js

Hvis alt gik godt, skulle du få lignende output til nedenfor

data: {response:

Trin 11: Og så meget mere …

Denne artikel er kort-et spring i gang. Der er dog masser af potentiale her. For eksempel at sende dine egne billeder ved hjælp af Raspberry Pi -kameraet

  • raspicam
  • pi-kamera

Du er velkommen til at stille spørgsmål om, hvordan du bruger output.

Der er andre anmodninger om registrering af funktioner.

Google Vision API - Andre funktioner

Imidlertid vil jeg afslutte artiklen og gå videre til at rulle mine on vision detection -systemer. Så snart jeg finder ud af stokastisk gradient nedstigning.

Anbefalede: