Sadržaj:
- 1. korak: Nabavite Google API račun
- 2. korak: Unesite podatke za naplatu
- Korak 3: Otvorite API knjižnicu
- Korak 4: Potražite Google Vision API
- 5. korak: Dođite do vjerodajnica
- Korak 6: Izradite API ključ Google Vision
- Korak 7: Raspberry Pi Side Setup
- Korak 8: Postavljanje projekta
- Korak 9:
- 10. korak:
- 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 promjena: 2024-01-30 09:37
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
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
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
Sada potražite Vision i kliknite gumb. Ovdje bi trebao postojati jasan gumb Omogući. Pritisnite ga.
5. korak: 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
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
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
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:
Upravljajte svjetlima kuće pomoću Google pomoćnika pomoću Arduina: 7 koraka
Upravljajte svjetlima kuće pomoću Google pomoćnika pomoću Arduina: (Ažurirano 22. kolovoza 2020 .: Ova instrukcija stara je 2 godine i oslanja se na neke aplikacije trećih strana. Svaka promjena s njihove strane može učiniti ovaj projekt neradnim. Može, ali i ne mora sada radi, ali možete ga pratiti kao referencu i mijenjati prema
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 koristiti modul IoT čvora (A) na Raspberry Pi: 18 koraka
[Serija Docker Pi] Kako se koristi modul IoT čvora (A) na Raspberry Pi: Što je modul čvora IoT (A)? IoT čvor (A) jedan je 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 vrlo 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 mjerač vremena pomoću crvenog čvora s trajnom memorijom: Node-red često koristim za svoje projekte kućne automatizacije. ja nisam programer po progesiji, ali uz pomoć raznih suradnika pokušavam konfigurirati stvari prema svojim zahtjevima. Ponekad uspije, a ponekad ne:) Za jednog o