Sadržaj:
- Korak 1: Nabavite Google API račun
- Korak 2: Unesite podatke za naplatu
- Korak 3: Otvorite API biblioteku
- Korak 4: Potražite Google Vision API
- Korak 5: Idite na Credentials
- Korak 6: Kreirajte Google Vision API ključ
- Korak 7: Raspberry Pi Side Setup
- Korak 8: Postavljanje projekta
- Korak 9:
- Korak 10:
- Korak 11: I još mnogo toga …
Video: Google Vision API pomoću Raspberry Pi i čvora: 11 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
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
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
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
Sada potražite Vision i kliknite gumb. Ovdje bi trebalo postojati upadljivo dugme Omogući. Pritisnite ga.
Korak 5: 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č
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
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
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:
(IOT projekt) Dobijte podatke o vremenu pomoću ESP8266 i Openweather API -ja: 5 koraka
(IOT projekt) Dobijte podatke o vremenu pomoću ESP8266 i Openweather API -ja: U ovom uputstvu ćemo izgraditi jednostavan IOT projekt u kojem će dohvatiti vremenske podatke našeg grada s openweather.com/api i prikazati ih pomoću softvera za obradu
Prepoznavanje govora pomoću Google Speech API -ja i Pythona: 4 koraka
Prepoznavanje govora pomoću Google Speech API -ja i Pythona: Prepoznavanje govora Prepoznavanje govora dio je obrade prirodnog jezika koje je potpolje umjetne inteligencije. Jednostavno rečeno, prepoznavanje govora je sposobnost računalnog softvera da identificira riječi i izraze u govornom jeziku
[Serija Docker Pi] Kako se koristi modul IoT čvora (A) na Raspberry Pi: 18 koraka
[Serija Docker Pi] Kako se koristi modul IoT čvora (A) na Raspberry Pi: Šta je modul IoT čvor (A)? IoT čvor (A) je jedan od modula serije Docker Pi. IOT čvor (A) = GPS/BDS + GSM + Lora.I2C izravno kontrolira Loru, šalje i prima podatke, kontrolira GSM/GPS/BDS modul putem SC16IS752, matičnoj ploči je potrebna samo I2C podrška
Komunikacija između Arduina i čvora: 4 koraka
Komunikacija između Arduina i čvora: Ovo uputstvo služi samo za osnovnu demonstraciju načina slanja i primanja podataka putem UART -a (serijskog) između dvije Arduino kompatibilne ploče
Dnevni mjerač vremena pomoću čvora Crveno s trajnom memorijom: 6 koraka
Dnevni tajmer pomoću crvenog čvora s trajnom memorijom: Node-red često koristim za svoje projekte kućne automatizacije. nisam programer po progesiji, ali uz pomoć različitih saradnika pokušavam konfigurirati stvari prema svojim potrebama. Ponekad uspije, a ponekad ne:) Za jedno o